Sentenciassssssss
Sentenciassssssss
Sentenciassssssss
PLAN DE CLAVE
CARRERA NOMBRE DE LA ASIGNATURA
ESTUDIO ASIGNATURA
Segundo
PRÁCTICA LABORATORIO Computación Departamental
No. DE
NOMBRE DE
1 Sentencias de decisión
LA PRÁCTICA
1. INTRODUCCIÓN
Los programas hasta ahora realizados se ejecutan de un modo secuencial, de tal forma que
se ejecuta una sentencia después de otra. Sin embargo, para la resolución de problemas de
tipo general es necesario controlar cualquiera de las sentencias que se ejecuten. En esta
práctica veremos las estructuras condicionales que controlan la ejecución de una sentencia o
lista de sentencias, si se cumple una condición.
Es común que en los programas, las acciones que se toman dependen de que una o varias
condiciones se cumplan, inclusive una condición puede a su vez contener otras condiciones,
cuando esto sucede estamos frente a un problema de decisiones anidadas.
C maneja las siguientes estructuras para la toma de decisiones: if, if-else y switch
Cada una de ellas puede anidar una similar o diferente, es decir una estructura if puede
anidar a otra estructura if o bien a otra estructura switch y viceversa, construyendo de este
modo estructuras de decisiones anidadas.
2. OBJETIVO
3. FUNDAMENTO
Los condicionales if-else, son una estructura de control, que nos permiten tomar cierta decisión
al interior de nuestro algoritmo, es decir, nos permiten determinar que acciones tomar dada o
no cierta condición, por ejemplo determinar si la contraseña ingresada por el usuario es válida o
no y de acuerdo a esto darle acceso al sistema o mostrar un mensaje de error.
En resumen, un condicional if-else es una estructura que nos posibilita definir las acciones que
se deben llevar a cabo si se cumple cierta condición y también determinar las acciones que se
deben ejecutar en caso de que no se cumpla.
¿Cómo funciona un Condicional If-Else?
Para comprender mejor cómo funciona el condicional if-else, una muy buena forma es partiendo
de un ejemplo. Imaginemos que en nuestro programa, deseamos implementar un sistema de
logeo de usuario, comprobando si la información suministrada coincide con unos los valores
correctos y en este caso mostrar un mensaje de bienvenida, y en caso de que no, se mostrará
ING. JESSICA VALVERDE JIMENEZ FUNDAMENTOS DE PROGRAMACION
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Profesional Culhuacán
un mensaje de error. Como podemos imaginar, es entonces necesario hacer que nuestro
algoritmo, tome una decisión, de acuerdo a los valores ingresados por el usuario, y definir los
dos casos posibles en caso de fallo o en caso de que no. Es para esto que sirve el condicional
if-else, nos permite definir una condición que se debe cumplir y de acuerdo a su cumplimiento o
no tomar una acción correspondiente. Espero haber sido claro, sino, no te preocupes, pues
veremos ya mismo algunos ejemplos para entender todo mejor.
if(condición a evaluar)
{
Bloque de Instrucciones si se cumple la condición....
}
else
{
Bloque de Instrucciones si NO se cumple la condición.... ....
}
Vamos ahora a ver línea por línea el anterior código para comprender, posteriormente veremos
un ejemplo con valores reales.
Línea 1:
En esta línea está prácticamente todo lo esencial del condicional, aquí el argumento del
condicional if, es la condición que se debe cumplir para que se ejecute el primer bloque de
instrucciones, esta línea es en efecto esencial ya que nos da la pauta para que el algoritmo
determine que bloque de instrucciones ejecutar.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual indica que comienza el bloque de
instrucciones que se ejecutarán si se cumple la condición dada.
Línea 3:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo en caso de
cumplirse la condición, este bloque podrá tener la cantidad de líneas necesarias incluso, como
veremos más adelante dentro de estas podría haber uno o más condicionales en su interior, así
que podrías tener todo un condicional dentro de un condicional dentro de otro condicional... y
así sucesivamente.
Línea 4:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como seguramente ya
sabrás esta nos indica que allí termina el bloque del condicional y se dará por terminada la
ejecución de este para continuar ejecutando el resto del programa, cabe notar que esta línea
dará paso a la ejecución del bloque de instrucciones del else, en caso de que la condición dada
no se haya cumplido.
Línea 5:
ING. JESSICA VALVERDE JIMENEZ FUNDAMENTOS DE PROGRAMACION
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Profesional Culhuacán
Estas líneas contienen la estructura else, que es la que indica que existe un bloque de
instrucciones que se debe ejecutar en caso de que la condición dada no se cumpla. Este
bloque al igual que el del condicional if, se abre y se cierra con llaves.
Ejemplos de Condicional If-else en C++
Ejemplo 1:
Debemos entonces determinar cuál va a ser nuestra condición a evaluar, en este ejemplo, la
condición debe ser que la contraseña, sea idéntica a la establecida en nuestro sistema, veamos
entonces como realizar esto:
#include<stdio.h>
#include<conio.h>
int main ( )
{
int clave ;
printf (" Escriba el numero de su contraseña:");
scanf ("%d", &clave);
if ( clave ==123)
{
printf (" Bienvenido");
}
else
{
printf (" Contraseña es incorrecto");
}
getch();
}
Ejemplo 2:
#include<iostream>
#include<string.h> //libreria para ingresar cadena de caracteres
using namespace std;
ING. JESSICA VALVERDE JIMENEZ FUNDAMENTOS DE PROGRAMACION
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Profesional Culhuacán
int main()
{
string password= "";
cout << "Ingrese la contraseña: ";
cin>> password;
if(password =="myClave")
{
cout << "Contraseña correcta. Bienvenido";
}
else
{
cout << "Contraseña incorrecta.";
}
getch();
}
Ejemplo 3:
#include<stdio.h>
#include<conio.h>
int main()
{
int numero;
printf("escriba un numero");
scanf("%d",&numero);
if(numero>=0)
{
printf("el num es positivo");
}
else
{
printf("el num es negativo");
}
getch();
}
Ejemplo 4:
#include <iostream>
using namespace std;
int main()
{
ING. JESSICA VALVERDE JIMENEZ FUNDAMENTOS DE PROGRAMACION
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Profesional Culhuacán
int edad;
return 0;
}
Ejemplo 5:
#include <iostream>
int main()
{
float primero, segundo, tercero, cuarto;
float promedio;
cout << "Este programa te permite obtener el promedio de calificaciones de un" << endl;
cout << "alumno, y determinar si está reprobado, aprobado o exento." << endl << endl;
cout << "Escribe las calificaciones conforme se te indique, pulsa ENTER para aceptar" << endl;
cout << "Primer periodo: ";
cin >> primero;
cout << "Segundo periodo: ";
cin >> segundo;
cout << "Tercer periodo: ";
cin >> tercero;
cout << "Cuarto periodo: ";
cin >> cuarto;
cout << "Tu promedio global es: " << promedio << endl;
if (promedio < 6) {
cout << "Estás reprobado" << endl;
}
else {
cout << "Estas aprobado, felicidades" << endl;
}
return 0;
}
Ejemplo 6:
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int prueba;
cout<<"ingrese un numero ya sea 1, 2 o 3: ";
cin>>prueba;
if ( prueba ==1 )
cout<<"el número ingresado es uno ";
else if ( prueba ==2 )
cout<<"el numero ingresado es dos ";
else if ( prueba ==3 )
cout<<"el numero ingresado es tres ";
else
cout<<"el numero ingresado esta fuera del rango ";
getch();
}
Ejemplo 7:
#include<stdio.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
int lado1,lado2,lado3;
printf("TIPOS DE TRIANGULOS");
printf("\nIntroduce el lado 1: ");scanf("%i",&lado1);
printf("\nIntroduce el lado 2: ");scanf("%i",&lado2);
printf("\nIntroduce el lado 3: ");scanf("%i",&lado3);
//Hacer comparaciones
if(lado1==lado2 && lado2==lado3)
printf("\n\tEs equilatero");
else if(lado1==lado2 && lado2!=lado3 || lado2==lado3 && lado3!=lado1 || lado3==lado1 &&
lado1!=lado2)
printf("\n\tEs isosceles");
else if(lado1!=lado2 && lado2!=lado3 && lado3!=lado1)
printf("\n\tEs escaleno");
system("PAUSE"); //es una pausa y utiliza libreria stdlib.h, funciona como getch();
}
Ejemplo 8:
Programa que permite determinar cuál es el signo zodiacal de una persona, dada su fecha de
nacimiento y mes
#include<iostream>
#include <conio.h>
using namespace std;
int main()
{
int mes,dia;
cout <<"Ingrese Mes: ";
cin >> mes;
cout <<"Ingrese Dia: ";
cin >> dia;
if(mes == 3 && dia >=21 || mes==4 && dia <=20) //ARIES
{
cout << "\nSU SIGNO ES ARIES" << endl;
cout << "\nTIENES CARÁCTER DIFICIL" << endl;
}
else if(mes == 4 && dia >=21 || mes==5 && dia <= 21) //TAURO
{
cout <<"\nSU SIGNO ES TAURO" << endl;
cout <<"\n ERES RESPONSABLE" << endl;
}
Línea 1:
Aquí, tenemos la declaración del condicional switch, estamos diciendo que lo que viene a
continuación es esto, entre los paréntesis, el switch recibe la variable que vamos a usar para
comparar en cada uno de los casos.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como hemos visto en secciones anteriores,
indica que allí comienzan los bloques de instrucciones que se ejecutarán para cada caso.
Línea 3:
En esta línea tenemos una parte vital del condicional switch, aquí tenemos definido un caso
posible que puede cumplir nuestra variable, la sintaxis es simple, usamos la instrucción "case"
para indicar que allí comienza un caso, luego indicamos el valor que puede tomar la variable,
puede ser un numero, una cadena de caracteres o lo que necesitemos, de esto se siguen dos
puntos ":" y después de estos ponemos la o las instrucciones a ejecutar para este caso
Línea 4:
Esta línea contiene la instrucción break, es una instrucción simple, pero fundamental al interior
del condicional Switch, esta instrucción indica que hasta allí va el bloque de instrucciones.
Línea 5 a 8
Estas líneas contienen una repetición de las instrucciones de las líneas 3 y 4, evidentemente
cada una contiene un caso distinto, ten en cuenta que se pueden definir todos los casos que
sean necesarios al interior del switch.
Línea 9
El comando "default", y luego los 2 puntos ":", notemos que no se pone ningún valor a evaluar,
pues esta es la acción que se ejecuta en caso de que no lleguemos a entrar en ninguno de los
casos.
Línea 10:
En esta línea hacemos uso de la llave cerrando "}", una vez más como seguramente ya sabrás
esta nos indica que allí termina el bloque del condicional y se dará por terminada la ejecución
de este para continuar ejecutando el resto del programa.
Ejemplo 1:
Primero, determinemos los casos a ejecutar, tenemos tres casos posibles (suponiendo que
nuestro menú está compuesto por 3 opciones) el caso 1 para la opción 1, el dos para la 2 y así
sucesivamente. Nuestro caso por defecto (default) sería el caso de error, que sucede cuando
no se ingresa alguna de las 3 opciones. Veamos entonces como hacer esto:
#include<stdio.h>
#include<conio.h>
int main()
{
int opcion;
printf(“\n\t menu\n”);
printf(“--------------\n”);
printf(“1 juego nvo”);
printf(“2 abri juego”);
printf(“3 guardar juego”);
scanf(“%d”,&opcion);
switch(opcion)
{
case 1: printf(“ ha elegido la opcionjuego nvo”);
break;
case 2: printf(“ ha elegido la opcion abrir juego”);
break;
case 3: printf(“ ha elegido la opcion guardar juego”);
break;
}
getch();
}
4. PROCEDIMIENTO (DESCRIPCIÓN)
B) DESARROLLO DE LA PRÁCTICA
Considérese el siguiente ejemplo para resolver los ejercicios propuestos, obsérvese como el
mismo problema puede resolverse con estructuras if else o switch anidadas.
Un restaurante ofrece el siguiente menú, con los siguientes costos por platillo:
1.- Carne en su jugo 89.60
2. Hígado encebollado 60.25
Adicionalmente el cliente puede elegir uno de los siguientes postres, por los cuales se agregará
al costo del platillo las cantidades que se indican:
1) Flan 5.00
2) Gelatina 3.50
3) No desea postre (el cliente pagará 10.00 pesos menos por su platillo).
int main()
{
int platillo,postre;
float costo=0.0;
printf("\n\nQue platillo desea el cliente\n");
printf(" 1)Carne en su Jugo ó 2)Hígado encebollado\n");
printf("Proporcione la Opción (1 ó 2): [ ]\b\b");
scanf("%d",&platillo);
if(platillo==1)
{
printf("\nSeleccione postre\n");
printf("1-Flan, 2-Gelatina 3-No desea postre)\n");
printf("Proporcione la Opción (1,2 ó 3): [ ]\b\b");
scanf("%d",&postre);
if (postre==1)
costo=89.60+5.00;
else if (postre==2)
costo=89.60+3.50;
else if (postre==3)
costo=89.60-10.00;
else
printf("\nExiste un error en la selección del postre\n");
}
else if(platillo==2)
{
printf("\nSeleccione postre\n");
printf("Proporcione la Opción (1,2 ó 3): [ ]\b\b");
scanf("%d",&postre);
if (postre==1)
costo=60.25+5.00;
if (postre==2)
costo=60.25+3.50;
if (postre==3)
costo=60.25-10.00;
}
else
printf("Error en la selección del platillo\n"); printf("\nEl total a pagar es %f
\n",costo);
getch();
}
Solución con estructuras switch anidadas, las opciones del platillo serán ahora a y b.
#include <stdio.h>
int main()
{
char platillo;
int postre;
float costo=0.0;
printf("\n\nQue platillo desea el cliente\n");
printf(" a)Carne en su Jugo ó b)Hígado encebollado\n");
printf("Proporcione la Opción (a ó b): [ ]\b\b");
scanf("%s",&platillo);
switch(platillo)
{
case 'A':
case 'a':
printf("\n\nQue postre desea el cliente:\n");
printf("1) Flan, 2) Gelatina 3) No desea postre\n");
printf("Proporcione la Opción (1,2 ó 3): [ ]\b\b\b");
scanf("%d",&postre);
switch(postre)
{
case 1:costo=89.60+5.00;
break;
case 2:costo=89.60+3.50;
break;
case 3:costo=89.60-10.00;
break;
default:printf("\nError en la selección del postre\n");
}
break;
case 'B':
case 'b':
printf("\n\nQue postre desea el cliente:\n");
printf("1) Flan, 2) Gelatina 3) No desea postre\n");
printf("Proporcione la Opción (1,2 ó 3): [ ]\b\b\b");
scanf("%d",&postre);
switch(postre)
{
case 1:costo=60.25+5.00;
break;
case 2:costo=60.25+3.50;
break;
case 3:costo=60.25-10.00;
break;
default:printf("\nError en selección del postre\n");
}
break;
default:printf("\nError en la selección del platillo\n");
}
printf("\nEl total a pagar es %8.2f \n",costo);
return 0; // o puede ser getch();
}
A continuación se mencionan 4 ejercicios para el alumno, de los cuales deberá resolver uno
con una estructura if y otro con un switch anidado, recuerde que una estructura if puede anidar
una estructura switch() y viceversa.
Los 3 modelos son fabricados únicamente en talla 8. La empresa planea fabricar los tres
modelos también en tallas 9 y 10, y desea un programa que calcule los precios de venta para
estas nuevas tallas. Se sabe que por cada número que se aumente en la talla del zapato, su
precio de venta deberá incrementarse 10 pesos, esto significa que si el modelo Emperador
cuesta 246.00 pesos en medida número 8, su costo en número 9 será 256.00 y en 10 es
266.00 Escribe un programa que pida el modelo del zapato (a, b ó c) y la medida (8,9 ó 10) e
imprima en pantalla su precio de venta correspondiente.
Existen dos departamentos, en los que a sus empleados se les pagan las siguientes
cantidades por hora:
1) Contabilidad 61.25 pesos p/hora
2) Producción 22.45 pesos p/hora
Además la empresa otorga a sus empleados un bono por asistencia según el reporte de
asistencias del último año
0 (cero) faltas... 185.00 pesos adicionales
2 faltas............... 90.00 pesos adicionales
3 faltas............... 30.00 pesos adicionales
3. Una asociación de asistencia social otorga las siguientes cantidades por concepto de
beca mensual a estudiantes con pobreza extrema y moderada, de los siguientes 3
niveles:
4.- En una central de autobuses se tienen las siguientes salidas diarias desde Mexicali y
costos por pasajero a las siguientes ciudades:
Tijuana $200.00
Ensenada $350.00
Tecate $ 125.00
C) CÁLCULOS Y REPORTE
El alumno deberá ejecutar los ejemplos que se muestran en la práctica, para tener una
mejor comprensión de cómo funciona cada sentencia de decisión, posteriormente deberá
analizar cada uno de estos, para poder desarrollar los programas que se le han
propuesto.
1. RESULTADOS Y CONCLUSIONES
En cada uno de los problemas propuestos, se recomienda, hacer una prueba de escritorio,
con algunos valores de entrada predeterminados, y observar los resultados obtenidos, para
posteriormente comprobarlos en el momento de ejecutar el programa, estos resultados
deberán ser capturados en un documento en Word, para posteriormente subirlos a la
plataforma de educativa de edmodo.