En nuestro quehacer cotidiano,
todas las personas realizamos una serie de actividades de forma repetitiva
“rutinaria”. Por ejemplo:
-
Asistimos
a clases en el colegio o la universidad; de lunes a viernes (repetimos 5 veces)
-
Cuando
leemos un libro; la acción de leer se repite hasta que terminemos de leer el
libro (hasta que ya no hayan más páginas por leer)
-
Cuando
leemos nuestro email; la acción de abril el email y leerlo es repetitiva; y lo
repetimos tantas veces mientras haya email nuevos por leer.
-
Si
queremos convertir un número a binario. El procedimiento indica que hay que
dividir el número sucesivamente entre 2 mientras el cociente sea mayor o igual
que la base 2; una vez que el cociente es menor, ya no se continúa dividiendo
(finalizó la repetición). Luego se forma el número binario con el último
cociente concatenando con los residuos anteriores.
-
Y un largo
etc.
Como la computadora automatiza
procesos de la vida real, los ejecuta mucho más rápido que las personas; pues
era muy importante que se le programara para que pueda repetir instrucciones.
Tipos de Estructuras repetitivas
1.
Por condición: es aquella que repite un conjunto de
instrucciones (proceso) siempre que se cumpla una condición; es decir, mientras la condición sea verdadera,
continuará repitiéndose; una vez que la condición es falsa, ya no se repite.
Por
ejemplo:
-
Cuando
vamos al supermercado y llegamos a la cajera con nuestro carrito de compras. La
cajera no sabe cuántos productos tenemos en el carrito; pero ella repite la
acción de pasar por el lector de código de barras cada producto mientras haya algo
en el carrito; una vez que el carrito quedó vacío, entonces ya no sigue
pasando, sino que nos indica cuánto hay que pagar.
-
Cuando
caminamos de casa a nuestro centro de trabajo; la acción de caminar (es la acción
repetitiva de dar un paso tras otro); nosotros no sabemos cuántos pasos vamos a
dar sino que caminamos hasta que lleguemos al destino.
2.
Por Contador: el aquella en la cual se repite un conjunto de acciones (proceso) un número
determinado de veces; es decir, se sabe (o se puede deducir) cuántas veces se
va a repetir el proceso (las instrucciones).
-
Cuando el
profesor toma asistencia de sus 30 alumnos. Como son 30 alumnos, tendrá que
llamar en voz el nombre de cada alumno; y esto será 30 veces.
-
Si
queremos mostrar un listado de números naturales del 1 al 100
-
Para
revisar un examen escrito de “n” alumnos; donde “n” es un valor que podría ser
30, 40, etc.
Ventajas de las estructuras repetitivas
-
Flexibilidad
para la escritura del código
-
Disminución
de líneas de código
-
Ahorro de
tiempo en la codificación
Ejemplos
A continuación se presentan casos
de acciones repetitivas. Clasifique como estructura repetitiva por contador o
por condición.
1.
Digitar
una lista de 30 nombres de ciudades
2.
Subir por
una escalera tantos peldaños hasta llegar al 5to piso del edificio
3.
Cuando el
cajero de la ventanilla de un banco atiende a los clientes; la acción de
atender a cada cliente …
4.
Hacer el
pago de haberes para cada uno de los 700 empleados de una empresa
5.
En un
banco: al calcular el interés para cada uno de las 3000 cuentas bancarias
6.
Saltar la
soga tantas veces hasta que ya no pueda más.
7.
Escribir
el código de un programa hasta que realice la tarea solicitada.
8.
Comprar
productos alimenticios tantos como alcance el monto de dinero que tenemos.
9.
Registrar
el nombre y la edad de N estudiantes
10.
Registrar
el nombre, la edad y el sexo de tantos estudiantes hasta que se ingrese la
palabra FIN
11.
Calcular
la nota promedio de la unidad para N alumnos registrados en un curso
universitario.
TIPOS DE VARIABLES EN LAS ESTRUCTURAS REPETITIVAS
Cuando se diseñan programas de
computadora y se empelan las estructuras repetitivas, existen variables con
funciones específicas cuyos valores y la forma como se les procesa ayuda mucho
en la programación.
Estas variables especiales son:
1.
Variable
contador
2.
Variable
acumulador
3.
Variable
centinela
Variable contador
·
Es una
variable del tipo entero cuya misión es “llevar la cuenta de algo”.
·
Esta
variable aumenta o disminuye su valor en una cantidad fija dentro de cada
ejecución del cuerpo de la estructura repetitiva.
·
Siempre
debe ser inicializada con un valor especial (generalmente puede ser cero)
·
Su
expresión (dentro de una estructura repetitiva) es por ejemplo:
o
contador
<- contador + 1
o
x <- x
– 1
o
numHabitantes
<- numHabitantes + 1
o
tiempo
<- tiempo – 2
Variable acumulador
·
Es una
variable cuya misión es acumular/guardar el resultado sucesivo de operaciones
matemáticas: suma, resta, multiplicación, división, etc.
·
Dependiendo
de su contenido puede ser del tipo entero Real.
·
Esta
variable aumenta o disminuye su valor en otra cantidad que también es variable.
·
Siempre se
le debe inicializar en un valor adecuado. Por ejemplo para acumular sumas, el
valor adecuado es cero ya que es el elemento neutro de la suma; sin embargo si
queremos acumular multiplicaciones sucesivas el valor adecuado sería uno.
·
Su
expresión (dentro de una estructura repetitiva) es por ejemplo:
o
Suma <-
suma + numero
o
Producto
<- producto * j
o
Resultado
<- resultado / x
Variable Centinela
·
Es una
variable de “alerta”
·
Se le
conoce también como bandera, flag o interruptor.
·
Generalmente
es una variable del tipo Lógico (booleano).
·
Se usa
como alerta ya que dependiendo del valor que tome (verdadero o falso si se
trata del tipo lógico) puede efectuar alguna acción. Un uso bastante difundido
es abortar la ejecución de la estructura repetitiva.
·
Dentro del
cuerpo de la estructura repetitiva, su valor lo toma dependiendo de una
estructura condicional.
ESTRUCTURA REPETITIVA POR CONDICIÓN
Como ya se indicó anteriormente, la
estructura repetitiva por condición es aquella que permite ejecutar varias
veces un proceso siempre que se cumpla una condición.
En este caso no se sabe o no se
puede deducir previamente cuántas veces se va a repetir el proceso; todo
depende del resultado de la evaluación de la condición.
Es muy importante establecer
claramente la condición, y hacer que en algún momento termine pues de lo contrario
estaríamos en un proceso repetitivo infinito y esto atenta contra la definición
de algoritmo. Recuerda que un algoritmo siempre debe tener un fin.
Formas de la estructura repetitiva por condición
1.
Estructura
Mientras … hacer (Mientras … haga)
2.
Estructura
Hacer … Mientras
3.
Estructura
Repetir … Hasta
En cada uno de estos casos se debe
especificar la condición de ejecución (o repetición); aquella cuyo resultado
permitirá continuar repitiendo o finalizar la repetición.
Estructura repetitiva Mientras … hacer
Características
1.
Ejecuta/repite
el proceso mientras la condición sea verdadera. Cuando la condición resulte
falsa, ya no repite, finaliza y continúa con las instrucciones que hubieran
fuera del bloque.
2.
La
evaluación de la condición ocurre al principio. Esto significa que si al
evaluar la condición resultara falsa, entonces el cuerpo del bucle (proceso) no
se ejecutaría ninguna vez.
Representación
En
diagrama de flujo estándar:
En el programa DFD:
En Pseudocódigo (LPP)
Mientras (condición)
haga
Proceso
Fin Mientras
En el Lenguaje Java
while (condición) {
proceso;
}
EJEMPLOS
1)
Escribir
el algoritmo que permita ingresar nombres de personas. Cuando se ingresa como
nombre FIN o fin, termina la ejecución.
2)
Modifique
el ejemplo anterior para considerar que aparezca el total de nombres
ingresados.
3)
Ahora,
considere que se necesita ingresar la edad y el sexo (masculino o femenino) de
cada persona ingresada. Luego el algoritmo debe calcular la edad promedio.
4)
Ahora, el
algoritmo debe hallar la cantidad total de varones y de mujeres que fueron
ingresados.
5)
Escriba un
algoritmo que permita ingresar números hasta que se ingrese el valor centinela
cero. Es decir, si se ingresa cero, el algoritmo ya no pide más números. Además
el algoritmo debe informar cuántos números distintos de cero se ingresaron.
Cuántos son positivos y cuántos son negativos.
6)
Un ama de casa
va al mercado con X soles y debe comprar los siguientes productos en este
orden: pollo, leche, verduras y avena. Por cada compra que realiza, el ama de
casa debe saber cuánto le queda de saldo. Escriba un algoritmo para tal fin;
además considere que si ya no tiene saldo el computador debe informar qué
productos no compró.
7)
Juan realiza
el pago de sus servicios por banca por Internet. Él tiene cierto saldo en su
cuenta bancaria. Escribe el algoritmo que le pregunte a Juan si desea realizar
el pago de servicios. En caso la respuesta sea Sí, le debe pedir el monto a
pagar. Por cada pago realizado se debe informar cuál es el nuevo saldo. Valide
lo que considere necesario.
8)
Se ha
recargado un teléfono celular con N soles. Escriba el algoritmo que permita
hacer llamadas y registre el monto (en soles) consumido. Por cada llamada debe
indicar cuánto costó y cuál es el saldo. Valide lo que sea necesario.
9)
Mostrar
una línea conformada por 30 asteriscos.
10)
Modifique
el ejemplo anterior para mostrar la línea con N asteriscos. El valor de N lo
ingresa el usuario.
11)
Dibuje un
recuadro en pantalla conformado por asteriscos. El recuadro debe ser flexible en
cuanto al tamaño (considere coordenadas del recuadro)
12)
Escriba el
algoritmo que permita ingresar nombres de estudiantes universitarios, su edad,
su sexo y su escuela profesional (considere solo estas escuelas: Sistemas,
Civil, Arquitectura, Industrial). Se ingresarán tantos registros conforme se
responda a la pregunta ¿Desea ingresar otra persona?. Luego el algoritmo debe
informar
a.
El total
de estudiantes registrados
b.
El total
de varones y de mujeres
c.
El
promedio de edades de todos los estudiantes registrados
d.
El
promedio de edades solo de los varones
e.
El
promedio de edades solo de las mujeres
f.
El número
de estudiantes de cada escuela profesional
EJERCICIOS
PROPUESTOS
1.
Algoritmo
que permita ingresar el nombre y la nota de tres prácticas calificadas de un
grupo de estudiantes. Se ingresarán tantos estudiantes según se responda a la
pregunta ¿Desea registrar otro estudiante (S/N)?
Por
cada estudiante debe mostrar su promedio y si aprobó o desaprobó el curso.
2.
Algoritmo
para mostrar todos los números pares comprendidos desde 100 hasta 200
3.
Se
necesita registrar los nombres de ciudades del Perú junto con su temperatura
ambiental, la cantidad de habitantes y la región a la que pertenece: costa,
sierra o selva. Cuando ya no se desea ingresar otra ciudad, el algoritmo debe informar:
a.
El total
de ciudades ingresadas
b.
La
cantidad de ciudades de la costa, de la sierra y de la selva.
c.
El
promedio de temperaturas de las ciudades por cada región
PREGUNTAS DE RETROALIMENTACIÓN
1.
Es una
variable del tipo entero cuyo valor aumenta o disminuye en una cantidad fija:
a.
Acumulador
b.
Contador
c.
Centinela
d.
Lógica
2.
La
estructura repetitiva Mientras … haga evalúa la condición de ejecución al
principio
a.
Verdadero
b.
Falso
3.
Una
característica de la estructura Mientras … hacer es:
a.
La
condición se evalúa al final
b.
Siempre
ejecuta el proceso al menos una vez
c.
La
condición se evalúa al principio
d.
NA
4.
Hacer
tantas llamadas telefónicas por el celular siempre que se tenga saldo; es una
acción repetitiva del tipo:
a.
Por
contador
b.
Por
condición
c.
Por
recursividad
d.
NA
Dado
el siguiente fragmento de pseudocódigo
Peso <- 95
Mientras (peso >= 80) haga
Escriba “Peso: “, peso
Llamar nueva_linea()
Peso <- Peso - 5
Fin Mientras
Escriba “Felicidades, meta cumplida!”
|
5.
Del
pseudocódigo anterior, el tipo de estructura repetitiva anterior es:
a.
Por
contador
b.
Por
condición
c.
No se
puede saber
6.
Del
pseudocódigo anterior, la estructura repetitiva codificada corresponde a:
a.
Repetir …
Hasta
b.
Hacer ...
Mientras
c.
Mientras …
hacer
d.
Para
7.
Para qué
valor de la variable peso (de los mostrados en estas alternativas), no se
ejecutaría ninguna vez el proceso (el cuerpo del bucle)
a.
85
b.
80
c.
75
d.
90
8.
Si la
variable peso es igual a 80, ¿Cuántas veces se ejecuta el cuerpo del bucle?
a.
Ninguna
vez
b.
Solo una
vez
c.
Dos veces
d.
Tres veces
e.
No se puede
determinar
9.
Ejecute el
pseudocódigo anterior
Estructura repetitiva Hacer … Mientras
Características
1.
Es una
variante de la estructura repetitiva anterior (Mientras … hacer). La diferencia
es que la condición se evalúa al final del bloque repetitivo.
2.
Como la
condición se evalúa al final, esto permite que el cuerpo del bucle se ejecute
siempre al menos una vez (la primera vez).
3.
Así como
la estructura Mientras … hacer, esta variante ejecuta/repite el proceso
mientras la condición sea verdadera. Cuando la condición resulte falsa, ya no
repite, finaliza y continúa con las instrucciones que hubieran fuera del
bloque.
Representación
En diagrama de flujo estándar:
En el programa DFD:
No permite esta estructura
En Pseudocódigo
El programa LPP no lo
admite
Hacer
Proceso
Mientras (condición)
En el Lenguaje Java
do {
proceso;
} while (condición);
Nota:
En el presente curso de fundamentos de Programación,
considerando que el programa LPP no admite la estructura Hacer … Mientras; no
se usará en la resolución de algoritmos.
EJEMPLOS
1)
Halle el
valor final de cada variable en los siguientes pseudocódigos y muestre la
pantalla
Sw
<- 0
P
<- 8
Hacer
Llamar nueva_linea()
Escriba p
p <- p – 1
sw <- sw + 1
Mientras
(sw = 1)
|
Entero
num
Inicio
Hacer
Escriba “Ingrese un número: “
Lea num
Si
(num < 0) entonces
Escriba “Error”
Sino
Acu <- Acu + num
Fin Si
Mientras (num < 0)
Fin
|
2)
Se
necesita un algoritmo que permita registrar a varias personas: su nombre, su
peso y talla. El algoritmo debe calcular el índice de masa corporal (IMC),
mostrarlo para cada una y también mostrar el calificativo considerando lo
siguiente:
Si
el IMC es superior o igual a 30, mostrar OBESIDAD
En
cambio, si el IMC es superior o igual a 25, mostrar SOBRE PESO
En
cambio, si el IMC es superior o igual a 18.5, mostrar NORMAL
Y
si está por debajo de 18.5, mostrar BAJO DE PESO
El
algoritmo debe permitir ingresar tantas personas mientras se responda a la
pregunta si desea continuar o no.
Solución
A
continuación se muestra el pseudocódigo con las instrucciones desordenadas:
CARACTER RPTA
REAL PESO, TALLA, IMC
IMC <- PESO /
(TALLA ^2)
INICIO
SI (IMC >= 25)
ENTONCES
RPTA <- 'S'
MIENTRAS (RPTA = 's')
O (RPTA = 'S') HAGA
ESCRIBA "INGRESE
EL NOMBRE DE LA PERSONA: "
LEA TALLA
LEA NOMBRE
ESCRIBA "INGRESE
LA TALLA DE ", NOMBRE, ": "
ESCRIBA "INGRESE
EL PESO DE ", NOMBRE, ": "
FIN SI
FIN SI
LEA PESO
CADENA [30] NOMBRE
ESCRIBA "ESTADO:
NORMAL"
SINO
SI (IMC >= 30)
ENTONCES
LLAMAR NUEVA_LINEA()
ESCRIBA "DESEA
REGISTRAR A OTRA PERSONA (S/N)?: "
FIN MIENTRAS
ESCRIBA "EL IMC
DE ", NOMBRE, " ES: ", IMC
LLAMAR NUEVA_LINEA()
ESCRIBA "ESTADO:
OBESIDAD"
SINO
ESCRIBA "ESTADO:
SOBRE PESO"
SINO
SI (IMC >= 18.5)
ENTONCES
ESCRIBA "ESTADO:
BAJO DE PESO"
FIN SI
LLAMAR NUEVA_LINEA()
LEA RPTA
FIN
Ordena las instrucciones de
manera correcta:
……………………………………………..
……………………………………………..
REAL PESO, TALLA, IMC
INICIO
……………………………………………..
MIENTRAS (RPTA = 's')
O (………………….) HAGA
ESCRIBA
"INGRESE EL NOMBRE DE LA PERSONA: "
……………………………………………..
…………………………………………………………………………
LEA TALLA
………………………………………………………………………..
…………………….
…………………………………………….
LLAMAR NUEVA_LINEA()
………………………………………………………………………..
LLAMAR NUEVA_LINEA()
SI
(…………………………..) ENTONCES
ESCRIBA "ESTADO:
OBESIDAD"
SINO
……………………………………………………
ESCRIBA "ESTADO:
SOBRE PESO"
SINO
………………………………………………………….
……………………………………………………..
SINO
ESCRIBA "ESTADO:
BAJO DE PESO"
FIN SI
………….
FIN SI
LLAMAR
NUEVA_LINEA()
ESCRIBA
"DESEA REGISTRAR A OTRA PERSONA (S/N)?: "
…………………………..
FIN MIENTRAS
……………….
ESTRUCTURA REPETITIVA POR CONTADOR
Existen situaciones del mundo real
en las cuales se sabe anticipadamente cuántas veces se debe repetir una acción;
por ejemplo:
·
Si tenemos
que procesar los exámenes de admisión de 5000 postulantes. En este caso se abe
que son 5000 postulantes y por cada uno se debe procesar su examen de admisión (revisarlo
y calcular el puntaje total)
·
Cuando
tenemos que aplicar una encuesta de satisfacción a 100 personas. EL número 100
nos indica que tenemos que reptrit100
veces la aplicación de la encuesta.
·
Si tenemos
que calcular la edad promedio de N estudiantes (donde N debe tener un valor
específico). En este caso tenemos que repetir N veces la petición de la edad de
cada estudiante, acumular la suma de las edades y luego dividir entre N para
saber cuál es la edad promedio.
En todos los casos anteriores, la
repetición no está sujeta a una condición; el número de veces que se debe
repetir las acciones (proceso) ya está restablecido previamente. Este es el
tipo de Estructuras repetitivas por Contador.
Se le dice “por Contador” porque
hay una cantidad finita de veces a repetir; además porque se usa una variable
de este tipo (contador) que va llevando la cuenta de la repetición “i”
(pasada). Por cada valor que toma la variable contador, se ejecuta el proceso.
La estructura repetitiva por
contador se conoce como Estructura PARA o Estructura DESDE. Esta estructura es
un caso particular o práctico de la estructura “Mientras …hacer”. La ventaja
que ofrece es que ya tiene una variable contador que es la que está cambiando
su valor (incrementa/decrementa); asimismo la condición de término de la repetición está dada por el límite del
valor del contador (ya se tiene establecido un valor final de la variable
contador).
Por otro lado, todo lo que se puede
hacer con la estructura PARA también se puede implementar con la estructura
Mientras, pero no al contrario.
Representación: Estructura PARA
La estructura repetitiva por
contador, se representa de la siguiente manera:
En Diagrama de Flujo:
En Pseudocódigo
Para
Variable <- ValorInicial hasta ValorFinal Haga
Proceso
Fin Para
En el lenguaje JAVA:
for(variable=ValorInicial;
condiciónDeRepetición; Incremento){
proceso;
}
Elementos de la estructura repetitiva PARA
Observe la sintaxis anterior (en
pseudocódigo); los elementos son:
1)
La variable contador: es una variable del tipo entero la cual va a ir
cambiando de valor (de 1 en 1 en LPP). En otros lenguajes de programación la
variable contador puede cambiar su valor incrementando o decrementando en un
valor que no siempre es uno.
En LPP esta variable solo incrementa de uno en uno (es una desventaja de LPP)
2)
El valor inicial: es un valor entero (número o variable que
contenga un valor numérico). Es el primer valor que toma la variable contador
3)
Valor Final: es el último valor de la variable contador para el cual se repite el
proceso. La variable contador ha empezado con el valor inicial y fue
modificando su valor (por defecto de uno en uno – en LPP) y ha alcanzado el
valor final.
4)
Incremento: En LPP el incremento predeterminado es de uno en uno; es decir, la variable
contador va aumentando de uno en uno; y por cada nuevo valor que toma la
variable ejecuta el proceso. En otros lenguajes de programación como Java o
VB.Net, se puede modificar el incremento, puede ser aumento o decremento.
Por ejemplo:
Para j <- 1 hasta 10 haga
Escriba “Hola ”, j
Llamar nueva_linea()
Fin para
En este fragmento de pseudocódigo
tenemos:
·
La
variable contador es j
·
El valor
inicial es 1
·
El valor
final es 10
·
El proceso
está conformado por dos instrucciones: Escriba “Hola ”, j y Llamar nueva_linea().
·
El
incremento: en LPP no se especifica; siempre es de uno en uno ascendente.
·
La
variable j toma el valor inicial 1, luego aumenta a 2, luego a 3; y así
sucesivamente hasta llegar a 11 (un valor más que el valor final). Pero repite
el proceso hasta que tiene el valor final; en este ejemplo, repite por cada valor
de la variable j: desde 1 hasta 10.
·
En este
caso se ha repetido 10 veces el proceso.
Si ejecutamos el pseudocódigo
anterior, tenemos:
Tabla de variables
|
Pantalla:
Hola 1
Hola 2
Hola 3
Hola 4
Hola 5
Hola 6
Hola 7
Hola 8
Hola 9
Hola 10
|
Procedimiento de ejecución de la estructura PARA
La ejecución de la
estructura PARA tiene la siguiente secuencia:
Paso 1:
La variable contador toma el
valor inicial
|
|
Paso 2:
El
computador comprueba si el valor de la variable es menor o igual que el valor
final. Si se cumple esta condición implícita, sí entra a ejecutar el cuerpo
del bucle; de lo contrario (cuando el valor de la variable contador es mayor
que el valor final) NO ejecuta el cuerpo del bucle.
|
|
Paso 3:
Se ejecuta el proceso (cuerpo
del bucle); todas las instrucciones comprendidas entre Para y Fin Para.
|
|
Paso 4:
La variable contador se
incrementa en uno y se vuelve a verificar si esta variable es menor o igual
que el valor final.
Por cada valor de la variable
contador se ejecuta (repite) el proceso.
|
Ejemplos
Ejecute los siguientes
fragmentos de código. Muestre la tabla de variables y la pantalla
Ejemplo 1
S <- 0
Para k <- 3 hasta 10 haga
Escriba k
Llamar nueva_linea()
S <- S + k
Fin para
Llamar nueva_linea()
Escribe “último valor de k: “, k
Solución
Tabla de variables
|
Pantalla
3
4
5
6
7
8
9
10
Último valor de k: 11
|
Ejemplo 2
A <- 10
B <- 10
Para j <- A hasta B haga
Escriba j, “ Ingrese un
numero: “
Lea num
Fin Para
Llamar nueva_linea()
Escriba “Valor del contador j: “, j
Llamar nueva_linea()
Escriba “Numero ingresado: “, num
Solución
Tabla de variables
|
Pantalla
10 Ingrese un número: _
Valor del contador j:
Número ingresado:
|
Ejemplo 3
A <- 8
Para j <- A hasta 5 haga
Escriba j, “-“, j*2
Fin Para
Llamar nueva_linea()
Escriba “Valor del contador j: “, j
Solución
Tabla de variables
|
Pantalla
Valor del contador j: 8
|
En este ejemplo, la variable contador “j” toma el valor inicial 8 (el contenido
de la variable A); luego la computadora comprueba si este valor es menor o
igual que el valor final (5 en este ejemplo); como 8 no es menor ni igual que 5
entonces no entra al cuerpo del bucle, sino que ejecuta las instrucciones que
continúan después del bucle.
EJERCICIOS
Ejecute los siguientes
fragmentos de código. Muestre la tabla de variables y la pantalla
Ejercicio 1
Real S
…
S <- 0
Para k <- 3 hasta 12 haga
Escriba k, “-“, k*2
Llamar nueva_linea()
S <- S + k
Fin para
Pr <- s / k
Llamar nueva_linea()
Escribe “último valor de k: “, k
Llamar nueva_linea()
Escriba “valor de s: “, s
Llamar nueva_linea()
Escriba “valor de pr”, pr
Ejercicio 2
Num <- 12
Para k <- 1 hasta num haga
Si (num mod k = 0) entonces
Llamar nueva_linea()
Escriba k
Fin si
Fin para
Llamar nueva_linea()
Escriba “El valor de k es: “, k
Ejercicio 3
X <- 12
Y <- 5
Para i <- X hasta Y haga
Si (num mod i = 0) entonces
Llamar nueva_linea()
Escriba i
Fin si
Fin para
Llamar nueva_linea()
Escriba “El valor de i es: “, i
Ejercicio 4
Cont <- 0
N <- 13
Para i <- 1 hasta N haga
Si (N mod i = 0) entonces
Cont <- cont + 1
Fin si
Fin para
Si (cont > 2) entonces
Escriba “El número “, N, “ es
primo”
Sino
Es criba “El número “, N, “ no
es primo”
Fin Si
PREGUNTAS DE RETROALIMENTACIÓN
1.
La estructura “Para” representa a las estructuras
repetitivas por contador
a)
Verdadero
b)
Falso
2.
El orden de ejecución de la estructura “Para”, primero
se asigna el valor inicial a la variable contador:
a)
Verdadero
b)
Falso
3.
La estructura “Para” siempre ejecuta por lo menos una
vez el cuerpo del bucle
a)
Verdadero
b)
Falso
4.
Son elementos de la estructura “para”
a)
El acumulador y el valor final
b)
El incremento y la variable acumulador
c)
El contador, el valor inicial y el valor final
d)
La variable centinela, el contador y el acumulador
Pseudocódigo 01
Para i <- 1 hasta 8 haga
Escriba i
Llamar nueva_linea()
Fin Para
5.
En el pseudocódigo 01, complete:
a)
La variable contador es: _______
b)
El valor inicial es: _______
c)
El valor final es: _______
d)
El incremento es: _______
e)
El cuerpo del bucle es: __________________ ___________________________
6.
En el pseudocódigo 01: ¿Qué aparece en pantalla?
a.
Los números enteros del 1 al 8 en forma horizontal
b.
Los números enteros del 1 al 9 en forma vertical
c.
Los números enteros del 8 al 1 en forma horizontal
d.
Los números enteros del 1 al 8 en forma vertical
e.
No aparece nada en la pantalla
Dado el Pseudocódigo
02
Lim1 <- 1
Lim2 <- 15
Para i <- Lim1 hasta Lim2 haga
Escriba i
Llamar nueva_linea()
S <- S + i
Fin Para
Llamar nueva_linea()
Escriba “S: ”, S
Pr <- S / (Lim2 – Lim1 + 1)
Llamar nueva_linea()
Escriba
“Pr es: ”, Pr
7.
En
el pseudocódigo 2, ¿Cuántas “pasadas” se repite el bucle “Para”?
a)
Una
b)
De
2 a 6
c)
14
pasadas
d)
15
pasadas
e)
Más
de 15 pasadas
8.
En
el pseudocódigo 2, ¿Cuál es el incremento de la variable contador de la
estructura “para”?
Respuesta: __________
9.
En
el pseudocódigo 2, ¿Identificas alguna variable acumulador? ¿Cuál es?
a)
Pr
b)
S
c)
I
d)
Lim1
10.
Ejecuta
el pseudocódigo 2
11.
En
el pseudocódigo 2, al salir del bucle “para”, cuál es el contenido de la
variable S
a)
La
suma de los números 1 y 15
b)
La
suma de todos los números desde 1 hasta 15
c)
La
suma de todos los números desde 1 hasta 16
d)
El
promedio de los números del 1 hasta el 15
Dado el Pseudocódigo 03
tamano <- 50
Para i <- 1 hasta tamano haga
Escriba “*”
Fin Para
12.
Del
pseudocódigo 3, ¿cuáles son los elementos del bucle “para”?
a)
La
variable contador : ______
b)
El
valor inicial : ______
c)
El
valor final : ______
d)
El
incremento del contador: ______
13.
Del
pseudocódigo 3, ¿cuántas pasadas tiene?
Respuesta: ____________
14.
Del
pseudocódigo 3, ¿Qué hace?
a)
Calcula
el promedio de los 20 primeros números
b)
Imprime
1 vez un asterisco
c)
Imprime
una línea con 50 asteriscos
d)
Dibuja
un cuadrado con 50 asteriscos
e)
No
aparece nada en la pantalla
Observe el pseudocódigo 4 y el
pseudocódigo 5
Pseudocódigo 4
|
Pseudocódigo 5
|
|
P <- 1
Mientras (p <= 10)
haga
Escriba p
Llamar nueva_linea()
P <- p +1
Fin Mientras
|
Para p <- 1 hasta
10 haga
Escriba p
Llamar nueva_linea()
Fin para
|
15.
¿Qué
muestra en pantalla el pseudocódigo 4?
Respuesta: ____________________________________________
16.
¿Qué
muestra en pantalla el pseudocódigo 5?
Respuesta: ____________________________________________
Ejemplos en pseudocódigo
Ejemplo 1
Una empresa de
telefonía tiene N vendedores (asignados a diferentes ciudades: Piura, Sullana y
Talara) quienes son los encargados de vender líneas pre pago y postpago. Los
vendedores tienen un sueldo fijo y ganan por comisión: S/.5 por cada línea pre
pago vendida y S/.8 por cada línea post pago.
Escriba el
algoritmo que permita registrar a cada vendedor y la cantidad de líneas de cada
tipo vendida. El algoritmo debe mostrar el sueldo fijo, la comisión ganada por
cada tipo de línea telefónica vendida y el sueldo final.
Luego, debe
mostrar un resumen informando lo siguiente:
-
El
total de líneas pre pago vendidas (considerando todos los vendedores)
-
El
total de líneas post pago vendidas (considerando todos los vendedores)
-
La
cantidad de líneas prepago vendidas en Piura, en Sullana y Talara
-
La
cantidad de vendedores asignados a Piura, Sullana y Talara.
Ejemplo 2
Escriba el
algoritmo para calcular el factorial de un número entero positivo. Valide para
que el computador no acepte números negativos ni cero.
Ejemplo 3
Algoritmo que
calcule la suma y promedio de los números naturales desde 100 hasta 200; además
los debe mostrar en pantalla.
Ejemplo 4
Se necesita un
listado de temperaturas en °C; desde 0 hasta 100 con intervalos de 5 en 5.
Muestra una tabla con estas temperaturas y los equivalentes de c/u en las
escalas Fahrenheit y Kelvin.
Ejemplo 5
Algoritmo que
muestre todos los divisores de un número
Ejemplo 6
Algoritmo que
indique si un número es primo o no. Un número es primo cuando solo es divisible
entre la unidad y el mismo número, es decir, no tiene otros divisores.
No hay comentarios.:
Publicar un comentario