Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web

Guia 2 de Computacion II


Pedro Silva Mingram
(07/05/2004)

1) Traducir a Java los siguientes algoritmos para luego comparar los valores obtenidos en la traza a mano.

a)

INICIO
    a <-- 3
    b <-- 93
    c <-- 3.56

    MIENTRAS (b > a) HACER
        a <-- a + 1
        b <-- b - a
    FIN MIENTRAS


    SI (a - b < 0) ENTONCES
        c <-- c * 3.14
        a <-- b + 1       /* al traducir dejar solo dos sentencias */
        b <-- b + 1
    SINO
        c <-- c / 3.14    /* al traducir dejar solo dos sentencias */
        b <-- 2 * a + b
        a <-- a + 1
    FIN SI

    SELECCION(a)
        1 : b <-- b + 1

        2 : a <-- a - 1
            SI (MOD(b/2) es igual a 0 ) ENTONCES
                b <-- b + a
            FIN SI

        3 : MIENTRAS(c > 0) HACER
                b <-- b - 1
                a <-- b + 1
                c <-- c - 0.32
            FIN MIENTRAS
     FIN SELECCION

    imprimir(a,b,c)

FIN



b )

INICIO
    a <-- 3, b <-- 2 : enteros
    x , y <-- 1.42 : reales
    s <-- false, t <-- true : booleanos
    cont <-- 0, sum <-- 0, num : enteros

    escribir "Ingrese un numero del 1 al 3 : "
    leer num

    escribir "ingrese un numero real entre 0.0 y 1.0 : "
    leer x

    SI (num >= 1 y num <= 3) ENTONCES
        a <-- a * num
        MIENTRAS(a mayor que cero) HACER
            b <-- b + 2
            cont <-- cont + 1
            x <-- x + y
            a <-- a - 1
        FIN MIENTRAS

        escribir "valor de a : " + a
        escribir "valor de b : " + b
        escribir "el ciclo realizo " + cont + "iteraciones"

    SINO
        escribir "a y b tomaran valores arbitrarios..."
        a <-- a + 1
        b <-- b + 3 * a     /* al traducir dejar dos sentencias de asignación que realicen lo mismo */
        a <-- a + 2 * b
        b <-- b + 1
    FIN SI

    MIENTRAS (cont > 0) HACER
       a <-- a + cont
       cont <-- cont - 2
    FIN MIENTRAS

    SI ( a + b es par ) ENTONCES
        x <-- (a + b + 1) / 2
        y <-- 2 * x / y
        s <-- s AND t OR NOT t
        t <-- NOT s OR t

        SI (t es igual a true OR y mayor que 3.14) ENTONCES
            a <-- y
            y <-- a / 2
        SINO
            b <-- b + 1
            a <-- a - 2 * b
        FIN SI
    SINO
        escribir "para practicar TRAZA caer aqui no sirve de nada.."
    FIN SI

    escribir "a + b vale : " + (a + b)
    escribir "s vale " + s + "y t vale : " + t
    escribir "x vale " + x + "e y vale " + y
    escribir "FIN"
FIN