La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ESTRUCTURAS DE CONTROL

Presentaciones similares


Presentación del tema: "ESTRUCTURAS DE CONTROL"— Transcripción de la presentación:

1 ESTRUCTURAS DE CONTROL
Proposiciones y Bloques Exit() Incondicionales Etiquetas goto Condicionales Simple If if-else elseif Multiple switch break Repetitivas for while do while L.I. Juan Moises Yam Chan

2 Estructuras de Control de Flujo
Proposiciones y Bloques If else Else if Ciclo for Ciclo while y Do While Break y Continue Goto y Etiquetas L.I. Juan Moises Yam Chan

3 Identificar las estructuras de control de flujo en Lenguaje C.
Objetivo: Identificar las estructuras de control de flujo en Lenguaje C. L.I. Juan Moises Yam Chan

4 Estructuras de Control
Son enunciados de código que determinan el flujo de la información. L.I. Juan Moises Yam Chan Pueden ser : Condicionales Repetitivos

5 Estructuras de Control
Condicionales Los enunciados de un programa en C, normalmente se ejecutan de arriba hacia abajo, en el mismo orden en que aparecen en el código fuente. Una estructura de control condicional indica la ejecución o no, de ciertos enunciados. L.I. Juan Moises Yam Chan

6 Estructuras de Control
Condicionales Pueder ser: Cuando se evalúa una condición, y se tienen solamente dos alternativas. Simples if – else L.I. Juan Moises Yam Chan Múltiples Switch Cuando se evalúa una condición, y se tienen varias alternativas para elegir.

7 if if (condición) No se pone ; { enunciado 1;
. . . enunciado n; } No se pone ; Se pone { para abrir el bloque Entre { y } todos los enunciados a ejecutar Condicional Simple if Finaliza con } L.I. Juan Moises Yam Chan En su forma básica, evalúa una condición y dirige la ejecución del programa dependiendo del resultado de esa evaluación.

8 Los enunciados solo se ejecutan si se cumple la condición.
if (condición) { /*Se ejecutan Si se cumple la condición*/ Enuciados… } Si la expresión evalúa a verdadero, se ejecuta el bloque de código. Los enunciados solo se ejecutan si se cumple la condición. Condicional Simple L.I. Juan Moises Yam Chan La ejecución del programa continua después de la llave que cierra el bloque perteneciente al enunciado if.

9 Determinar sí un alumno aprobó una materia. Calif. Aprob. Minima: 6
Ejemplo Determinar sí un alumno aprobó una materia. Calif. Aprob. Minima: 6 if (expresión) { enunciado 1; enunciado 2; . . . enunciado n; } if (calif >= 6) { printf (“aprobado”); } L.I. Juan Moises Yam Chan

10 Determinar sí un alumno aprobó una materia. Calif. Aprob. Minima: 6
Ejemplo Determinar sí un alumno aprobó una materia. Calif. Aprob. Minima: 6 Suponga que la calificación del alumno sea 8 if (calif >= 6) { printf (“aprobado”); } L.I. Juan Moises Yam Chan La condición será: 8 >= 6 Como la condición es verdadera se ejecuta la instrucción y se imprime el mensaje. (8 >= 6)

11 Determinar sí un alumno aprobó una materia. Calif. Aprob. Minima: 6
Ejemplo Determinar sí un alumno aprobó una materia. Calif. Aprob. Minima: 6 Ahora suponga que la calificación del alumno sea 5 if (calif >= 6) { printf (“aprobado”); } L.I. Juan Moises Yam Chan La condición será: 5 >= 6 Como la condición es falsa no se ejecuta la instrucción y continua la ejecucción del programa después de la llave del if. (5 >= 6)

12 if (calif >= 6) (5 >= 6) { printf (“aprobado”); }
En algunos casos como este conviene realizar algo cuando no se cumple la condición if (calif >= 6) { printf (“aprobado”); } (5 >= 6) En este ejemplo sería conveniente mostrar un mensaje cuando el alumno este reprobado. L.I. Juan Moises Yam Chan Para eso esta la cláusula else, la cuál ejecuta un enunciado o bloque cuando no se cumple la condición.

13 if else if (condición) Esta es la parte básica del If
La forma del enunciado if con la cláusula else ofrece 2 opciones; cuando se cumpla y cuando no se cumpla la condición. if else if (condición) { /* inicio de if */ enunciados; } /* fin de if */ else { /* inicio de else */ } /* fin de else */ Esta es la parte básica del If los enunciadose ejecutan si se cumple la condición La parte del else, se ejecuta cuando no se cumple L.I. Juan Moises Yam Chan Igual se usan las llaves

14 Ejemplo if #include <stdio.h> #include <conio.h>
int usuario, clave; void main() { clave=13406; printf("Introduce tu clave: "); scanf("%d",&usuario); if(usuario==clave) printf("Acceso permitido"); } getch( ); L.I. Juan Moises Yam Chan

15 Ejemplo if -else #include <stdio.h> #include <conio.h> int usuario, clave; void main() { clave=13406; printf("Introduce tu clave: "); scanf("%d",&usuario); if(usuario==clave) printf("Acceso permitido"); } else printf(“Clave incorrecta”); getch( ); Dentro del if y del else se pueden escribir cualquier enunciado del lenguaje C, como: solicitar variables, hacer operaciones, incluso otras estructuras. L.I. Juan Moises Yam Chan

16 Ejercicios Determinar si un número es par o impar.
Cuanto va a ganar un empleado a la semana si le pagan $30 por hora y cada hora extra se la pagan al doble. el número de horas normales a la semana son 40. calcular si un número del 1 al 20 es múltiplo de 2,3 o de otro número. Solicitar 3 números y determinar la posición del menor. L.I. Juan Moises Yam Chan

17 Ejemplo if Solicita 2 números Compara si son iguales
Cuando se trata de un solo enunciado dentro del if o else no es necesario poner las llaves. Como sucede en este ejemplo. #include <stdio.h> #include <conio.h> int num1, num2; main() { clrscr(); printf("Teclea un valor entero: "); scanf("%i",&num1); printf("Teclea otro número entero: "); scanf("%i",&num2); if (num1==num2) printf("%i es igual a %i",num1,num2); if (num1>num2) printf("%i es mayor que %i",num1,num2); if (num1<num2) printf("%i es menor que %i",num1,num2); getch(); } Solicita 2 números Compara si son iguales Se cumpla o no la condición compara si el 1º es mayor que el 2o Lo mismo sucede al comparar si el 1º es menor que el 2o L.I. Juan Moises Yam Chan

18 Ejemplo if Observe que si se cumple la 1ª. condición no es necesario evaluar la 2ª. y si se cumple la segunda, pues no tiene caso evaluar la 3ª. El programa es ineficiente. #include <stdio.h> #include <conio.h> int num1, num2; main() { clrscr(); printf("Teclea un valor entero: "); scanf("%i",&num1); printf("Teclea otro número entero: "); scanf("%i",&num2); if (num1==num2) printf("%i es igual a %i",num1,num2); if (num1>num2) printf("%i es mayor que %i",num1,num2); if (num1<num2) printf("%i es menor que %i",num1,num2); getch(); } L.I. Juan Moises Yam Chan

19 Estructuras de Control anidadas
Anidar una estructura de control significa poner una o más estructuras dentro de otra para mejorar la funcionalidad de los programas. L.I. Juan Moises Yam Chan

20 Ejemplo if - anidado Con este concepto se puede mejorar el programa de mayor o menor; utilizando un if anidado #include <stdio.h> #include <conio.h> int num1, num2; main() { clrscr(); printf("Teclea un valor entero: "); scanf("%i",&num1); printf("Teclea otro número entero: "); scanf("%i",&num2); if (num1==num2) printf("%i es igual a %i",num1,num2); else if (num1>num2) printf("%i es mayor que %i",num1,num2); printf("%i es menor que %i",num1,num2); getch(); } L.I. Juan Moises Yam Chan

21 Etiquetas  Una etiqueta es un enunciado que sirve como marca, para que el programa llegue ahí en un momento determinado de la ejecución. Para el uso de las etiquetas en C es necesario conocer el enunciado goto. L.I. Juan Moises Yam Chan

22 Enunciado goto Es uno de los enunciados de salto incondicional o ramificación. Cuando el programa llega a un enunciado goto, la ejecución salta inmediata y automáticamente a la posición especificada(a una etiqueta). L.I. Juan Moises Yam Chan

23 Sintaxis goto goto destino; destino: Repetir:
Destino es una etiqueta que identifica la posición del programa a la que debe de dirigirse la ejecución.. goto destino; Una etiqueta consiste de un identificador seguido de dos puntos, como ejemplo vea estas dos etiquetas; L.I. Juan Moises Yam Chan destino: Repetir:

24 Estructuras de Control
Repetitivas Los enunciados de un programa en C, normalmente se ejecutan de arriba hacia abajo, en el mismo orden en que aparecen en el código fuente. Una estructura de control condicional indica la ejecución o no, de ciertos enunciados. L.I. Juan Moises Yam Chan

25 Estructuras de Control
Repetitivas Este ciclo es utilizado cuando se conoce el número de repeticiones que se requieren. for Es útil cuando se desconoce el número de iteraciones requeridas. L.I. Juan Moises Yam Chan while Es similar al ciclo while, pero a diferencia, se verifica la condición al final del ciclo en vez de hacerlo al principio. do while

26 for No se pone ; for(inicio;fin;incremento ) {
Enunciados que se van a repetir. } Ciclo for donde empieza el ciclo. Ej. x=1 donde termina el ciclo. Ej. X<=100 Indica el avance del ciclo. Ej. X++ L.I. Juan Moises Yam Chan inicio, fin e incremento son expresiones de C, separadas por ;que actúan sobre una variable llamada Variable de Control.

27 ¿Cómo funciona el Ciclo For?.
for(entero=1; entero<=20; entero++) printf("%i\n",entero); getch(); 1.- La expresión inicio es evaluada. Inicio por lo general es una expresión de asignación que pone la variable de control a un valor determinado. En el ejemplo, entero es la variable de control, se inicia con el valor de 1. L.I. Juan Moises Yam Chan

28 ¿Cómo funciona el Ciclo For?.
for(entero=1; entero<=20; entero++) printf("%i\n",entero); getch(); 2.- La expresión de condición es evaluada. La condición es típicamente una expresión relacional que indica el número de vueltas que dará el ciclo. En el ejemplo el ciclo se repetirá mientras que la variable de control sea menor o igual a 20. L.I. Juan Moises Yam Chan

29 ¿Cómo funciona el Ciclo For?.
for(entero=1; entero<=20; entero++) printf("%i\n",entero); getch(); 3.- Cuando la condición es falsa el ciclo termina. En el ejemplo será falsa cuando entero sea 21. L.I. Juan Moises Yam Chan 4.- Si la condición si cumple se ejecutan los enunciados que se encuentran dentro del ciclo. En el ejemplo se imprime el valor que tenga la variable entero.

30 ¿Cómo funciona el Ciclo For?.
for(entero=1; entero<=20; entero++) printf("%i\n",entero); getch(); 5.- La expresión de incremento es evaluada y aumentada, luego pasa el control al paso 2. En el ejemplo se utiliza un operador unario de incremento que aumenta en uno la variable de control, es equivalente a escribir: entero = entero +1 L.I. Juan Moises Yam Chan

31 Ejemplo for Imprimir los primeros 20 números enteros positivos Inicio
#include <stdio.h> #include <conio.h> int entero; void main() { clrscr(); for(entero=1; entero<=20; entero++) printf("%i\n",entero); getch(); } Inicio En 1 Fin En 20 Incremento De 1 en 1 L.I. Juan Moises Yam Chan Cuando es una línea no requiere { } Esta fuera del ciclo

32 Ejemplo for #include <stdio.h> #include <conio.h> int x;
float cal, prom,suma; void main() { clrscr(); for(x=1;x<=8;x++) printf("Teclea la calificicación %i: ",x); scanf("%f",&cal); suma=suma+cal; } prom=suma/8; printf("\n%.2f",prom); getch(); L.I. Juan Moises Yam Chan

33 Es útil cuando se desconoce el número de iteraciones requeridas,
Ciclo Ejecuta un bloque de enunciados en tanto una condición específica sea cierta, es decir, mientras se cumpla la condición. While Es útil cuando se desconoce el número de iteraciones requeridas, L.I. Juan Moises Yam Chan Se puede terminar el ciclo cuestionando al usuario o generando algún valor desde dentro del ciclo.

34 While Ciclo valor inicial; while (condición) {
bloque o cuerpo del ciclo (todo lo que se va a repetir) evento salida; } El valor inicial permite que el ciclo se realice al menos la primera vez. Es un valor que hace que se cumpla la condición. While Se evalúa la condición. Para saber cuando termina Es necesario generar un evento de salida o solicitarlo al usuario L.I. Juan Moises Yam Chan

35 While Ciclo Se evalúa la condición
Si la condición no se cumple, el enunciado while termina y la ejecución pasa al siguiente enunciado después de la llave que indica el fin del ciclo. Si la condición es verdadera (se cumple) se ejecutan los enunciados del ciclo, los que están dentro de las llaves. While L.I. Juan Moises Yam Chan

36 Ciclo La ejecución regresa al paso 1. Y se repite hasta que en algún momento ya no se cumple la condición. While cont=1; while(cont<=10) { printf("%i \n",cont); cont++; } getch(); L.I. Juan Moises Yam Chan


Descargar ppt "ESTRUCTURAS DE CONTROL"

Presentaciones similares


Anuncios Google