unidad vi: sentencias repetitivas web viewescribir "la suma de los numeros del 1-100 es:...
TRANSCRIPT
UNIDAD IV:Sentencias Repetitivas
12
2
Unidad VI: Sentencias repetitivas
UNIDAD IV: Sentencias repetitivas
4.1 INTRODUCCIÓN:
En la práctica es muy común encontrar algoritmos cuyas operaciones deben realizarse un número repetitivo de veces. A este conjunto de instrucciones que se ejecutan repetidamente se le conoce como bucle o ciclo.
Un bucle debe terminar de ejecutarse luego de un número finito de veces, por lo que se debe evaluar en cada iteración (repetición) si el bucle debe o no detenerse. A esta evaluación se le conoce como: condición de parada.
La condición de parada normalmente se indica al inicio o al final del bucle, de acuerdo a esta premisa podemos clasificar a las sentencias repetitivas en dos grupos:
a. Con la condición de parada al iniciob. Con la condición de parada al final
Dentro del grupo de sentencias repetitivas con la condición de parada al inicio tenemos a la sentencia Mientras y a la sentencia Para. Y dentro del grupo de sentencias con la condición al final tenemos a la sentencia Repetir.
4.2 Sentencia Mientras
La estructura algorítmica Mientras es quizás la estructura de repetición más sencilla, y sin embargo es considerada por muchos como la más potente. Su función consiste en ejecutar un número determinado de veces una secuencia de instrucciones, sin embargo este número de repeticiones depende de la condición de parada que contenga el propio ciclo. Por lo tanto el ciclo Mientras se ejecutara mientras la condición que se evalúa resulte ser verdadera.
La forma de uso de la sentencia es la siguiente:Mientras expresion_logica Hacer
secuencia_de_accionesFinMientras
La estructura repetitiva Mientras permite ejecutar las instrucciones mientras la expresión_lógica sea verdadera. Si la primera vez que se evalúa la condición resulta falsa, la sentencia no se ejecutará ninguna vez.
Ejemplo: Proceso Ejemplo01_Mientras
Definir contador Como Entero;contador <- 1;Mientras contador <= 10 Hacer
Escribir "Repeticion numero ", contador;contador <- contador + 1;
Fin MientrasFinProceso
1
23456789
10111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
3
3
Importante
Unidad VI: Sentencias repetitivas
Explicación del algoritmo:Línea 2, se declara una variable llamada contador la cual se utilizará para controlar las veces que se ejecutara el ciclo Mientras.Línea 3, se le da un valor inicial a la variable contador Línea 4, inicia el ciclo Mientras cuya condición de parada esta determinada por la expresión lógica contador <= 10. El ciclo Mientras se ejecutara mientras la variable contador posea un valor menor o igual a 10.Línea 5, se presenta un rotulo en pantalla por medio de la sentencia Escribir.Línea 6, la variable contador es incrementada en 1. Si este incremento no esta presente el ciclo Mientras se ejecutara indefinidamente.
Diagrama de flujo: Resultado de la ejecución:
Como se puede observar el ciclo Mientras se ejecuta en diez ocasiones, estas repeticiones están dadas por el valor de la variable contador.
En la estructura Mientras el número de veces que se ejecute el bucle está determinado por la condición. Al ejecutar la instrucción mientras, lo primero que se evalúa es la condición
Si la condición es falsa, no se toma ninguna acción y se prosigue con la instrucción siguiente al bucle.
Si la condición es verdadera, se ejecuta el cuerpo del bucle y después se vuelve al inicio del bucle y se evalúa nuevamente la condición.
4.2.1 Ejemplos estructura repetitiva Mientras
4
55657585960616263646566
67686970
7172737475
6
4
Unidad VI: Sentencias repetitivas
Ejemplo1: Realizar un algoritmo que por medio de la estructura repetitiva Mientras presente la suma de los números comprendidos en el rango de 1-100.
Variables a utilizar- contador: Variable que llevara el control de las iteraciones desde el número 1 al número
100- suma: Variable en la que se irá almacenando la suma de los valores de la variable
contador.
Datos de entrada:- Este algoritmo no requiere de la introducción de datos por parte del usuario.
Datos de salida:- Al terminar la ejecución del algoritmo se ha de presentar el valor de la variable suma.
Procedimiento:- Inicializar a la variable contador a 1 (Número inicial del rango a sumar)- Inicializar el valor de la variable suma al valor 0- Realizar el ciclo Mientras, siempre y cuando el valor de la variable contador sea menor o
igual a 100.- Dentro del ciclo Mientras se realiza la suma del número actual (contador) con el valor
actual de la variable suma.- Finalizado el ciclo presentar el resultado en pantalla
SoluciónProceso mientras_ejemplo1
Definir contador, suma Como Entero;contador<-1;suma<-0;Mientras contador <= 100 Hacer
suma<-suma + contador;contador <- contador + 1;
Fin MientrasEscribir "La suma de los numeros del 1-100 es: ", suma;
FinProceso
Diagrama de flujo
7
8767778798081828384858687888990919293949596979899
100101102103104105106107108109110111112113114115116117118119120121122123124125126127
9
5
Unidad VI: Sentencias repetitivas
Resultado
Explicación del algoritmo:
Línea 2, se declaran las variables a utilizar en el algoritmo.Línea 4, el valor de la variable contador es puesto 1 con el fin de recorrer el ciclo desde 1 a 100.Línea 5, el valor de la variable suma es puesto a 0 para que este posee un valor inicial antes de utilizarlo dentro del ciclo.Línea 7, se define el ciclo Mientras de tal forma que la condición de parada es contador <= 100 lo que significa que el ciclo se ejecutara siempre y cuando el valor de la variable contador sea menor o igual a 100.Línea 8, la variable suma tomara el valor que resulte luego de la evaluación de la expresión.Línea 9, se incrementa en 1 el valor de la variable contador.Línea 12, presenta el resultado en pantalla.
10
11
128129130131
132133134135136137138139140141142143144145146147148149150151
12
6
Unidad VI: Sentencias repetitivas
Ejemplo2: Realizar un algoritmo que por medio de la estructura repetitiva Mientras obtenga el valor mayor ingresado en una serie de 10 números ingresados por parte del usuario.
Variables a utilizar- contador: Variable que llevara el control de las 10 iteraciones.- Valor_mayor: Variable en la que se almacena el valor mayor ingresado por parte del
usuario- num: Se utilizara para capturar los números ingresados por parte del usuario.
Datos de entrada:- El usuario va a introducir los valores los cuales se van almacenando en la variable num.
Datos de salida:- Al terminar la ejecución del algoritmo se ha de presentar el valor mayor de los
introducidos por parte del usuario.
Procedimiento:- Se solicitara al usuario ingrese el primer elemento.- Este primer elemento se asume es el mayor, por lo tanto la variable valor_mayor tomara
el valor de este primer elemento ingresado.- Por medio de un ciclo procederemos a pedir el restante de los elementos comparando
cada uno con el valor de la variable valor_mayor y el elemento ingresado. Si el valor del elemento ingresado es mayor que el valor de la variable valor_mayor, se reemplaza el valor de este último por el valor ingresado por el usuario.
SoluciónProceso mientras_ejemplo2
Definir contador, num, valor_mayor Como Entero;
Escribir "Ingrese el elemento 1 ";Leer valor_mayor;contador<-2;Mientras contador <= 10 Hacer
Escribir "Ingrese el elemento ", contador ;Leer num;Si num > valor_mayor Entonces
valor_mayor <- num;FinSicontador <- contador + 1;
FinMientrasEscribir "El valor mayor introducido es: ", valor_mayor;
FinProceso
13
14152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
15
7
Unidad VI: Sentencias repetitivas
Diagrama de flujo
Resultado
16
17196
197198199200
201
18
8
Unidad VI: Sentencias repetitivas
Explicación del algoritmoLínea 2, se declaran las variables a utilizar en el algoritmo.Línea 4, se solicita al usuario que ingrese un númeroLínea 5, captura el valor ingresado por parte del usuario, como se puede observar este valor es almacenado por la variable valor_mayor. Esto es, por que asumimos que el valor mayor es el primero ingresado por el usuario y así tener un valor de comparación para los futuros ingresos de valores por parte del usuario.Línea 7, la variable contador es puesta al valor 2, puesto que ya se solicito el primer número.Línea 9, inicia el ciclo Mientras con la condición de parada contador<=10 Línea 10 y línea 11, se solicita de nuevo al usuario que ingrese los un valor y se captura en la variable num Línea 13, se comparan los valores de las variables num y valor_mayor con el fin de identificar si el valor capturado por num es mayor que el valor mayor actual. Si esta comparación resulta ser verdadera se ejecutara la línea 14.Línea 17, se incrementa el valor de la variable contador en uno.Línea 20, se presenta en pantalla el valor correspondiente al número mayor ingresado por parte de usuario.
Ejemplo3: Realizar un algoritmo que por medio de la estructura repetitiva Mientras presente en pantalla la tabla de multiplicar de un número ingresado por parte del usuario.
Variables a utilizar- cuenta: Variable que llevara el control de las iteraciones, en este caso serán 12
iteraciones.- num: Esta variable almacena el número ingresado por parte del usuario.
Datos de entrada:- El usuario va a introducir el número del cual desea que se le muestre la tabla de
multiplicar, este valor será almacenado en la variable num.
Datos de salida:- Presentar en pantalla la tabla de multiplicar del número ingresado por parte del usuario.
Procedimiento:- Solicitar el numero al usuario- Por medio del ciclo Mientras ir presentando en pantalla el resultado de multiplicar a la
variable cuenta con el numero (num) ingresado por parte del usuario
Solución Proceso Mientras_Ejemplo3
Definir cuenta, num Como Entero;Escribir "Ingrese el numero ";Leer num;
cuenta<-1;Mientras cuenta <= 12 Hacer
Escribir num, " x ", cuenta, " = ", cuenta*num;cuenta<-cuenta+1;
FinMientrasFinProceso
19
20202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
21
9
Unidad VI: Sentencias repetitivas
Diagrama de flujo Resultado
Explicación del algoritmo:
Línea 2, se declaran las variables a utilizar en el algoritmo.Líneas 3 y 4, se solicita al usuario que ingrese un número y se captura el valor ingresado por parte del usuario en la variable numLínea 6, la variable cuenta es puesta al valor 1esta será la encargada de llevar el control de las iteraciones del ciclo.Línea 7, inicia el ciclo Mientras con la condición de parada cuenta<=12 Línea 8, se presenta el mensaje en pantalla indicando. Línea 9, se incrementa el valor de la variable cuenta en uno.
22
23254
255256257258259260261262263264265266
24
10
Unidad VI: Sentencias repetitivas
4.3 Estructura repetitiva Para:
La estructura algorítmica Para es utilizada con frecuencia en la construcción de algoritmos en los que se conoce a priori la cantidad de iteraciones que se deben realizar el ciclo.
La forma de uso de la estructura repetitiva Para es la siguiente:
Para variable_numerica<-valor_inicial Hasta valor_final Con Paso paso Hacer
secuencia_de_accionesFin Para
Donde:Variable_numerica: Corresponde a la variable que se utilizara para controlar las repeticiones del ciclo Para.Valor_inicial: Es el valor con el cual se iniciara el ciclo de repeticiones Valor_final: Corresponde al número de iteraciones que se llevaran a cabo por parte del ciclo Para.Paso: Indica la forma en que el ciclo se comporta, esto es, si el ciclo se ejecutara en orden ascendente (incremento) o en orden descendente (decremento). Este incremento o decremento afectara el valor de la variable_numerica con el fin de alcanzar el valor_final.
EjemploProceso Ejemplo01_Para
Definir contador Como Entero;Para contador<-1 Hasta 10 Con Paso 1 Hacer
Escribir 'Repeticion numero ',contadorFin Para
FinProceso
Explicación del algoritmoLínea 2, se declara la variable contador la cual se utilizara para controlar el numero de iteraciones del ciclo.Línea 3, inicia el ciclo Para, dando un valor inicial de 1 a la variable contador, a demás se especifica cuál será el valor final de la variable contador , en este caso 10. Luego se indica que la variable contador irá incrementando en uno con el fin del alcanzar al valor final. Línea 4: Presenta el mensaje en pantalla
Diagrama de flujo
25
26267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
306307308309310
27
11
Importante
Unidad VI: Sentencias repetitivas
Resultado de la ejecución
La estructura algorítmica Para se utiliza normalmente en los casos en el que el número de iteraciones es fijo y se conoce de antemano. Esta estructura ejecuta las acciones del cuerpo del bucle un número especificado de veces y controla de modo automático (implícito) el número de iteraciones o pasos a través del cuerpo del bucle.
4.3.1 Ejemplos estructura repetitiva Para
Ejemplo1: Escriba un algoritmo que solicite 20 números enteros y que cuente cuantos ceros se ingresaron.
Variables a utilizar- contador: Variable que llevara el control de las iteraciones, en este caso serán 20
iteraciones.- num: Esta variable almacena el número ingresado por parte del usuario.- ceros: Sera la variable que llevara el control de la cantidad de ceros ingresados
Datos de entrada:- El usuario va a introducir una serie de números, cada uno de los cuales se ira
almacenando en la variable num.
Datos de salida:- Presentar en pantalla el valor de la variable ceros quien posee la cantidad de ceros
ingresados por el usuario, al inicio esta variable posee el valor inicial 0.
Procedimiento:- Darle un valor inicial a la variable ceros.- Por medio del ciclo Para solicitar al usuario ingrese una serie de 20 valores- Verificar si el valor ingresado es cero, si la comparación resulta ser verdadera se
incrementará en uno el valor de la variable ceros. Solución:
28
29311
312313
314315316317318319320321322323324325326327328329330331332333334335336337338339
30
12
Unidad VI: Sentencias repetitivas
Proceso para_ejemplo1Definir contador, num, ceros Como Entero;
ceros<-0;
Para contador<-1 Hasta 20 Con Paso 1 HacerEscribir Sin Saltar "Ingrese el elemento ", contador;Leer num;
Si num = 0 Entoncesceros<-ceros+1;
FinSiFinPara
Escribir "Se ingresaron un total de: ", ceros, " ceros";FinProceso
Diagrama de flujo
31
32340341342343344345346347348349350351352353354355356357358
359360361362363364365366367
33
13
Unidad VI: Sentencias repetitivas
Resultado
Explicación del algoritmo:Línea 2, Se define las variables a utilizar.Línea 4, La variable ceros toma el valor inicial 0, indicando que no se han ingresados elementos con el valor cero.Línea 6, Inicia el ciclo Para, con la variable contador con un valor inicial de 1 y cuyo valor final será 20. Además se indica que la variable contador irá aumentando su valor en unoLínea 7 y 8, se le solicita al usuario ingrese un número y se captura su valor almacenado dicho valor en la variable num.Línea 10, se verifica si el número ingresado es igual a cero, si esto es verdadero se incrementa en uno el valor de la variable ceros (esto de hace en el línea 11).Línea 15, Se presente en pantalla el total de números creso ingresados.
Ejemplo2: Escriba un algoritmo que solicite 10 números enteros y que muestre en pantalla el promedio de los números ingresados.
Variables a utilizar- contador: Variable que llevara el control de las iteraciones, en este caso serán 10
iteraciones.- num: Esta variable almacena el número ingresado por parte del usuario.- suma: Sera la variable que almacena la suma de todos los números ingresados.- promedio: Almacena el promedio de todos los números ingresados.
Datos de entrada:- El usuario va a introducir una serie de números, cada uno de los cuales se ira
almacenando en la variable num.
34
35368369
370371372373374375376377378379380381382383384385386387388389390391392393394395396397
36
14
Unidad VI: Sentencias repetitivas
Datos de salida:- Presentar en pantalla el promedio de los números.
Procedimiento:- Darle un valor inicial a la variable suma, el valor será 0.- Por medio del ciclo Para solicitar al usuario ingrese una serie de 10 valores- Dentro del ciclo Para se irán sumando los valores ingresados- Al terminar el ciclo se calculara el promedio correspondiente
SoluciónProceso para_ejemplo2
Definir contador, num, suma Como Entero;Definir promedio como real;suma<-0;Para contador<-1 Hasta 10 Con Paso 1 Hacer
Escribir Sin Saltar "Ingrese el elemento ", contador;Leer num;
suma<-suma + num;FinParapromedio<-suma/10;Escribir "El promedio es: ", promedio;
FinProceso
Diagrama de flujo
37
38398399400401402403404405406407408409410411412413414415416417418419420421422423
424425426427428429430431432
39
15
Unidad VI: Sentencias repetitivas
Resultado
Explicación del algoritmoLínea 2 y 3, se declaran las variables a utilizarLínea 5, la variable suma toma el valor inicial cero.Línea 7, Inicia el ciclo Para, con la variable contador con un valor inicial de 1 y cuyo valor final será 10. Además se indica que la variable contador irá aumentando su valor en unoLíneas 8 y 9, se solicita al usuario que ingrese un valor, y este es almacenado en la variable num.Línea 11, se realiza la suma del valor actual de la variable suma con el numero ingresado por el usuario. El resultado de esta operación es almacenado dentro de la misma variable suma.Línea 14, se calcula el promedio de los valores ingresados.Línea 16, se presenta en pantalla el promedio de los números ingresados.
Ejemplo3: Escriba un algoritmo que muestre en pantalla los números en el rango de 1 a 20 pero en orden descendente.
Variables a utilizar- contador: Variable que llevara el control de las iteraciones, en este caso serán 20
iteraciones.
Datos de entrada:- El usuario no ingresara ningún dato para el funcionamiento del algoritmo.
Datos de salida:- Se presentara cada uno de los números indicados en el rango de 1-20 pero en orden
inverso.
Procedimiento:- Por medio del ciclo Para iniciaremos con el valor 20 e iremos decrementando en uno el
valor de la variable de control llamada contador. - Dentro del ciclo Para se irán presentando el valor correspondiente a la variable
contador.
40
41433434
435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
42
16
Unidad VI: Sentencias repetitivas
SoluciónProceso Para_Ejemplo03
Definir contador Como Entero;Para contador<-20 Hasta 1 Con Paso -1 Hacer
Escribir contador;FinPara
FinProceso
Diagrama de flujo
Resultado
43
44472473474475476477478479480
481482483
484485486487488
45
17
Unidad VI: Sentencias repetitivas
Explicación del algoritmoLínea 2, se declaran las variables a utilizarLínea 3, Inicia el ciclo Para, con la variable contador con un valor inicial de 20 y cuyo valor final será 1. Además se indica que la variable contador irá disminuyendo su valor en unoLínea 4, se presenta en pantalla el valor de la variable contador
4.4 Ejercicios Propuestos
Ejercicio1: Elabore un algoritmo que presente los números pares que estén en el rango de 1 a 100. Realice dos versiones de este algoritmo una utilizando el ciclo Mientras y la otra utilizando el ciclo Para.
Ejercicio2: Desarrollar un algoritmo que permita ingresar n números enteros y luego nos informe cuántos valores fueron pares y cuántos impares.
Ejercicio3: Utilizando el ciclo Para, calcule la suma de los 500 primeros números enteros.
Ejercicio4: Diseñe un algoritmo que lea una lista de notas de los N estudiantes de Lógica de programación y cuente el total de aprobados y el total de reprobados.
Ejercicio5: Sumar los números enteros positivos múltiplos de 5 y que se encuentre en el rango de 1-100.
Ejercicio6: Elaborar un algoritmo que solicite la edad de 20 personas y que muestre cuántos de ellos son mayores de edad y cuántos son menores de edad.
Ejercicio7: Elaborar un algoritmo en pseudocódigo que calcule la suma de los números múltiplos de 3 y 7 a partir del número 9 y finaliza en el numero 45, no deben incluirse en la suma los números comprendidos entre 21 y 27.
Ejercicio8: Realice un programa que muestre en pantalla la suma de los números que estén en el rango de 1 a N, siendo N un número ingresado por el usuario.
Ejercicio9: Realice un algoritmo que calcule la potencia de un número, el usuario ingresara el número correspondiente a la base y el número correspondiente al exponente. Utilice un ciclo que permita realizar el cálculo en cuestión. Ejemplo: 24 = 16, esto es 2*2*2*2
Ejercicio10: Desarrollar un algoritmo que por medio de la sentencia repetitiva Para que muestre la tabla de multiplicar de un número dado por el usuario.
46
47489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
48