2011/1 - CLASE 12. AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 14 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados.

Slides:



Advertisements
Presentaciones similares
ESTRUCTURAS DE CONTROL
Advertisements

Estructuras de decisión en C
Estructuras de Repetición Algoritmos
CICLOS EN C – PARTE 2.
Estructuras de Control
Bucle for.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
INFORMATICA I Funciones CLASE 13.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
CICLOS EN C.
Estructuras de control
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.
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.
Tema 4: Sentencias de control
ESTRUCTURAS REPETITIVAS CICLOS O BUCLES EL MIENTRAS Y EL PARA
Estructuras de Control de Repetición
ESTRUCTURAS ITERATIVAS
ESTRUCTURAS DE CONTROL
Programación de Computadores
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
FUNDAMENTOS DE PROGRAMACIÓN
ESTRUCTURAS DO-WHILE Y FOR.
Capítulo 1 “Elementos de Programación”
Capítulo 2 – Estructuras de Control
Estructuras de Repetición (Repita para)
WHILE Estructuras Repetitivas
UNIVERSIDAD PERUANA DE LAS AMERICAS INGENIERIA DE COMPUTACION Y SISTEMAS PROGRAMACION I ING. PEDRO BENITES TOLEDO Programación I Capitulo IV : Estructuras.
Informática Tema 5 - Estructuras de Control Estructuras de Repetición.
Informática Ingeniería en Electrónica y Automática Industrial
Teoría – Alejandro Gonzalez
EXPRESIONES Y SENTENCIAS
ESTRUCTURAS REPETITIVAS

Estructuras de Control.
Estructuras de repetición
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.
Sesión 12: Python (3) – Estructura Decisión. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Estructuras de Repetición (Hacer-Mientras)
Sesión 14: Python (5) – Aplicaciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
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.
UNIVERSIDAD LATINA INTRODUCCION A LA PROGRAMACION INSTRUCCIONES INTERATIVAS.
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
El lenguaje de programación C - Control de flujo y bucles -
“variables , sentencia if y bucles”
ESTRUCTURAS REPETITIVAS
Estructuras de Decisión
CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.
CICLOS EN C – PARTE 3.
INTRODUCCION AL LENGUAJE C
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
Tipos de ciclos en Visual Basic. Dinámicos y fijos. 6.1 Foro. Wuilson Valencia, Desarrollo de aplicaciones I y Laboratorio. 1.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
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
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
Transcripción de la presentació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

Introducción En C existen tres estructuras de control repetitivas: Mientras Para Haga-mientras Pseudocódigo while for do-while Lenguaje C

Ciclos en C Un ciclo (bucle) es una estructura que permite la repetición de una o mas instrucciones un determinado numero de veces.

Ciclos en C Expresión lógica que controla la secuencia de repetición. Normalmente, se evalúa antes de la ejecución del cuerpo del bucle. Conjunto de instrucciones (asociadas al problema) que se ejecutan dentro del bucle: Estructuras condicionales. Instrucciones I/O. Otros bucles. Instrucciones de asignación. Funciones. (Condición) Cuerpo Fin

Principios a considerar cuando se usan bucles c Es importante analizar los requisitos del bucle, pues se debe determinar su inicialización, condición y actualización. ¿Qué principios considerar cuando se diseñan bucles? Algunas preguntas de utilidad: ¿Qué es lo que debe contener el cuerpo del bucle? Cuantas veces se itera el bucle. Algunas preguntas de utilidad: ¿Qué es lo que debe contener el cuerpo del bucle? Cuantas veces se itera el bucle.

Introducción 1 El cuerpo del ciclo. 2 Las sentencias de inicialización. 3 Las condiciones para la terminación del bucle.

Introducción Las estructuras ciclicas se terminan cuando: 1.La condición de evalución se vuelve falsa 2.Cuando se ejecuta la instrucción break o return

AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 24 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados

SENTENCIA WHILE Sentencia while Realiza un conjunto de operaciones mientras una condición se esté cumpliendo, o mientras una expresión sea verdadera 1 Se evalúa la condición-bucle 2 Si condición-bucle es verdadera : Se ejecuta el cuerpo del bucle Vuelve el control al paso 1. 3 Si condición-bucle es falsa : Se termina el ciclo. * Condiciones: Cuantitativas y Caulitativas

SENTENCIA WHILE Sintaxis Mientras (condición) haga Instrucciones fin_mientras while (condición){ Instrucciones; } Pseudocódigo Lenguaje C

(Condición) SENTENCIA WHILE Sentencia while Variable de control: Variable que representa la condición del bucle ya que su valor determina si el bucle se repite o no. Esta debe ser: Inicializada. Inicializada. Comprobada. Comprobada. Actualizada. Actualizada. Variable de control: Variable que representa la condición del bucle ya que su valor determina si el bucle se repite o no. Esta debe ser: Inicializada. Inicializada. Comprobada. Comprobada. Actualizada. Actualizada. Cuerpo Fin

(Condición) SENTENCIA WHILE Sentencia while Cuerpo Fin while (contador < n) { ;... contador = contador+1; ;... contador = contador+1; } } Inicialización contador = 0; Comprobación Actualización

Falso Verdadero Cuerpo del bucle SENTENCIA WHILE Sentencia while CONDICIÓN EVALUAR Verdadero EJECUTAR Falso Fin del ciclo

SENTENCIA WHILE Ejemplo1 Realizar un programa que cuente hasta N i = 0; while (i <= N) { printf("El valor del conteo es: %d\n", i); i++; }

SENTENCIA WHILE Ejemplo2 Realizar un programa que pida que se ingresen las notas de los estudiantes, y que cuando halla una nota menor que 3, muestre un mensaje que diga “El estudiante perdió”. El programa únicamente debe finalizar cuando el usuario lo desee. salir = 0; while (salir!=1) { printf("Ingrese la nota del estudiante:"); scanf("%f",&nota); if (nota < MIN_NOTA){ printf("El estudiante perdio\n"); } printf("Ingrese 0 para continuar, 1 para salir: "); scanf("%d",&salir); }

AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 3 4 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados

SENTENCIA FOR Sentencia for Realiza un conjunto de operaciones un determinado número de veces 1 Se inicializa la variable de control y se evalúa la condición-bucle 2 Si condición es verdadera : Se ejecuta el cuerpo del bucle Se incrementa la variable y se evalúa la condición 3 Si condición-bucle es falsa : Se termina el ciclo. * Condiciones: Cuantitativas

SENTENCIA FOR Sentencia for Recomendado para: 1 Ciclos que son controlados por contador 2 Ejecutar un conjunto de instrucciones un determinado número de veces

SENTENCIA WHILE Sintaxis para VC desde LI hasta LF con INC fin_para for( VC; condicionBucle; INC o DEC ) { instrucciones; } Pseudocódigo Lenguaje C

SENTENCIA FOR Sintaxis for(VC; condicionBucle; INC o DEC) { instrucciones; } Expre3: Modificación vble, como cambia la variable de control Expre1: Se le da el valor inicial a la variable de control del bucle. Se pueden inicializar una o varias variables. Expre2: Condición, que contiene una expresión lógica, mientras sea verdadera se realiza el bucle

(Condición) SENTENCIA FOR Sentencia for Cuerpo Fin for(i = 1 ; i < n; i++) { ;... ;... } } Inicialización Comprobación Actualización

SENTENCIA FOR Sintaxis La(s) variable de control se puede incrementar o decrementar no solo en valores tipo int, también es posible realizar tales operaciones usando valores tipo float o double permitiendo el incremento o decremento en cantidades decimales. double p; for (p=0.75; p<=5; p+= 0.25) { printf(“p = %lf\n”, p); } double p; for (p=0.75; p<=5; p+= 0.25) { printf(“p = %lf\n”, p); } float n; for (n=1; n>= 0; n-=0.1) { printf(“n = %f\n”, n); } float n; for (n=1; n>= 0; n-=0.1) { printf(“n = %f\n”, n); }

SENTENCIA FOR Ejemplo1 Realice programa que muestre los N primeros factoriales fact=1; for (i = 1; i <= N; i++) { fact=fact*i; printf("factorial de %d: %d\n",i,fact); } for (i = 1,fact=1; i <= N; i++) { fact=fact*i; printf("factorial de %d: %d\n",i,fact); }

SENTENCIA FOR Ejemplo2 Realice programa que sume los N primeros naturales pares. suma=0; for (i = 1; i <= N; i++) { if(i%2==0){ suma+=i; } printf("La suma es: %d\n",suma);

SENTENCIA FOR Ejemplo3 Realice programa que muestre los 10 primeros impares naturales, en orden descendente. for (i = MAX_NUM; i >= 0; i--) { if(i%2 != 0){ printf("numero par: %d\n",i); }

SENTENCIA DO-WHILE Comparación while, for for( VC; condición; INC) { instrucciones; } InicializaciónVC; while (condición) { InstruccionesX; INC; } while for

SENTENCIA WHILE Y FOR Recomendaciones

SENTENCIA WHILE Y FOR Recomendaciones En el ciclo for no es recomendable modificar el valor de cualquiera de las variables de la condición del bucle dentro del cuerpo del bucle, ya que se pueden producir resultados imprevistos. int i,limite = 11; for (i = 0; i <= limite; i++) { printf ( "%d\n", i ) ; Iimite++ ; } for (i = 0; i <= limite; i++) { print f ("%d\n",i); i--; }

SENTENCIA WHILE Y FOR Bucles infinitos Aplicaciones en los que el número de repeticiones no se pueden determinar por anticipado. Interesa que comiencen pero eventualmente que no terminen. for ( ; ; ) { Instrucciones; if(condiciónTerminación) break; } while(1) { Instrucciones; if (condiciónTerminación) break; }

AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 4 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados 4

SENTENCIA DO-WHILE Sentencia do-while 1 Se ejecuta el cuerpo del bucle. 2 Se evalúa la condicion. Si se cumple la condición, entonces se repite la ejecución de sentencia. 3 Se evalúa la condicion. Si no se cumple la condición la estructura termina y da paso a la continuación del programa Bucle condicional que se ejecuta al menos una vez. * Condiciones: Cuantitativas y Caulitativas

SENTENCIA DO-WHILE Sentencia do-while CONDICIÓN Cuerpo del bucle Falso verdadero EJECUTAR EVALUAR verdadero Falso Fin del ciclo

SENTENCIA DO-WHILE Sintaxis do { Instrucciones; } while (expresión);

SENTENCIA DO-WHILE Comparación while, do-while CONDICIÓN Cuerpo del bucle Falso verdadero CONDICIÓN Cuerpo del bucle Falso verdadero while do-while

SENTENCIA DO-WHILE Comparación while, do-while do { InstruccionesX; } while (expresión); while (expresión) { InstruccionesX; } while do-while

SENTENCIA DO-WHILE Ejemplo Programa que imprime un mensaje “continua programa” hasta que se le ingrese un carácter de terminación 0. (Realicelo con while, luego con do-while y compare!!) do{ printf("continuar programa\n"); printf("Ingrese 0 para salir: "); scanf("%d",&salir); }while (salir!=CAR_FIN);

SENTENCIA WHILE Y FOR Recomendaciones

AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 4 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados 5

INTRUCCIONES ESPECIALES Instrucción break La sentencia break es utilizada como método de terminación TEMPRANA del bucle a la que pertenece. Si mientras se ejecuta el cuerpo del bucle, se encuentra con la instrucción break, se terminará inmediatamente el ciclo.

Falso Verdadero Cuerpo del bucle SENTENCIA WHILE Instrucción break CONDICIÓN EVALUAR Verdadero EJECUTAR Fin del ciclo break;

INTRUCCIONES ESPECIALES Ejemplo Realizar un programa que pida que se ingresen notas de N estudiantes, y que cuando halla una nota mayo que 3, muestre un mensaje que diga “Hay alguien que ganó”, y termine el programa inmediatamente.

INTRUCCIONES ESPECIALES Instrucción continue La sentencia continue hace que la ejecución de un bucle vuelva inmediatamente a la cabecera del bucle. Programa que muestra conteo hasta 10, se muestra el siguiente valor del conteo solo si se le ha ingresado el número 0

INTRUCCIONES ESPECIALES Instrucción continue #include #define MAX_CONT 10 #define CAR_ESPECIAL 0 int main(void) { int i, equiv=0; int mostrar; for (i = 1; i <= MAX_CONT; i++) { printf("Ingrese 0 si quiere ver el conteo:"); scanf("%d", &mostrar); if (mostrar!= CAR_ESPECIAL){ continue; } printf("El valor del conteo es: %d\n", i); } return 0; } VCCONDICIÓN EJECUTA msj read No se ingresó 0 Volver al ciclo INC Se ingresó 0 msj conteo=2 1<=10 ? i=i+1 i=1+1 i=2 2<=10 ? … 11<=10 ? Fin del ciclo

AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 4 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados 6

Ciclos Anidados Ciclos anidados Se pueden anidar ciclos repetitivos. Útil para aplicaciones de matrices de mas de una dimensión. for( i=0; i<LIM1; i++ ) { for( j=0; j<LIM2; j++ ) { Instruciones1; }

RESUMEN VBLE_CONTROL Valor 1 secuencias 1 Otras secuencias Valor 2 OtrosValores... CONDICION NO (falsa) secuencias 1 secuencias 2 SI (verdadera) Vble1 <- vble Vble2 <- valor Vble3 <- constante... VbleN <- expresión Diagrama de Flujo Pseudocódigo Lenguaje C

RESUMEN MQ(CONDICIÓN Cuerpo del bucle Falso verdadero PARA VC=LI, LF,INC Cuerpo del bucle Falso verdadero MQ(CONDICIÓ) Cuerpo del bucle Falso verdadero Diagrama de Flujo Pseudocódigo Lenguaje C

Bibliografía Joyanes Aguilar, Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos Capitulo3. H.M. Deitel, P.J. Deitel. Como programar en C y C++ Google