ejemplos de corrida en frío

Anuncio
EJEMPLOS DE CORRIDA EN FRÍO
Escriba la salida de los siguientes programas, indicando en forma clara y ordenada, los valores de las
variables:
PRIMER EJEMPLO
Program Examen;
var
a,b,c:integer;
Procedure P1 (var a:integer; b:integer);
Procedure P2 (c,a:integer);
begin
a := b-2+a-3;
writeln (a,b,c);
end; {fin del procedimiento P2}
begin
a := a*2 + b;
b:= a+1+c;
P2(a,b);
writeln (a,b,c)
end; {fin del procedimiento P1}
begin
a:=3;
b:=2;
c:=1;
P1 (c,a);
writeln (a,b,c);
P1 (b,a);
writeln (a,b,c)
end.
Salidas:
17 11 5
5 11 5
3 2 5
21 13 7
7 13 5
3 7 5
Llamadas realizadas
P1 (1, 3)
P2 (5, 11)
P1 (2, 3)
P2 (7, 13)
Programación I
Prof. Gloria Tarrío V.
Árbol de Ejecución
PROGRAMA PRINCIPAL
a=3
b =2/ 7
c=1 / 5
Procedimiento P1
a=1 / 5 / 2 / 7
b = 3 / 11 / 3 / 13
Procedimiento P2
a=5 / 7
b = 11 / 17 / 13 / 21
Programación I
Prof. Gloria Tarrío V.
SEGUNDO EJEMPLO
program examen;
var x, z, r : integer;
function primero (var x: integer; z:integer):integer;
begin
x := x + 2; z := z + 1;
writeln('Salida en primero:',x + z);
primero := x + z
end;
procedure segundo (var x,y: integer);
function otra (x: integer; z:integer):integer;
begin
x := x + z;
writeln('Salida en otra:',x);
otra := x + z
end;
begin
y := y + otra (z, x) + x; x := z + x + 1;
writeln('Salida en segundo:',y)
end;
function tercero (x: integer; var y: integer): integer;
function cuarto (x: integer): integer;
begin
x := x + 1;
writeln('Salida en cuarto:',x + z);
cuarto := x + z
end;
begin
x := x + 1; z := z + x - y + 2;
if x mod 2 = 0 then y := y + 1
else y := y - 1;
x := cuarto (x) + y;
writeln ('Salida en tercero:',x);
tercero := x
end;
begin
z := 2; x := 1;
segundo (z, x);
r := primero(z,x) + tercero (8, x);
writeln('Salida final:', z:3, x:3, r:3); read (x)
end.
Programación I
Prof. Gloria Tarrío V.
Salidas:
Salida en otra: 4
Salida en segundo: 9
Salida en primero: 17
Salida en cuarto: 19
Salida en tercero: 27
Salida final: 9 8 44
Llamadas realizadas
segundo (2,1)
otra (2,2)
primero (5,9)
tercero (8,9)
cuarto (9)
Árbol de ejecución:
PROGRAMA PRINCIPAL
x =1 / 9 / 8
z =2/ 5 / 7 / 9
r = 44
Función primero
x= 5 / 7
z = 9 / 10
Retorno = 17
Programación I
Procedimiento segundo
Función tercero
x=2 / 5
z=1 / 9
x = 8 / 9 / 27
y=9 / 8
Retorno = 27
Función otra
Función cuarto
x=2 / 4
z=2
Retorno = 6
x = 9 / 10
Retorno = 19
Prof. Gloria Tarrío V.
Descargar