Sunteți pe pagina 1din 4

Actividad N 6

Nombre: Tauss, Mariana Noemi


Grupo: Z41
DNI: 25.061.354

1. El segmento de programa siguiente es un intento de calcular el cociente (olvidndonos del


residuo) de dos enteros positivos contando el nmero de veces que se puede restar el divisor al
dividendo antes de que lo que nos quede sea menor que el divisor. Por ejemplo, 7/3 debe
producir 2 porque podemos restarle 3 dos veces a 7. Es correcto el programa? Justifique su
respuesta.
asignar a Cuenta el valor 0;
asignar a Residuo el valor del dividendo;
hacer
asignar a Residuo el valor de Residuo divisor;
asignar a Cuenta el valor de Cuenta + 1
mientras que (Residuo >= el divisor)
asignar a cociente el valor de Cuenta
Respuesta 1:
No es correcto. A continuacin se muestra los valores de las variables al ejecutar el programa
utilizando 5 dividido 7.
Instrucci
n

asignar a
Cuenta el
valor 0;
asignar a
Residuo el
valor del
dividendo;
asignar a
Residuo el
valor de
Residuo
divisor;
asignar a
Cuenta el
valor de
Cuenta + 1
mientras
que
(Residuo
>= el
divisor)
asignar a
cociente el
valor de
Cuenta

Cuen
ta

Dividen
do

Variables
Divis Resid
or
uo

-2

-2

-2

Cocien
te

1
5
7
-2
1
Como puede observarse en el cuadro anterior, ejecutando cada instruccin paso a paso el
resultado obtenido fue 1 cuando debi haber dado 0.

2. El segmento de programa siguiente est diseado para calcular el producto


de dos enteros no negativos X y Y acumulando la suma de X copias de Y;
esto es 3 por 4 se calcula acumulando la suma de tres cuartos. Es correcto
el programa? Justifique su respuesta.
asignar a Producto el valor de Y
asignar a Cuenta el valor 1
mientras (Cuenta < X) hacer
asignar a Producto el valor de Producto + Y
asignar a Cuenta el valor de Cuenta + 1
finmientras
Respuesta 2:
No es correcto. A continuacin se muestra los valores de las variables al ejecutar
el programa
Variables

Instrucci
n

X Y Producto

asignar a
Producto el
valor de Y

0 5

asignar a
Cuenta el
valor 1

0 5

mientras
(Cuenta <
X) hacer

0 5

Cuenta

Como puede observarse en el cuadro anterior, ejecutando cada instruccin paso a paso el
resultado obtenido fue 5 cuando debi haber dado 0.
Si el valor de X es cero y el de Y es distinto de cero, la respuesta no es correcta.

3. Suponiendo la condicin previa de que el valor asociado a N es un entero


positivo, establezca un invariante de ciclo que conduzca a la conclusin de
que si la rutina siguiente termina, se asigna a Suma el valor 0 + 1 + ... + N.
asignar a Suma el valor 0;

asignar a l el valor 0;
mientras (l < N) hacer
(asignar a l el valor de l +1;
asignar a Suma el valor Suma + l)
Proporcione un argumento para apoyar la tesis de que la rutina s termina.

Para el ejemplo N=4 se espera 1+2+3+4=10


Variables
Instrucci
n
asignar a
Suma el valor
0

asignar a l
el valor 0;
mientras
(l < N)
hacer
asignar a l
el valor de l
+1;
asignar a
Suma el
valor Suma
+l
mientras
(l < N)
hacer
asignar a l
el valor de l
+1;
asignar a
Suma el
valor Suma
+l
mientras
(l < N)
hacer
asignar a l
el valor de l
+1;
asignar a
Suma el
valor Suma
+l
mientras
(l < N)
hacer
asignar a l
el valor de l
+1;
asignar a
Suma el
valor Suma
+l
mientras
(l < N)
hacer

Suma

10

10

Cada vez que se realiza la prueba de terminacin, el enunciado Suma = 1 + 2 + ...+ I e I menor
o igual que N, es verdadero. Si combinamos esto con la condicin de terminacin I mayor o
igual que N, obtenemos la conclusin deseada Suma = 1 + 2 + ... + N. Puesto que I se inicia
en cero y se incrementa en uno cada vez que se repite el ciclo, su valor debe llegar tarde o
temprano al de N.

S-ar putea să vă placă și