Lógica de programación

Documentos relacionados
Lógica de programación 1

Lógica de programación

Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.andresmtzgwordpress.com

INSTITUCIÓN EDUCATIVA SAN VICENTE TALLER 3 DE DIAGRAMAS DE FLUJO ALGORITMOS CICLICOS CICLO: MIENTRAS QUE GRADOS DÉCIMOS

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

Conceptos. Generales ALGORITMOS

CLASIFICACION DE LAS ESTRUCTURAS DE CONTROL

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Programación Estructurada

Tema 3. Estructuras de Datos

5. ESTRUCTURAS DE REPETICIÓN

Taller de Resolución de Problemas Computacionales

Estructuras de Repetición

1. Detalle de los Comandos:

Estructuras Repetitivas

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

DISEÑO ESTRUCTURADO. Herramientas de representación de algoritmos

Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat

Tema 3. Estructuras de control

ESTRUCTURAS REPETITIVAS EN PHP

Fundamentos de programación

1.1. Uso de operadores lógicos

UNIVERSIDAD LUTERANA SALVADOREÑA. Docente: ANA LISSETTE GIRÓN

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas

UNIDAD V: ESTRUCTURAS REPETITIVAS

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

LENGUAJE DE PSEUDOCÓDIGO

Universidad Autónoma del Estado de México Facultad de Medicina

INSTITUTO TECNOLÓGICO

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

Estructuras de control

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

Iniciación a La Programación Prof. Carolina Cols

Guía práctica de estudio 04: Diagramas de flujo

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

IV Algoritmos iterativos (Ciclos)

Estructuras repetitivas o de ciclo

Al igual que las instrucciones alternativas, las instrucciones repetitivas también se pueden anidar, permitiendo las siguientes combinaciones de

GUÍA DE TRABAJO Tecnología en Sistemas de Información

Estructuras de Control

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.

TEMA 5. ESTRUCTURAS DE CONTROL: BUCLES.

Capítulo 2 : ALGORITMOS

Diseño Estructurado de Algoritmos

ESTRUCTURA DECISIÓN LÓGICA

Conocimientos previos

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Lenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017

Sentencias iterativas

Estructuras Repe,,vas

PRÁCTICA FUNDAMENTOS DE ALGORITMOS (Estructuras de Repetición II) Objetivos

Guía práctica de estudio 05: Diagramas de flujo

EJERCICIOS ALGORITMOS

Algoritmo. Programa. Lenguaje algorítmico

Programación Estructurada. Sesión 4:Estructuras de control

FACULTAD DE INGENIERIA

BUCLES EN LENGUAJE C (ESTRUCTURA DE REPETICIÓN) CONDICIÓN, CONTADOR. EJEMPLOS. (CU00533F)

Un algoritmo es una serie de pasos lógicos y organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

Universidad Nacional de Misiones. Informática

ALGORITMOS II PSEUDOCODIGOS INTRODUCCION AL PSEINT CORPODICES VICTOR ANDRES OCHOA CORREA

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Guía práctica de estudio 05: Pseudocódigo

Tema: Estructuras de Repetición en C# [For].

RECORDAR TIPOS DE DATOS

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

ESTRUCTURA DE CONTROL, IF SIMPLE, DOBLE Y MÚLTIPLES UNIVERSIDAD NACIONAL AUTONOMA DE NICARAGUA, UNAN LEON DEPARTAMENTO DE COMPUTACION

ESTRUCTURAS REPETITIVAS

Versión 1.0. Corina Flores Villarroel

Control de Flujo II. Estructuras Repetitivas

Esquemas repetitivos en Fortran 90

Tema: Estructuras de Repetición en C# [For].

TEMA 1: Algoritmos y programas

Sintaxis de PSeInt Tutorial

La resolución de un problema

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

[ GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

Estructuras de Repetición: Repita Mientras.

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

Introducción a la Informática Estructuras de control repetitivas

Transcripción:

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 Sentencias Repetitivas 1 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

Introducción En la práctica es muy común encontrar algoritmos cuyas operaciones que se deben ejecutar un número repetido de 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 debe terminar de ejecutarse luego de un número finito de veces, es necesario en cada iteración, evaluar las condiciones 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 a priori el número de veces a iterar. Por otra parte, en algunos algoritmos no podemos establecer a priori el número de 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 podemos clasificar 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 sentencia MIENTRAS y a la sentencia PARA. Y dentro del grupo de sentencias con la condición al final tenemos a la sentencia REPETIR. Estructura repetitiva PARA La estructura PARA conocida comúnmente como FOR, es la estructura algorítmica repetitiva a utilizar cuando concemos el número de veces que debe iterar el ciclo. Este tipo de estructura está presente en todos los lenguajes de 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. Sintaxis Para variable_numerica<-valor_inicial Hasta valor_final Con Paso paso Hacer secuencia_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

Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo PARA Ejemplo: Deseamos presentar en pantalla los primeros 10 números naturales, nuestra variable_numerica deberá tomar el valor inicial 1 y tendrá como valor final 10 con un incremento o paso de 1. Tal como se muestra en el siguiente algoritmo: 1. Proceso cuentanumeros 2. Definir contador Como Entero; 3. Para contador<-1 Hasta 10 Con Paso 1 Hacer 4. Escribir "El valor de contador es: ", contador; 5. FinPara 6. FinProceso Diagrama de flujo: 3

Resultado: En este ejemplo la variable contador (definida en la linea 2) tomara el valor inicial 1 e ira incrementado su valor 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 se conoce de antemano. Esta estructura repetitiva 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. Ejemplos estructura repetitiva PARA Ejemplo1 Escriba 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

Solución 1. Proceso contarpares 2. Definir contador, num, pares Como Entero; 3. pares<-0; 4. 5. Para contador<-1 Hasta 20 Con Paso 1 Hacer 6. Escribir Sin Saltar "Ingrese el elemento ", contador; 7. Leer num; 8. 9. Si num % 2 = 0 Entonces 10. pares<-pares+1; 11. FinSi 12. FinPara 13. 14. Escribir "Se ingresaron un total de: ", pares, " numeros pares"; 15. FinProceso Diagrama de flujo 5

Resultado Ejemplo2 Cree 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

Solución 1. Proceso calcularpromedio 2. 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 Hacer 8. Escribir Sin Saltar "Ingrese el elemento ", contador; 9. Leer num; 10. 11. suma<-suma + num; 12. FinPara 13. 14. promedio<-suma/10; 15. 16. Escribir "El promedio es: ", promedio; 17. 18. FinProceso Diagrama de flujo 7

Resultado Ejemplo3 Escriba 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 cuentadoratras 2. Definir contador Como Entero; 3. Para contador<-20 Hasta 1 Con Paso -1 Hacer 4. Escribir contador; 5. FinPara 6. FinProceso 8

Diagrama de flujo Resultado 9

Estructura repetitiva 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, no obstante, 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 hasta que la condición que se evalúa resulte ser falsa. Sintanxis Mientras expresion_logica Hacer secuencia_de_acciones FinMientras Representación gráfica PseInt utiliza la siguiente manera de representar el ciclo MIENTRAS 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: 1. Proceso cuentanumeros 2. Definir contador Como Entero; 3. contador <- 1; 4. 5. Mientras contador <= 10 Hacer 6. Escribir "Repeticion numero ", contador; 7. contador <- contador + 1; 8. FinMientras 9. FinProceso Como se puede observar el ciclo MIENTRAS se ejecuta en diez ocasiones, estas repeticiones están dadas por el valor de la variable contador. La variable contador deberá ser incrementada dentro del gurpo de instrucciones del bucle, sino el ciclo nunca se detendrá. 10

Diagrama de flujo Resultado En la estructura repetitiva 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. 11

Ejemplos estructura repetitiva MIENTRAS Ejemplo1 Realice un algoritmo que muestre el resultado correspondiente a la suma de dos números, Esta suma se realizar implementado un ciclo por medio del cual se le sume la unidad al primero de los números ingresado hasta que el segundo 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 sumalenta 2. Definir num1, num2 Como Entero; 3. 4. Escribir "Ingrese los valores a sumar "; 5. Leer num1, num2; 6. 7. Mientras num2>0 Hacer 8. num1<-num1+1; 9. num2<-num2-1; 10. FinMientras 11. 12. Escribir "La suma es: ", num1; 13. FinProceso 12

Diagrama de flujo Resultado Ejemplo2 Realizar un algoritmo que por medio de la estructura repetitiva MIENTRAS obtenga el valor mayor en una serie de 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

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 que el valor de la variable vmayor, se reemplaza el valor de este último por el valor ingresado por el usuario. Solución 1. Proceso mayorvalor 2. 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 Hacer 10. Escribir sin saltar "Ingrese el elemento ", contador ; 11. Leer num; 12. 13. Si num > vmayor Entonces 14. vmayor <- num; 15. FinSi 16. 17. contador <- contador + 1; 18. FinMientras 19. 20. Escribir "El valor mayor introducido es: ", vmayor; 21. FinProceso 14

Diagrama de flujo Resultado 15

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. 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ón 1. Proceso tablamultiplicar 2. Definir cuenta, num Como Entero; 3. Escribir "Ingrese el numero "; 4. Leer num; 5. 6. cuenta<-1; 7. Mientras cuenta <= 12 Hacer 8. Escribir num, " x ", cuenta, " = ", cuenta*num; 9. cuenta<-cuenta+1; 10. FinMientras 11. FinProceso Diagrama de flujo 16

Resultado 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. 17

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: 2 4 = 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. 18