Está en la página 1de 23

ESTRUCTURA DE

DECISION LOGICA EN
LENGUAJE C

MENU DEL DIA

Repaso clase anterior.

Manejo de constantes en C.

Segundo programa breve.

Estructuras de decisin lgica en


C - Estructura if.

Estructura general de un programa.


Tipos de datos.
Primer programa breve.
Estructuras en C

Ejemplo 1.
Ejemplo 2.

Algunas anotaciones sobre la


estructura if.
Estructuras de decision multiple
en C Estructura if / else
if / else.
Estructura switch.

ESTRUCTURA GENERAL DE
UN PROGRAMA
Formato de un programa
algortmico en pseudocdigo y
en lenguaje C.

algoritmo (nombre_algoritmo)
variables:
tipo_1: lista_variables_1
tipo_2: lista_variables_2
.
.
.
tipo_N: lista_variables_N
constantes:
lista_identificadores = valor
INICIO
sentencia_1
sentencia_2
.
.
.
sentencia_N
FIN_INICIO
fin(nombre_algoritmo)

#include <librerias_del_sistema>
#include librerias_propias
variables_globales;
int main() {
variables_locales;
sentencia_1;
sentencia_2;
.
.
.
sentencia_N;
Return 0;
}

TIPOS DE DATOS
VARIABLES
En Pseudocdigo

En lenguaje C

enteras

int, short, long, unsigned, long


long

reales

float, double

alfanumricas

char

tipo nom_var1 <, nom_var2, nom_var3 <= valor_inicial>, nom_varN>;


variables:
entero: num_estudiantes
real: prom_grupo, estatura, peso
entero: num_clases = 0
entero: num_x = -9, num_y, num_z
entero: deudas = 400000
real: c = -9., d, e = 1.5e-15
real: f = 4.03e19, g =.03
alfanumerico: sexo = F
alfanumerico: grado = A, c = 64
alfanumerico: nom_real = Ramon Valdez;
alfanumerico: nom_artistico = Don Ramon;
alfanumerico: email;

int num_estudiantes;
float prom_grupo, estatura, peso;
int num_clases = 0;
int num_x = -9, num_y, num_z;
unsigned deudas = 400000;
float c = -9., d, e = 1.5e-15;
double f = 4.03e19, g =.03;
char sexo = F;
char nom_real[20] = Ramon Valdez;
char nom_artistico[] = Don Ramon;
char email[50];
char grado = A, c = 64;

PRIMER PROGRAMA BREVE

ESTRUCTURAS EN C
SI (expresin_logica) ENTONCES
secuencia 1 | camino 1
SINO
Secuencia 2 | camino 2
FIN_SI

MIENTRAS(expresin_logica)HAGA
secuencia
FIN_MIENTRAS

PARA (VC = LI,LF,INC) HAGA


secuencia
FIN_PARA

if (expresin_logica) {
cdigo_secuencia1;
}
else {
cdigo_secuencia2;
}

while (expresion_logica) {
secuencia
}

for(expre1;expre2;expre3) {
secuencia;
}

HEMOS VISTO LAS VARIABLES,


PERO QUE PASA CON LAS
CONSTANTES?
Hemos visto las variables,
pero que pasa con las
constantes?
algoritmo (nombre_algoritmo)
variables:
tipo_1: lista_variables_1
tipo_2: lista_variables_2
.
.
.
tipo_N: lista_variables_N
constantes:
lista_identificadores = valor
INICIO
sentencia_1
sentencia_2
.
.
.
sentencia_N
FIN_INICIO
fin(nombre_algoritmo)

constantes:
PI = 3.14
TAMAO = 46
IVA = 0.16
asterisco = *
mensaje = que hay de nuevo viejo

En C las constantes se pueden


declarar con la directiva de
preprocesador #define o
agregando el modificador const
en la declaracin de una variable.

#define PI 3.14
#define TAMAO 46
#define IVA 0.16
const char asterisco = *;
const char mensaje[] = que hay de nuevo viejo;

SEGUNDO PROGRAMA
BREVE

ESTRUCTURAS DE DECISION
LOGICA EN C ESTRUCTURA if

Los
condicionales
son
empleados para elegir entre
diferentes alternativas de
accin.
En el caso de C la
estructura empleada para
el uso de condicionales es
la
estructura
if,
cuya
sintaxis bsica se muestra
a continuacin

if (condicion) {
instrucciones_caso_verdadero
}
else {
instrucciones_caso_falso
}

SI (condicion) ENTONCES
instrucciones_caso_verdadero
SI_NO
instrucciones_caso_falso
FIN_INICIO

EJEMPLO 1
Realice un algoritmo que diga si una persona es mayor de edad o
no. El usuario debe ingresar la edad por teclado.

EJEMPLO 2
A un trabajador se le aplica un aumento del 15% en su salario si
este es menor de $400000 y 8% en caso contrario. Realice un
programa en C que imprima el sueldo del trabajador

ALGUNAS ANOTACIONES
SOBRE LA ESTRUCTURA if (1)
El uso del else no es obligatorio: La parte que es
ejecutada cuando la condicin del if es falsa no es
obligatoria. Su uso o no depende de lo que pida el problema.
Ejemplo:
Se tiene un parque de diversiones en el cual si se es nio se
hace un descuento del 25% sobre el tiquete que vale $5000.
Realice un algoritmo el cual calcule el precio a pagar para
una persona cualquiera (sea nio o adulto).

ALGUNAS ANOTACIONES
SOBRE LA ESTRUCTURA if (2)
Casos anidados: Es posible que puedan anidarse condicionales,
esto, debido a que la condicin puede tomar ms de dos valores.
Ejemplo 3:
Se tiene la siguiente tabla en la cual se muestra el equivalente
entre nmeros y letras para la calificacin de notas en una
guardera. Realizar un algoritmo en C que tomando como base
dicha tabla y como entrada las notas, imprima la nota en letras
correspondiente.

ALGUNAS ANOTACIONES
SOBRE LA ESTRUCTURA if (2)

ESTRUCTURAS DE DECISION LOGICA


MULTIPLE EN C ESTRUCTURA if/else
if/else

Problemas de decisin con alternativas: Son aquellos


problemas que contienen expresiones de decisin con mas de dos
alternativas, el ejemplo anterior constituye uno de estos casos.
Cmo se tratan los problemas de este tipo? Los problemas de
este tipo pueden ser tratados usando estructuras if anidadas (Tal y
como se llevo a cabo en el ejemplo anterior). Sin embargo a mas
alternativas mas anidamiento y por lo tanto la codificacin se hace
mas difcil.
Oh!!!
Y
ahora
quien
podr
ayudarme???

ESTRUCTURAS DE DECISION LOGICA


MULTIPLE EN C ESTRUCTURA if/else
if/else
Afortunadamente
los
creadores de C tuvieron el
problema anterior en cuenta
y aadieron dentro de la
estructura if un elemento
adicional, el else if.
Bsicamente, el else if es
un
abreviado
para
la
implementacin
de
if
anidados. Esto da lugar a
una sintaxis mas general
para condicionales en C,
gracias al cual es posible la
implementacin
de
condiciones con ms de dos
alternativas.

if(condicion1) {
instrucciones_condicion_1_verdadero
}
else if(condicion2){
instrucciones_condicion_2_verdadero
}
. . .
else if(condicion_N) {
instrucciones_condicion_N_verdadero
}
else {
instrucciones_caso_falso
}

ESTRUCTURAS DE DECISION LOGICA


MULTIPLE EN C ESTRUCTURA if/else
if/else
Ejemplo 4:
Se tiene la siguiente tabla en la cual se muestra el equivalente
entre nmeros y letras para la calificacin de notas en una
guardera. Realizar un algoritmo en C que tomando como base
dicha tabla y como entrada las notas, imprima la nota en letras
correspondiente. Resuelva el problema utilizando if- else if- else.

ESTRUCTURAS DE DECISION LOGICA


MULTIPLE EN C ESTRUCTURA if/else
if/else

ESTRUCTURA switch
Existen problemas los cuales contienen una serie de decisiones en las
que se necesita probar por separado una variable o expresin por
cada uno de los valores enteros contantes que pueda tomar,
efectuando diferentes acciones segn el caso. C ofrece la estructura
switch de seleccin mltiple, encargada de manejar tal toma de
decisiones.
La variable usada como variable
switch(selector) {
selector debe ser un tipo ordinal
case valor_1:
instrucciones_1;
(expresin entera: short, char, int,
break;
).
case valor_2:
Cada etiqueta (valor_1, valor_2,
instrucciones_2;
, valor_N) es un valor nico,
break;
constante, y cada etiqueta debe
. . .
tener un valor diferente de los
case valor_N:
otros.
instrucciones_N;
La palabra clave break permite
break;
default:
salir de inmediato de la estructura
instrucciones_default;
switch, provocando que el control
break;
del programa pase a la primera
}
instruccin
despus
de
la
estructura switch.

EJEMPLO ESTRUCTURA
switch

Se tiene un restaurante en el cual se manejan una lista de platos tal y


como lo muestra la siguiente tabla:

Implementar un algoritmo que tome como entrada la opcin y de


devuelva como resultado a la salida el men elegido.

ESTRUCTURA switch

COMENTARIOS SOBRE LA
ESTRUCTURA switch
La sentencia break se utiliza
porque, de otra manera, los case
de una instruccin switch se
ejecutaran juntos, de tal manera
que, si no se indica break en
ninguna parte de la estructura
switch, cada vez que suceda una
coincidencia en la estructura, se
ejecutaran las instrucciones de los
case restantes.
Etiqueta no usada: La omisin
del espacio entre la palabra case
y el valor entero que se esta
probando (Por ejemplo poner
case3
en vez
de default
case 3) en
una hay situaciones en las que a veces
Agregar
el caso
(aunque
estructura
puede
este no es switch
necesario)
en provocar
las instrucciones switch es buena practica de
un
error de lgica.
programacin.
Ya que al incluir el caso default se enfoca al programador
en la necesidad de procesar condiciones excepcionales.

También podría gustarte