Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Secuencial y Condicional
2020 Lic. Prof. Ariel Ferreira Szpiniak 1 2020 Lic. Prof. Ariel Ferreira Szpiniak 2
decir, que el orden de ejecución coincide con el orden físico C es una condición que se evalúa. A es la
acción que se ejecuta cuando la evaluación
de aparición de las mismas, es decir, de arriba hacia abajo. de este predicado resulta verdadera y B es
la acción ejecutada cuando es falsa.
2020 Lic. Prof. Ariel Ferreira Szpiniak 5 2020 Lic. Prof. Ariel Ferreira Szpiniak 6
2020 Lic. Prof. Ariel Ferreira Szpiniak 7 2020 Lic. Prof. Ariel Ferreira Szpiniak 8
Composición Secuencial Composición Secuencial
Análisis del Problema Diseño del Problema
Datos de entrada: ¿Cuáles y cuántos son los valores de entrada? ¿Qué nombre
Las acciones a ejecutar son: obtener el precio bruto y el iva,
significativo puedo darle a esos datos?
calcular el precio final, e informar el precio final. El algoritmo
Dibujo o esquema que permita entender mejor el problema
debe ejecutar estas acciones de manera secuencial y en este
orden.
Resultados (salida): ¿Cuáles y cuántos son los valores del resultado? ¿Qué
nombre significativo puedo darle a esos resultados? Algoritmo CalcularIva
Lexico
Relaciones o subproblemas : en caso de existir, describir las relaciones existentes precioBruto R+ //variable dato
entre los datos, los resultados u otra información adicional que sea necesaria para la iva R+ //variable (o constante?) dato
resolución del problema. O suproblemas en caso de ser un problema más complejo. precioFinal R+ //variable resultado
Inicio
●
Dato/s: precio bruto es un número (precioBruto) e IVA un número (iva) Entrada:precioBruto iva
• Resultado/s: precio final es un número (precioFinal) precioFinal precioBruto + (precioBruto*iva)/100
• Relaciones o subproblemas: Salida:precioFinal
precioFinal = precioBruto + (precioBruto*iva)/100 Fin
2020 Lic. Prof. Ariel Ferreira Szpiniak 9 2020 Lic. Prof. Ariel Ferreira Szpiniak 10
Composición Secuencial
Composición Condicional
Implementación del Problema Existen diversas formas de composición condicional. Una
#include <stdio.h> //CalculaIva de las tareas en la etapa de diseño es la elección de la
forma más adecuada para el problema en cuestión.
/* léxico */
float precioBruto; Dos casos:
float iva;
- si...entonces...sino
float precioFinal;
2020 Lic. Prof. Ariel Ferreira Szpiniak 11 2020 Lic. Prof. Ariel Ferreira Szpiniak 12
Composición Condicional Composición Condicional
si ... entonces ... sino si ... entonces ... sino - Ejemplo
Sintaxis:
¿Cuándo un número es positivo y
si <condicion> entonces //comentario1 cuándo negativo?
<acciones1>
Análisis
sino //comentario2
Datos: numero es un número (num)
<acciones2>
fsi
Resultados: num es positivo o negativo (resultado).
Semántica: Se evalúa la condición. Cuando la evaluación
de la condición es verdadera, se ejecutan las acciones del
Relaciones o subproblemas: num es positivo si es
entonces (acciones1), únicamente. Cuando la evaluación de
mayor o igual a cero. num es negativo si es menor a
la condición es falsa, se ejecutan las acciones del sino
(acciones2), únicamente. cero. El cero se considera positivo.
2020 Lic. Prof. Ariel Ferreira Szpiniak 13 2020 Lic. Prof. Ariel Ferreira Szpiniak 14
2020 Lic. Prof. Ariel Ferreira Szpiniak 15 2020 Lic. Prof. Ariel Ferreira Szpiniak 16
Composición Condicional Composición Condicional
si ... entonces ... sino - Ejemplo IF ... THEN ... ELSE - Ejemplo
#include <stdio.h> // PositivoNegativo
Diseño /* Lexico */
Algoritmo OtraFormaDePositivoNegativo int num; //variable con el numero a analizar
Lexico int resultado;// variable para informar
num Z //variable con el número a analizar void main(){
resultado Cadena // variable para informar printf("Ingrese un numero entero: ");
Inicio scanf("%d",&num);
Entrada:num if (num<0) {
si num < 0 entonces //num es negativo //num es negativo
resultado "es negativo" resultado=0;
sino //num es positivo }
resultado "es positivo" else {
fsi //num es positivo
Salida:resultado resultado=1;
Fin }
// printf("El numero es %d \n", resultado);
}
2020 Lic. Prof. Ariel Ferreira Szpiniak 17 2020 Lic. Prof. Ariel Ferreira Szpiniak 18
2020 Lic. Prof. Ariel Ferreira Szpiniak 23 2020 Lic. Prof. Ariel Ferreira Szpiniak 24
Composición Condicional Composición Condicional
segun... segun...
Semántica:
Sintaxis: La toma de decisión involucra la evaluación de una serie de
condiciones. Se evalúan cada una de las condiciones.
segun
Cuando la evaluación de una condición es verdadera, se
<condicion1>:<acciones1> ejecutan las acciones correspondientes a dicha condición.
<condicion2>:<acciones2>
...
●
Las condiciones deben cubrir todo el dominio.
<condicionn>:<accionesn>
• Las condiciones deben ser mutuamente excluyentes, es
fsegun decir, solo una es verdadera.
2020 Lic. Prof. Ariel Ferreira Szpiniak 25 2020 Lic. Prof. Ariel Ferreira Szpiniak 26
2020 Lic. Prof. Ariel Ferreira Szpiniak 27 2020 Lic. Prof. Ariel Ferreira Szpiniak 28
Composición Condicional Composición Condicional
segun... otros segun ... - Ejemplo
Sintaxis: Diseño
segun
<condicion1>: <acciones1> Algoritmo Edades
Lexico
<condicion2>: <acciones2> edad Z+ //var para almacenar la edad a analizar
madurez resultado Cadena // variable para informar
<condicion1>: <acciones1>
.. Inicio
. Entrada:edad
segun
<condicionn>: <accionesn> (0<=edad<=11): madurez "el ciudadano es niño"
otros: <accionesm> (12<=edad<=17):madurez "el ciudadano es adolescente"
fsegun (18<=edad<=49):madurez "el ciudadano es adulto"
(edad>=50):madurez "el ciudadano es adulto mayor"
Semántica: En su estructura es similar al anterior. Se utiliza cuando uno de los casos
corresponde al complemento de la unión de los restantes. Si ninguna condición es otros:madurez "edad incorrecta por ser negativa"
verdadera si o si se ejecutan las accionesm. Digamos que otros es una tautología, siempre fsegun
es verdadera. Salida:madurez
La evaluación de las condiciones es similar al según anterior, donde otros entra en juego solo Fin
si ninguna de las n condiciones fue verdadera.
2020 Lic. Prof. Ariel Ferreira Szpiniak 29 2020 Lic. Prof. Ariel Ferreira Szpiniak 30
2020 Lic. Prof. Ariel Ferreira Szpiniak 31 2020 Lic. Prof. Ariel Ferreira Szpiniak 32
Composición Condicional Composición Condicional
segun segun
• Es una de las estructuras condicionales más No existe una estructura condicional similar en los
• Permite expresar más claramente una solución debemos analizar como traducirlo a una estructura propia del
Composición Condicional
Composición Condicional
Equivalencias - Ejemplo
Equivalencias
Algoritmo EjemploSegun
si <condicion1> entonces
según <acciones1> Lexico
num R //var para almacenar el número a analizar
<condicion1>:<acciones1> sino resultado Cadena
si <condicion2> entonces
Inicio
<condicion2>:<acciones2> <acciones2>
Entrada:num
sino segun
<condicion3>:<acciones3> si <condicion3> entonces
(num>=50):resultado "es mayor o igual que 50 "
<acciones3>
otros: <acciones4> (num<=10):resultado "es menor o igual que 10"
sino (10<num<50):resultado "está entre 10 y 50"
fsegún <acciones4> fsegun
fsi Fin
fsi
fsi
2020 Lic. Prof. Ariel Ferreira Szpiniak 39 2020 Lic. Prof. Ariel Ferreira Szpiniak 40
Composición Condicional Implementación en Lenguaje C
Equivalencias - Ejemplo Algoritmo EjemploSiAnidado
#include <stdio.h> <string.h> //EjemploSiAnidado
Algoritmo EjemploSiAnidado /* Lexico */
Lexico int num; //variable con el numero a analizar
num R //var para almacenar el número a analizar} char resultado[21]; //variable para informar
resultado Cadena void main(){
printf("Ingrese un numero entero: ");
Inicio scanf("%d",&num);
Entrada:num if (num>=50) { //num es mayor o igual que 50
si num>=50 entonces //num es mayor o igual que 50 strcpy(resultado,"es mayor o igual que 50 \n");
}
resultado "es mayor o igual que 50 " else { //num es menor que 50
sino //num es menor que 50 if (num<=10) {
si num<=10 entonces //num es menor que 50 y menor o igual que 10 //num es menor que 50 y menor o igual que 10
resultado "es menor o igual que 10" strcpy(resultado,"es menor o igual que 10 \n");
}
sino //num es menor que 50 y mayor que 10 else { //num es menor que 50 y mayor que 10
resultado "está entre 10 y 50" strcpy(resultado,"esta entre 10 y 50 \n");
fsi }
}
fsi printf("%d %s", num,resultado);
Fin }
2020 Lic. Prof. Ariel Ferreira Szpiniak 41 2020 Lic. Prof. Ariel Ferreira Szpiniak 42