virtualword
Te invitamos a registrarte para poder acceder a todo el contenido gratuito que esta comunidad provee.

Saludos Wink

Unirse al foro, es rápido y fácil

virtualword
Te invitamos a registrarte para poder acceder a todo el contenido gratuito que esta comunidad provee.

Saludos Wink
virtualword
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Soluciones lección 014 a 017

Ir abajo

Soluciones lección 014 a 017 Empty Soluciones lección 014 a 017

Mensaje  Kyshuo Ayame Mar Nov 19, 2013 1:26 pm

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:

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
Kyshuo Ayame
Kyshuo Ayame
Admin

Mensajes : 105
Fecha de inscripción : 14/11/2012
Edad : 35

https://virtualworld.foroargentina.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.