Problemas while

Solo disponible en BuenasTareas
  • Páginas : 2 (265 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de diciembre de 2011
Leer documento completo
Vista previa del texto
Función [log 2(x)]
Demostración de la función log 2(x) es una macro, construyendo el correspondiente “programa while”apoyándome en macros conocidas ( * , + , también detalladas a continuación) : Programa while [log 2(x)] Secuencia de computaciónBegin z := 0; w := 0; v := x - w; while v != 0 do begin z := succ(z); w := w * x; v := x - w; end end

[a ( z, w, v)] Para x = 4:
a1(0 , 1 , 3); Inicialización a2(a1); Entra en el bucle while a3(1, 1, 3); a4(1, 2, 3); a5(1, 2, 2); a6(a5); Entra en elbucle while. a7(2, 2, 2); a8(2, 4, 2); a9(2, 4, 0); a10(a9); No entra en el bucle(v = 0).

Programa while [ x*y]

Begin z :=0; while y != 0 do begin z := z + x; y:= pred(y); end end

[a ( x, y, z)] Para x = 1, y = 2 :
a1(1, 2, 0); Inicializacióna2(a1); Entra en el bucle while. a3(1, 2, 1); a4(1, 1, 1); a5(a4); Entra en el bucle while; a6(1, 1, 2); a7(1, 0, 2); No entra enel bucle(y = 0).

Programa while [x+y]

begin z := x; while y != 0 do begin z := succ(z); y := pred(y); end end

[a ( x,y, z)] Para x = 1, y = 2 :
a1(1, 2, 1); a2(a1); a3(1, 2, 2); a4(1, 1, 2); a5(a4); a6(1, 1, 3); a7(1, 0 , 3); InicializaciónEntra en el bucle while.

Entra en el bucle while. No entra en el bucle(y = 0).

Benjamín Antomil Valledor – UO221658

tracking img