Estructuras de Iteracion (Repetitivas ) while , for,, do-while

Slides:



Advertisements
Presentaciones similares
ESTRUCTURAS DE CONTROL
Advertisements

Sesión 3 Estructuras Repetitivas
Estructuras Repetitivas para
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
MANUAL EXPRESS DE C J.M.sevilla.
Repaso para la construcción del intérprete 2012
Estructuras de control
Fundamentos de la Programación Estructurada
CICLOS EN C – PARTE 2.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
INFORMÁTICA PROGRAMACIÓN.
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.
INFORMATICA I Funciones CLASE 13.
Introducción a la Computación
Una breve introducció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
INTRODUCCIÓN A LA COMPUTACIÓ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.
Funciones y procedimientos
Estructuras de repetición
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.
Ingeniero Anyelo Quintero
Estructuras de Control de Repetición
ESTRUCTURAS ITERATIVAS
Programación de Computadores
Lenguaje C.
Introducción a la Computación
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
ESTRUCTURAS DO-WHILE Y FOR.
Capítulo 1 “Elementos de Programación”
Estructuras de Repetición (Repita para)
WHILE Estructuras Repetitivas
Informática Tema 5 - Estructuras de Control Estructuras de Repetición.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
Teoría – Alejandro Gonzalez
Estructura de Control Repeticiones(Loops) Ejercicios
ESTRUCTURAS REPETITIVAS
Estructuras de Control.
REPETITIVAS (CÍCLICAS)
Principios de programación LIA. Suei Chong Sol, MCE. Sentencias de Control Repetitivas.
Estructuras de Repetición (Hacer-Mientras)
While En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte.
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)
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.
Operadores Lógicos Y (Conjunción): Tanto P como Q (Ambas). O (Disyunción): Puede ser que P o Q o ambas (mínimo 1)
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.

ESTRUCTURAS REPETITIVAS
Carolina Galaviz Inzunza CBTIS No. 37.  Este ciclo se repite durante una cantidad definida de iteraciones, por lo que no depende de las acciones.
LENGUAJE “C” Programación.
Estructuras de Decisión
Algoritmo.
2011/1 - CLASE 12. AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 14 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Ciclos de Repeticion Yoel Gutierrez Unidad 6. Contenido DefinicionExplicacionEjemplosReferencias.
Ciclos condicionales y exactos Estructura de control de ciclos
Estructuras Repetitivas Consideraciones. Estructuras Repetitivas  Son aquellas que van a ejecutar un número determinado de veces una instrucción o un.
Introduction a la Programacion
Estructuras de control repetitivas
Transcripción de la presentación:

Estructuras de Iteracion (Repetitivas ) while , for,, do-while CI2125 TEORIA semana 5 Estructuras de Iteracion (Repetitivas ) while , for,, do-while Comparación

Recordemos: Estructura de programas - Estilo en C /* programa.c Lee dos numeros enteros y los imprime */ #include <stdio.h> void main() { int n1, n2; /* Pre Cond: numeros tipo entero */ printf(“Introducir dos enteros: \n”); scanf(“%d %d \n”, &n1, &n2); /* Post: imprime en pantalla dos numeros */ printf(“Numeros enteros: %d y %d\n”,n1,n2); } Comentarios Archivos cabeceras La función main Encabezamiento Cuerpo Declaración variables locales Sentencias

Estructura Algorítmica: ITERACION REPETITIVA C A1 V F A2 Operaciones que se deben ejecutar varias veces Los datos varían, cada vez Todo ciclo debe terminar, luego de repetirse un numero finito de veces Debe haber una acción de PARADA o Fin del Ciclo En cada iteración, se evalúan las condiciones para decidir si se debe seguir o se debe detener La condición debe ser dependiente con la acción de PARADA

Estructura Algorítmica: ITERACION MIENTRAS CI Proceso V F Cl  Modifica CI Cl  ValorIni Se usa cuando: No podemos establecer de antemano el numero de veces en que se va a repetir el ciclo Las veces en que se ejecute depende de una de las acciones dentro del ciclo, que modifica la condición

Estructura Algorítmica: ITERACION MIENTRAS CI Proceso V F Cl  Modifica CI Cl  ValorIni En Lenguaje C: condicion = ValorIni; while ( condicion ) { sentencia1; sentencia2; …. sent_modifica_condicion; }

Estructura Algorítmica: ITERACION MIENTRAS ( while ) Problema: Leer los pagos efectuados en el mes, obtener la suma total de los mismos. Se deben leer un numero no determinado de Pagos Pi, en variable de tipo real, que representa el pago “i-esimo”. Asumiremos que se ingresara el valor cero como ultimo dato, es decir cuando Pi=0, para indicar que no hay mas pagos. A medida que vamos leyendo los pagos, debemos ir acumulando en una variable la suma de los pagos SumaP = SumaP + Pi Debo inicializar SumaP a cero para asegurar, que comienza la suma con el primer pago Usare la estructura Repetitiva “mientras” haya pagos que leer, ósea, Pi no sea igual a cero Entradas: real Pi Salida: real SumaP Inicio SumaP = 0 Pi F Pi != 0 V SumaP = SumaP + Pi Pi SumaP 1 2 Fin

Estructura Algorítmica: ITERACION MIENTRAS ( while ) Problema: Leer los pagos efectuados en el mes, obtener la suma total de los mismos. Verificar !, con datos 3 #include <stdio.h> int main() { float Pi, SumaP = 0; scanf(“ %f ”,&Pi); while ( Pi != 0 ) SumaP = SumaP + Pi; } printf( “Total de Pagos: %f \n", SumaP ); 4

Cuando se conoce el No de Repeticiones Estructura Algorítmica: ITERACION Cuando se conoce el No de Repeticiones cont ( <,>,<=,>=) VF Proceso V F cont  cont (+,-) Inc cont  VI Se usa cuando: Se conoce de antemano el numero de veces en que se va a repetir el ciclo El numero de veces en que se repite el ciclo NO depende de las acciones Se debe tener un contador para determinar cuando se alcanzan las repeticiones deseadas Y un incremento o decremento para modificar el contador

Estructura Algorítmica: ITERACION MIENTRAS - for En Lenguaje C: for ( cont = VI; cont (<,>,<=,>=)VF, cont = cont(+,-) Inc ) { sentencia1; ….; } Ejemplos: /* Imprime los números del 1 al 100 */ for ( cont=1; cont <=100; cont++) printf( "Ya voy por el %i \n", cont ); /* Suma los primeros 20 numeros enteros, de dos en dos */ acumulador = 0; for ( cont=0; cont <=20; cont=cont+2) acumulador += cont; printf( “La suma acumulada es %i \n", acumulador );

Estructura Algorítmica: ITERACION (Repetitiva) En C: while , for Ejemplo: Comparando while y for cont = 0; while ( condición ) { accion1; accion2; …. cont ++; } for ( cont=0; condición; cont++) { accion1; accion2; …. }

Estructura Algorítmica: ITERACION (Repetitiva) En C: sintaxis del for for (valores iniciales; condicion; incrementos) { accion1; accion2; …. } valores iniciales: pueden haber mas de una variable inicial incrementos: Se definen los incrementos o decrementos de las variables iniciales

Estructura Algorítmica: ITERACION (Repetitiva) En C: for (ejemplo) #include <stdio.h> void main() { int i, j; for( i=0, j=5 ; i<10 ; i++, j=j+5 ) printf( "Hola " ); printf( "Esta es la línea %i\n", i ); printf( "j vale = %i\n", j ); } Imprime: Hola Esta es la línea 0 j vale = 5 Hola Esta es la línea 1 j vale = 10 Hola Esta es la línea 2 j vale = 15 …. Hola Esta es la línea 9 j vale = 50

Estructura Algorítmica: ITERACION MIENTRAS ( for) Problema: Leer los salarios de 15 Profesores de un colegio , obtener el total de la nomina En este caso se conocen que son 15 profesores por lo que la estructura es un “for” Entrada: Leer salario tipo real, Sal Salida: Imprimir Nomina, Nomina Constante: 15 profesores Proceso, leer en ciclo “for” los 15 salarios y acumularlos en variable Nomina, con la que vamos calculando la Nomina del Colegio Inicio Nomina = 0 cont = 1 PROF= 15 F cont < PROF V Sal Nomina = Nomina + Sal Nomina 1 2 Fin

Estructura Algorítmica: ITERACION MIENTRAS ( for ) Problema: Leer los salarios de 15 Profesores de un colegio , obtener el total de la nomina Verificar !, con datos 3 #include <stdio.h> #define PROF 15 int main() { float Sal, Nomina = 0; int cont; for ( cont =1; cont< PROF; cont++ ) printf( “Ingrese el salario del Profesor No: %d:\n“,cont); scanf(“ %f ”,&Sal); Nomina += Sal; } printf( “Total de Nomina: %f \n", Nomina ); 4

Estructura Algorítmica: ITERACION ( for ) Ejemplo: Imprime conversión Fahrenheit a Celsius, F = 0, 20, 40,..., 300 FARI =0 FARF=300 SALTO=20 Far = FARI F Far <= FARF V Cel = (5.0/9.0)*(Far-32.0) Far, Cel Far = Far + Salto

Estructura Algorítmica: ITERACION ( for ) Ejemplo: Imprime conversión Fahrenheit a Celsius, F = 0, 20, 40,..., 300 /*Programa que imprime la tabla de conversión de Fahrenheit a Celsius para F = 0, 20, 40,..., 300 */ #include <stdio.h> #define FARI 0 #define FARF 300 #define SALTO 20 void main() { float Far, Cel; Far = FARI; for(Far = FARI; Far <= FARF; Far +=SALTO) Cel = (5.0/9.0) * (Far - 32.0); printf("%4.0f F -> %6.1f C\n", Far, Cel); } /* fin del for */ } /* fin del main */

Estructura Algorítmica: ITERACION (Repetitiva) while Ejemplo: Uso de ciclos “whiles” anidados. Imprime Tabla de multiplicación. #include <stdio.h> void main() { int i=1,j; while(i <= 12) /* imprime cada nueva linea */ j = 1; while(j <= 12) /* imprime 12 productos por linea */ printf(" %3d",i*j); j++; } printf("\n"); /* fin de línea, salto de linea */ i++;

Estructura Algorítmica: ITERACION (Repetitiva) while Ejemplo: Uso de ciclos “whiles” anidados. Imprime Tabla de multiplicación, del 1 al 12. 1 2 3 4 5 6 7 8 9 10 11 12 2 4 6 8 10 12 14 16 18 20 22 24 3 6 9 12 15 18 21 24 27 30 33 36 4 8 12 16 20 24 28 32 36 40 44 48 5 10 15 20 25 30 35 40 45 50 55 60 6 12 18 24 30 36 42 48 54 60 66 72 7 14 21 28 35 42 49 56 63 70 77 84 8 16 24 32 40 48 56 64 72 80 88 96 9 18 27 36 45 54 63 72 81 90 99 108 10 20 30 40 50 60 70 80 90 100 110 120 11 22 33 44 55 66 77 88 99 110 121 132 12 24 36 48 60 72 84 96 108 120 132 144

HACER – MIENTRAS ( do –while ) Estructura Algorítmica: ITERACION HACER – MIENTRAS ( do –while ) A1 C V F A2 A diferencia de las estructuras for, while, las condiciones se evalúan al final del ciclo Esto implica que el conjunto de acciones se ejecuta al menos una vez sin importar la condición Se utiliza principalmente para validar los datos de entrada La condición cambia de acuerdo a la modificación de la misma en una acción

HACER – MIENTRAS ( do –while ) Estructura Algorítmica: ITERACION HACER – MIENTRAS ( do –while ) En Lenguaje C: do { sentencia1; sentencia2; …. sent_modifica_condicion; } while ( condicion ); Proceso C V F Modifica C

Estructura Algorítmica: ITERACION (Repetitiva) En C: do - while /* Programa que pide al usuario un número entero entre 1 y 10. Se continúa pidiendo el valor hasta que cumpla la condición */ #include <stdio.h> void main() { int n, error; do { printf("Ingrese un número entero entre 1 y 10: "); scanf("%d", &n); if (error = (n < 1 || n > 10)) printf("\n ERROR: Intentelo nuevamente!! \n"); } while( error ); /* ahora puedo procesar el valor ingresado sabiendo que es correcto. */ /* sigo con el proceso siguiente del programa …

Estructura Algorítmica: ITERACION (Repetitiva) En C: for (ejemplo) /* Programa que calcula el factorial de n, n! */ #include <stdio.h> void main() { /* declaracion de variables */ int i; int factorial=1; /* Entrada, Pre-condicion: n numero entero positivo */ printf( “Introduzca un numero entero positivo\n"); scanf(“%d”, &n); /* proceso: calculo del factorial , n! = n.(n-1).(n-2)…(n-(n-1)) */ for( i=n ; i>=1 ; i-- ) factorial = factorial*i; /* salida, Post-condicon: imprimir el factorial de n */ printf( “Factorial de n %i es %i \n", n, factorial ); }