Está en la página 1de 4

TEMA: Ciclos de repetición

Profesora: Mónica E. García

Problema: Calcular el promedio de edades de hombres, mujeres y de todo un grupo de N alumnos.

Descripción de la solución.

En el problema se indica N alumnos, lo que quiere decir que no se cuenta con un número preciso del total de alumnos , por lo
tanto hay dos posibles soluciones a esto, que se solicite inicialmente cuántos alumnos serán (como la versión 1 de Mientras) o bien una
vez pidiendo los datos del primer alumno(a) preguntar si se desea seguir dando datos, éste ultima es la mejor solución, (ver versión 1 de
Hacer – mientras).

Los datos de entrada son: Sexo del alumno(o) y edad. La información de salida será: pormedio de edades tanto de hombres
como de mujeres.

El promedio de edad de las alumnas se obtiene con dos cosas, una acumulando las edades una vez cumplida la condición de que
el sexo sea F de femenino y llevando la cuenta de cuántas mujeres son, para lo que se tiene que hacer uso de una variable contador. Así
se divide edades entre total de mujeres.

El promedio de edad de los alumnos se obtendrá de manera similar a la de las alumnas.

Solución con ciclo de repetición Mientras, versión 1

Inicio
Decl. Var.
Entero: edad,edad_mu,edad_hom, cantidadMu, cantidadHom
Real, prom_mu, prom_hom
Caracter sexo, resp

resp  ‘s’

edad_mu  0
edad_hom  0

cantidadMu  0
cantidadHom  0

Mientras ( resp = ‘S’ )


Escribe “Escribir F para indicar sexo Femenino o una M para indicar sexo Masculino”
Lee sexo
Escribe “Dar la edad”
Lee edad

Si ( sexo = ‘F’ ) entonces


edad_mu  edad_mu + edad
cantidadMu  cantidadMu + 1
si no
Si (sexo = ‘M’ ) entonces
edad_hom  edad_hom + edad
cantidadHom  cantidadHom + 1
si no
Escribe “No se introdujo correctamente el tipo de sexo”
Fin –si
Fin-si

Escribe “Desea continuar introduciendo datos S para si o N para no ”


Lee resp
Fin- mientras

prom_mu  edad_mu / cantidadMu


prom_hom  edad_hom / cantidadHom

Escribe “El promedio de edades de alumnas es de ”, prom_mu


Escribe “El promedio de edades de alumnos es de ”, prom_hom
Fin
1/4
Solución con ciclo de repetición Mientras, versión 2

Inicio
Decl. Var.
Entero: x,num, edad,edad_mu,edad_hom, cantidadMu, cantidadHom
Real, prom_mu, prom_hom
Caracter sexo

x0

edad_mu  0
edad_hom  0

cantidadMu  0
cantidadHom  0

Escribe “Dar el numero de alumnos a introducir ”


Lee num
Mientras ( x < num )
Escribe “Escribir F para indicar sexo Femenino o una M para indicar sexo Masculino”
Lee sexo
Escribe “Dar la edad”
Lee edad

Si ( sexo = ‘F’ ) entonces


edad_mu  edad_mu + edad
cantidadMu  cantidadMu + 1
si no
Si (sexo = ‘M’ ) entonces
edad_hom  edad_hom + edad
cantidadHom  cantidadHom + 1
si no
Escribe “No se introdujo correctamente el tipo de sexo”
Fin –si
Fin-si
x x + 1
Fin- mientras

prom_mu  edad_mu / cantidadMu


prom_hom  edad_hom / cantidadHom

Escribe “El promedio de edades de alumnas es de ”, prom_mu


Escribe “El promedio de edades de alumnos es de ”, prom_hom
Fin

---------------------------------- - -----------------------------------------------------------------------------------------------------------------------------

Solución con ciclo de repetición Hacer -- Mientras, versión 1

Inicio
Decl. Var.
Entero: edad,edad_mu,edad_hom, cantidadMu, cantidadHom
Real, prom_mu, prom_hom
Caracter sexo, resp

edad_mu  0;
edad_hom  0;

cantidadMu  0
cantidadHom  0
2/4
Hacer
Escribe “Escribir F para indicar sexo Femenino o una M para indicar sexo Masculino”
Lee sexo
Escribe “Dar la edad”
Lee edad
Si ( sexo = ‘F’ ) entonces
edad_mu  edad_mu + edad
cantidadMu <- cantidadMu + 1
si no
Si (sexo = ‘M’ ) entonces
edad_hom  edad_hom + edad
cantidadHom  cantidadHom + 1
si no
Escribe “No se introdujo correctamente el tipo de sexo”
Fin –si
Fin-si

Escribe “Desea continuar introduciendo datos S para si o N para no ”


Lee resp
Mientras ( resp = ‘S’ )

prom_mu  edad_mu / cantidadMu


prom_hom  edad_hom / cantidadHom

Escribe “El promedio de edades de alumnas es de ”, prom_mu


Escribe “El promedio de edades de alumnos es de ”, prom_hom
Fin

----------------------- ------------------------------------------------------------------------------------------------------

Solución con ciclo de repetición Hacer -- Mientras, versión 2

Inicio
Decl. Var.
Entero: x,num, edad,edad_mu,edad_hom, cantidadMu, cantidadHom
Real, prom_mu, prom_hom
Caracter sexo

x0
edad_mu  0
edad_hom  0
cantidadMu  0
cantidadHom  0

Escribe “Dar el numero de alumnos a introducir ”


Lee num

Hacer
Escribe “Escribir F para indicar sexo Femenino o una M para indicar sexo Masculino”
Lee sexo
Escribe “Dar la edad”
Lee edad
Si ( sexo = ‘F’ ) entonces
edad_mu  edad_mu + edad
cantidadMu  cantidadMu + 1
si no
Si (sexo = ‘M’ ) entonces
edad_hom  edad_hom + edad
cantidadHom  cantidadHom + 1
si no
Escribe “No se introdujo correctamente el tipo de sexo”
Fin –si
Fin-si
3/4
x x + 1
Mientras ( x < num )

prom_mu  edad_mu / cantidadMu


prom_hom  edad_hom / cantidadHom

Escribe “El promedio de edades de alumnas es de ”, prom_mu


Escribe “El promedio de edades de alumnos es de ”, prom_hom
Fin

-------------- ---------------------------------------------------------------------------------------------------------------------------------------

Solución con ciclo de repetición Hacer -- hasta, versión única

Inicio
Decl. Var.
Entero: x,num, edad,edad_mu,edad_hom, cantidadMu, cantidadHom
Real, prom_mu, prom_hom
Caracter sexo

edad_mu  0
edad_hom  0

cantidadMu  0
cantidadHom  0

Escribe “Dar el numero de alumnos a introducir ”


Lee num
Hacer ( x  0 hasta x < num donde x  x+1 )
Escribe “Escribir F para indicar sexo Femenino o una M para indicar sexo Masculino”
Lee sexo
Escribe “Dar la edad”
Lee edad

Si ( sexo = ‘F’ ) entonces


edad_mu  edad_mu + edad
cantidadMu  cantidadMu + 1
si no
Si (sexo = ‘M’ ) entonces
edad_hom  edad_hom + edad
cantidadHom  cantidadHom + 1
si no
Escribe “No se introdujo correctamente el tipo de sexo”
Fin –si
Fin-si
Fin- hacer-hasta

prom_mu  edad_mu / cantidadMu


prom_hom  edad_hom / cantidadHom

Escribe “El promedio de edades de alumnas es de ”, prom_mu


Escribe “El promedio de edades de alumnos es de ”, prom_hom
Fin

4/4

También podría gustarte