Informática, pregunta formulada por starkiller72, hace 1 año

Usual.
d) A una reunión asistieron personas de diferentes edades y géneros. Construir un
algoritmo que, dadas las edades y los géneros (M/F) de las personas, calcule:
Cuántas personas asistieron a la fiesta.
Cuántos hombres y cuántas mujeres.
Promedio de edades por sexo.
La edad de la persona más joven que asistió.
No se permiten menores de edad a la fiesta.
Ingresar datos hasta que se ingrese el valor cero "O" en la edad que se lee.

Muchas gracias

Respuestas a la pregunta

Contestado por irmajulia
9

El algoritmo que permite recoger una serie de datos a partir de las personas que asistentes a una fiesta utilizando PSeInt es:

Algoritmo asistentes

sumH <- 0

sumM <- 0

cuentaH <- 0

cuentaM <- 0

masJoven <- 10000

Repetir

 Escribir "Ingrese edad"

 Leer Edad

 Si Edad<18 Entonces

  Escribir "Es menor de edad, no puede ingresar"

  Si Edad==0 Entonces

   Escribir "Hemos terminado"

  Fin Si

 SiNo

 

  Si masJoven > edad Entonces

   masJoven <- edad

  Fin Si

 

  Escribir "Ingrese genero M/F"

  Leer genero

 

  Segun genero Hacer

   "M":

    cuentaH <- cuentaH + 1

    sumH <- sumH + Edad

   "F":

    cuentaM <- cuentaM + 1

    sumM <- sumM + Edad

   De Otro Modo:

    Escribir "No es un genero valido"

  Fin Segun

 Fin Si

Hasta Que Edad==0

Escribir "El total de asistentes fueron: ", cuentaH + cuentaM

Escribir "Cantidad de hombres: ", cuentaH

Escribir "Cantidad de mujeres: ", cuentaM

Si cuentaH == 0 Entonces

 Escribir "No asistieron hombres"

sino

 Escribir "Edad Promedio Hombres: ", sumH/cuentaH

Fin Si

Si cuentaM == 0 Entonces

 Escribir "No asistieron mujeres"

sino

 Escribir "Edad Promedio Mujeres: ", sumM/cuentaM

Fin Si

Escribir "La persona mas joven tiene: ", masJoven, " anhos de edad"

FinAlgoritmo

El algoritmo utiliza una estructura repetitiva para leer los datos de cada una de los asistencias al momento de su ingreso, si alguno es menor de 18 años, significa que es menor de edad y por lo tanto no ingresa y no se contabilizar:

Si Edad<18 Entonces

  Escribir "Es menor de edad, no puede ingresar"

  Si Edad==0 Entonces

   Escribir "Hemos terminado"

  Fin Si

SiNo

Y si es 0, lanza un aviso y finalmente deja de iterar.

Los cálculos se han hecho mediante contadores y acumuladores

sumH <- 0

sumM <- 0

cuentaH <- 0

cuentaM <- 0

masJoven <- 10000

Finalmente, es posible que asistieran 0 hombres o 0 mujeres, y en ese caso la división para hallar el promedio sería entre "0". Con las estructuras condicionales, evitamos caer en ese error y dividir solo si la cantidad de mujeres es mayor que 0, o la cantidad de hombres es mayor que 0.

En imágenes adjuntas, te dejo el diagrama de flujo y una ejecución realizada al algoritmo.

Adjuntos:
Contestado por hernandezvictormanue
4

Respuesta y Explicación:

Algoritmo Reunión

Variable AcumH, AcumM, menor, Hombres, mujeres, edad: enteros

Variable promedioH, promedioM : real

Variable sexo: caracter

AcumH = 0

AcumM=0

Mujeres = 0

Hombres = 0

Menor = 1000

Haga  

 Escribir "Ingrese edad:"

 Leer Edad

Si Edad < 18 Entonces

    Escribir “! ERES MENOR DE EDAD¡ No puedes ingresar"

 Sino

Escribir "Ingrese Sexo (F/M):"

  Leer sexo

Si (Sexo = ‘F’) Entonces

 mujeres = mujeres + 1

 AcumM = AcumM + edad

Sino

 hombres= hombres + 1

 AcumH = AcumH + edad

Finsi

Si (edad < menor) entonces

 menor = edad

Finsi  

Finsi

Hasta  Edad = 0

 Escribir "Cantidad de Hombres en la fiesta ", Hombres

 Escribir "Cantidad de Mujeres en la fiesta ", Mujeres

promedioH = AcumH / Hombres

promedioM = AcumM / Mujeres

 Escribir "Promedio de la Edad de Hombres en la fiesta ", promedioH

 Escribir "Promedio de la Edad de Mujeres en la fiesta ", promedioM

 Escribir “La Edad de la persona más joven es:”, menor

 Escribir “La cantidad de personas en la fiesta :”, Hombres + Mujeres

FIN

Otras preguntas