lunes, 21 de noviembre de 2011

Ejercicio 0(Arrays)


Plantee e implemente un programa en PASCAL para calcular la media de cuatro puntuaciones de un estudiante de un curso de informática (representadas por 4
enteros entre 0 y 100) introducidas por teclado. Debe incluir obligatoriamente los siguientes elementos:
- Función pedirNota: solicita un entero por teclado entre 0 y 100, si no es correcto lo sigue pidiendo hasta que lo sea.
- Función calculoPuntuacion: recibe un real y devuelve la letra de la nota media en función a la siguiente tabla.
Media Puntuación
[90, 100]
A
[80, 90]
B
[70, 80]
C
[60, 70]
D
[0, 60]
E
- Programa principal apropiado que solicita al usuario cuatro notas (usando pedirNota) y calcula la media aritmética de las mismas, llamando además a calculoPuntuacion para obtener la letra de la puntuación que luego se debe mostrar en pantalla.


PROGRAM notas(input,output);
(*Programa que pida 4 notas comprendidas entre 0 y 100 y debe de realizar la media de dichas notas*)

TYPE
    TAnotas = ARRAY[1..4]OF integer;
VAR
   Anotas:TAnotas;
   total,a:integer;
   media:real;
   b:char;
(****************************************************************************************************)
PROCEDURE pedirNota;
 VAR
    I:integer;
 BEGIN
      FOR I:=1 TO 4 DO
      BEGIN
      REPEAT
      write('Escriba la nota ',I:1,':');
      read(Anotas[I]);
      IF (Anotas[I]>=1)AND(Anotas[I]<=100) THEN total:=Anotas[I]+total;
      UNTIL (Anotas[I]>=1)AND(Anotas[I]<=100)
      END;
 media:=total/4;
 END;
(*****************************************************************************************************)
FUNCTION calculoPuntuacion(media:real):char;
VAR
   a:char;
BEGIN
IF (media<=100)AND(media >=90) THEN a:='A' ELSE IF (media<90)AND(media >=80) THEN a:='B' ELSE IF (media<80)AND(media >=70) THEN a:='C' ELSE IF (media<70)AND(media >=60) THEN a:='D' ELSE IF (media<60)AND(media >=0) THEN a:='E';
calculoPuntuacion:=a;
END;
(*************************************************************************************************************)
BEGIN
pedirNota;
b:=calculoPuntuacion(media);
writeln('Ha alcanzado una media de ',media:2:2,' por lo tanto su calificacion sera de ',b);
read(a);
END.

Ejemplo de ejecución




Anterior                                                                                                                                Siguiente

No hay comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | GreenGeeks Review