ESTRUCTURA DE DECISION
LOGICA EN LENGUAJE C
MENU DEL DIA
•
Repaso clase anterior.
•
•
•
•
•
Manejo de constantes en C.
•
•
•
•
Segundo programa breve.
Estructuras de decisión lógica 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
algorítmico en pseudocódigo 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 Pseudocódigo
En lenguaje C
enteras
int, short, long, unsigned, long long
reales
float, double
alfanuméricas
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 (expresión_logica) ENTONCES
secuencia 1 | camino 1
SINO
Secuencia 2 | camino 2
FIN_SI
MIENTRAS(expresión_logica)HAGA
secuencia
FIN_MIENTRAS
PARA (VC = LI,LF,INC) HAGA
secuencia
FIN_PARA
if (expresión_logica) {
código_secuencia1;
}
else {
código_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
TAMAÑO = 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 declaración de una variable.
#define PI 3.14
#define TAMAÑO 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 acción.
En el caso de C la estructura
empleada para el uso de
condicionales es la estructura if,
cuya sintaxis básica se muestra a
continuación
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
condición 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 niño 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 niño o
adulto).
ALGUNAS ANOTACIONES SOBRE LA
ESTRUCTURA if (2)
Casos anidados: Es posible que puedan anidarse condicionales, esto, debido a que
la condición puede tomar más de dos valores.
Ejemplo 3:
Se tiene la siguiente tabla en la cual se muestra el equivalente entre números y
letras para la calificación de notas en una guardería. 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 decisión con alternativas: Son aquellos problemas que contienen
expresiones de decisión con mas de dos alternativas, el ejemplo anterior constituye uno
de estos casos.
• ¿Cómo 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 codificación
se hace mas difícil.
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 añadieron dentro de la
estructura
if
un
elemento
adicional, el else if.
Básicamente, el else if es un
abreviado para la implementación
de if anidados. Esto da lugar a una
sintaxis
mas
general
para
condicionales en C, gracias al cual
es posible la implementación de
condiciones con más 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 números y
letras para la calificación de notas en una guardería. 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 expresión por cada uno de los valores enteros
contantes que pueda tomar, efectuando diferentes acciones según el caso. C ofrece la
estructura switch de selección múltiple, encargada de manejar tal toma de decisiones.
switch(selector) {
case valor_1:
instrucciones_1;
break;
case valor_2:
instrucciones_2;
break;
. . .
case valor_N:
instrucciones_N;
break;
default:
instrucciones_default;
break;
}
• La variable usada como variable selector
debe ser un tipo ordinal (expresión
entera: short, char, int,…).
• Cada etiqueta (valor_1, valor_2,…,
valor_N) es un valor único, constante, y
cada etiqueta debe tener un valor
diferente de los otros.
• La palabra clave break permite salir de
inmediato de la estructura switch,
provocando que el control del programa
pase a la primera instrucción después 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 opción 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 instrucción
switch se ejecutarían 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 omisión del
espacio entre la palabra case y el valor
entero que se esta probando (Por ejemplo
poner case3 en vez de case 3) en una
estructura switch puede provocar un error
de lógica.
• Agregar el caso default (aunque hay situaciones en las que a veces este no es necesario)
en las instrucciones switch es buena practica de programación. Ya que al incluir el caso
default se enfoca al programador en la necesidad de procesar condiciones excepcionales.
Descargar

INTRODUCCION AL LENGUAJE C