Estructuras de control condicional

Slides:



Advertisements
Presentaciones similares
Estructuras condicionales
Advertisements

Condicional if y switch
ESTRUCTURAS DE CONTROL
Lenguaje C++.
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Estructuras de Decisión I IF - THEN - ELSE
Estructuras de decisión en C
Profesora: Nelwi Báez P
Fundamentos de Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Temas Operaciones básicas Operaciones Operadores Aritméticos
Estructuras de Control
Curso de Programación I Parte III
Estructuras de control
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 SECUENCIA
Introducción a la Computación (7ma Semana) Lunes 16 de Abril del 2007
Introducción a la Computación
Algoritmo y Estructura de Datos I
SOBRECARGA DE FUNCIONES
Estructuras de Control
Estructuras de repetición
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
ESTRUCTURAS DE CONTROL
Programación de Computadores
Introducción a la Computación
Brazos Bloque IF Permite que se ejecuten una serie de tareas si y sólo si una expresión lógica es verdadera. IF(logical_exp) then sentencia1 sentencia2.
Unidad III Elementos del lenguaje C++
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Switch en PHP Programación en Internet II. Switch en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa Elegir.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
Sentencias de selección
Capítulo 2 – Estructuras de Control
Informática Ingeniería en Electrónica y Automática Industrial
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
EXPRESIONES Y SENTENCIAS
Unidad II: Fundamentos de Programación
Estructuras de control condicional
Estructuras de Control.
Informática Tema5- Estructuras de Control en C:
Estructuras de repetición
ESTRUCTURA DE DECISION LOGICA EN LENGUAJE C
Funciones Curso Propedéutico Maestría en Ingeniería Electrónica.
Sentencias de selección Curso de Programación. OBJETIVOS Implementar sentencias de control de selección en un programa usando sentencias if. Implementar.
Estructuras de Repetición (Hacer-Mientras)
Estructuras de control condicional
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Tema ‧ Comando - while Repeticiones. Comando while ‧ Un ciclo es cualquier construcción de programa que repite una sentencia ó secuencia de sentencias.
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)
DEV- C++ ·include <iostream> Int x x=x+2(x)
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
Estructuras selectivas
Programación para Ingenieros I IIS
Informática Prof. María Alejandra Quintero.  Operadores relacionales  Operadores lógicos  Expresiones lógicas  Estructuras de decisión simple  Estructuras.
Estructuras de Decisión
Lic. Carla Aguirre Montalvo
Sentencia Condicional
Algoritmo.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
ESTRUCTURAS DE DECISION MULTIPLE
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Tema – 5 Construcciones condicionales Introducción En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas.
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.
1 Clase 6: control (1ª parte) iic1102 – introducción a la programación.
Operadores relacionales y lógicos.. Operadores relacionales  Son símbolos que se usan para comparar dos valores.  Dependiendo de la expresión comparada,
Transcripción de la presentación:

Estructuras de control condicional Curso Propedéutico Maestría en Ingeniería Electrónica

Operadores relacionales Los operadores relacionales generan un valor 1 si es verdadera y 0 si es falsa Operador Significado == igualdad != Diferente > Mayor que < Menor que >= Mayor o igual <= Menor o igual

Sentencia if La sentencia if permite decidir ejecutar o no una instrucción o un bloque de instrucciones. Sintaxis if (condición) Instrucción o bloque; Un bloque es una secuencia de instrucciones englobadas entre llaves (“{}”). La condición esta formada por una expresión booleana. verdadero condición sentencias falso

Ejemplo de if simple Prueba si un número leído desde el teclado es par. #include <iostream.h> int main() { int numero; cout << "teclee un número: "; cin >> numero; if(numero % 2 == 0) cout << "número par"; return 0; }

Ejemplo 2 de if simple Si el número a es divisible por el número b, se despliega el número de veces que a es mayor que b. #include <iostream.h> int main() { int a,b,n; cout << "teclee un número: "; cin >> a; cout << "teclee un número: "; cin >> b; if(a % b == 0){ n = a / b; cout << a << " es " << n << " veces " << b; } return 0; }

Sentencia if - else La sentencia if – else permite decidir entre ejecutar una instrucción (o un bloque de instrucciones) y otra instrucción (o un bloque de instrucciones) Sintaxis if (condición) Instrucción o bloque; else falso verdadero condición sentencias sentencias

Ejemplo de if - else simple Prueba si un número leído desde el teclado es par. #include <iostream.h> int main() { int numero; cout << "teclee un número: "; cin >> numero; if(numero % 2 == 0) cout << "número par"; else cout << "número impar"; return 0; }

Intersección de dos rectas Programa para determinar si dos rectas se interceptan Suponga que las rectas se representan por la ecuación de la forma y = m x + b Donde m es la pendiente y b es la ordenada al origen. La única forma en que las dos rectas no se interceptan en un punto es cuando son paralelas, es decir, cuando las dos tienen la misma pendiente. Podemos expresar el algoritmo de la siguiente forma si pendiente1 diferente de pendiente2 calcular la intersección imprimir resultado sino informar que no se interceptan

Programa #include <iostream.h> int main() { float m1,m2,b1,b2,x,y; cout << "teclee la pendiente y ordenada al origen 1: "; cin >> m1 >> b1; cout << "teclee la pendiente y ordenada al origen 2: "; cin >> m2 >> b2; if(m1 != m2){ x = (b2 - b1)/(m1 - m2); y = m1*x+b1; cout << "Las rectas se interceptan en: " << x << ", " << y << endl; } else cout << "Las rectas no se interceptan..."; return 0; }

Sistema de ecuaciones 2x2 Se desea resolver un sistema de ecuaciones de 2x2 de la forma a x + b y = c d x + e y = f El sistema puede resolverse con las fórmulas x = (c e – b f) / (a e – b d) y = (a g – c e) / (a e – b d) El sistema tiene solución si el denominador de estas fracciones es diferente de cero. El algoritmo es: si (a f – b e ) != 0 calcular solución mostrar resultado sino informar que no hay solución

Programa sis2x2.cpp #include <iostream.h> int main() { float a,b,c,d,e,f,x,y; cout << "teclee los coeficientes a, b, c, d, e, f: "; cin >> a >> b >> c >> d >> e >> f; if( (a*f - b*e) != 0){ x = (c*e - b*f)/(a*e - b*d); y = (a*f - c*d)/(a*e - b*d); cout << " x = " << x << "\ny = " << y << endl; } else cout << "El sistema no tiene solución\n"; return 0; }

Sentencia ?: La sentencia if puede abreviarse mediante el operador ?:. La sintaxis es: condición ? operando1 : operando2; Esta muy relacionado a la sentencia if/else. El operador regresa el operando1 si la condición es verdadera y regresa el operando2 si es falsa. Ejemplo: cout << ( cal >= 60 ? “Aprobado” : “Reprobado”); Esta sentencia imprimirá “Aprobado” se cal es mayor o igual a 60 e imprimirá “Reprobado” si es menor que 60. Note que los paréntesis son necesarios dado que el operador ?: tiene la menor precedencia. También es válido: cal >= 60 ? cout << “Aprobado” : cout << “Reprobado”;

Tarea #3 Escriba un programa que lea un número y determine si es par o impar. Utilice el operador ?:. Escriba un programa que lea tres números reales representando los lados de un triángulo y decida si el triángulo es rectángulo o no. Escriba una versión con if-else y otra con el operador ?:. Escriba un programa para resolver una ecuación cuadrática. Considere el caso en que las soluciones sean complejas.

Operadores lógicos Existen 4 operadores lógicos en C: and = &&, or = ||, not = !, xor = ^. Los operadores lógicos tienen una prioridad más baja que los operadores relacionales. expresión1 expresión2 expresión1 && expresión2 falso verdadero expresión1 expresión2 expresión1 || expresión2 falso verdadero expresión !expresión falso verdadero expresión1 expresión2 expresión1 ^ expresión2 falso verdadero Prioridad de evaluación ! && ||

ejemplos de operadores lógicos x > 5 || x == 3 verdadero para x = 3, 6, 7, ... ! (x == 7) && x % 2 != 0 verdadero para x = 1, 3, 5, 9, 11, ... x <= -1 || x > 5 || x ==2 verdadero para x = -2, -1, 2, 6, 7, 8, ... En el siguiente fragmento se despliegan solo los múltiplos de 7 o cuadrados perfectos if(num % 7 == 0 || sqrt(num)-floor(sqrt(num))==0)

Anidamiento Una sentencia if puede tener es su parte verdadera o falsa otra sentencia if. O sea if(condición1) if(condición2) if(condición3) sentencias; ...

Ejemplo de anidamiento Se desea un programa para imprimir un letrero dependiendo de la siguiente tabla: #include <iostream.h> int main() { float cal; cout << "teclee la calificación: "; cin >> cal; if(cal < 6) cout << “Reprobado\n"; else if(cal < 7) cout << “Suficiente\n"; else if(cal < 8) cout << “Bien\n"; else if(cal < 9) cout << “Muy bien\n"; else cout << “Excelente\n"; return 0; } condición letrero cal < 6 “Reprobado” 6 <= cal < 7 “Suficiente” 7 <= cal < 8 “Bien” 8 <= cal < 9 “Muy bien” 9 <= cal < 10 “Excelente”

Comparación de 3 números #include <iostream.h> int main() { float a, b, c; cout << "teclee 3 números: "; cin >> a >> b >> c; if(a > b) if(a > c) cout << a << endl; else cout << c << endl; else if(b > c) cout << b << endl; return 0; } #include <iostream.h> int main() { float a, b, c; cout << "teclee 3 números: "; cin >> a >> b >> c; if(a >= b && a >= c) cout << a << endl; if(b >= a && b >= c) cout << b << endl; if(c >= a && c >= b) cout << c << endl; return 0; }

Sentencia switch La sentencia switch permite elegir entre varias alternativas. Sintaxis switch (<expresión>){ case <constante>:[case <constante>:]<sentencias>;break; ... [default:<sentencias>;break;] } Acción del caso a break; caso a Acción del caso b break; caso b Acción del caso z break; caso z Acción por omisión

ejemplo de switch #include <iostream.h> int main() { int dia; cout << "teclee el número del día: "; cin >> a; switch(a){ case 0:cout << “Lunes” << endl;break; case 1:cout << “Martes” << endl;break; case 2:cout << “Miércoles” << endl;break; case 3:cout << “Jueves” << endl;break; case 4:cout << “Viernes” << endl;break; case 5:cout << “Sabado” << endl;break; case 6:cout << “Domingo” << endl;break; default cout << “día no válido” << endl; return 0; }

Tarea #4 Escriba un programa determine el mayor y el menor de dos números. Luego determine el cociente y el residuo del mayor entre el menor y despliegue los resultados. Modifique el programa de comparación de tres números para que despliegue los tres números leídos en orden ascendente. Si se teclea 3 6 1 deberá desplegar 1 3 6. Haga las dos versiones con if anidados y con condiciones compuestas. Modifique el programa de los días de la semana para desplegar “entre semana” si el día es de 0 a 4, “sabado” si es 5 y “domingo” si es 6.