Pseudocódigo
El principal objetivo es representar la solución a un algoritmo de la forma mas detallada posible y en un lenguaje muy similar al que luego sera programado.
A continuación les dejo un ejemplo de como realizar un pseudocódigo para su mejor comprensión.
La problemática es la siguiente:
Escribir el pseudocódigo de un programa, que le permita al usuario ingresar las notas de cierta cantidad de alumnos, y que luego muestre la cantidad de aprobados (notas mayores o iguales a 6.00), la cantidad de reprobados.
Para comenzar a escribir nuestro pseudocódigo identificamos los datos que utilizaremos.
Permita al usuario : Esto quiere decir que debemos pedirle los datos a nuestro usuario.
Cierta cantidad de Alumnos: No tenemos la cantidad podemos pedirla, ingresarla nosotros o simplemente preguntar si se desea continuar luego de cada ingreso de notas (para este caso utilizaremos la última opción).
Muestre la cantidad de aprobados y reprobados: Al final debemos mostrar la cantidad de alumnos que aprobaron y reprobaron.
Notas mayores o iguales a 6.00: El promedio de las notas ingresadas por alumno sera nuestra validación para saber si aprobó o no el alumno.
Comencemos…
- Definir nombre proceso:
Proceso notas_alumnos //Aqui agregaremos todo el proceso FinProceso
- Establecemos nuestras variables a utilizar:
Proceso notas_alumnos Definir notas Como Real; //guardara la suma de todas las notas para calcular el promedio
Definir nota Como Real; //almacenara las notas ingresadas por el usuario Definir promedio Como Real;//guardara el promedio que usaremos para saber si aprueba o no Definir cantidad_alumnos Como Numerico; //contador para saber el número del alumno Definir cantidad_notasComo Numerico;//contador para establecer la máxima cantidad de notas Definir aprobados Como Numerico; //Servirá para saber cuantos alumnos aprobaron Definir reprobados Como Numerico; //Servirá para saber cuantos alumnos reprobaron Definir condicion Como Cadena; //Sera utilizada para continuar o no con el ingreso de notas
- Para que nuestro pseudocódigo logre funcionar necesitaremos dar un valor inicial a nuestras variables:
cantidad_alumnos<-1; //lo establecemos en 1 para indicar el alumno 1 al comenzar
cantidad_notas<-1; //se establece en 1 para establecer la primera nota
aprobados<-0; // inicialmente no sabemos cuantos aprobaron por esto el 0
reprobados<-0; / inicialmente no sabemos cuantos reprobaron por esto el 0
notas<- 0; // inicialmente no sabemos que notas ingresaran por esto el 0
//El símbolo <- lo utilizamos para asignar valores a nuestras variables.
- Hasta este momento solo hemos declarado las variables que utilizaremos para realizar nuestro proceso. Como anteriormente se decidió preguntar al usuario cuando terminar el ingreso de notas de los alumnos procedemos a preguntarle con la siguiente sentencia:
Escribir "¿Presione s/S para Agregar Notas al Alumno ", cantidad_alumnos,"?"; //La palabra escribir sirve para mostrar por pantalla un mensaje al usuario. En este caso pregunto si desea agregar notas al primer alumno //pueden notar que puse el texto cortado por comas (,) estas comas sirven para unir o concatenar valores. Leer condicion; //La palabra Leer toma el valor que el usuario ingresa y la almacena en una variable en este caso condición ya que necesitamos saber si el usuario desea o no continuar.
- A continuación necesitaremos crear un ciclo que se mantenga mientras el usuario lo desee utilizando la pregunta recién creada.
Mientras condicion="s" | condicion = "S" Hacer //La palabra Mientras indica que se inicia un ciclo // Esta sentencia utiliza una condición que se usa para dar fin a nuestro ciclo // para este caso se utiliza la letra s, lo cual quiere decir que cuando se le pregunte si el usuario desea continuar y el presione dicha letra el programa realizara todos los pasos y si en determinado caso presiona cualquier otra tecla el ciclo finalizara. FinMientras
- Una vez que hemos creado este ciclo debemos realizar algo para que el usuario ingrese las notas del alumno, para esto existen muchas opciones sin embargo les enseñare el uso de una sentencia llamada Repetir la cual consiste en realizar una misma acción hasta que se cumpla una condición que en este caso sera el limite de notas por ingresar.
Mientras condicion="s" | condicion = "S" Hacer //repetiremos esta acción 5 veces Repetir //Preguntamos primero por la nota1, en el siguiente ciclo2, etc... Escribir "¿Ingrese Nota ", cantidad_notas,"" ; //Leemos la nota ingresada por el usuario Leer nota; //Acumulamos la nota ingresada en la variable notas para luego obtener el promedio notas<-notas+nota; //Se incrementa en 1 la variable cantidad_notas para luego salir del ciclo cantidad_notas<-cantidad_notas+1; //Cuando ya ingresemos 5 veces el valor sera igual a 6 por lo tanto saldrá el ciclo Hasta Que cantidad_notas = 6
- Saliendo del ciclo debemos calcular el promedio de notas del alumno y luego establecer si esta aprobado o no.
// se calcula el promedio y lo guardamos en la variable promedio promedio <- notas/5; //dejamos nuevamente el valor de la cantidad de notas en 0 para la próxima entrada al ciclo cantidad_notas <- 0; //la palabra SI nos sirve para preguntarle algo al programa //En este caso preguntamos si el promedio es menor a 6.0 Si promedio < 6.0 Entonces //Si se cumple que el promedio es menor a 6.0 entonces incrementamos en 1 la cantidad de alumnos reprobados. reprobados <- reprobados+1; Sino //Sino se cumple esta condición quiere decir que el alumno aprobó por lo cual incrementamos en 1 la cantidad de alumnos reprobados. aprobados <- aprobados+1; FinSi
- Luego antes de salir de nuestro ciclo Mientras incrementamos en 1 nuestros alumnos y volvemos a preguntar si desea ingresar notas para el siguiente alumno.
//Incrementamos en 1 para poder preguntar por el siguiente alumno cantidad_alumnos<-cantidad_alumnos+1; Escribir "¿Presione s/S para Agregar Notas al Alumno ", cantidad_alumnos,"?" ; Leer condicion;
- Por ultimo cerramos nuestro ciclo Mientras y mostramos los datos al usuario finalizando posteriormente el proceso.
FinMientras Escribir "Cantidad de Alumnos Aprobados ", aprobados ; Escribir "Cantidad de Alumnos Reprobados ", reprobados ; FinProceso
Con todo esto ya tenemos listo nuestro primer pseudocódigo. Aclaro que no existen validaciones y es una de las posibles soluciones solo buscamos enseñar como crear un pseudocódigo desde el principio. Les recomiendo utilizar el programa PSeInt lo pueden descargar haciendo clic aqui. Con este programa pueden crear sus pseudocódigos tranquilamente y probar el funcionamiento, ademas como algo adicional crea el diagrama de flujos automáticamente.
A continuación les dejo el código completo
Proceso notas_alumnos Definir notas Como Real; Definir nota Como Real; Definir promedio Como Real; Definir cantidad_alumnos Como Numerico; Definir cantidad_notas Como Numerico; Definir aprobados Como Real; Definir reprobados Como Real; Definir condicion Como Cadena; cantidad_alumnos<-0; cantidad_notas<-1; aprobados<-0; reprobados<-0; notas<- 0; Escribir "¿Presione s/S para Agregar Notas al Alumno ", cantidad_alumnos,"?" ; Leer condicion; Mientras condicion="s" | condicion = "S" Hacer Repetir Escribir "¿Ingrese Nota ", cantidad_notas,"" ; Leer nota; notas<-notas+nota; cantidad_notas<-cantidad_notas+1; Hasta Que cantidad_notas = 6 promedio <- notas/5; cantidad_notas <- 0; Si promedio < 6.0 Entonces reprobados <- reprobados+1; Sino aprobados <- aprobados+1; FinSi cantidad_alumnos<-cantidad_alumnos+1; Escribir "¿Presione s/S para Agregar Notas al Alumno ", cantidad_alumnos,"?" ; Leer condicion; FinMientras Escribir "Cantidad de Alumnos Aprobados ", aprobados ; Escribir "Cantidad de Alumnos Reprobados ", reprobados ; FinProceso
Estamos atentos a cualquier duda a comentario.
Saludos espero les haya gustado.
Hola buenas noches.. Me podrías ayudar con este problema porfavor…
Dado el RUT (sin digito verificador) y las notas finales de un ramo un curso de n estudiantes, se requiere que programe en PHP un algoritmo que muestre al usuario la siguiente información:
1) RUT de la persona con la calificación más alta.
2) Promedio de notas del curso.
3) Cantidad de alumnos aprobados.
4) Cantidad de alumnos reprobados.
5) Porcentaje de reprobados.
6) Cantidad de alumnos procesados.