Sunteți pe pagina 1din 15

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y


FORMALES
PROGRAMA PROFESIONAL
INGENIERIA MECNICA, MECNICA-ELECTRCA Y
MECATRNICA
Laboratorio de Mecnica Computacional I

I.

Pgina:1/15
Jefes de Prcticas:
Ing. Juan Carlos Cuadros
Ing. Henry Zegarra Gago
Ing. Sergio Mestas Ramos
Ing. Christian Collado
Oporto

Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS


CONDICIONALES O SELECTIVAS

Cdigo:
Semestr
e:
Grupo:

4E03017

Apellidos y Nombres:

Lab. N:

06

III
FECHA:
28/ABR/2014

OBJETIVOS
1.

Comprender la necesidad del diseo de algoritmos en el estudio y resolucin de


programas.

2.

Analizar los problemas para identificar los datos que se requieren, as como dar las
instrucciones adecuadas para resolver problemas de ingeniera a un nivel bsico.

3.

Conocer la sintaxis de las instrucciones condicionales.

4.

Analizar y disear la solucin utilizando algoritmos de programacin que impliquen el uso


de instrucciones de seleccin o condicin.

II.

MARCO TEORICO
1. Sentencia de construccin IF
Las estructuras algortmicas selectivas que se utilizan para la toma de decisiones lgicas
las podemos clasificar de la siguiente forma:
a. Estructura selectiva simple (SI , ENTONCES)
b. Estructura selectiva doble (SI ., ENTONCES SINO)
Cabe sealar que la combinacin de esta estructura simple y doble da como resultado
una estructura selectiva en cascada.
Estructura de seleccin simple
Esta estructura permite que el flujo del diagrama siga por un camino especfico si se cumple
la condicin o conjunto de condiciones. La construccin if puede escribirse tambin de forma
ms general para controlar la ejecucin de una sentencia o
podemos ver en la sintaxis 2 del cuadro 2.
Pseudocdigo
Si condicin es verdadera, Entonces
Hacer operacin o sentencias
Fin si

Sintaxis
if (<condicin>)
{
<sentencia 1>;
<sentencia 2>;
. . .
<sentencia N>

Diagrama de flujo

grupo de sentencias, como

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 2/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Cuadro 1. Sintaxis de la sentencia if simple y diagrama de flujo.

Estructura de seleccin doble


La seleccin simple es muy limitada, por otro lado existe la alternativa de seleccin doble la
cual nos permite tomar decisiones en ambos sentidos, es decir cuando la condicin de
comparacin sea verdadera se podrn ejecutar una o ms acciones o cuando la condicin de
comparacin sea falsa tambin se podrn ejecutar una o ms acciones.
Pseudocdigo

Diagrama de flujo

Si condicin es verdadera,
Entonces
Acciones_1
Sino
Acciones_2
Fin Si
Sintaxis:
if (<condicin>)
{
<sentencia 1>;
}
else
{
<sentencia 2>;
}
Cuadro 2. Sintaxis de la sentencia if - else y diagrama de flujo.

Anidamiento de estructuras condicionales


A menudo se tendr la necesidad de anidar una o ms estructuras condicionales ya sean
simples o dobles o la combinacin de ambas.
Se dice que las estructuras estn anidadas cuando hay una o unas dentro de ellas. Su
construccin, donde las condiciones se plantean de forma escalonada, se muestra a
continuacin en el cuadro 3.
Sintaxis:
if (<condicin 1>)
<grupo de sentencias 1>;
else if (<condicin 2>)
<grupo de sentencias 2>;
...
else if (<condicin N>)
<grupo de sentencias N>;
else

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 3/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

<grupo de sentencias por defecto>;


Pseudocdigo:

Diagrama de Flujo

Si condicin1 es verdadera, Entonces


Acciones_1 o Grupo de sentencias 1
Sino
Si condicin2 es verdadera, Entonces
Acciones_2 o Grupo de sentencias 2
Sino
Si condicin3 es verdadera,
Entonces
Acciones_3 o Grupo de
sentencias 3
Sino
Acciones_4 o Grupo de
sentencias 4
Fin si
Fin si
Fin si

Cuadro 3. Sintaxis de la sentencia else if y diagrama de flujo.

Las condiciones se evalan secuencialmente de arriba hacia abajo hasta encontrar una que
d como resultado cierto. En ese punto, se ejecuta el grupo de sentencias o acciones
correspondiente a dicha condicin. El resto de condiciones y sentencias asociadas se ignoran.
En caso de que ninguna de las condiciones se evale cierta, se ejecutara el grupo de
sentencias por defecto.

Estructura de seleccin mltiple


La estructura de seleccin mltiple permite que el flujo del programa se bifurque por varias
ramas en el punto de toma de decisin(es), esto en funcin del valor que tome el selector. De
esta manera si el selector toma el valor de uno por ejemplo se ejecutara la accin 1 o grupo
de sentencias 1, si el selector toma el valor de 2 se ejecutara la accin 2 o grupo de
sentencias 2, si el selector toma el valor de N se ejecutara la accin N o grupo de sentencias
N, y si toma un valor distinto de los valores comprendidos entre 1 y N, se continuar con el
flujo normal del diagrama realizndose la accin
N+1. La ilustracin de una estructura selectiva
sera:

Laboratorio de Mecnica Computacional I

Pgina: 4/15

Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Esta construccin permite especificar mltiples sentencias al estilo if-else-if, pero de manera
ms compacta, legible y elegante. Su forma general es la siguiente:
Sintaxis:

Pseudocdigo:

switch (<expression>)
{
case <constante 1>:
<grupo de sentencias
<break>;
case constante 2:
<grupo de sentencias
<break>;
...
case constante N:
<grupo de sentencias
<break>;
default :
<grupo de sentencias
defecto>;
<break>;
}

En caso de Selector
Caso Valor 1:
Hacer Accin
1
Caso Valor 2:
Hacer Accin
2
Caso Valor 3:
Hacer Accin
3
.
.
.
Caso Valor N:
Hacer Accin
N
Fin de caso

1>;
2>;

N>;
por

1 o Grupo de sentencias
2 o Grupo de sentencias
3 o Grupo de sentencias

N o Grupo de sentencias

Diagrama de flujo

Cuadro 4. Sintaxis de la sentencia switch y diagrama de flujo.

El funcionamiento de la construccin de una estructura de seleccin multiple o tambien


llamada construccin switch es como sigue.
En primer lugar se evala la expresin. Seguidamente su valor es comparado secuencialmente
con el de las diferentes constantes en los case. Si el valor de la expresin coincide con alguna
de ellas, se ejecuta el grupo de sentencias correspondiente y switch concluye gracias a la
sentencia break. En caso contrario, y si existe el caso default (que es opcional), se ejecutara el
grupo de sentencias por defecto.

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 5/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Aqu la expresin debe ser de tipo entero o carcter, al igual que todas las constantes
asociadas a cada etiqueta case. Es importante resaltar que no pueden usarse variables o
expresiones en los distintos case, sino slo constantes.
La instruccin break, se utiliza para finalizar de forma forzada la ejecucin dentro de un bloque
de cdigo, de manera que la siguiente sentencia a ejecutar ser la primera sentencia justo
despus de dicho bloque. En la construccin switch, break es necesario para concluir la
ejecucin del grupo de sentencias asociado al caso cuya constante coincide con el valor de la
expresin. As pues, la sentencia a ejecutar despus de break en un switch, ser la primera
sentencia posterior a la llave } que cierra el switch.
Ejemplo: Disee un algoritmo que ingresada una fecha en formato Da/Mes/Ao (datos del
tipo entero), reporte la fecha como: Es Da del mes de Mes, del ao Ao. La fecha
ingresada debe ser valida.
III.

MATERIAL Y EQUIPO
Una PC con SO Windows XP, Internet

IV.

PROCEDIMIENTO
Ejercicio 01:
Se pide elaborar el diagrama de flujo y programa que permita ingresar dos nmeros por
teclado e indique cual de los dos es mayor y cual es menor.

#include <iostream>
using namespace std;
int n1,n2;
void main()
{
// Ingreso de Numeros
cout<<"Ingrese 1er numero: ";
cin>>n1;
cout<<"Ingrese 2do numero: ";
cin>>n2;
// Verificar el Mayor
if(n1>=n2)
{
cout<<"El mayor es "<<n1<<"\n";
cout<<"El menor es "<<n2<<"\n";
}
else
{
cout<<"El mayor es "<<n2<<"\n";
cout<<"El menor es "<<n1<<"\n";
}
cout<<"\n";
system("pause");
}

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 6/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Ejercicio 02:
Se pide elaborar el pseudocdigo y programa que ingrese un nmero por teclado e indique si
es positivo, negativo o igual a cero.

Pseudocdigo
1.
2.
3.
4.
5.
6.
7.
8.
9.

Iniciar el proceso.
Declarar variables: A (1er Numero) , B (2do Nmero )
Mostrar A y B
Leer A y B
Hacer: A>B
Si A>B es verdadera, Entonces El mayor es A
Sino El mayor es B
Escribir: El mayor es : A o B , segn dependa
Finalizar proceso.

#include <iostream>
using namespace std;
int n;
void main()
{
// Ingreso de Numeros
cout<<"Ingrese 1er numero: ";
cin>>n;
// Verificar Si es Positivo,menor, o cero
if(n>0)
cout<<"El numero "<<n<<" es positivo\n";
else
if(n==0)
cout<<"El numero "<<n<<" es 0\n";
else
cout<<"El numero "<<n<<" es negativo\n";
system("pause");

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 7/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Ejercicio 03:
Elaborar el diagrama de flujo, pseudocdigo y programa que permita visualizar caracteres al
traducir nmeros ingresados de 1 a 5. Por ejemplo si el nmero ingresado es 2, se visualice
un mensaje que diga, El nmero en caracteres es dos.
#include <iostream>
using namespace std;
int n;
void main()
{
// Ingreso de Numeros
cout<<"Ingrese numero del 1 al 5: ";
cin>>n;
// Verificar
switch (n)
{
case 1:
cout<<"El numero es caracteres es uno \n";
break;
case 2:
cout<<"El numero es caracteres es dos \n";
break;
case 3:
cout<<"El numero es caracteres es tres \n";
break;
case 4:
cout<<"El numero es caracteres es cuatro \n";
break;
case 5:
cout<<"El numero es caracteres es cinco \n";
break;
default:
cout<<"El numero es incorrecto\n";

}
system("pause");

Pseudocdigo
1. Iniciar el proceso.
2. Declarar variables: N (Cualquier Nmero)
3. Mostrar n

Laboratorio de Mecnica Computacional I

Pgina: 8/15

Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS
4. Leer n
5. Hacer el intervalo de n>=0 AND n<=5
6. Si n = 1, es verdadera, Entonces El numero
7. Si n = 2, es verdadera, Entonces El numero
8. Si n = 3, es verdadera, Entonces El numero
9. Si n = 4, es verdadera, Entonces El numero
10.Sino, El numero en caracteres es Cinco
11. Finalizar proceso

en
en
en
en

caracteres
caracteres
caracteres
caracteres

es
es
es
es

LAB N 6

Uno
Dos
Tres
Cuatro

JP: Ings.
JCC-HZG-SMRCCO

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 9/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Ejercicio 04:
Elaborar el diagrama de flujo y cdigo que permita visualizar un men como el que se
muestra a continuacin
1.
2.
3.
4.

Opcin
Opcin
Opcin
Opcin

1
2
3
4

(Eligio
(Eligio
(Eligio
(Eligio

la opcin 1)
la opcin 2)
la opcin 3)
Salir)

#include <iostream>
using namespace std;
int n;
void main()
{
// Ingreso de Numeros
cout<<"************************** \n";
cout<<"****** MENU
********** \n";
cout<<"************************** \n";
cout<<"\n";
cout<<"1 Caldo Blanco \n";
cout<<"2 Palta Rellena \n";
cout<<"3 Solero de Queso \n";
cout<<"4 Otro restaurante \n";
cout<<"\nIngrese Opcion: ";
cin>>n;
// Verificar
switch (n)
{
case 1:
cout<<"Espere 3 minutos llegara su caldo \n";
break;
case 2:
cout<<"Ahi llega su Palta Rellena \n";
break;
case 3:
cout<<"Aqui tiene su Soltero de Queso \n";
break;
case 4:
cout<<"Valla a otro restaurante \n";
break;
default:
cout<<"Opcion incorrecta. \n";
}
system("pause");
}

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 10/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 11/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Ejercicio 05: Elaborar el diagrama de flujo y pseudocdigo para ingresar una dato como
temperatura, y evaluar el dato, si oscila entre 0-15, debe imprimir clima frio, si oscila
entre 15,1-20 clima templado, si oscila entre 20,1- 28 buen clima y si es mayor a 28.1
enviar el mensaje uff qu calor!!!.
#include <iostream>
using namespace std;
float n;
void main()
{
// Ingreso de Numeros
cout<<"Ingrese Temperatura: ";
cin>>n;
if (n>28.1)
cout<<"Uff qu calor \n";
else

if (n>20.1)
cout<<"Buen Clima \n";
else
if (n>15.1)
cout<<"Clima Templado \n";
else
cout<<"Clima Frio \n";
system("pause");

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 12/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Ejercicio 06: Elaborar el diagrama de flujo y cdigo que permita visualizar un men como el
que se muestra a continuacin
a.
b.
c.
d.

Ingresar tres nmeros y ordenarlos ascendentemente


Ingresar tres nmeros y ordenarlos descendentemente
Salir del programa
Cualquier otra opcin enve el siguiente mensaje Error, caso no implementado.

#include <iostream>
using namespace std;
int n,n1,n2,n3,mayor,menor,medio;
void main()
{
// Ingreso de Numeros
cout<<"************************** \n";
cout<<"****** MENU
********** \n";
cout<<"************************** \n";
cout<<"\n";
cout<<"1 Ingresar tres numeros y ordenarlos ascendentemente \n";
cout<<"2 Ingresar tres numeros y ordenarlos descendentemente \n";
cout<<"3 Salir del programa \n";
cout<<"4 Error, caso no implementado \n";
cout<<"\nIngrese Opcion: ";
cin>>n;
// Verificar
switch (n)
{
case 1:
cout<<"Ingrese numero 1: ";
cin>>n1;
cout<<"Ingrese numero 2: ";
cin>>n2;
cout<<"Ingrse numero 3: ";
cin>>n3;
if (n1>n2 && n1>n3)
mayor=n1;
else
if (n2>n1 && n2>n3)
mayor=n2;
else
mayor=n3;
if (n1<n2 && n1<n3)

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS
menor=n1;
else
if (n2<n1 && n2<n3)
menor=n2;
else
menor=n3;
medio=(n1+n2+n3)-(mayor+menor);
cout<<"El orden ingresado ascendentemente de los numeros es
"<<menor<<","<<medio<<","<<mayor<<" \n";
break;
}
system("pause");
}

Pgina: 13/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

V.

Pgina: 14/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

CUESTIONARIO FINAL
1.

Disear un programa que permita ingresar 3 nmeros por teclado y ordenarlos

2.

ascendentemente, realice tambin su diagrama de flujo.


Modifique el programa anterior para ordenarlos

3.

realice

el

pseudocdigo correspondiente.
Disee un programa de seleccin mltiple de tal manera que:
a. Si la opcin ingresada es 1, ordene tres nmeros ingresados por teclado en forma
ascendente.
b. Si la opcin ingresada es 2,

4.

descendentemente,

ordene tres nmeros ingresados por teclado en forma

descendente.
c. Si la opcin ingresa es 3, salga del programa.
d. Cualquier otra opcin enven el siguiente mensaje Error, caso no implementado.
Disee un programa que dada como datos la categora de un alumno y su pensin calcule
el descuento correspondiente teniendo en cuenta que:
a. Si la categora es A, se realice el descuento del 12%.
b. Si la categora es B, se realice el descuento del 9%.
c. Si la categora es C, se realice el descuento del 5%.
d. Si la se elije D, salga del programa.
e. Cualquier otra opcin enven el siguiente mensaje Error, caso no implementado.

VI.

OBSERVACIONES Y CONCLUSIONES
Emita al menos tres conclusiones en torno al trabajo realizado
1. ____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
2. ____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ - ESTRUCTURAS

CONDICIONALES O SELECTIVAS

Pgina: 15/15

LAB N 6

JP: Ings.
JCC-HZG-SMRCCO

3. ____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

Haga sus observaciones en torno al trabajo realizado (si es que las tuviera).

____________________________________________________________________________________________

____________________________________________________________________________________________

______________________________________________________________________________

http://algoritmosenjava.wordpress.com/2009/09/08/dado-3-numeros-devolver-los-3-enorden-ascendente/______________

S-ar putea să vă placă și