Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMaría Nieves Quintero Castellanos Modificado hace 9 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.