Sie sind auf Seite 1von 2

Apellido y Nombre

Algoritmos Datos y Programas. Parcialito 1

TURNO 4

Tema 1

1- Indique Verdadero o Falso a las siguientes afirmaciones:


a. El bloque de acciones de un WHILE se ejecuta como mnimo una vez. Por qu?
Rta: Falso, porque la estructura while es precondicional, es decir, primera se evala la condicin y luego se ejecuta o no
el bloque de instrucciones. Esto quiere decir que puede ocurrir que el bloque no se ejecute.
b. La variable ndice del FOR no debe ser modificada dentro del bloque de acciones.
Rta: Verdadero. La variable del for no debe ser modificada dentro del bloque de acciones porque la cantidad de veces
que se ejecutar queda determinado cuando se inicia la repeticin.
c. A una variable de tipo real se le puede aplicar la operacin DIV
Rta: Falso. La operacin DIV est permitida en el tipo entero.
d. Un programa que usa menos memora para sus variables es mas eficiente que otro que usa mas memoria.
Rta: Verdadero, porque uno de los aspectos que permite evaluar la eficiencia de un programa es la cantidad de memoria
que utiliza para su ejecucin.
2- Interprete el siguiente cdigo de programa y escriba un enunciado de problema que se resuelve a travs de la
siguiente solucin:
Program dos;
Var
aux, num, i: integer;
Begin
aux:= 0;
for i:= 1 to 100 do
begin
read(num);
if (num mod 2 <> 0) then aux := aux+1;
end;
write (aux);
end.
Rta: Escribir un programa que lea 100 nmeros enteros e imprima la cantidad de nmeros impares ledos.

3- Escriba un programa que lea nmeros reales e informe la suma de los nmeros ledos. La lectura de los nmeros
finaliza con el nmero 9.9, que no debe procesarse.

Datos necesarios: los nmeros reales que se leen y el dato suma que se va actualizando con cada nmero ledo
Estructura de Control: iterativa precondicional porque no se conoce la cantidad de nmeros reales que se leen y
adems porque el ltimo nmero que se lee (9.9) no debe sumarse.

Program tres;
Var
Num, suma : real;
Begin
suma := 0;
Read (num);
While ( num <> 9.9) do begin
suma := suma + num;
Read (num);
End;
Write (suma);
End.

Apellido y Nombre
Algoritmos Datos y Programas. Parcialito 1

TURNO 4

Tema 2

1- Indique Verdadero o Falso a las siguientes afirmaciones:


a. La variable ndice del FOR no debe ser modificada dentro del bloque de acciones.
Rta: Verdadero. La variable del for no debe ser modificada dentro del bloque de acciones porque la cantidad de veces
que se ejecutar queda determinado cuando se inicia la repeticin.
b. El bloque de acciones de un RepeatUntil se ejecuta como mnimo una vez. Por qu?
Rta: Verdadero, porque la estructura repeatuntil es postcondicional, es decir, primera ejecuta el bloque de
instrucciones y luego evala la condicin. Esto quiere decir que como mnimo una vez se ejecutar.
c. Un programa que se ejecuta en menos tiempo es ms eficiente que otro que emplea ms tiempo de procesamiento.
Rta: Verdadero, porque uno de los aspectos que permite evaluar la eficiencia de un programa es la cantidad de tiempo
que se utiliza para su ejecucin.
d. A una variable de tipo real se le puede aplicar la operacin DIV
Rta: Falso. La operacin DIV est permitida en el tipo entero.
2- Interprete el siguiente cdigo de programa y escriba un enunciado de problema que se resuelve a travs de la
siguiente solucin:

Program dos;
Var
aux,num: integer;
Begin
aux:= 0;
read (num);
while (num <> 100) do
begin
if (num mod 2 = 0) then aux := aux+1;
read(num);
end;
write (aux);
end.
Rta: Escribir un programa que lea nmeros enteros e imprima la cantidad de nmeros pares ledos. La lectura de
nmeros finaliza cuando se lee el valor 100 que no debe procesarse.
.
3- Escriba un programa que lea 60 nmeros reales e informe la suma de los nmeros ledos.

Datos necesarios: los nmeros reales que se leen, el dato suma que se va actualizando con cada nmero ledo y
un dato que se utilizar para indicar que solo deben leerse 60 nmeros.
Estructura de Control: repetitiva (FOR) porque se conoce la cantidad de nmeros reales que se leen.

Program tres;
Var
num, suma : real;
indice: integer;
Begin
suma := 0;
FOR indice := 1 TO 60 DO begin
read (num);
suma := suma + num;
end;
Write (suma);
End.

Das könnte Ihnen auch gefallen