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; var c1,c2,h : real; begin end. write('Escriba los valores de los catetos'); La solución la escribimos en el pizarrón readln(c1,c2); h:=sqrt(c1*c1+c2*c2); writeln('La hipotenusa es ',h:8:2);

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 Elementos de Pascal Identificadores Reservados program var begin end
Identificadores Predefinidos real readln write sqrt Identificadores definidos por el programador Un programa es un algoritmo que puede ser interpretado y ejecutado por la computadora hipotenusa c1 c2 h Símbolos ; , : ´ := + * ( ) . 3

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

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

7 Elementos de Pascal 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.

8 Elementos de Pascal La instrucción de asignación:
h:=sqrt(c1*c2+c2*c2); 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.

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

10 Elementos de Pascal program hipotenusa;
{Lee los catetos y calcula la hipotenusa } var c1,c2 : real; begin end. write('Escriba los valores de los catetos'); readln(c1,c2); writeln('La hipotenusa es ', sqrt( sqr(c1)+sqr(c2):8:2 ); 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 Elementos de Pascal 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.

13 Elementos de Pascal 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 Elementos de Pascal writeln('Promedio ',(n1+n2+n3)/3:5:2);
'Promedio ' es una constante literal (cartel) (n1+n2+n3)/3 es una expresión aritmética writeln('Promedio '); writeln(n1+n2+n3)/3:5:2); write('Promedio '); Writeln ((n1+n2+n3)/3:5:2); 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. Es importante que nos acostumbremos a agregar carteles que nos permitan verificar la correctitud.

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. Mostramos un ejemplo en Lazarus imprimiendo Maxint y –Maxint y luego maxint maxint*1000

22 Elementos de Pascal (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.

23 Elementos de Pascal (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.

24 Elementos de Pascal 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.

25 Elementos de Pascal 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: 9917 286 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 9917.
Si el dividendo es 9917 y el divisor es 3600, el cociente de la división entera es 2 y el resto 2717. ¿Qué representa el cociente? ¿Qué representa el resto? Así que 9917 es equivalente a 2 horas y 2717 segundas.

28 Elementos de Pascal 2717 segundos es un intervalo de tiempo menor a una hora. ¿Cómo convertimos este valor a minutos? 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 cociente? ¿Qué representa el resto?

29 Elementos de Pascal 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.

30 Elementos de Pascal 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
Los procedimientos write y writeln permiten mostrar constantes y variables por consola. La forma es write (lista de constantes y expresiones) writeln (lista de constantes y expresiones)

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

36 Expresiones aritméticas
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.

37 Expresiones aritméticas
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.

38 Expresiones aritméticas
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.

39 Expresiones aritméticas
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.

40 Expresiones aritméticas
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.

41 Expresiones aritméticas
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.

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

43 Expresiones aritméticas
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

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. 45


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