Estructuras de Decisión Simples y Dobles

Documentos relacionados
Estructuras de Decisión Simples y Dobles

Unidad 2. La lógica de programación. Tema 4. Estructuras de decisión

Estructuras de Decisión Simples y Dobles. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Estructuras de Repetición: Repita Mientras.

1. Escriba el siguiente código, compílelo y ejecútelo. Obtiene el resultado esperado? Modifíquelo para que se comporte como debe:

Expresiones Aritméticas

Estructuras de Decisión Múltiple

Estructuras de Repetición (Hacer-Mientras)

Estructuras de Control Selección o Decisión

Universidad Autónoma del Estado de México Facultad de Medicina

Estructuras de Repetición (Repita para)

Unidad 2. La lógica de programación. Tema 4. Arreglos y estructuras de repetición

Expresiones Aritméticas

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

RECORDAR TIPOS DE DATOS

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Ejercicios Tema 6. Funciones

Ejercicios aplicando estructuras de asignación.

GUIA DE EJERCICICIOS. 1.- Escribir un algoritmo que lea cuatro números e indique cual es el mayor

GUIÓN DE PRÁCTICAS 3: ESTRUCTURAS CONDICIONALES

FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Tema 3. Estructuras de control

OPERADORES Y EXPRESIONES

NOTA: Un algoritmo o programa de computadoras está estructurado si en su diseño se hace uso de los siguientes tres métodos o estructuras de control:

Tema 3. Estructuras de Datos

CONDICIONALES SWITCH CASE DEFAULT BREAK EN C. ELEGIR ENTRE VARIAS OPCIONES. EJEMPLO. (CU00532F)

Programación Estructurada

Capítulo 3. Sentencias condicionales

MANUAL DE PROGRAMACIÓN

EJEMPLOS Y EJERCICIOS

UNIDAD II: ESTRUCTURAS SECUENCIALES

ESTRUCTURA DE CONTROL, IF SIMPLE, DOBLE Y MÚLTIPLES UNIVERSIDAD NACIONAL AUTONOMA DE NICARAGUA, UNAN LEON DEPARTAMENTO DE COMPUTACION

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

Sentencias iterativas

5. ESTRUCTURAS DE REPETICIÓN

Estructura repetitiva while

Lección 3 Sentencias de control

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

Programación Orientada Objetos. Estructuras de control if, If else, switch

Sentencias DO-WHILE EN C++

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

Introducción a los Computadores Estructuras de control selectivas en C

EJEMPLOS Y EJERCICIOS

Estructuras de Control

ESTRUCTURAS DE CONTROL

Codificación de Estructuras Repetitivas

Práctico 2: Funciones y Punteros en C La teoría general para este práctico puede consultarse en los Capítulos 4 y 5 Notas de Clase

Sentencias de Procesamiento Iterativo: while y do-while

1 Énfasis en sistemas. Módulo FUNDAMENTOS DE PROGRAMACION ESTRUCTURAS CONDICIONALES COMPUESTAS ( If anidados)

ASECOMPU. PORTAL DE REFUERZO ACADEMICO EN PROGRAMACIÓN LISTA DE EJERCICIOS. ESTRUCTURAS SECUENCIALES Fecha de impresión:

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

ESTRUCTURA DECISIÓN LÓGICA

Problema No.7. Elaborar un programa en C++ que lea una temperatura en grados Fahrenheit y muestre su equivalente en grados Celsius, Kelvin y Rankine.

UNIDAD II: Estructuras Decisión Lógica

SESIÓN DE EJERCICIOS E1

Estructuras de control

República Bolivariana de Venezuela Aldea Universitaria Fray Pedro de Agreda PNFSI


TEMA 4. ESTRUCTURAS DE CONTROL

TEMA 4: Programación estructurada

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

SESIÓN DE EJERCICIOS E1

Computación I (CI-2125) Clase 3. Prof. Mireya Morales Primera

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Fundamentos de programación

Programación: Estructuras de Control

Capítulo 12 INSTRUCCIONES DE CONTROL ALTERNATIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

1.9. SENTENCIAS DE CONTROL DE PROGRAMA

Autor: Ing. Nahuel González INTRODUCCIÓN A C. Clase 1

Programación Estructurada. Ejercicios Prácticos Adicionales

Estructuras de control. Dept. Ciencias de la Computación e I.A. Universidad de Granada

Paso de Parámetros a una Función

Operadores aritméticos

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Guía práctica de estudio 04: Diagramas de flujo

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

Conocer los tipos de esquemas condicionales. Entender su funcionamiento y sus diferencias. 1. Introducción. 3. Esquemas condicionales en C

Programación 1 Tema 5. Instrucciones simples y estructuradas

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

Taller 2: Condicionales python

TEMA 3. Sentencias de control.

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Transcripción:

Estructuras de Decisión Simples y Dobles 1

Estructuras no secuenciales Los programas que hemos escrito hasta ahora han consistido en una serie de sentencias que se ejecutan secuencialmente, una después de la otra (asignación, lectura y escritura). Flujo de control: Habilidad de definir el orden en el cual las sentencias de un programa son ejecutadas. Estructuras de decisión o selección. Estructuras de repetición. 2

Estructuras de Decisión Estructura de decisión Permite seleccionar la próxima sentencia a ejecutarse basándose en una condición (expresión lógica o una variable lógica) que es evaluada y, en función del resultado (cierto o falso) de la evaluación, se bifurcará a un determinado punto para continuar la ejecución del programa. Tipos de estructuras de decisión - Simple - Doble - Anidada 3

Estructura de Decisión Simple Diagrama de flujo. Pseudocódigo en español. Si (<condición>) entonces S 1. S n fin_si Código en C if (<condición>) { S 1. S n } 4

Estructura de Decisión Simple Esta estructura evalúa la condición, luego: Si la condición es cierta entonces ejecuta el conjunto de sentencias definidas por S i, i = 1.. n. Si la condición es falsa entonces no ejecuta el conjunto de sentencias definidas por S i, i = 1.. n. 5

Ejemplos I Pseudocódigo Si (x > 0.0) entonces Escribir ( x es Fin_si Si (a<b) entonces b = b + a Fin_si en Español Código en N positivo ) If (x>0.0) printf( x es positivo \n ); If (a<b) {b+=a;} NOTA: Observe que cuando hay una sola instrucción a ejecutarse dentro del if, las llaves son opcionales. 6

Ejemplos II Pseudocódigo en Español Si (nota > 15) entonces eximidos = eximidos + 1 Escribir ( Estudiante Fin_si eximido ) Código en Net Beans if (nota > 15) { eximidos++; println( Estudiante eximido\n ); } NOTA: Cuando hay dos o más sentencias asociadas al if van encerradas entre llaves { }. 7

Ejemplos III Pseudocódigo en Español Si (x > 0.0) entonces y = y + x cont = cont + 1 Fin_si Código en Net Beans if (x >= 0.0) { y += x; cont++; } 8

Ejemplos IV int main() { char miprimeralogica, misegundalogica; } miprimeralogica = TRUE; misegundalogica =!miprimeralogica; if ( misegundalogica == TRUE) printf("misegundalogica tiene el valor cierto (true)"); if ( misegundalogica!= TRUE) printf("misegundalogica tiene el valor falso (false)"); return 0; 9

Ejemplos V Dados tres números enteros, determinar si la suma de cualquier pareja de ellos es igual al tercer número. Si se cumple esta condición, escribir Iguales y, en caso contrario, escribir Distintos. Análisis E-P-S Entradas: A, B, C Z Proceso: - Determinar si A + B = C Iguales - Determinar si A + C = B Iguales - Determinar si B + C = A Iguales - Si no se cumple ninguno de los anteriores Distintos Salida: Mensaje indicando si la suma de dos números es igual Iguales o diferente Distintos a un tercero. 10

Ejemplos VI Algoritmo 0. Inicio 1. Escribir ( Introduzca tres números enteros ) 2. Leer (A, B, C) 3. Si (A + B = C) entonces Escribir ( Iguales ) Fin_si 4. Si (A + C = B) entonces Escribir ( Iguales ) Fin_si 5. Si (B + C = A) entonces Escribir ( Iguales ) Fin_si 6. Si ((A + B = C) o (A + C = B) o (B + C = A)) entonces Escribir ( Distintos ) Fin_si 7. Fin 11

Ejemplos VII Public static void main () { int A, B, C; println( Introduzca tres números enteros\n ); leer A,B,C); if (A + B == C) { println( Iguales ); exit(0); } if (A + C == B) { println( Iguales ); exit(0); } if (B + C == A) { println( Iguales ); exit(0); } if ((A + B!= C) && (A + C!= B) && (B + C!= A)) println( Distintos ); return 0; } 12

Ejemplos VIII Corrida en Frio A B C Resultado 1 4 2 Diferentes 2 5-3 Iguales 3 6 3 Iguales 13

Estructuras de Decisión Simple Anidadas Pseudocódigo en Español Si (condición 1 ) entonces Si (condición 2 ) entonces instrucción 1 instrucción 2 instrucción n NOTA: Las estructuras de decisión anidadas están contenidas unas dentro de otras. Código en Net Beans if (condición 1 ) { // instrucciones if (condición 2 ) { instrucción 1 instrucción 2 instrucción n } } if (condición 1 ) if (condición 2 ) instrucciones 14

Estructuras de Decisión Simple Anidadas Pseudocódigo en Español Si (y > x) entonces y = y x z = z * y Si (z = y) entonces Escribir ( z e y son iguales ) Código en int x, y; if (y>x) { y -= x; z *= y; if (z == y) printn( z, y son iguales }

Estructuras de Decisión Simple Anidadas Pseudocódigo en Español Si (letra > f ) entonces Si (letra < j ) entonces Escribir ( Esta entre g e i ) Si (letra < m ) entonces Escribir ( Esta entre j y n ) Código en Net Beans char letra; if (letra > f ) { if (letra < j ) println( Esta entre f e i ); if (letra < m ) println( Esta entre j y n ); } 16

Ejercicios Propuestos Evalúe los siguientes pedazos de código: int b=2, c=4; if (c%2 == 0) c%=3; if (b%c > 0) print( c*b es:\n,c*b); TRUE 1 float f=1.1; char b=true; if ((!b) && (f/3 > 0)) print( lograra imprimirse );

Ejercicios Propuestos Evalue los siguientes pedazos de código: int b=2, c=4; if (c/b == c%3*2) c%=3; printf( es :,c++); int b=2; int c=++b; int d=c++; c+=d*b; 18

Ejercicios Propuestos Una persona desea invertir su dinero lo mejor posible a través de la compra-venta de dólares. Se sabe que durante el segundo trimestre del año el dólar baja un 5% respecto al primer trimestre, y durante el cuarto trimestre aumenta un 10% respecto al tercer trimestre. Sabiendo que el precio del dólar a principio de año fue de 500,calcule a cantidad de dólares que tiene un inversionista dada una cantidad en colones y un mes específico del año. 19

Estructura de Decisión Doble Pseudocódigo en Español Si (condición) entonces instrucción 11 instrucción 1n sino instrucción 21 Código en C if (condición) { instrucción 11 instrucción 1n } else { instrucción 21 instrucción 2m } instrucción 2m 21

Estructura de Decisión Doble Permite elegir entre dos opciones o alternativas posibles, en función del cumplimiento o no de la condición: Si el resultado de evaluar la condición el CIERTO se ejecutará un determinado grupo de instrucciones 1i, para i = 1,.., n. Si el resultado de evaluar la condición es FALSO se ejecutará otro grupo de instrucciones 2k, para k = 1,.., m. 22

Estructura de Decisión Doble Pseudocódigo en Español Si (nota <= 9) entonces Si (nota >= 7) entonces nota = nota * 1.2; sino nota = nota / 1.2; sino Si (nota <= 15) nota = nota * 1.12; Código en Net Beans if (nota <= 9) { if (nota >=7) nota = nota * 1.2; else nota = nota / 1.2; } else { if (nota <= 15) } nota *= 1.12; 23

Ejemplo I int main() { int mientero; } println( Introduzca un numero entero ); lea mientero; if ( mientero == 0 ) println("mientero es igual a cero ); else printf("mientero no es igual a cero ); println( fin del programa\n ); return 0; 25

Ejemplo II public static void main() { int m; } printf( Introduzca un numero entero\n ); lea(m); if ( (m >= 1) && (m <= 10) ) println( esta entre 1 y 10" + m); else println( m + no esta entre 1 y 10");

Ejemplo III Algoritmo 0. Inicio 1. Escribir ( Introduzca el numero de horas trabajadas ) 2. Leer (HST) 3. Escribir ( Introduzca el precio por hora ) 4. Leer (PH) 5. Si (HST < 40) entonces SM = HST * PH sino SM = 40 * PH + PH* 2 *(HST-40) 6. Escribir ( Salario mensual, SM) 7. Fin 28

Estructuras de Decisión Anidadas Pseudocódigo en Español Si (condición 1 ) entonces sentencias 1 Si no Si (condición 2 ) entonces sentencias 2 Si no Si (condición 3 ) entonces sentencias 3 Código en Net Beans if (condición 1 ) sentencia 1 else if (condición 2 ) sentencia 2 else if (condición 3 ) sentencia 3 NOTA: A veces es importante utilizar las llaves para aclarar el sentido semántico de los if anidados. 34

Ejemplo I void main () { int = a1; } println( Introduzca un valor entero\n ); lea a1; if ( a1 >= 0 ) if ( a1 <= 10 ) printf( el numero esta entre 0 y 10\n ); else printf( el numero no esta entre 0 y 10\n ); Programación Digital I 35

Ejemplo II public static void main () { int = a1; } println( Introduzca un valor entero\n ); lea a1; if ( a1 >= 0 ) { if ( a1 <= 10 ) println( el numero esta entre 0 y 10\n ); a1++; } else println (" el numero es negativo ");

Ejemplo III. Algoritmo el del Centro. 0. Inicio 1. Escribir ( Introduzca tres números enteros ) 2. Leer (A, B, C) 3. Si (A > B) entonces Si (B > C) entonces central = B sino // B < C Si (A > C) entonces central = C sino // A < C central = A Fin_si Fin_si sino // A < B Si (A > C) entonces central = A Sino // A < C Si (C > B) entonc central = B sino // C < B central = C 4. Escribir ( el número es =, central) 5. Fin

Ejemplo III. Codificación. void main () { int A, B, C, central; println( Introduzca tres números enteros\n ); lea A,B,C); if (A > B) if (B > C) central = B; else // B <= C if (A > C) central = C; else // A <= C central = A; else // A <= B if (A > C) central = A; else // A <= C if (C > B) central = B; else // C <= B central = C; println( el número central es " + central); } 39

Ejercicios Propuestos. Realice el análisis E-P-S, algoritmo y codificación para cada uno de los siguientes problemas: Leer un número entero n y calcular e imprimir su inverso 1/n. Considerar el caso especial del valor 0, en cuyo caso el programa deberá escribir el mensaje "ERROR -división por cero". Leer el valor de un año e indicar si es o no un año bisiesto. Recordar la regla: "Un año es bisiesto si es divisible por 400, o bien si es divisible por 4 pero no por 100 40

Ejercicios Propuestos Leer un instante de tiempo expresado en horas y minutos y escribir como respuesta uno de los mensajes "Buenos días", "Buenas tardes" o "Buenas noches", de acuerdo con las siguientes reglas: a) Se considera que es de día desde las 7:30 horas hasta las 14:00 horas. b) Se considera que es por la tarde desde las 14:01 horas hasta las 20:30 horas. c) Se considera que es de noche desde las 20:31 horas hasta las 7:29 horas. 41

Ejercicios Propuestos Leer un carácter y deducir si está o no comprendido entre las letras I y M ambas inclusive. Emitir la factura correspondiente a una compra de un artículo determinado del que se adquieren una o varias unidades. El IVI a aplicar es del 15.5% y si el precio bruto (precio de venta + IVI) es mayor de B. 50.00, se aplicará un descuento del 5%. Leer las coordenadas cartesianas (x, y) de un punto del plano y calcular e imprimir el cuadrante al cual pertenece el punto (I, II, III, IV).

Ejercicios Propuestos Determinar el precio de un pasaje de ida y vuelta en avión. El pasaje tiene un descuento del 30% si la distancia a viajar es superior a los 800km y si el número de días de estancia es superior a 7. El precio por km. es 25.000 colones. Dado un reloj de 24 horas y un tiempo representado en forma de entero de la forma hhmm, donde hh representa las horas (00 a 23) y mm representa los minutos (00 a 59), determinar el tiempo después de que han pasado h horas y m minutos. 24/04/05 Programación Digital I 44

Ejercicios Propuesto Escribir un programa que convierta de grados Fahrenheit a Celsius y viceversa. El programa deberá leer en primer lugar un número entero que indicará si se va a convertir de grados Fahrenheit a Celsius (1) o de grados Celsius a Fahrenheit (2). Seguidamente leerá el valor de la temperatura, realizará la conversión aplicando la fórmula adecuada e imprimirá.