La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sesión 9 Subprogramas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.

Presentaciones similares


Presentación del tema: "Sesión 9 Subprogramas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal."— Transcripción de la presentación:

1 Sesión 9 Subprogramas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal

2 Sesión 9: Subprogramas Programación de Computadores Lenguaje Pascal TEMARIO Subprogramas Parámetros por valor y referencia Variables Locales Variables Globales Control

3 Repaso : Un Procedimiento es un sub programa que realiza cierta tarea. Hasta ahora, se ha visto trabajando sólo sobre variables locales o globales, pero al igual que las funciones, pueden recibir parámetros. Sesión 9: Subprogramas: Parámetros por valor Programación de Computadores Lenguaje Pascal PROCEDURE ( ); BEGIN END; Existen 2 tipos de parámetros: :,..., : Pueden ir varias series de identificadores con un tipo de dato, luego punto y coma y otra serie para un tipo de dato diferente. NO HAY EFECTO sobre las variables que se usaron al llamar al procedimiento a pesar de las modificaciones hechas en el procedimiento. También se pueden usar constantes o valores.

4 Ejemplo 1:Rutear el siguiente programa y su procedimiento. Sesión 9: Subprogramas:Diseño y estructura de Programas Programación de Computadores Lenguaje Pascal PROGRAM param; VAR escala :INTEGER; largo,alto,area :REAL; PROCEDURE calculoarea(largo,alto: REAL;escala: INTEGER); BEGIN largo := largo + escala; alto := alto + escala; area := alto * largo; writeln(‘en procedimiento:’,largo,’ ‘,alto); END; BEGIN largo:=10.5; alto:=20.5;escala:=5; calculoarea(largo,alto, escala); writeln(‘en programa:’,largo,’ ‘,alto,’ ‘,area); END. Se imprime 10.5 20.5 395.95 Calculoarea() Escala largo alto areaEscala largo alto 510.520.5510.520.5 15.525.5 395.95 globales Se imprime 15.5 25.5

5 Sesión 9: Subprogramas: Parámetros por referencia Programación de Computadores Lenguaje Pascal : VAR,..., : TIENEN EFECTO sobre las variables que se usan al llamar al procedimiento. Permite que el procedimiento entregue varios resultados asociando parámetros con variables Ejemplo 2:Rutear el siguiente programa y su procedimiento. PROGRAM param; VAR largo,alto :INTEGER; perimetro,area :REAL; PROCEDURE calculos(l,al: INTEGER; VAR a,p:REAL); BEGIN WRITELN(‘en procedimiento:’,a,’ ‘,p); a := al * l; p := 2*al + 2*l END; BEGIN largo:=10; alto:=20; area:=15;perimetro:=30; calculos(largo,alto,area,perimetro); WRITELN(‘en programa:’, area,’ ‘, perimetro); END.

6 Sesión 9: Subprogramas: Parámetros por referencia Programación de Computadores Lenguaje Pascal Ejemplo 2:Ruteo Se imprime 200 60 Calculoarea() largo alto area perimetro l al a p 1020102015 60200 globales Se imprime 15 30 1530 20060 Parámetros por referencia

7 Sesión 9: Subprogramas:Variables Locales Programación de Computadores Lenguaje Pascal Las variables definidas en un procedimiento o una función tienen valores propios y aislados de las variables del programa global. Se recomienda usar estas variables y parámetros, frente a globales. Esto permite evitar errores. Una variable local y global con el mismo nombre tienen un ámbito diferente y no se mezclan. Ejemplo 3:Rutear programa que muestre los primeros los números factoriales entre 5 y 10 usando función fact(n).

8 Sesión 9: Subprogramas:Variables Locales Programación de Computadores Lenguaje Pascal PROGRAM factoriales; VAR i :INTEGER; factorial :REAL; FUNCTION fact(n: INTEGER;):REAL; VAR i :INTEGER; factorial: REAL; BEGIN factorial:=1; FOR i:=1 to n DO factorial := factorial * i; fact := factorial END; BEGIN FOR i:=5 to 10 DO BEGIN factorial := fact(i); writeln(‘factorial:’, i,’ ‘, factorial) END END. Ejemplo 3:

9 Se imprime 120 fact () i factorial n i factorial 55 1 1 6 1 globales 120 2 Sesión 9: Subprogramas:Variables Locales Programación de Computadores Lenguaje Pascal Ejemplo 3: 24 (120) Se imprime 720 66 1 1 6 1 2 24 120 Parametro por valor Variables locales Variables globales (720) 2 3 4 5 2 3 4 5 6 77 1 1 6 1 2 24 120 720 2 3 4 5 6 Se imprime 5760 8.... 7(5760)

10 Sesión 9: Control Programación de Computadores Lenguaje Pascal Realice el ruteo de los siguientes segmentos de programa PASCAL : Primero VAR a, c:INTEGER; FUNCTION acción (VAR b:INTEGER):INTEGER; VAR a:INTEGER; BEGIN a := 5; b := SQR(a); accion := b END; BEGIN a := 3; c:= accion(a); WRITELN(‘c=‘,c); END. Segundo VAR a, b,c:INTEGER; PROCEDURE p1(x,y:INTEGER; VAR z::INTEGER); BEGIN z := 2 * y + z; x := 2 * c + b; WRITELN(x,y,z); END; BEGIN a := 5; b := 6; c :=11; p1(a,b,c); WRITELN(a,b,c) END;

11 Fin Clase 9


Descargar ppt "Sesión 9 Subprogramas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal."

Presentaciones similares


Anuncios Google