unidad vi: sentencias repetitivas web viewescribir "la suma de los numeros del 1-100 es:...

22

Click here to load reader

Upload: hoangcong

Post on 07-Feb-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

UNIDAD IV:Sentencias Repetitivas

12

Page 2: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 3: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 4: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 5: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 6: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 7: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

7

Unidad VI: Sentencias repetitivas

Diagrama de flujo

Resultado

16

17196

197198199200

201

18

Page 8: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 9: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 10: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 11: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 12: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 13: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 14: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 15: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 16: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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

Page 17: Unidad VI: Sentencias repetitivas Web viewEscribir "La suma de los numeros del 1-100 es: ", suma; ... 9, se incrementa en 1 ... quien posee la cantidad de ceros ingresados por el usuario,

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