Estructuras de Control.

Slides:



Advertisements
Presentaciones similares
Estructuras de control
Advertisements

ESTRUCTURAS DE CONTROL
Estructuras de decisión en C
Estructuras de Repetición Algoritmos
Programación Estructurada
Introducción a los Algoritmos
Fundamentos de Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
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.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
CICLOS EN C.
Ocurre con frecuencia, tanto en programación como en la vida real, que las decisiones que se nos pide tomar son más complicadas que una simple selección.
Estructuras de Repetició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
Fundamentos de Programación

Tema 4: Sentencias de control
ESTRUCTURAS ITERATIVAS
ESTRUCTURAS DE CONTROL
Estructuras de Decisión Múltiple
Programación de Computadores
Semana 5 Subprogramas..
Academia de Informática
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
Programación en Matlab
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Capítulo 1 “Elementos de Programación”
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.
Análisis de algoritmos
Informática Ingeniería en Electrónica y Automática Industrial
1002 JM while not detener: adivina = int(raw_input('Ingrese un entero : ')) if adivina == numero: print 'Felicitaciones, haz adivinado!.' detener = True.
Resumen Fundamentos de Programación/ Programación I
EXPRESIONES Y SENTENCIAS

Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Estructuras de Repetición (Hacer-Mientras)
ING.CIP.IVAN PETRLIK AZABACHE. SEMANA 02 Control de flujo  Condicional Simple if( condicion) { //sentencia 1 // sentencia 2. }
Estructuras de control Resolución de problemas y algoritmos.
Programación de Computadores (IWI-131)
Símbolos de Programación Estructurada
Estructuras de Repetición (Hacer-Mientras)
COMPUTO III Ing. Jimmy Ojeda Arnica.
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.
Elaboración de algoritmos usando lógica de programación
Capítulo 2 “Subprogramas/Funciones - Arreglos”
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”
M.S.C. Ivette Hernández Dávila
Práctica Profesional PHP.
Estructuras de Decisión
Estructuras básicas Sentencias de control
2011/1 - CLASE 12. AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 14 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados.
CICLOS EN C – PARTE 3.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Programación Básica Bachillerato Ingeniería en Informática Lic. Carlos H. Gutiérrez León.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
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.
Estructuras de Control.
Transcripción de la presentación:

Estructuras de Control. Semana 3 Estructuras de Control.

En C las sentencias se pueden clasificar en: simples estructuradas Simples Asignación Llamada a función

Sentencias Estructuradas Todas las estructuras de control Las sentencias estructuradas contienen sentencias simples u otras sentencias estructuradas. Una sentencia estructurada se puede utilizar en cualquier lugar donde esta permitida una sentencia simple. De aquí en adelante se usara el termino sentencia para las aquellas estructuradas y simples.

Estruc. de Ctrl.: Secuencia En C todas las sentencias que se escriben entre { y }, se ejecutan en forma secuencial. Una instrucción no inicia hasta que la anterior termine.

Estruc. de Ctrl.: Secuencia #include <stdio.h> Void main(void) { acción 1; acción 2; …. acción n; } Diagrama de Flujo acción 1 acción n acción 2

Ejemplos Desarrollar un programa que haga la conversión de pesos a dólares. Desarrollar un programa que calcule el área y superficie de un circulo, dado como entrada el radio de este. Desarrollar un programa que calcule la superficie y volumen de un cilindro, dado la altura y el radio de este.

Estruc. de Ctrl.: Selección La mayoría de los procedimientos que podemos diseñar para resolver problemas incluyen la elección de uno entre los casos posibles en función del valor particular de alguno de los datos. Las sentencias de control en C: condicional simple If – If/else condicional múltiple switch

Estruc. de Ctrl.: Selección Si la condición es verdadera se ejecuta la sentencia Diagrama de Flujo if (condición) acción; if (condición) { acción 1; …. acción n; } condición true acción false

Ejemplo Desarrollar un programa que reciba un número entero como entrada e indique si este es par.

Estruc. de Ctrl.: Selección if (condición) acción 1; else acción 2; Si la condición es verdadera se ejecuta la acción 1; En caso contrario se ejecuta la acción 2. Es preferible usar { y } para dejar el código más claro. if(condición) { acción1; … acciónn; } else{ acciónr acciónm; Diagrama de Flujo condición false true acción 2 acción 1

If anidados. Diagrama de Flujo condición condición condición acción 4 if (condición 1) if (condición 2) acción 1; else acción 2; if (condición 3) acción 3; acción 4; condición false true condición condición false true false true acción 4 acción 3 acción 2 acción 1

switch Los “If anidados” plantean la problemática de bifurcación múltiple. Puede llegar a ser difícil de leer. C proporciona una estructura alternativa más legible para aquellos casos en los que la bifurcación múltiple se realiza mediante comparación de datos sencillos ordinales denominada switch-case.

Switch-Case switch (expresión) { case valor1: case valor2: ... sentencias break; case valor2: ... default: } Diagrama de Flujo alternativa 1 2 n acción 1 acción 2 acción n El fragmento etiquetado con default es opcional.

Switch-Case #include <stdio.h> int main(void) { int opcion; printf ("1) Saluda\n"); printf ("2) Despídete\n"); scanf ("%d", &opcion); switch (opcion) { case 1: printf ("Hola\n"); break; case 2: printf ("Adiós\n"); default: printf ("Opción no válida\n"); } return 0;

Ejemplo Implementar un menú Selección de equipo de fútbol Muestre mejor jugador del equipo

Estruc. de Ctrl.: Repetitivas Las estructuras de control repetitivas, como su nombre lo indica, repiten la ejecución de un grupo de instrucciones una determinada cantidad de veces. En C las estructuras de control de este tipo son: while do - while for

While. Mientras la condición sea verdadera la(s) sentencia(s) se repite(n). Dentro de las sentencias del cuerpo del while, se debe modificar alguna variable que se encuentre en la condición, sino se puede producir un ciclo infinito.

While. Diagrama de Flujo condición acción WHILE while (condición) acción; while (condición) { Acción 1; Acción 2; … Acción n; } Diagrama de Flujo condición false true acción

While El siguiente ejemplo produce un ciclo infinito Int variable = 1; while ( variable != 10 ) printf ( “%d”, variable ); Este otro ejemplo no { variable++ }

Mostrar todas las potencias de 2 menores a 20000. Ejemplo Mostrar todas las potencias de 2 menores a 20000. El resultado debe estar formateado de la siguiente manera: 5 números por línea Los números separados por comas La salida debe lucir así: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384

Do while. do { sentencias; } while (condición); Variación del while, se ejecuta(n) una vez la(s) accion(es), luego se evalúa y se sigue ejecutando mientras la condición sea verdadera la(s) sentencia(s) se repite(n) Diagrama de Flujo acción true do { sentencias; } while (condición); condición false

Ejemplo Mostrar los primeros 10 números de la secuencia de Fibonacci La secuencia de Fibonacci comienza con dos números: 1, 1 Cada numero que sigue esta formado por la suma de los dos números anteriores a él La secuencia queda de la siguiente manera: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 Matemáticamente se puede expresar de la siguiente manera

For El for se usa, fundamentalmente, cuando se conocen los límites del bucle... Su parámetro de inicialización Su criterio de terminación Su instrucción de incremento.

La forma general del bucle for puede expresarse así. for (inicialización; condicion; incremento) sentencias Diagrama de Flujo acción Variable:= inicio,fin, 1

For Inicialización es la sentencia que inicializa la iteración (se ejecuta una vez al iniciar). Condición es una sentencia que determina cuando se termina el for. Esta expresión se evalúa al principio de cada iteración. Cuando la expresión se evalúa a false finaliza.

For Incremento es una expresión que se invoca en cada interacción del bucle. Cualquiera (o todos) de estos componentes puden ser una sentencia vacía (solo se identifica por el punto y coma).

Ejemplo Un trozo de código que calcula int resultado = 0; for ( i = 0; i <= 100; i ++ ) resultado += i; Lo mismo pero al revés for ( i = 100; i >= 0; i -- )

Ejemplo Desarrolle un programa que muestre todos los años bisiestos del siglo XXI. La regla para los años bisiestos según el calendario gregoriano es: Un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquellos divisibles por 100), que para ser bisiestos, también deben ser divisibles por 400. Es decir los años que sean divisibles por 4 serán bisiestos; aunque no serán bisiestos si son divisibles entre 100 (como los años 1500, 1700, 1800, 1900 y 2100) a no ser que sean divisibles por 400 (como los años 1600, 2000 ó 2400). En 400 años debe haber 97 años bisiestos, de esa manera el año del calendario gregoriano se mantiene muy parecido al año solar. Así el año gregoriano dura 365 días +1/4 -1/100 +1/400 = 365,2425 días (más que el año trópico que dura 365,2422 días).

Ejemplo Desarrolle un programa que escriba una tabla de dos columnas para la conversión entre las temperaturas en grados Fahrenheit, comprendidas entre 0 y 300, según incrementos de 1, y su equivalente en grados centígrados. La conversión esta dada por la siguiente formula Donde C esta en Centígrados y F en Fahrenheit

Sentencias para alterar el flujo iterativo La sentencia break está disponible en C. Con ella se puede, abortar al instante la ejecución de un bucle cualquiera (while, do-while o for).

Sentencias para alterar el flujo iterativo Otra sentencia de C que puede resultar útil es continue. Esta sentencia finaliza la iteración actual, pero no aborta la ejecución del bucle. Por ejemplo, cuando en un bucle while se ejecuta continue, la siguiente sentencia a ejecutar es la condición del bucle; si ésta se cumple, se ejecutará una nueva iteración del bucle.

FIN Cada vez más cerca …