Estructura If Esta sentencia, es considerada de alternativa doble (si se cumple condición entonces..., sino... / If... then... else... ).

Documentos relacionados
Estructuras de Programación

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

Programación Estructurada

Centro Universitario UAEM Zumpango Ingeniería en Computación

24/8/2018. cuota monto/cantcuotas

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

Programación Estructurada

28/08/2018. Dra. Jessica Andrea Carballido. cuota monto/cantcuotas

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

Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte)

EJERCICIOS ALGORITMOS

Estructuras de Control Selección o Decisión

GUÍA DE TRABAJO Tecnología en Sistemas de Información

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

21/03/2018. Variables y Constantes. Los datos de un programa están representados por variables o constantes y tienen asociado un tipo.

Estructuras de Decisión Múltiple

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Control de Flujo II. Estructuras Repetitivas

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION

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

ESTRATEGIA DIDÁCTICA Estructura de control de secuencia: IF THEN ELSE

Profesor(a): Ing. Miriam Cerón Brito

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

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

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

El diseño de un programa Jhon Jairo Padilla Aguilar, PhD.

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

D L M M J V S

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5

Módulo 7: Sentencias de control en Pascal

Estructuras de Decisión Simples y Dobles

RECORDAR TIPOS DE DATOS

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

La forma general que tiene un condicional (una pregunta) es la siguiente:

Elabore el análisis, diseño orientado a objetos e implementación de una aplicación de consola que resuelva las siguientes situaciones:

Trabajo Práctico Nº 4 Iteración

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros

ICM Fundamentos de Computación

Conceptos. Generales ALGORITMOS

Tema 3. Estructuras de Datos

GUIA DE EJERCICIOS Nº 02 Estructuras Selectivas

1. Lenguaje Pascal. 2. Módulos de un Programa. 3. Tipos de Datos más utilizados. 4. Declaración de Variables

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

EJEMPLOS Y EJERCICIOS

Estructuras de Repetición

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Introducción a los Computadores (CNM-130) Estructuras algorítmicas selectivas

Estructuras de Decisión Simples y Dobles

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas

M. C. Bertha López Azamar

Estructura Selectiva Múltiple

Estructuras de Control. Secuencia y Selección

Y alternativamente se presentarán soluciones de problemas donde se utilicen:

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

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

Unidad 4. Lógica de Programación. Prof. Eliana Guzmán U.

Trabajo Práctico Nro. 1

Estructuras de Control. Secuencia y Selección

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

UNIVERSIDAD LUTERANA SALVADOREÑA. Docente: ANA LISSETTE GIRÓN

BOLETÍN DE EJERCICIOS: PROGRAMACIÓN EN C++ Ejercicio 1.- escribir un programa que calcule el factorial de un número:

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

Capítulo 3. Sentencias condicionales

FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan


DEPARTAMENTO DE: Ciencias Básicas CARRERA/S: Licenciatura en Sistemas de Información (RES.HCS. Nº676/11)

BOLETÍN 5: Algoritmos II

2012 UNAN LEON DPTO. DE COMPUTACION FACULTAD CIENCIA Y TECNOLOGIA

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

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

Ejemplo: Diseñar un algoritmo para leer la nota final de un estudiante y decir si el estudiante ganó, perdió o puede habilitar.

Estructuras de Control

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Informática Aplicada I

Iteración Diagrama de SINTAXIS: IF

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

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Programación Estructurada. Ejercicios Prácticos Adicionales

DISEÑO ESTRUCTURADO. Herramientas de representación de algoritmos

GUIÓN DE PRÁCTICAS 3: ESTRUCTURAS CONDICIONALES

Tipos y Estructuras de Control. Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR

Estructuras de control Agosto de Facultad de Ingeniería. Universidad del Valle

Informática I para Bachillerato

GUÍA DE TRABAJO Tecnología en Sistemas de Información

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C

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

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16

Tema: Estructuras de Selección en C#.

Programación Estructurada. Sesión 3:Estructras de control

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

Universidad de Antioquia Facultad de Ciencias Exactas y Naturales Instituto de Matemáticas Taller 3 - Programación

1. Leer dos números A y B e intercambiar sus valores sin utilizar variables auxiliares.

Transcripción:

ESTRUCTURAS SELECTIVAS En el capítulo 3 se vio que cada instrucción se ejecutaba en el orden en que se había escrito, pero esto no siempre ocurre así, ya que muchas veces es necesario usar estructuras de decisión del tipo si...entonces...sino. Para realizar acciones alternativas o tomar decisiones se usan condiciones que son verdaderas o falsas y se llaman expresiones lógicas o booleanas. Las expresiones lógicas se forma utilizando los operadores relacionales siguientes: >, <, =, >=, <=, <>. Las expresiones lógicas se pueden combinar dando expresiones más complejas, usando los operadores lógicos que presentan el siguiente orden de evaluación: not, and y or, y sus significados se pueden ver en las tablas de verdad. Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar estructuras de decisión o de alternativas. Son dos: la sentencia if y la sentencia case. Estructura If Esta sentencia, es considerada de alternativa doble (si se cumple condición entonces..., sino... / If... then... else... ). cierta Pseudocódigo en castellano si <condición> entonces < acción S1> sino < acción S2 > Código de programa if <condición> then < acción S1> else < acción S2> Su estructugrama tiene la siguiente forma: <condición> si no < acción S1> < acción S2> Es decir si la expresión que se evalúa es verdadera se ejecutará la sentencia siguiente al then, de otro modo (falso) se ejecutará la sentencia siguiente al else. Cuando se desea que se ejecute una acción determinada sólo si la condición es verdadera y no se desea ejecutar ninguna si es falsa se puede omitir el else quedando: Pseudocódigo en castellano si <condición> entonces < acción S1> Código de programa if <condición> then < acción S1>

Se observa que el punto y coma anterior al end final del if es opcional y se puede suprimir. En los ejemplos 4.1 y 4.2 se pueden ver las aplicaciones de esta estructura. Ejemplo 1: Se leen dos valores enteros A, B. Si A es mayor que B se debe realizar la suma de ambos, en caso contrario, se debe hacer el producto. Pseudocódigo del programa Diagrama N-S nombre selección1(program); Declaraciones (uses) Crt, Dos; Variables(var); A (valor que ingresa) : entero; B (valor que ingresa) : entero; R (resultado de la oper.): entero inicio (begin); Limpieza de la pantalla Ingreso de datos Si A>B entonces nombre selección1 Declaraciones Crt, Dos Variables A, B, R :enteros Comienzo (programa) Limpieza Ingreso A > B Entonces R A + B R A + B R A * B Sino R A * B salida resultados: fin(end.) Resultado fin (programa) Aquí se pueden observar varios de los pasos ya vistos. Por lo tanto sólo se desarrollará el pseudocódigo y el diagrama estructurado de la alternativa. Pseudocódigo de la alternativa procedimiento alternativa inicio (begin); si A > B entonces R A + B sino R A * B fin(end;) Diagrama N-S A > B R A + B R A * B

El código del procedimiento es: Ejemplo 2 if A > B then R := A + B else R := A * B; Se leen dos valores enteros A, B. Si A es mayor que B se deberá realizar la suma de ambos e imprimir un cartel diciendo R es la suma de A y B. En el caso contrario, se pide hacer el producto y se debe imprimir otro cartel que diga R es el producto de A y B. Por ser muy similar al anterior sólo se realizará la parte del programa de la decisión. Como dentro de la alternativa se colocó la impresión de resultados el algoritmo estructurado quedará de la siguiente manera. Algoritmo alternativa Pseudocódigo de la alternativa Diagrama N-S si A > B entonces R A + B Imprimir cartel suma y resultados sino R A * B Imprimir cartel producto y resultados R A + B Imp. Resultado y carteles A > B R A * B Imp. Resultado y carteles El código de la estructura es: if A > B then begin {* comienzo del then *} R := A + B; writeln ( 'R es la suma de A y B = ', R); end {* fin del then *} else begin {* comienzo del else *} R := A * B; {* producto *} writeln ( 'R es el producto de A y B = ', R); end; {* fin del else *} Nota: Cuando alguna de las opciones tiene más de una instrucción, dicha opción deberá llevar un begin con su correspondiente end. Debe notarse que el end del then no tiene puntuación y en cambio el del else si lleva punto y coma (;) esto se debe a que la instrucción previa al este else nunca lleva punto y coma (;).

SALIDAS MÚLTIPLES Si se tiene más de dos posibles salidas, aquí aparecen dos soluciones similares al problema. IF anidado En esta solución se utiliza un if dentro de otro y siempre se anida por la salida Else (sino). Ejemplo 3 Se pide un programa donde se ingrese un número entre 1 y 5, incluidos ambos y que se imprima en pantalla su expresión de caracteres es decir si ingresa 2 imprime Dos. En este caso se tienen cinco salidas probables (uno, dos, tres, cuatro o cinco), lo que indica que habrá 4 if anidados. Si a = 1 Entonces impre = Uno Sino Si a = 2 Entonces impre = Dos Sino Si a = 3 Entonces impre = Tres Sino Si a = 4 Entonces impre = Cuatro Sino impre = Cinco fin_si {* fin_si no tiene equivalente en Pascal *} fin_si fin_si fin_si <condición 1> <condición 2> < acción S1> <condición 3> < acción S2> <condición 4> < acción S3> < acción S4> < acción S5> El código de la estructura es: if A = 1 then {* pregunta por uno *} writeln ( 'U n o ') {* salida por uno *} else if A = 2 then {* pregunta por dos *} writeln ( 'D o s ') {* salida por dos *}

Case else if A = 3 then {* pregunta por tres *} writeln ( 'T r e s ') {* salida por tres *} else if A = 4 then {* pregunta por cuatro *} writeln ( 'C u a t r o ') {* salida por cuatro *} else writeln ( 'C i n c o '); {* salida por cinco *} Esta solución se utiliza en reemplazo del if anidado. Es más práctica y eficiente y su pseudocódigo genérico es: según...sea E hacer E1: sentencia 1 E2: sentencia 2 E3: sentencia 3...... E n : sentencia n [sino sentencia x ] fin...según Variable Opción 1 Opción 2 Opción 3 Opción.. Opción n else <acción S1> <acción S2> <acción S3> <acción S..> <acción Sn> <acción Sm> Para el problema anterior (del Ejemplo 4.3) el pseudocódigo será: según...sea A hacer 1: Imprimir U n o 2: Imprimir D o s 3: Imprimir T r e s 4: Imprimir C u a t r o sino Imprimir C i n c o fin...según El diagrama N - S es: A 1 2 3 4 Else Imprimir UNO Imprimir DOS Imprimir TRES Imprimir CUATRO Imprimir CINCO

El código de la estructura es: case A of {* comienza seleccion *} 1 : writeln ( 'U n o '); {* salida por uno *} 2 : writeln ( 'D o s '); {* salida por dos *} 3 : writeln ( 'T r e s '); {* salida por tres *} 4 : writeln ( 'C u a t r o '); {* salida por cuatro *} else writeln ( 'C i n c o '); {* salida por cinco *} end; {* fin del case *}

PRÁCTICA DE SELECTIVAS 1. Ingrese los valores numéricos enteros A, B, C, D, E y diga si su promedio es mayor o igual a 7. 2. Dado un conjunto de 3 números A, B, C. Hacer un programa que determine cuál de los tres es el mayor valor y cuál es el menor 3. Una universidad privada cobra como arancel 150 dólares por materia que se cursa, pero si la cifra supera los 800 dólares, se cobra esa cifra (así un estudiante que cursa 3 materias paga 450 dólares y uno que cursa 10 paga 800 dólares). Hacer un programa que solicite el nombre del alumno y la cantidad de materias a cursar y saque por pantalla los dos datos ingresados y el valor a pagar (como en el ejemplo). Alumno Número de materias Monto XXXXXXXXXXXX YY U$ RRR 4. Escriba un programa que le pida al usuario que ingrese una letra (minúscula), y le indique si es una vocal (a, e, i, o, u), ó si es una consonante. 5. Ingrese los valores numéricos reales a, b, c, que son coeficientes de una ecuación cuadrática y obtenga los valores X 1 y X 2 reales. Si la solución de la raíz diera como resultado un valor negativo, imprima un cartel que diga La solución son dos números complejos conjugados. 6. Ingrese los valores numéricos reales a, b, c, que son coeficientes de una ecuación cuadrática y obtenga los valores X 1 y X 2 reales. Si la solución de la raíz diera como resultado un valor negativo, imprima el resultado como m + ni; m -ni. 7. Escriba un programa que le pida a un usuario un número entre 20 y 99 en forma numérica y luego lo saque por pantalla en palabras. 8. Haga un programa que permita ingresar un número de 1 a 7 y salga el correspondiente día de la semana (Ej: 1 Lunes; 2 Martes;...). Si ingresa un valor que no esté comprendido entre 1 y 7 deberá imprimir un cartel que diga ERROR... valor fuera de rango 9. Escriba un programa que lea un número entero (variable tipo integer), y escriba cuántos dígitos tiene. Ejemplo 1285 tiene 4 dígitos. 10. Escriba un programa que ingresados tres valores enteros y positivos (A, B y C), determine si son lados de un triángulo rectángulo. En caso de serlo, indicar si A, B o C es la hipotenusa. 11. Haga un programa que permita ingresar dos números reales y el símbolo de la operación, obteniéndose el correspondiente resultado. Si el símbolo no es correcto, deberá imprimir un mensaje que indique Error en símbolo 12. El dueño de la pizzería de la práctica anterior ha decidido optimizar su servicio, para lo cual ha reducido a 3 los tamaños de las mismas: personal (12 cm de diámetro), chica (22 cm), grande (33 cm). Por este motivo ha solicitado una modificación al programa de manera tal que al usuario le aparezcan la tres posibilidades, y el usuario solo pueda elegir entre una de esas posibilidades.

PRÁCTICA DE ESTRUCTURAS CÍCLICAS 1. Leer una lista de 10 valores enteros, calcular e informar: La suma de los valores positivos. El producto de los valores negativos. (ignorar los valores nulos). 2. Ingresar 5 juegos de cuatro valores cada uno: calcular y emitir el promedio de cada juego. 3. Ingresar N juegos de cuatro valores cada uno; calcular y emitir el promedio de cada juego. El proceso finaliza al encontrarse un juego cuyo primer valor es 0. 4. Ingresar dos números enteros positivos y calcular el producto de los mismos por sumas sucesivas. 5. Leer una lista de números positivos que finaliza en cero y emitir el valor mínimo de la lista. 6. Leer una lista de números enteros que finaliza en cero y emitir el valor máximo de lista. 7. Idem a 5, emitiendo además la ubicación del máximo dentro de la lista. (suponer un único máximo). 8. Leer 4 juegos de N valores enteros cada uno, donde N se informa al comienzo de cada juego, y emitir el valor máximo de cada grupo. (suponer un único máximo). 9. Dada una lista de valores numéricos positivos, finalizada en cero, indicar si está ordenada en forma ascendente. 10. Una empresa informa para cada uno de sus 20 vendedores: Código de vendedor 3 dígitos Importe de ventas del mes Real Se desea emitir el importe máximo de ventas del mes y cuántos vendedores alcanzaron dicho importe 11. En una central telefónica se procesan los llamados realizados en la siguiente forma por cada llamada que ingresa: Código de la llamada Tipo de día Duración de la llamada 3 dígitos (cero al finalizar el proceso) "1" hábil y "2" feriado Entero > cero Los importes son: Primeros 3 minutos Minuto adicional Días hábiles 10 2 Días feriados 15 3 Se deberá emitir: El importe a abonar por cada llamada. La cantidad de llamadas que superen los tres minutos El porcentaje de llamados que superen los tres minutos. (Sobre el total de llamadas informadas).

12. Se leen 30 valores reales (comprendidos entre 5 y 40), que representan la temperatura máxima de cada uno de los día de un mes, se pide hallar: La temperatura máxima del mes y el día que se produjo. (se supone única). Cuántos días la temperatura superó los 25 grados centígrados. El promedio de las temperaturas del mes: 13. Se ingresan los resultados de la evaluación de un grupo de un curso de programación, por cada alumno se informa: Número de matrícula 4 dígitos (1-9999) Asistencia 1 para presente, 0 para ausente Calificación 2 dígitos (0-10) A partir de esta información se debe calcular e informar: Cantidad y porcentaje de alumnos presentes. Porcentaje de alumnos aprobados (sobre el total de alumnos presentes). 14. En la pizzería de las prácticas anteriores se ha determinado que los costos de los complementos no son en todo los caso iguales: sus valores son los siguientes en $/cm2: Doble muzzarella 0.003 Morrones 0.004 Jamón 0.006 Longaniza 0.005 Roquefort 0.008 Palmitos 0.010 Aceitunas negras 0.002 Por lo tanto, se pide un modificación que le permita al usuario elegir si desea o no complementos y cuáles desea. Para pensar... 15. Realice un programa que permita resolver un sistema de dos ecuaciones con dos incógnitas del tipo Ax + By + C = 0. 16. Realice un programa que permita calcular la intersección de dos rectas de la forma y= mx + b.

Bibliografía 1. De Giusti A. Algoritmos, Datos y Programas. Pearson. 2002 2. Joyanes Aguilar L.: Turbo Pascal 5.5 6.0 y 7.0. Editorial Mc. Graw-Hill. 2001. 3. Leetsma S. Y Nyhoff L. Programación en Pascal. Prentice Hall 1999 4. Lopez Leobaldo. Programación estructurada en Turbo Pascal 7. Alfaomega. 5. Dale N. y Lilly S.: Pascal y Estructura de datos. Editorial Mc. Graw-Hill. 6. O Brien y Nameroff. Turbo Pascal 7 Manual de Referencia. Mac Graw Hill 7. Weiss. Estructuras de Datos y Algoritmos. Addison Wesley 8. Grogono P.: Programación en Pascal. Editorial Prentice Hall. 9. Alcalde E. y otros (1988): Informática Básica. Editorial Mc Graw Hill. (Cap 2) 10. Wirth N.: Algorithms + Data Structures = Programs. Editorial Prentice Hall. 11. Wirth N.: Introducción a la Programación Sistemática. Editorial El Ateneo. 12. Braunstein y Gioia: Introducción a la Programación y Estructuras de Datos. Editorial Eudeba. 13. Carroll: Turbo Pascal. Editorial Mc. Graw-Hill. 14. Schildt: Programación y técnicas en Pascal avanzado. Editorial Mc. Graw Hill. 15. Dijkstra-Hoare: Structured Programming. Academic Press. 16. Cataldi Z. y Lage F., 2000 - Algoritmos I. Recopilación de los Algoritmos Fundamentales. ISBN 987-461764-7.