Soluciones lección 014 a 017
Página 1 de 1.
Soluciones lección 014 a 017
Soluciones selectas para los ejercicios propuestos para los temas dados en las lecciones 14, 15, 16 y 17:
SOLUCIONES PRIMERA PARTE: Procedimientos y Funciones
Solución ejercicio 4:
Solución ejercicio 7:
SOLUCIONES SEGUNDA PARTE: Alcance
Solución ejercicio 5:
Se aconseja simular manualmente la ejecución del programa anotando los valores que van tomando las variables en cada momento. A usar lápiz y papel. Luego pueden escribir el código Pascal en el IDE y verificar su trabajo. A continuación dejo el enlace a un documento guía:
https://www.dropbox.com/s/93ygr1idfqokcwd/Lecciones_014_a_017_Ej5_Alcance.pdf
====================================================================================
Solución ejercicio 7:
Al igual que con el problema anterior se aconseja simular manualmente la ejecución. A continuación dejo un documento guía:
https://www.dropbox.com/s/55o3hf3r6p98now/Lecciones_014_a_017_Ej7_Alcance.pdf
SOLUCIONES PRIMERA PARTE: Procedimientos y Funciones
Solución ejercicio 4:
- Código:
PROGRAM GirarEntrada( Input, Output );
VAR x, y, z : Integer;
(*
Observar que los identificadores para
parametros formales y parametros reales pueden diferir.
*)
PROCEDURE Girar( VAR a, b, c : Integer );
VAR temp : Integer;
BEGIN
temp := a;
a := c;
c := b;
b := temp;
(* sin la variable auxiliar 'temp',
en 'b' hubiera quedado el valor de 'c' *)
END;
BEGIN
readln( x, y, z );
Girar( x, y, z );
writeln( x, y, z );
END.
Solución ejercicio 7:
- Código:
PROGRAM pr8ej7(INPUT,OUTPUT);
PROCEDURE raices_polin(a,b,c:Integer; VAR raiz1,raiz2:Real; VAR cant_raices:Integer);
(* Asumo que a no es 0. *)
VAR disc: Real;
BEGIN
disc := sqr(b) - 4*a*c;
IF disc > 0 THEN
BEGIN
cant_raices := 2;
raiz1 := (-b + sqrt(disc) ) / (2*a);
raiz2 := (-b - sqrt(disc) ) / (2*a)
END
ELSE IF disc = 0 THEN
BEGIN
cant_raices := 1;
raiz1 := -b / (2*a)
END
ELSE
cant_raices := 0
END;
VAR
coef1,coef2,coef3 : Integer;
raiz1,raiz2 : Real;
raices_halladas : Integer;
BEGIN
Write('Ingrese los tres coeficientes del polinomio de segundo grado: ');
ReadLn(coef1,coef2,coef3);
raices_polin(coef1,coef2,coef3,raiz1,raiz2,raices_halladas);
CASE raices_halladas OF
0: WriteLn('No se encontraron raices.');
1: WriteLn('Se encontro una raiz: ',raiz1:4:2);
2: WriteLn('Se encontraron 2 raices: ',raiz1:4:2,' ',raiz2:4:2)
END
END.
SOLUCIONES SEGUNDA PARTE: Alcance
Solución ejercicio 5:
Se aconseja simular manualmente la ejecución del programa anotando los valores que van tomando las variables en cada momento. A usar lápiz y papel. Luego pueden escribir el código Pascal en el IDE y verificar su trabajo. A continuación dejo el enlace a un documento guía:
https://www.dropbox.com/s/93ygr1idfqokcwd/Lecciones_014_a_017_Ej5_Alcance.pdf
====================================================================================
Solución ejercicio 7:
Al igual que con el problema anterior se aconseja simular manualmente la ejecución. A continuación dejo un documento guía:
https://www.dropbox.com/s/55o3hf3r6p98now/Lecciones_014_a_017_Ej7_Alcance.pdf
Temas similares
» Soluciones lección 009
» Soluciones lección 005
» Soluciones lección 021
» Soluciones lección 006
» Soluciones lección 007
» Soluciones lección 005
» Soluciones lección 021
» Soluciones lección 006
» Soluciones lección 007
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.