ESTRUCTURAS REPETITIVAS CICLOS O BUCLES EL MIENTRAS Y EL PARA

Slides:



Advertisements
Presentaciones similares
Sesión 3 Estructuras Repetitivas
Advertisements

ESTRUCTURA DE DECISION LOGICA
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Estructuras de Repetición Algoritmos
Bucles o Estructura repetitivas
Introducción a los Algoritmos
CICLOS EN C – PARTE 2.
Estructuras de Control
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
ESTRUCTURAS REPETITIVAS EJEMPLOS
ESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVAS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
CLASE #3 OBJETIVOS Iteración definida. Acumulador y Contador.
Estructuras de Control
Curso de Programación I Parte III
CICLOS EN C.
ESTRUCTURAS CONTROL REPETITIVAS
Introducción a la Computación
Estructuras de Repetición
INTRODUCCIÓN A LA COMPUTACIÓN 14va Semana – 24va Sesión Miércoles 01 de Junio del 2005 Juan José Montero Román
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Representación de los algoritmos
Estructuras de repetición
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
Fundamentos de Programación

Son aquellas que van a ejecutar un número determinado de veces una instrucción o un conjunto de ellas. Un BUCLE O CICLO son las instrucciones a repetirse.
Estructuras de Control de Repetición
ESTRUCTURAS ITERATIVAS
ESTRUCTURAS DE CONTROL
Programación de Computadores
ESTRUCTURAS DO-WHILE Y FOR.
Capítulo 1 “Elementos de Programación”
Algoritmos ¿Que es un algoritmo?
WHILE Estructuras Repetitivas
ESTRUCTURA DE DECISION LOGICA
Juego de Preguntas y Respuestas
ESTRUCTURAS REPETITIVAS

Estructuras de Control.
REPETITIVAS (CÍCLICAS)
Principios de programación LIA. Suei Chong Sol, MCE. Sentencias de Control Repetitivas.
Tema ‧ Comando - while Repeticiones. Comando while ‧ Un ciclo es cualquier construcción de programa que repite una sentencia ó secuencia de sentencias.
Estructuras repetitivas e iterativas  Son herramientas que permiten ejecutar operaciones que se deben aplicar un número repetido de veces. El conjunto.
Estructuras de Repetición (Hacer-Mientras)
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Lógica Computacional.
Elaboración de algoritmos usando lógica de programación
ESTRUCTURAS REPETITIVAS
Prueba de escritorio Computación y Sistemas de Información.
Estructuras de Decisión
2011/1 - CLASE 12. AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 14 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados.
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Las funciones son librerías ya estandarizadas que permiten al usuario realizar sus respectivas programaciones. Una función es un conjunto de líneas de.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
Page 1 Ciclo de Estructuras de Repetición Carlos Bautista García Unidad VI PROG 2270L.
Ciclos en Visual Basic Yaimira Pérez. Los ciclos son estructuras de repetición que ejecutan una o varias instrucciones durante la cantidad de veces que.
Tipos de ciclos en Visual Basic. Dinámicos y fijos. 6.1 Foro. Wuilson Valencia, Desarrollo de aplicaciones I y Laboratorio. 1.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 6 – Bucles.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Ciclos de Repeticion Yoel Gutierrez Unidad 6. Contenido DefinicionExplicacionEjemplosReferencias.
Ciclos condicionales y exactos Estructura de control de ciclos
Ciclos en Visual Basic Rebeca M. Colón Crespo. Introducción Visual Basic es una aplicación y un lenguaje en programación. Este programa fue originado.
Programacion I Curso: 5 I (TT)
Introduction a la Programacion
Transcripción de la presentación:

ESTRUCTURAS REPETITIVAS CICLOS O BUCLES EL MIENTRAS Y EL PARA

AGENDA DEL DIA Repaso condicionales. Concepto de ciclos. Estructura mientras. Estructura para. Variables(Contador-Acumulador). Ejemplos Esquemas de solución(Cualitativo-Cuantitativo)

CONDICIONALES DIAGRAMA DE FLUJO PSEUDOCODIGO

CONDICIONALES - ESCENARIOS Alabado sea Chuck Norris.

¿Que es un ciclo? CONCEPTO DE CICLO Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).Los ciclos se clasifican en: MIENTRAS, PARA Y REPITA

¿QUE ES UN CICLO? Palabra clave: Repetición Conjunto de sentencias que se repiten siempre que una condición dada sea cierta. Ejemplo: Realizar un algoritmo que sume los 10 primeros números (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).

¿QUE ES UN CICLO? Solución sin ciclos Que sucede para el caso en el cual se cambie el enunciado del problema y ya se quieran sumar los mil primeros números. Algoritmo(suma_numeros) variables: entera: suma = 0 INICIO suma = 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 ESCRIBA(“La suma de los primeros 10 numeros es”,suma) FIN Fin(suma_numeros)

¿QUE ES UN CICLO? Siguiendo mi solución anterior Y si el problema cambia a los primeros 10000 números. EL PROBLEMA SERIA PEOR PARA CONTAR ESTA CANTIDAD!???? Algoritmo(suma_numeros) variables: entera: suma = 0 INICIO suma = 0 + 1 + . . . + 997 + 998 + 999 ESCRIBA(“La suma de los primeros 10 numeros es”,suma) FIN Fin(suma_numeros)

¿QUE ES UN CICLO? La solución a todo esto esta en la implementación de ciclos. Algoritmo(suma_numeros_ciclos) variables: entera: suma = 0, numeroFinal = 10, i = 0 INICIO MIENTRAS (i < numeroFinal) PARA suma = suma + i FIN_MIENTRAS FIN Fin(suma_numeros_ciclos)

EL MIENTRAS Esta es una estructura que repetira un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente: CUERPO DEL CICLO CONDICION SI NO Hacer mientras <condición> Accion1 Accion2 . . AccionN Fin-mientras

INSTRUCCIÓN MIENTRAS (1) Esta condición repite el cogido (secuencia) contenido adentro siempre que la condición (expresión) sea verdadera.

INSTRUCCIÓN MIENTRAS (2) Condicion: Expresión que puede tomar el valor de falso o verdadero, ejemplo: a > 10 b <= -5 c == 3 (a < -4)&(m == 2) Instrucciones: Conjunto de sentencias que se encuentran dentro del bloque del ciclo, ejemplo: x1 = (-b + (b^2-4*a*c)^(1/2))/2 x2 = (-b - (b^2-4*a*c)^(1/2))/2 m = ((a + b)^2)/(a-b*(c+f^2)) a = 3 z = z + 1. Estructuras de control (condicionales, ciclos) Bloque del ciclo

INSTRUCCIÓN MIENTRAS (3) DIAGRAMA DE FLUJO PSEUDOCODIGO

INSTRUCCIÓN MIENTRAS (6) PARA HACER (Ejemplo1.dfd): Hacer la prueba de escritorio del diagrama de flujo. Realizar la codificación en Pseudocódigo (En la forma vista en clase). Realizar la codificación en Pseudocódigo usando PSeInt. Mostrar el ejemplo en DFD.

INSTRUCCIÓN MIENTRAS (6) Ejemplo1.dfd Algoritmo(ejemplo1) variables: entera: b = 2, a = 4 INICIO MIENTRAS (a < 10) PARA a = a + 1 b = (-2)*b FIN_MIENTRAS FIN Fin(ejemplo1)

INSTRUCCIÓN MIENTRAS (7) Ejemplo2.dfd Algoritmo(ejemplo2) variables: entera: b = 2, a = 4 INICIO MIENTRAS (a < 10) PARA a = a + 2 b = (-2)*b FIN_MIENTRAS FIN Fin(ejemplo2)

VIP: $7000 Normal: $5000 Variables Contador Acumulador total_boletos total_recolectado VIP: $7000 Normal: $5000

CONTADORES Ejemplo: Hacer un algoritmo que vaya incrementando una variable que empieza en cero 0 y termina en 9, debe mostrar cada incremento (ejemplo5). Algunos ejemplos: j = j + 2 i = i – 1 carros = carros + 1 CONTADOR Un contador es una variable que se incrementa o disminuye en un valor constante. Un contador tiene la siguiente forma: contador = contador + <valor constante>

ACUMULADORES Ejemplo: Modifique el ejemplo anterior de tal manera que realice la suma de los 10 primeros números (ejemplo 6). Algunos ejemplos: acum = acum + i suma= suma + algo resta = resta + algo cerveza = cerveza + tragos ACUMULADOR Un acumulador o totalizador es una variable cuya misión es el almacenamiento de cantidades variables de procesos sucesivos. La diferencia con el contador radica en que el incremento o disminución del acumulador es variable, la forma general de un acumulador es la siguiente: acumulador = acumulador + <valor constante>

CONTADORES Y ACUMULADORES Nota: Antes de ser usados, tanto los contadores como los acumuladores deben ser inicializados a un valor conocido (generalmente 0). dinero_Homero dinero_Moe barriles_cerveza t_cerveza_vendida kw_hora_consumidos Total_kw

EJEMPLOS EJEMPLO: Hacer un algoritmo que lea 5 números y determine la suma entre ellos. INICIO ENTERO: N, i, SUMA i=1 SUMA=0 MIESTRAS(i <=5) HAGA MOSTRAR( 'DIGITE UN NUMERO') LEER (N) SUMA= SUMA+N i= i+1 FIN MIENTRAS MOSTRAR ('LA SUMA ES:', SUMA) FIN Como vemos en la condición al principio se cumple, pero como i se va incrementando, al llegar hacer mayor que 5 se sale del mientras y termina la ejecución.

EJEMPLOS El algoritmo anterior modificado para que obtenga el promedio de los 5 números. INICIO ENTERO: N,i, SUMA REAL: PROMEDIO i=1 SUMA=0 MIENTRAS (i <=5) HAGA MOSTRAR ('DIGITE UN NUMERO') LEER (N) SUMA=SUMA+N i=i+1 PROMEDIO=SUMA/5 FIN MIENTRAS. MOSTRAR ('EL PROMEDIO ES:', PROMEDIO) FIN

EJEMPLOS Realizar un algoritmo para sumar consecutivamente y cuando la suma sea superior a 100 deje de pedir números y muestre el total. INICIO ENTERO: N SUMA SUMA=0 MIENTRAS(SUMA<=100) MOSTRAR ('DIGITE UN NUMERO') LEER(N) SUMA=SUMA+N FIN MIENTRAS MOSTRAR ('LA SUMA ES:', SUMA) FIN

EJEMPLOS Algoritmo que permita obtener el promedio de la cantidad de números que el usuario desee digitar, preguntando ademas si desea continuar o no. INICIO ENTERO: SUMA, CONTADOR, N CADENA: DECISIÓN DECISIÓN = 'SI' SUMA= 0 CONTADOR=0 MIENTRAS(DECISIÓN = 'SI') HAGA MOSTRAR('DIGITE UN NUMERO') LEER(N) SUMA= SUMA+N CONTADOR=CONTADOR+1 MOSTRAR('DESEA CONTINUAR') LEER(DECISIÓN) FIN MIENTRAS PROMEDIO=SUMA/CONTADOR MOSTRAR('EL PROMEDIO ES:', PROMEDIO) FIN

EJEMPLOS Realizar un algoritmo que pida al usuario digitar un color y lo muestre, pero cuando el usuario digita el color rojo se termine y lo indica. INICIO CADENA: COLOR COLOR= '' MIENTRAS( COLOR <> 'ROJO') HAGA MOSTRAR('DIGITE COLOR') LEER(COLOR) MOSTRAR('EL COLOR ES:', COLOR) FIN MIENTRAS MOSTRAR('HA FINALIZADO') FIN

Estos son algunos ejemplos y ejercicios del ciclo mientras Estos son algunos ejemplos y ejercicios del ciclo mientras. Todo esto nos sirve en la vida cotidiana para encontrar varias formas de encontrarle la solución a un problema y en un futuro para hacer buenos programas con las condiciones y requisitos que nos lo pida el usuario.

ESTRUCTURA PARA DIAGRAMA DE FLUJO PSEUDOCODIGO Donde: V.C Variable de control del ciclo L.I Limite inferir L.S Limite superior

INSTRUCCIÓN PARA La instrucción PARA es como la instrucción MIENTRAS solo que a diferencia de esta maneja la inicialización y decremento de manera automática.

INSTRUCCIÓN PARA (2) Condicion: A diferencia del caso MIENTRAS, en el PARA la condición es manejada de manera automática de tal manera que cuando el valor de VC supera (o es menor en el caso contrario) al valor de LF se sale del ciclo: VC: Variable de control del ciclo. LI: Valor inicial de VC. LF: Valor final de VC. INC: Valor de incremento o disminución de la variable de control Instrucciones: Conjunto de sentencias que se encuentran dentro del bloque del ciclo, ejemplo: a = 3 z = z + 1 Bloque del ciclo

INSTRUCCIÓN PARA (2)

INSTRUCCIÓN PARA (3) PARA HACER: Hace lo mismo que en el caso de la instrucción mientras.

EJEMPLOS Un algoritmo que lea 5 numeros dados por un usuario y luego muestra el resultado de la suma. INICIO ENTERO: N, i, SUMA SUMA=0 PARA(i= 1 HASTA ,5 , 1) MOSTRAR ('DIGITE UN NUMERO') LEER (N) SUMA= SUMA+N FIN PARA MOSTRAR ('LA SUMA ES:', SUMA) FIN Donde 5 son las veces que quiero que se repita la pregunta y 1 de cuanto en cuanto se incrementa, en este casa de 1 en 1.

EJEMPLOS Un algoritmo que muestre los pares que hay entre 1 y N.  INICIO ENTERO: N, i MOSTRAR ('DIGITE NUMERO') LEER (N) PARA( i= 2 HASTA N, 2) MOSTRAR (LOS NUMERO PARES SON:', i) FIN PARA FIN.

EJEMPLOS Un algoritmo que reciba un dato y lo calcule y muestre el factorial. INICIO ENTERO: N,i, FACTORIAL MOSTRAR ('DIGITE UN NUMERO') LEER(N) FACTORIAL=1 PARA( i= 1, HASTA , N, 1) FACTORIAL= FACTORIAL* i FIN PARA MOSTRAR ('EL FACTORIAL ES:', FACTORIAL) FIN

EJEMPLOS Un algoritmo que permita mostrar los números primos existentes entre 1 y N. INICIO ENTEROS:N,i,PRIMO,j MOSTRAR('DIGITE HASTA Q NUMERO DESEA VER NUMEROS PRIMOS') LEER:(N) PARA(i=1, N,1) PRIMO:1 SI ((i=1)OR(i=2)OR(i=3)) MOSTRAR(i,' ES NUMERO PRIMO') SINO PARA(j=2,i-1,1) SI((i MOD j)!=0) PRIMO=PRIMO+1 SI(PRIMO=i-1) MOSTRAR(i,' ES NUMERO PRIMO') FIN SI FIN SI FIN PARA FIN PARA FIN

EJEMPLOS Un algoritmo que permita ingresar N datos correspondientes al genero de N, numero de personas y determine el porcentaje de hombres y mujeres que hay. INICIO ENTEROS:N,i,SEXO REALES:M,F MOSTRAR:('DIGITE N° DE PERSONAS') LEER:(N) M=0 F=0 PARA(i,1,N,1) MOSTRAR:('DIGITE SEXO 1 MASCULINO, 2 PARA FEMENINO') LEER:(SEXO) SI (SEXO=1) M=M+1 SINO F=F+1 FIN PARA F=(F*100)/N M=(M*100)/N MOSTRAR:('EL PORCENTAJE DE MUJERES ES: ',F) MOSTRAR:('EL PORCENTAJE DE HOMBRES ES: ',M) FIN

ESQUEMAS DE SOLUCION CON CICLOS Existen dos esquemas de solución con ciclos, el esquema cuantitativo y el esquema cualitativo. El factor clave radica en si se tiene o no un conocimiento previo de las iteraciones (repeticiones) que debe realizar el ciclo. En si, lo que se tiene que tener bien en claro es como proceder si se conoce o no el numero de iteraciones. Problema Esquema cuantitativo Esquema cualitativo

Pregunta antes de cada iteración Usando registro centinela PROBLEMA ESQUEMA CUALITATIVO Pregunta antes de cada iteración Usando registro centinela ESQUEMA CUANTITATIVO ESCRIBA(‘Digite el ...’) LEA(N) PARA (i=1:N:1) PARA ... FIN_PARA ESCRIBA(‘Digite 1 si...’) LEA(ban) MIENTRAS (ban == 1) PARA ... FIN_PARA ESCRIBA(‘Digite el dato...’) LEA(d) MIENTRAS (d != -1) PARA ... FIN_PARA

ESQUEMA CUANTITATIVO Es utilizado cuando se conoce el numero de veces que debe repetirse un ciclo determinado. Ejemplo: Realizar un algoritmo que sume N números introducidos por teclado.

ESQUEMA CUALITATIVO Esquema utilizado cuando no se conoce el numero de veces que debe repetirse la secuencia de determinado ciclo. La resolución de este tipo de problemas puede ser llevada a cabo de dos maneras: Preguntando antes de cada iteración. Haciendo uso de un registro centinela.

ESQUEMA CUALITATIVO – PREGUNTANDO ANTES DE CADA ITERACION El control del bucle usando este método se realiza preguntando al usuario si existen mas datos. Ejemplo: Mateo esta recaudando impuestos para los romanos, al iniciar el día laboral abre caja en $0, a medida que van llegando usuarios va acumulando la cantidad hasta que finalizar el día. Realizar un programa que le ayude a Mateo a llevar esta tarea.

ESQUEMA CUALITATIVO – HACIENDO USO DE UN REGISTRO CENTINELA En este caso la terminación del bucle se hace por medio de un centinela. Un registro centinela es un valor especial usado para indicar el final de una lista de datos. Ejemplo: Hacer un algoritmo que encuentre la suma y el promedio de un grupo de datos positivos que entran de a uno por registro.

ACTIVIDAD REPRESENTAR LOS EJEMPLOS DE LOS ALGORITMOS DE LAS GUIA SENA DE ALGORITMOS CORRESPONDIENTES A LAS PAGINAS 45, 46, 47 USANDO PARA ESTO EL CICLO MIENTRAS EN PSEUDOCODIGO Y DIAGRAMA DE FLUJO RESOLVER RESOLVER DE LA GUIA SENA DE ALGORITMOS LOS EJERCICIOS PROPUESTOS DE LA PAGINA 48. USANDO PARA ESTO EL CICLO PARA EN PSEUDOCODIGO Y DIAGRAMA DE FLUJO. RESOLVER DE LA GUIA SENA DE ALGORITMOS LOS EJERCICIOS PROPUESTOS DE LA PAGINA 49 Y 50. USANDO PARA ESTO EL CICLO MIENTRAS EN PSEUDOCODIGO Y DIAGRAMA DE FLUJO