Curso: Informtica II Tema: Estructura de Control Condicional
Ing. Edwin Ramos Velsquez
Software
App
Pregunta 1:
Qu usamos para implementar estos programas?
Algoritmo: Definicin
Un algoritmo es un mtodo para resolver un problema mediante una serie de pasos precisos, definidos y finitos[1]
[1] Luis Joyanes e Ignacio Zahonero. Programacin en C. Metodologa, algoritmos y estructura de datos. Pg. 30
INICIO
Mtodo: 1. m. Modo de decir o hacer con orden. 2. m. Modo de obrar o proceder, hbito o costumbre que cada uno tiene y observa. 3. m. Obra que ensea los elementos de una ciencia o arte. 4. m. Fil. Procedimiento que se sigue en las ciencias para hallar la verdad y ensearla. Diccionario de la Real Academia Espaola(http://lema.rae.es/drae/srv/search?id=IhOPwiShMD XX2S4PzXc1)
Paso 1
Un conjunto ordenado de pasos o procedimientos que permiten resolver un problema (Definicin de clase)
Paso 2
Paso N FIN
Representacin grfica de un algoritmo
Algoritmo: Ejemplo
Un conjunto ordenado de pasos o procedimientos que permiten resolver un problema (Definicin de clase)
INICIO
Comprar verduras
Encender la cocina
Colocar la olla en la cocina
INICIO
Ajustar el fuego y esperar
Paso 1
Servir en el plato
Paso 2
SI Est rico? NO
Paso N
Comer todo
FIN
Fin
Representacin grfica de un algoritmo
Ejemplo de algoritmo, donde el Problema Computacional es: Comer un delicioso plato de comida.
5
Pregunta 2:
Cmo representamos los algoritmos?
Diagrama de flujo: Definicin
Un diagrama de flujo es un conjunto de smbolos estandarizados que describen grficamente la secuencia ordenada de pasos del algoritmo (Definicin de clase).
INICIO Comprar verduras
Encender la cocina
Colocar la olla en la cocina
Ajustar el fuego y esperar
Servir en el plato
SI Est rico?
NO
Comer todo
Fin
Smbolos utilizados en diagramas de flujo
Problema: Hallar el rea de un Rectngulo
H= Altura
B = Base
INICIO
Leer: B
Entrada de datos
Leer: H
Proceso Interno Salida de datos
A=B* H
Print: A
FIN
Pregunta 3:
Qu Estructuras de Control comnmente encontramos en los diagramas de flujo?
(Elementos repetitivos)
ESTRUCTURAS DE CONTROL
10
Cules son las estructuras de control?
- Estructuras secuenciales. Toda instruccin se ejecuta una a continuacin de la otra de manera secuencial. - Estructuras condicionales o alternativas. Las operaciones son opcionales, alternativas. Por ejemplo, en el tratamiento diferenciado de personas de acuerdo a su edad, al sexo, etc. - Estructuras iterativas (o repetitivas). Los procesos contenidos en una estructura iterativa se repiten reiteradamente.
INICIO Paso A Paso B
Proceso A
Proceso A
Falso Condicin
Cierto
for X=1 Hasta N
Accin 1
Accin 2
Proceso B
Paso C FIN
Proceso C
Proceso B
Estructuras secuenciales
Estructuras Condicionales
Estructuras Iterativas
11
ESTRUCTURA DE CONTROL CONDICIONAL
12
Estructura Condicional
Este tipo de estructura es muy utilizado y se presenta en la descripcin de un algoritmo donde existe una condicin, donde se indica si una instruccin se ejecuta o no.
INICIO
DIAGRAMA DE FLUJO SI A IF (Y) NO B
Leer: N
CASE (N)
N=1 s = "Uno"
N=2 s = "Dos"
N=3 s = "Tres"
...
N=10 s = "Diez"
PSEUDOCODIGO 1. Paso 1 2. Si < condicin > entonces: Ejecutar Paso A 3. Caso contrario: Ejecutar Paso B 4 . continuamos con paso C
Print:
FIN
13
INICIO
Leer: N
NO
IF (N >= 18)
SI
Print: Es MENOR de Edad
Print: Es MAYOR de Edad
FIN
14
INICIO
#include <iostream> using namespace std;
Leer: N
int main() { // 1. Declaracin de variables int N; // 2. Algoritmo (Entrada de datos) cout<<"\n Escriba la Edad: ;
NO
IF (N >= 18)
SI
cin>> N;
Print: Es MAYOR de Edad
Print: Es MENOR de Edad
// 3. Algoritmo (Salida de datos) if (N >= 18) cout<<"\n Es MAYOR DE EDAD"; else cout<<"\n Es MENOR DE EDAD";
cout<<"\n"; return 0;
FIN
} Equivalencias Leer --- scanf ---- cin Print ---- printf ----- cout
15
Estructura condicional mltiple
INICIO
#include <iostream> using namespace std; int main() { // 1. Declaracin de variables int N; // 2. Algoritmo (Entrada de datos) cout<<"\n Escriba el Nro: ; cin>> N; // 3. Algoritmo (Salida de datos) switch(N) { case 1: s = "Uno"; break; case 5: s = "Ocho"; break; case 9: s = "Nueve"; break; case 10: s = "Diez"; break; } cout<<"\n El nmero es: << s; cout<<"\n"; return 0; }
Leer: N
CASE ( N)
N=1 s = "Uno"
N=2 s = "Dos"
N=3 s = "Tres"
...
N=10 s = "Diez"
Print: s
FIN
16
Problemas a Resolver(1)
Disee un algoritmo tal, que lea desde el tecla la nota N de un alumno y que luego nos indique si el alumno aprob o desaprob el curso.
N=07 Desaprobado Input PC N=15 N? Aprobado Output
17
Problemas a Resolver(2)
Disee un algoritmo tal, que lea desde el tecla la nota N de un alumno y que luego nos indique si el alumno aprob o desaprob el curso.
INICIO
Leer: N
Solucin:
NO IF (N >= 11) SI
Print: Desaprobado
Print: Aprobado
FIN
18
Problemas a Resolver(3)
Disee un algoritmo tal, que lea desde del teclado el nmero N y que luego imprima en pantalla su equivalente en Nmero Romano.
Use Condicional mltiple
N=2 N=6 PC Input N=10 N? X II VI Output
19
Problemas a Resolver(3)
Disee un algoritmo tal, que lea desde del teclado el nmero N y que luego imprima en pantalla su equivalente en Nmero Romano.
INICIO
Leer: N
Solucin:
CASE (N)
N=1
N=2
N=3
N=9
N=1 0
s="I"
s="II"
s="III"
...
s = "IX"
s = "X"
FIN
20
Bibliografa
Joyanes Aguilar, Luis e Ignacio Zahonero. Programacin en C. Metodologa, algoritmos y estructura de datos. Pg. 30 Real Academia Espaola. Diccionario de la lengua espaola. Espaa, 2009 (http://www.rae.es/rae/Noticias.nsf/Portada1?ReadForm&menu=1)
21