Programación General > Pascal

 Programa

(1/3) > >>

lau82:
Me mandaron a realizar un programa para la facultad y me dieron este enunciado, necesitaria que alguien lo revisara para ver si esta bien y que se fijara si me falta algo agregar ya que asi me van a tomar el examen.

Realizar un programa en lenguaje pascal que permita a un operador registrar diariamente en una estacion meteorologica los siguientes datos:  numero del dia, numero del mes,año, Temperatura Maxima, Temperatura Minima,Lluvias: 1:Si o 2:No, Precipitaciones: se tiene el registro de cuanta lluvia cayo en un dia.

Si precipitaciones es menor o igual a cero significa que no llovio.

Informar por pantalla cada uno con su titulo indicativo.

1)cuantos dias hubo sin lluvia?
2)cuantos dias llovio menos de 50mm?
3)cuantos dias llovio 50 mm o mas?
4)cual es el porcentaje de dias sin lluvias?
5)Cantidad total de precipitaciones registradas?
6)temperaturas promedios diarias

Program lluvias;

Uses
       Crt;
Var
      Numdia,Nummes,Año : = integer;
      TempMax,TempMin: = real;
      Lluvias,LluviaN: =
      Cantlluvia: = real;
      Cantdias: = integer;
      Porcentaje : = real;
      Acumdias: = integer;
      Cantot: = real;
      PromTemp := real;
Begin
        ClrScr;
Write(´ Ingreso los datos’)
Repeat
   Writeln(´cantlluvia´);
                Cantlluvia: = cantlluvia + 1;
   Begin
                                     If cantlluvia=0  then cantdias: = cantdias + 1
                         Porcentaje:= acumdias * cantdias / 100
                                     Else Write (¨No contar los dias¨);
         
                 Begin
                                           If cantlluvia< 50  then   cantdias: = cantdias + 1
                                           Else  Write (´No contar los dias’);
           Begin
                                                  If cantlluvia>=50 then  cantdias:= cantdias + 1
                                                  Else Write (´No contar los dias¨);
           End;
                 End;
      End;
Cantot: = cantot + 1
Prom: = Tempmax + TempMin   / 2
Until  cantlluvia < = 0
End.

muchas gracias

pd. hay una parte del enunciado que dice LLuvias 1: Si o 2: No   nose como ponerla en el programa.

Laura

Enko:

--- Citar ---pd. hay una parte del enunciado que dice LLuvias 1: Si o 2: No nose como ponerla en el programa.

--- Fin de la cita ---
Siguiendo tu planteo sería así:


--- Código: Text --- TotalDias: Integer;DiasLluvia: Integer;Lluvia: Byte; // 1 o 2........ leiste todos los datosTotalDias := TotalDias + 1;if Lluvia = 1 then DiasLLuvia := DiasLluvia+1;.... otras cosasDiasNoLluvia := TotalDias - DiasLluvia;  

lau82:
se puede usar archivos secuenciales para hacer este ejercicio.?  ej lluvias.dat   como seria el ejercicio?

Enko:

--- Cita de: "lau82" --- se puede usar archivos secuenciales para hacer este ejercicio.?  ej lluvias.dat   como seria el ejercicio?
--- Fin de la cita ---
Yo creo que deberías usar archivos de algun tipo, tanto de texto (acceso secuencial) como binario (acceso aleatorio).

lau82:
Te decia porque me lo piden asi: yo hice un bosquejo del programa.. te parece que esta bien?

LLUVIAS (c:\DATOS.TXT)

Uses
       Crt;
Var
      dia,mes,año : = integer;
      TempMax,TempMin: = real;
      Sinllu,men50, mas50: =integer;
      Precipitaciones : = real;
      Porcentaje : = real;
      Acumdias: = integer;
      totallu: = real;
      PromTemp := real;
      Lluvia: = string;
      Datos: = text;
Begin
   Write(‘Ingrese el nombre del archivo: ‘);
   Readln( lluvias)
   sinllu. = 0
            men50: = 0
   mas50: = 0
   totallu
        ClrScr;
Write(´ Ingreso los datos’)
Repeat
   
   Begin
If (precipitaciones =0 ) then sinllu: = sinllu + 1
          Porcentaje:= acumdias * cantdias / 100
Else Write (¨No contar los dias¨);
         
            Begin
If (precipitaciones > 0)  and (precipitaciones < 50)  then   men50: = men50 + 1
Else  Write (´No contar los dias’);
               Begin
If (precipitaciones >=50) then  mas50:= mas50 + 1
Else Write (´No contar los dias¨);
               End;
            End;

      End;
totllu: = totllu + 1
Prom: = Tempmax + TempMin   / 2
Until  cantlluvia < = 0

writeln('CANTIDAD DE DIAS SIN LLUVIA: ',SINLLU);
writeln('CANTIDAD DE DIAS QUE LLOVIO MENOS DE
50mm: ',men50);
writeln('CANTIDAD DE DIAS QUE LLOVIA IGUAL O MAS DE 50
mm ',MAS50);
writeln('PRECIPITACIONES ACUMULADAS ',TOTALLU);
writeln('EL PORCENTAJE DE DIAS SIN LLUVIAS
ES ',);
writeln('PROMEDIO DE TEMPERATURAS');

End.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa