l gica de programación - ing.karina esquivellógica de programación representación gráfica...

18
Lógica de programación Sentencias Repetitivas 1 Universidad Nacional Autónoma de Nicaragua - León Facultad de Ciencias y Tecnología Departamento de Computación Lógica de programación Elaborado por: Lic. Luis Ernesto Díaz Beteta La característica fundamental de la programación estructurada consiste en que todas las instrucciones tienen un único punto de entrada y un único punto de salida. Esto permite descomponer fácilmente un problema en subproblemas, reduciendo la complejidad y facilitando la programación Bibliografía Metodología de la programación. Dr. Osvaldo Cairó Battistutti Editorial Alfa-Omega 1

Upload: others

Post on 21-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Sentencias R

epetitivas 1

Universidad Nacional Autónoma de Nicaragua - León

Facultad de Ciencias y Tecnología

Departamento de Computación

Lógica de programación

Elaborado por: Lic. Luis Ernesto Díaz Beteta

La característica fundamental de la programación estructurada consiste enque todas las instrucciones tienen un único punto de entrada y un único puntode salida. Esto permite descomponer fácilmente un problema ensubproblemas, reduciendo la complejidad y facilitando la programación

BibliografíaMetodología de la programación. Dr. Osvaldo Cairó BattistuttiEditorial Alfa­Omega

1

Page 2: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

IntroducciónEn la práctica es muy común encontrar algoritmos cuyas operaciones que se deben ejecutar un número repetidode veces. A este conjunto de instrucciones que se ejecuta repetidamente se les conoce como ciclo o bucle.

A cada repetición del grupo de sentencias pertenecientes a un ciclo se le conoce como iteración. Todo ciclo debeterminar   de   ejecutarse   luego   de   un   número   finito   de   veces,   es   necesario   en   cada   iteración,   evaluar   lascondiciones necesarias para decidir si se debe seguir ejecutandose o no el ciclo.

Un ciclo, siempre debe tener una condición de parada o fin de ciclo. En algunos algoritmos podemos establecer apriori el número de veces a iterar. Por otra parte, en algunos algoritmos no podemos establecer a priori el númerode veces que ha de ejecutarse el ciclo, sino que este número dependerá de las proposiciones dentro del mismo. 

La condición de parada normalmente se indica al inicio o al final del bucle, de acuerdo a esta premisa podemosclasificar a las sentencias repetitivas en dos grupos:

➢ Con la condición de parada al inicio➢ 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   sentenciaMIENTRAS  y a la sentencia  PARA.  Y dentro del grupo de sentencias con la condición al final tenemos a lasentencia REPETIR.

Estructura repetitiva PARALa estructura PARA conocida comúnmente como FOR, es la estructura algorítmica repetitiva a utilizar cuandoconcemos el número de veces que debe iterar el ciclo. Este tipo de estructura está presente en todos los lenguajesde programación, ya sean estructurados u orientados a objetos. 

Por ejemplo, cuando necesitamos presentar  los números pares que se encuentra en el rango de uno a cien.

SintaxisPara variable_numerica<-valor_inicial Hasta valor_final Con Paso paso Hacersecuencia_de_acciones

FinPara

Donde:variable_numérica: Corresponde al identificador de la variable que se utilizara para iterar.valor_inicial: Este es el valor que tomara la “variable_numérica”, desde el cual se iniciar el bucle.valor_final: Es el valor final de la “variable_numérica”, cuando se alcance este valor el bucle se detendra.paso: Este el valor de incremento o decremento que tomara la “variable_numerica” en cada iteración.

2

Page 3: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Representación gráficaPseInt utiliza la siguiente manera de representar el ciclo PARA 

Ejemplo:Deseamos presentar en pantalla los primeros 10 números naturales, nuestra “variable_numerica” deberá tomarel valor inicial “1” y tendrá como valor final “10” con un incremento o paso de “1”. Tal como se muestra en elsiguiente algoritmo:

1. Proceso cuentaNumeros2. Definir contador Como Entero;3. Para contador<-1 Hasta 10 Con Paso 1 Hacer4. Escribir "El valor de contador es: ", contador;5. FinPara6. FinProceso

Diagrama de flujo:

3

Page 4: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Resultado:

En este ejemplo la variable “contador” (definida en la linea 2) tomara el valor inicial 1 e ira incrementado suvalor en la unidad hasta alcanzar el valor final, que en nuestro ejemplo es 10.

La  estructura algorítmica PARA se  utiliza normalmente  en  casos donde el número de  iteraciones es fijo y seconoce  de antemano.  Esta    estructura   repetitiva ejecuta     las    acciones    del    cuerpo del  bucle  un númeroespecificado de veces y controla   de   modo automático   (implícito)   el número   de   iteraciones   o   pasos   através  del cuerpo del bucle.

Ejemplos estructura repetitiva PARA

Ejemplo1Escriba un algoritmo que solicite 20 números enteros y que cuente cuantos números pares se ingresaron.

Datos de entrada➢ Números ingresados por el usuario, cada uno de los cuales se ira almacenando en la variable num. 

Datos de salida➢ Cantidad de números pares ingresados por parte del usuario.

Variables a utilizar➢ contador: Llevara el control de las iteraciones, en este caso serán 20 iteraciones.➢ num: Almacena el número ingresado por parte del usuario.➢ pares: Llevara el control de la cantidad de números pares ingresados.

Procedimiento➢ Colar el valor inicial de la variable “pares” a cero.➢ Solicitar al usuario ingrese una serie de 20 valores, utilizando al ciclo PARA ➢ Verificar si el valor ingresado es par, si la comparación resulta ser verdadera se incrementará en uno el 

valor de la variable “pares”. 

4

Page 5: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Solución

1. Proceso contarPares2. Definir contador, num, pares Como Entero;3. pares<-0;4.5. Para contador<-1 Hasta 20 Con Paso 1 Hacer6. Escribir Sin Saltar "Ingrese el elemento ", contador;7. Leer num;8.9. Si num % 2 = 0 Entonces10. pares<-pares+1;11. FinSi12. FinPara13.14. Escribir "Se ingresaron un total de: ", pares, " numeros pares";15. FinProceso

Diagrama de flujo

5

Page 6: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Resultado

Ejemplo2Cree un algoritmo que solicite 10 números enteros y que muestre en pantalla el promedio de los números ingresados.

Datos de entrada:➢ Serie de números ingresados por el usuario.

Datos de salida:➢ Promedio de los números ingresados por el usuario.

Variables a utilizar➢ contador: Esta variable llevara el control de las iteraciones del ciclo.➢ num: 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.

Procedimiento   :➢ Darle el valor inicial de 0 a la variable suma.➢ Solicitar al usuario ingrese una serie de 10 valores, esto se realizara utilizando el ciclo PARA.➢ Dentro del ciclo PARA se irán sumando los valores ingresados.➢ Al terminar el ciclo se calculara el promedio correspondiente.➢ Presentar en pantalla el promedio obtenido.

6

Page 7: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Solución

1. Proceso calcularPromedio2. Definir contador, num, suma Como Entero;3. Definir promedio como real;4.5. suma<-0;6.7. Para contador<-1 Hasta 10 Con Paso 1 Hacer8. Escribir Sin Saltar "Ingrese el elemento ", contador;9. Leer num;10.11. suma<-suma + num;12. FinPara13.14. promedio<-suma/10;15.16. Escribir "El promedio es: ", promedio;17.18. FinProceso

Diagrama de flujo

7

Page 8: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Resultado

Ejemplo3Escriba un algoritmo que muestre en pantalla los números en el rango de 1 a 20 pero en orden descendente.

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.

Variables a utilizar➢ contador: Variable que llevara el control de las iteraciones, en este caso serán 20 iteraciones.

Procedimiento:➢ Por medio del ciclo PARA realizaremos las 20 iteraciones, la variable “contador” tomara el valor inicial 

20 e iremos disminuyendo en uno el valor de la variable hasta llegar al valor 1. ➢ Dentro del ciclo Para se irán presentando el valor correspondiente a la variable “contador”.

Solución

1. Proceso cuentadorAtras2. Definir contador Como Entero;3. Para contador<-20 Hasta 1 Con Paso -1 Hacer4. Escribir contador;5. FinPara6. FinProceso

8

Page 9: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Diagrama de flujo

Resultado

9

Page 10: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Estructura repetitiva MIENTRAS

La estructura  algorítmica MIENTRAS es  quizás   la  estructura  de repetición más  sencilla,  y  sin  embargo esconsiderada por muchos como la más potente. Su función consiste en ejecutar un número determinado de vecesuna secuencia de instrucciones, no obstante, este número de repeticiones depende de la condición de parada quecontenga el propio ciclo. Por lo tanto el ciclo MIENTRAS se ejecutara hasta que la condición que se evalúaresulte ser falsa.

SintanxisMientras expresion_logica Hacersecuencia_de_acciones

FinMientras

Representación gráficaPseInt utiliza la siguiente manera de representar el ciclo MIENTRAS 

La   estructura   repetitiva   MIENTRAS   permite   ejecutar   las   instrucciones   mientras   la   expresión_lógica     seaverdadera. Si la primera vez que se evalúa la condición resulta falsa, la sentencia no se ejecutará ninguna vez.

Ejemplo: 1. Proceso cuentaNumeros2. Definir contador Como Entero;3. contador <- 1;4.5. Mientras contador <= 10 Hacer6. Escribir "Repeticion numero ", contador;7. contador <- contador + 1;8. FinMientras9. FinProceso

Como se puede observar el ciclo MIENTRAS se ejecuta en diez ocasiones, estas repeticiones están dadas por elvalor   de   la   variable   “contador”.     La   variable   “contador”   deberá   ser   incrementada   dentro   del   gurpo   deinstrucciones del bucle, sino el ciclo nunca se detendrá.

10

Page 11: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Diagrama de flujo

Resultado

En la estructura repetitiva  MIENTRAS  el  número de veces que se ejecute el  bucle está  determinado por lacondició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. 

11

Page 12: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Ejemplos estructura repetitiva MIENTRAS

Ejemplo1Realice un algoritmo que muestre el resultado correspondiente a la suma de dos números, Esta suma se realizarimplementado un ciclo por medio del cual se le sume la unidad al primero de los números ingresado hasta que elsegundo número tome el valor 0.

Datos de entrada:➢ El usuario ingresara dos números enteros.

Datos de salida:➢ Se presentara en pantalla el valor correspondiente a la suma de ambos números.

Variables a utilizar➢ num1: Almacenara el primer valor ingresapor por el usuario.➢ num2: Almacenara el segundo valor ingresado por el usuario y además controlara las iteraciones del

ciclo

Procedimiento:➢ Se le solicitara al usuario el ingreso de los dos valores enteros➢ Mientras el segundo valor sea mayor que 0, se ejecutara el ciclo.➢ Dentro del grupo de sentencias del ciclo, se le sumara la unidad al primer valor ingresado por el usuario, 

luego se le restara la unidad al segundo valor ingresado por el usuario.

Solución

1. Proceso sumaLenta2. Definir num1, num2 Como Entero;3.4. Escribir "Ingrese los valores a sumar ";5. Leer num1, num2;6.7. Mientras num2>0 Hacer8. num1<-num1+1;9. num2<-num2-1;10. FinMientras11.12. Escribir "La suma es: ", num1;13. FinProceso

12

Page 13: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Diagrama de flujo

Resultado

Ejemplo2Realizar un algoritmo que por medio de la estructura repetitiva MIENTRAS obtenga el valor mayor en una seriede 10 números ingresados por parte del usuario.

Datos de entrada➢ El usuario va a introducir los valores los cuales se van almacenando en una variable “num”.

13

Page 14: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Datos de salida➢ Al terminar la ejecución del algoritmo se ha de presentar el valor mayor de los introducidos por parte del

usuario.

Variables a utilizar➢ contador: Variable que llevara el control de las 10 iteraciones.➢ vmayor: 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.

Procedimiento- Antes de iniciar el ciclo, se le ha de solicitar al usuario ingrese el primero de los valores.- Este primer elemento ingresado se asume como el valor mayor, por lo tanto la variable “vmayor” 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  “vmayor” y el elemento ingresado. Si el valor del elemento ingresado es mayor queel valor de la variable   “vmayor”, se reemplaza el valor de este último por el valor ingresado por elusuario.

Solución1. Proceso mayorValor2. Definir contador, num, vmayor Como Entero;3.4. Escribir sin saltar "Ingrese el elemento 1 ";5. Leer vmayor;6.7. contador<-2;8.9. Mientras contador <= 10 Hacer10. Escribir sin saltar "Ingrese el elemento ", contador ;11. Leer num;12.13. Si num > vmayor Entonces14. vmayor <- num;15. FinSi16.17. contador <- contador + 1;18. FinMientras19.20. Escribir "El valor mayor introducido es: ", vmayor;21. FinProceso

14

Page 15: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Diagrama de flujo

Resultado

15

Page 16: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Ejemplo3Realizar un algoritmo que por medio de la estructura repetitiva  MIENTRAS  presente en pantalla la tabla demultiplicar de un número ingresado por parte del usuario.

Datos de entrada➢ Número del que se presentara 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 número 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

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.

Solución1. Proceso tablaMultiplicar2. Definir cuenta, num Como Entero;3. Escribir "Ingrese el numero ";4. Leer num;5.6. cuenta<-1;7. Mientras cuenta <= 12 Hacer8. Escribir num, " x ", cuenta, " = ", cuenta*num;9. cuenta<-cuenta+1;10. FinMientras11. FinProceso

Diagrama de flujo

16

Page 17: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Resultado

Ejercicios propuestos

Ejercicio1Elabore 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.

Ejercicio2Desarrollar un algoritmo que permita ingresar n números enteros y luego nos informe cuántos valores fueron pares y cuántos impares.

Ejercicio3Utilizando el ciclo Para, calcule la suma de los 500 primeros números enteros.

Ejercicio4Diseñ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. 

Ejercicio5Sumar los números enteros positivos múltiplos de 5 y que se encuentre en el rango de 1­100.

Ejercicio6Elaborar 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.

Ejercicio7Elaborar 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.

17

Page 18: L gica de programación - ING.KARINA ESQUIVELLógica de programación Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar

Lógica de programación

Ejercicio8Realice un programa que muestre en pantalla la suma de los números que estén en el rango de 1 a N, siendo N unnúmero ingresado por el usuario.

Ejercicio9Realice 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

Ejercicio10Desarrollar un algoritmo que por medio de la sentencia repetitiva Para que muestre la tabla de multiplicar de un número dado por el usuario.

18