La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.

Presentaciones similares


Presentación del tema: "Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program."— Transcripción de la presentación:

1 Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program hipotenusa; begin end. h:=sqrt(c1*c1+c2*c2); var c1,c2,h : real; writeln('La hipotenusa es ',h:8:2); write('Escriba los valores de los catetos'); readln(c1,c2);

2 Elementos de Pascal El programa está formado por una secuencia de cuatro instrucciones. La primera es una instrucción de salida, se invoca al procedimiento predefinido write para mostrar un cartel. La segunda es una instrucción de entrada, se invoca al procedimiento predefinido readln para leer un valor. La tercera es una instrucción de asignación, computa un valor y lo almacena. La cuarta es una instrucción de salida, se invoca al procedimiento predefinido writeln para mostrar un cartel y un valor.

3 Identificadores Reservados program var begin end Identificadores Predefinidos real readln write sqrt Identificadores definidos por el programador hipotenusa c1 c2 h Símbolos ;, : ´ := + * ( ). Elementos de Pascal

4 program hipotenusa; begin end. h:=sqrt(c1*c1+c2*c2); var c1,c2,h : real; writeln('La hipotenusa es ',h:8:2); write('Escriba los valores de los catetos'); readln(c1,c2); Elementos de Pascal Todo programa comienza por la palabra program seguido de un nombre. El signo ; es un separador de instrucciones.

5 program hipotenusa; begin end. h:=sqrt(c1*c1+c2*c2); var c1,c2,h : real; writeln('La hipotenusa es ',h:8:2); write('Escriba los valores de los catetos'); readln(c1,c2); Elementos de Pascal Todo programa va a incluir una o más variables. Cada variable tiene un nombre y un tipo. Las variables se declaran antes de usarse.

6 program hipotenusa; begin end. h:=sqrt(c1*c1+c2*c2); var c1,c2,h : real; writeln('La hipotenusa es ',h:8:2); write('Escriba los valores de los catetos'); readln(c1,c2); Elementos de Pascal La sección ejecutable de un programa se encierra siempre entre las palabras begin – end. y termina con el signo '.'

7 sqrt(c1*c1+c2*c2) La expresión tiene un operador unario y un operando. El operador no es un símbolo sino un identificador predefinido por Pascal que permite evaluar la función raíz cuadrada. El operando es una expresión aritmética. El orden de evaluación será: - Computar el producto c1*c1 (* es un operador binario). - Computar el producto c2*c2 - Computar la suma de productos (+ es un operador binario). - Computar la raíz cuadrada de la suma. Elementos de Pascal

8 La instrucción de asignación: Computa la expresión sqrt(c1*c2+c2*c2) y luego se almacena el valor en la locación de memoria ligada a la variable h. El tipo de la expresión es compatible con el tipo de la variable h. h:=sqrt(c1*c2+c2*c2); Elementos de Pascal

9 program hipotenusa; begin end. h:=sqrt( sqr(c1)+sqr(c2) ); var c1,c2,h : real; writeln('La hipotenusa es ',h:8:2); write('Escriba los valores de los catetos'); readln(c1,c2); En este caso los operandos de la suma son dos expresiones con un operador unario sqr. Elementos de Pascal

10 program hipotenusa; begin end. var c1,c2 : real; writeln('La hipotenusa es ', sqrt( sqr(c1)+sqr(c2):8:2 ); write('Escriba los valores de los catetos'); readln(c1,c2); Elementos de Pascal { Lee los catetos y calcula la hipotenusa } La expresión puede computarse directamente en la instrucción de salida.

11 Elementos de Pascal Criterios de Calidad Legibilidad Nombres significativos Indentación Comentarios

12 Calcular y mostrar el promedio de tres notas ingresadas por el usuario. program promedioNotas; {Lee tres notas y muestra el promedio} var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); read (n1,n2,n3); writeln('Promedio ',(n1+n2+n3)/3:5:2); end. Elementos de Pascal

13 El programa está formado por una secuencia de tres instrucciones. La primera es una instrucción de salida, se invoca al procedimiento predefinido write para mostrar un cartel. La segunda es una instrucción de entrada, se invoca al procedimiento predefinido readln para leer los valores de dos variables. La tercera es una instrucción de salida, se invoca al procedimiento predefinido writeln para mostrar un cartel y el valor de una expresión.

14 Elementos de Pascal Entrada 1

15 Elementos de Pascal Entrada 2

16 Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); read (n1); read (n2); read (n3); writeln('Promedio ',(n1+n2+n3)/3:5:2); end. ¿Cómo se ligan los valores considerando cada Entrada?

17 Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); readln (n1); readln (n2); readln (n3); writeln('Promedio ',(n1+n2+n3)/3:5:2); end. ¿Cómo se ligan los valores considerando cada Entrada?

18 writeln('Promedio ',(n1+n2+n3)/3:5:2); writeln('Promedio '); writeln(n1+n2+n3)/3:5:2); write('Promedio '); Writeln ((n1+n2+n3)/3:5:2); 'Promedio ' es una constante literal (cartel) (n1+n2+n3)/3 es una expresión aritmética Elementos de Pascal Pascal permite establecer el formato de la salida indicando la cantidad total de caracteres y de decimales.

19 Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); readln (n1); readln (n2); readln (n3); writeln('Las notas son ',n1:3, n2:3, n3:3); writeln('Promedio =',(n1+n2+n3)/3:5:2); end.

20 Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; promedio: real; begin write ('Ingrese las tres notas'); readln (n1,n2,n3); promedio := (n1+n2+n3)/3; write (El promedio de ',n1:3, n2:3, n3:3); writeln( es ',promedio:5:2); end.

21 Elementos de Pascal Las variables n1 n2 y n3 son de tipo integer. Pueden tomar valores dentro de un conjunto finito de valores establecido por la constante predefinida maxint. El valor de maxint varía en cada compilador de Pascal. En nuestro caso maxint es de modo que el rango de los enteros es y y La expresión n1+n2+n3 computa un valor de tipo integer. Nuevamente el resultado de la suma debe estar dentro del conjunto de valores que establece el tipo.

22 (n1+n2+n3) / 3 es una expresión aritmética cuyo operador es el signo /. Uno de los operandos es una expresión y otro una constante literal. El tipo del operador establece el tipo del resultado. En este caso / computa un resultado de tipo real, los operandos pueden ser de tipo integer, real o uno de cada tipo. La asignación promedio := (n1+n2+n3)/3 modifica el valor almacenado en la variable promedio, que debe declararse de tipo real. Elementos de Pascal

23 (n1+n2+n3) / 3 Las reglas de precedencia de Pascal establecen que primero se compute cada operando y luego el cociente. (n1+n2+n3) es una expresión aritmética formada por dos operadores y tres operandos. Como los dos operadores tienen la misma precedencia, se computa de izquierda a derecha. Elementos de Pascal

24 Como en Matemáticas, en Pascal los paréntesis permiten indicar el orden en el que se debe computar. El valor de la expresión: (n1+n2+n3)/3 Es diferente a: n1+n2+n3 / 3 Aunque en ambas aparecen tres operadores de suma y uno de cociente. Elementos de Pascal

25 Escribir un programa que a partir de una cantidad de segundos Seg provista por el usuario calcule la cantidad de horas, minutos y segundos a la que equivale Seg. Casos de prueba: Elementos de Pascal Aunque el problema es simple, requiere mayor análisis que los anteriores. Una buena estrategia es considerar cómo lo resolveríamos sin la computadora, por ejemplo para los casos de prueba.

26 Elementos de Pascal La primera cuestión a considerar es que requiere computar división entera. La división entera permite, dado un dividendo y un divisor, obtener un cociente y un resto tales que el dividendo es igual al divisor por el cociente más el resto. En este caso, Seg, el dato de entrada, expresa una cantidad de segundos, convertimos este valor a horas computando división entera. ¿Cuál es el divisor?

27 Elementos de Pascal Consideremos que Seg es Si el dividendo es 9917 y el divisor es 3600, el cociente de la división entera es 2 y el resto ¿Qué representa el cociente? ¿Qué representa el resto? Así que 9917 es equivalente a 2 horas y 2717 segundas.

28 Elementos de Pascal ¿Cómo convertimos este valor a minutos? 2717 segundos es un intervalo de tiempo menor a una hora. ¿Qué representa el cociente? Volvemos a usar división entera, el dividendo es 2717 y el divisor es 60. El cociente es 45 y el resto es 17. ¿Qué representa el resto?

29 Escribir un programa que a partir de una cantidad de segundos Seg provista por el usuario calcule la cantidad de horas, minutos y segundos a la que equivale Seg. Elementos de Pascal

30 program convertirSaHMS; var Seg,h,m,s : integer; begin write (Segundos = '); readln (Seg); h := Seg div 3600; s := Seg mod 3600; m := s div 60; s := s mod 60; writeln(h, horas, m, minutos, s, segundos ); end.

31 Entrada y Salida Las instrucciones de entrada y salida permiten que el programa interactúe con dispositivos como el teclado, el monitor. Por el momento la entrada se referirá a caracteres ingresados por el usuario a través del teclado y la salida a caracteres que el programa muestra por pantalla. Pascal brinda procedimientos predefinidos para entrada: read y readln salida: write y writeln

32 Los procedimientos read y readln Los procedimientos read y readln permiten asociar a variables valores que han sido ingresados desde la consola por el usuario. La forma es read (lista de variables) readln (lista de variable) Cuando se ejecuta una instrucción read o readln el programa se suspend.e hasta que el usuario ingrese los valores para cada variable de la lista.

33 Los procedimientos read y readln Los procedimientos read y readln pueden provocar errores de diferentes tipos: Estáticos, por ejemplo read (3) ; Dinámicos, si el usuario tipea una letra y el programa espera un número.

34 Los procedimientos write y writeln La forma es write (lista de constantes y expresiones) writeln (lista de constantes y expresiones) Los procedimientos write y writeln permiten mostrar constantes y variables por consola.

35 Expresiones Una expresión está formada por operadores y operandos. Los operandos pueden ser constantes, variables o expresiones. Las expresiones en Pascal pueden ser aritméticas, lógicas o de carácter. Los operadores pueden ser identificadores o símbolos.

36 Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := (i+j)*C; n2 := i+j*C; write (n1 ',n1:8:2, n2,n2:8:2); end. Expresiones aritméticas

37 Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := (i+j) div C ; n2 := i+j div C; write (n1 ',n1:8:2, n2,n2:8:2); end. Expresiones aritméticas

38 Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := (i+j) / C ; n2 := i+j / C; write (n1 ',n1:8:2, n2,n2:8:2); end. Expresiones aritméticas

39 Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := trunc((i+j) / C) ; n2 := trunc(i+j / C); write (n1 ',n1:8:2, n2,n2:8:2); end. Expresiones aritméticas

40 Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := round((i+j) / C) ; n2 := round(i+j / C); write (n1 ',n1:8:2, n2,n2:8:2); end. Expresiones aritméticas

41 Program abc; Const C=3; Var i,j : integer; x1,x2 : real; Begin i= 2; j:= 9; x1 := (i+j)/C; x2 := i+j/C; write (x1 ',x1:8:2, x2,x2:8:2); end. Expresiones aritméticas

42 Operadores Aritméticos + Suma - Resta * Multiplicación / División real div División entera mod Módulo (resto de la división entera) * / div mod + - Reglas de Precedencia

43 Algunos Identificadores predefinidos de Función Abs(x) valor absoluto de x Frac(x) parte decimal de x Int(x) número real con la parte entera de x Ln(x) logaritmo neperiano de x Odd(x) true si x es impar, y false si es par Round(x) entero más próximo al valor x Sqr(x) cuadrado de x Sqrt(x) raíz cuadrada de x, para x>=0 Trunc(x) parte entera de x Expresiones aritméticas

44 La instrucción de asignación La instrucción de asignación permite retener el valor computado por una expresión. Se computa la expresión a la derecha del signo := y el valor computado se almacena en la locación de memoria ligado a la variable que aparece a la izquierda. El tipo de la expresión tiene que se compatible con el tipo de la variable.

45 Muy importante Es muy importante que la lectura de estas diapositivas esté acompañada o seguida por el trabajo interactivo en el entorno de programación. La construcción de programas es una actividad creativa y aunque interpretar soluciones ya elaboradas puede mejorar nuestra habilidad para programar, es insuficiente. De modo que debemos leer las trasparencias, podemos ejecutar programas escritos por otros en el entorno de programación, pero sobre todo, debemos construir nuestras propias soluciones.


Descargar ppt "Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program."

Presentaciones similares


Anuncios Google