Informática, pregunta formulada por Richard327, hace 10 meses

Buenas noches, alguien que me ayude con este algoritmo en DFD, Una persona debe realizar un muestreo con 50 personas para determinar el promedio de peso de los niños, jóvenes, adultos y viejos que existen en su zona habitacional. Se determinan las categorías con base en la siguiente, tabla:

Adjuntos:

JossBe: Pseint no puedes usar?
Richard327: no, estos se supone que son estructuras ciclicas, en dfd
JossBe: si se realiza el agoritmo en pseint puedes generar el diagrama de flujo, yo te podría ayudar pero no he usado dfd solo Pseint que podrías tener como base para pasarlo a dfd
Richard327: claro, me ayudarias bastante
JossBe: perfecto, ya meteré mano y lo subo ✌

Respuestas a la pregunta

Contestado por JossBe
12

Respuesta:

Definir contNinos, contAdol, contJov, contAdul, contVie Como Entero;

//definimos los acumuladores de los pesos

Definir acumNinos, acumAdol, acumJov, acumAdul, acumVie Como Real;

//definimos las variables para almacenar los promedios

Definir promNinos, promAdol, promJov, promAdul, promVie Como Real;

 

Definir peso como Real;

Definir  i, edad como entero;

 

 

Para i=1 Hasta 10 Con Paso 1 Hacer

 //pedimos los datos

 Escribir "Ingrese la edad de la Persona: ", i;

 leer edad;

 Escribir "Ingrese el peso de la persona en (lb): ", i;

 Leer  peso;

 

 si (edad >= 0)

   

  si (edad >= 0 & edad <=12)

   

   contNinos= contNinos +1;

   acumNinos= acumNinos + edad;

   

  FinSi

   

  si (edad >=  13 & edad <=17)

   

   contAdol= contAdol +1;

   acumAdol= acumAdol + peso;

   

  FinSi

   

  si (edad >=  18 & edad <=29)

   

   contJov= contJov +1;

   acumJov= acumJov + peso;

   

  FinSi

   

  si (edad >=  30 & edad <= 49)

   

   contAdul= contAdul+1;

   acumAdul= acumAdul+ peso;

   

  FinSi

   

  si (edad >= 60 )

   

   contVie= contVie+1;

   acumVie= acumVie + peso;

   

  FinSi

   

 SiNo

  Escribir "Debe ser mayor a 0";

 FinSi

 

Fin Para

 

promNinos = acumNinos / contNinos;

 

;

promJov = acumJov / contJov;

promAdul = acumAdul / contAdul;

promVie = acumVie / contVie;

 

Mostrar "Promedio: ", promNinos;

Mostrar "Promedio: ", promAdol;

Mostrar "Promedio: ", promJov;

Mostrar "Promedio: ", promAdul;

Mostrar "Promedio: ", promVie;

Resultado:

Promedio: 10

Promedio: 0

Promedio: 90

Promedio: 77.5

Promedio: 150

así mas o menos me quedo creo que realiza lo que te piden, solo que probé con 10 personas para no escribir mucho, pero puedes cambiarlo y depurarlo si aparece algún error.

Suerte, si te sirvio puntua como mejor R ✌✌✌


Richard327: muchas gracias
JossBe: de nada ✌✌, cualquier duda no dudes en escribirla
Richard327: dale bro
Otras preguntas