practica 10 laboratorio de computación para ingenieros fi

Post on 26-Jun-2015

710 Views

Category:

Education

10 Downloads

Preview:

Click to see full reader

DESCRIPTION

Reporte con ejercicios resueltos de práctica 10 de laboratorio de computación para ingenieros. Facultad de Ingeniería UNAM.

TRANSCRIPT

OBJETIVOS

a) El alumno será capaz de realizar programas que involucren la toma de decisiones y éstas llevarán a realizar diferentes procesos con el fin de alcanzar la solución de una tarea.

b) El alumno conocerá la utilidad de la sentencia if como una alternativa doble que controla la ejecución de dos conjuntos de instrucciones.

c) El alumno controlará la ejecución de varios conjuntos de instrucciones mediante el valor final de una expresión.

Al final de esta práctica el alumno podrá:

1. Realizar exitosamente programas que involucren la toma de decisiones.

1

LISTA DE EJERCICIOS

1. Modificar el ejemplo 2 de la práctica, para que se visualice en pantalla que no se puede realizar esta operación porque el divisor es igual a cero.

2. Escribir un programa que lea la calificación de un examen por teclado y devuelva la calificación no numérica correspondiente. La calificación podrá ser: No aprobado (0-4.99), Aprobado (5-6.99), Notable (7-8.99), Sobresaliente (9-9.99) o Excelente (10).Realizar este ejercicio utilizando la sentencia de control if-else.

3. Escribir un programa que lea cuatro números cualesquiera y determine cuál es el mayor. También deberá considerar el caso en el que los números sean iguales.

4. Escribir un programa que lea cuatro números enteros y determine cuál es el menor. También debe considerar el caso en el que los números sean iguales.

5. Escribir un programa que permita introducir por teclado tres números enteros y responda si los números son iguales.

6. Una empresa desea calcular la productividad de un mes dado, esta se calcula como sigue:

Abril, mayo, junio 17Julio, agosto 19Septiembre, octubre, noviembre 20Diciembre 21

Se pide elaborar un programa que permita solicitar al usuario un mes cualquiera y se calcule la productividad si se sabe que esta es igual al número de artículos producidos en el mes multiplicándolo por el factor del mes que corresponda al mes proporcionado, se conoce la cantidad de artículos producidos y el mes.

2

7. Realizar un programa en el que el usuario introduce un número entero y el programa responde si el número es par o impar.

8. Realizar un programa que pida cinco números y muestre por pantalla el siguiente menú:

1. Suma2. Resta3. Multiplicación4. División

El usuario debe elegir una opción y el programa mostrar el resultado de la operación realizada. Contemplar los casos en los que el usuario elige una opción distinta de las 4 posibles (por ejemplo: “Opción no válida”).

9. Realizar un programa que sirva para calcular el área de un triángulo A=b*h/2, área de un rectángulo A=b*h, o el área de un circulo A=pi*r^2*

10.En un supermercado se va a poner en marcha la “Promoción Bolitas”, la cual consiste en que al llegar a la caja el cliente y proceder a efectuar el pago correspondiente a sus compras, se le invita a sacar una bolita al azar de una caja virtual y dependiendo del color de la bolita obtendrá un descuento aplicable al total de su cuenta.

Realizar el programa con las siguientes características:

• El cliente debe sacar una bolita de la caja (totalmente al azar).• El sistema debe mostrarle al cliente la bolita e indicarle el porcentaje del descuento obtenido.• El sistema le solicita a la cajera teclear el importe de la cuenta total del cliente.• El sistema debe aplicar el descuento correspondiente a la cuenta del cliente e indicar cuál es la cantidad a pagar.

3

11.Escribir un programa que pida un número entero y determine si es múltiplo de 2 y de 5.

12.Escribir un programa que pida un número entero y determine si es múltiplo de 2 y de 5. Diseñar un programa que permita realizar diferentes tipos de conversiones de monedas. El usuario debe seleccionar un tipo de conversión desde el menú principal. Por ejemplo:

1. Dólares a pesos2. Pesos a dólares3. Pesos a euros4. Euros a pesos5. Dólares a euros6. Euros a dólares

4

EJERCICIOS QUE NO SALIERON

Todos los ejercicios fueron realizados satisfactoriamente.

5

DESARROLLO DE ERJERCICIOS

1. Modificar el ejemplo 2 de la práctica, para que se visualice en pantalla que no se puede realizar esta operación porque el divisor es igual a cero.

/*Programa que realiza una operación sobre dos números, y restringe división por cero*/#include <stdio.h>int main(void){

char c;int a,b;printf("\n\n\tDame un car%ccter\n\n\t",160);scanf("%c",&c);printf("\n\n\tIngresa dos n%cmeros enteros separados por comas\n\n\

t",163);scanf("%d, %d",&a,&b);

switch (c){case '+':

printf("\n\n\tResultado de la suma %d",a+b);break;

case '-':printf("\n\n\tResultado de la resta %d",a-b);break;

case '*':printf("\n\n\tResultado de la multiplicaci%cn

%d",162,a*b);break;

case '/':if(b==0)

printf("\n\n\tNo se puede realizar la operaci%cn, el divisor es cero.",162);

elseprintf("\n\n\tResultado de la divisi%cn

%f",162,a/b);break;

default:printf("\n\n\terror, operación incorrecta");}

printf("\n\n\t");system("pause");}

6

7

2. Escribir un programa que lea la calificación de un examen por teclado y devuelva la calificación no numérica correspondiente. La calificación podrá ser: No aprobado (0-4.99), Aprobado (5-6.99), Notable (7-8.99), Sobresaliente (9-9.99) o Excelente (10).Realizar este ejercicio utilizando la sentencia de control if-else.

/*Programa que lee la calificación de un examen por teclado y devuelva la calificación no numérica correspondiente. La calificación podrá ser: No aprobado (0-4.99), Aprobado (5-6.99), Notable (7-8.99), Sobresaliente (9-9.99) o Excelente (10). Realizar este ejercicio utilizando la sentencia de control if-else.*/

#include<stdlib.h>#include<stdio.h>#include<conio.h>main(){ float calific; printf("\n\n\tPara conoer la equivalencia de tu calificaci%cn,\n\n\tingresa tu

calificaci%cn:\n\n\t",162,162); scanf("%f",&calific); if(calific>10 || calific<0) printf("\n\n\tError al ingresar datos."); else if(calific<=4.99) printf("\n\n\t%.2f equivale: No aprovado",calific); else if(calific<=6.99) printf("\n\n\t%.2f equivale: Aprovado",calific); else if(calific<=8.99) printf("\n\n\t%.2f equivale: Notable",calific); else if(calific<10) printf("\n\n\t%.2f equivale: Sobresaliente",calific); else printf("\n\n\t%.2f equivale: Excelente",calific); printf("\n\n\t"); system("pause"); }

8

9

3. Escribir un programa que lea cuatro números cualesquiera y determine cuál es el mayor. También deberá considerar el caso en el que los números sean iguales.

/*Programa que le cuatro números cualesquiera, determine cuál es el mayor. Considera el caso en el que los números sean iguales.*/

#include<stdio.h>#include<stdlib.h>#include<Conio.h>

main(){ int num_1,num_2,num_3,num_4,mayor; printf("\n\n\tIngrese 4 n%cmeros y el programa determinar%c cu%cl es el

mayor:\n\n\t",163,160,160); scanf("%d %d %d %d",&num_1,&num_2,&num_3,&num_4);

if(num_1==num_2&&num_1==num_3&&num_1==num_4)printf("\n\n\tLos n%cmeros ingresados son iguales a:

%d",163,num_1);else if (num_2>num_1&&num_2>num_3&&num_2>num_4)

printf("\n\n\tEl n%cmero m%cs grande es: %d",163,160,num_2);

else if (num_3>num_1&&num_3>num_2&&num_3>num_4)printf("\n\n\tEl número m%cs grande es: %d",163,160,num_3);

else if(num_4>num_1&&num_4>num_2&&num_4>num_3)printf("\n\n\tEl n%cmero m%cs grande es:

%d",163,160,num_4);else

printf("\n\n\tEl n%cmero m%cs grande es: %d",163,160,num_1);

printf("\n\n\t"); system("pause"); }

10

11

4. Escribir un programa que lea cuatro números enteros y determine cuál es el menor. También debe considerar el caso en el que los números sean iguales.

/*Programa que le cuatro números cualesquiera, determine cuál es el menor. Considera el caso en el que los números sean iguales.*/

#include<stdio.h>#include<stdlib.h>#include<Conio.h>

main(){ int num_1,num_2,num_3,num_4,mayor; printf("\n\n\tIngrese 4 n%cmeros y el programa determinar%c cu%cl es el

mayor:\n\n\t",163,160,160); scanf("%d %d %d %d",&num_1,&num_2,&num_3,&num_4);

if(num_1==num_2&&num_1==num_3&&num_1==num_4)printf("\n\n\tLos n%cmeros ingresados son iguales a:

%d",163,num_1);else if (num_2<num_1&&num_2<num_3&&num_2<num_4)

printf("\n\n\tEl n%cmero menor es: %d",163,num_2);else if (num_3<num_1&&num_3<num_2&&num_3<num_4)

printf("\n\n\tEl n%cmero menor es: %d",163,num_3);else if(num_4<num_1&&num_4<num_2&&num_4<num_3)

printf("\n\n\tEl n%cmero menor es: %d",163,num_4);else

printf("\n\n\tEl n%cmero menor es: %d",163,num_1); printf("\n\n\t"); system("pause"); }

12

13

5. Escribir un programa que permita introducir por teclado tres números enteros y responda si los números son iguales.

/*Programa que permita introducir por teclado tres números enteros y responda si los números son iguales.*/

#include<stdlib.h>#include<stdio.h>#include<conio.h>

main(){ int uno,dos,tres; printf("\n\n\tPara saber si tres n%cmeros son iguales,\n\n\tingresa tres n

%cmeros enteros:\n\n\t ",163,163); scanf("%d %d %d",&uno,&dos,&tres); if(uno==dos && uno==tres) printf("\n\n\tLos n%cmeros ingresados: %d,%d,%d son iguales\n\n\

t",163,uno,dos,tres); else printf("\n\n\tLos n%cmeros ingresados: %d,%d,%d no son iguales\n\n\

t",163,uno,dos,tres); system("pause"); }

14

6. Una empresa desea calcular la productividad de un mes dado, esta se calcula como sigue:

Abril, mayo, junio 17Julio, agosto 19Septiembre, octubre, noviembre 20Diciembre 21

Se pide elaborar un programa que permita solicitar al usuario un mes cualquiera y se calcule la productividad si se sabe que esta es igual al número de artículos producidos en el mes multiplicándolo por el factor del mes que corresponda al mes proporcionado, se conoce la cantidad de artículos producidos y el mes.

/*Programa que calcula la productividad en cada mes de una empresa*/#include<stdio.h>#include<stdlib.h>#include<conio.h>

main(){ int articulos,productividad; char mes; printf("\n\n\tBIENVENIDO... \n\n\tSelecciones el mes del que desea calcular la

productividad "); printf("\n\n\tA--Enero\n\n\tB--Febrero\n\n\tC--Marzo\n\n\tD--Abril \n\n\tE--Mayo\

n\n\tF--Junio\n\n\tG--Julio\n\n\tH--Agosto\n\n\tI--Septiembre\n\n\tJ--Octubre\n\n\tK--Noviembre\n\n\tL--Diciembre\n\n\t ");

scanf("%c",&mes); printf("\n\n\tIngrese la cantidad de articulos producidos en el mes.\n\n\t"); scanf("%d",&articulos); switch(mes){ case'a':case'A':case'b':case'B':case'c':case'C': productividad=articulos*15; printf("\n\n\tLa productividad en el mes es de %d.\n\n\

t",productividad); break; case 'd': case'D':case'e':case'E':case'f':case'F': productividad=articulos*17; printf("\n\n\tLa productividad en el mes es de %d.\n\n\

t",productividad); break; case'g':case'G':case'h':case'H': productividad=articulos*19;

15

printf("\n\n\tLa productividad en el mes es de %d.\n\n\t",productividad);

break; case'i':case'I':case'j':case'J':case'k':case'K': productividad=articulos*20; printf("\n\n\tLa productividad en el mes es de %d.\n\n\

t",productividad); break; case'l':case'L': productividad=articulos*21; printf("\n\n\tLa productividad en el mes es de %d.\n\n\

t",productividad); break; default: printf("\n\n\tEsta opcion no es valida. \n\n\t "); } system("pause"); }

16

7. Realizar un programa en el que el usuario introduce un número entero y el programa responde si el número es par o impar.

#include<stdio.h>#include<conio.h>int main(){

int num;printf("\n\n\tIngrese un n%cmero y el programa le dir%c si es par o impar: \

n\n\t",163,160);scanf("%d",&num);

if(num%2==0)printf("\n\n\tEl n%cmero %d es par\n\n\t",163,num);

elseprintf("\n\n\tEl n%cmero %d es impar\n\n\t",163,num);

system("pause");}

17

8. Realizar un programa que pida cinco números y muestre por pantalla el siguiente menú:

1. Suma2. Resta3. Multiplicación4. División

El usuario debe elegir una opción y el programa mostrar el resultado de la operación realizada. Contemplar los casos en los que el usuario elige una opción distinta de las 4 posibles (por ejemplo: “Opción no válida”).

/*Programa que pida cinco números y muestre por pantalla el siguiente menú:1. Suma2. Resta3. Multiplicación4. DivisiónEl usuario debe elegir una opción y el programa mostrar el resultado de la operación realizada.*/

#include<stdlib.h>#include<stdio.h>#include<conio.h>

main(){ float num1,num2,num3,num4,num5,resultado; int op; printf("\n\n\tIngresa una de las opciones del men%c:\n\t\t1) Suma\n\t\t2) resta\

n\t\t3) multiplicaci%cn\n\t\t4) Divisi%cn\n\n\t",163,162,162); scanf("%d",&op); fflush(stdin);

printf("\n\n\tIngresa 5 n%cmeros:\n\t",163); scanf("%f %f %f %f %f",&num1,&num2,&num3,&num4,&num5);

switch(op){case 1:

resultado=num1+num2+num3+num4+num5;printf("\n\n\t%.2f+%.2f+%.2f+%.2f+%.2f=

%.2f",num1,num2,num3,num4,num5,resultado);

break;

18

case 2:resultado=num1-(num2+num3+num4+num5);printf("\n\n\t %.2f-%.2f-%.2f-%.2f-%.2f=

%.2f",num1,num2,num3,num4,num5, resultado);

break;case 3:

resultado=num1*num2*num3*num4*num5;printf("\n\n\t%.2f*%.2f*%.2f*%.2f*%.2f=%.2f",num1,num2,num3,num4,num5, resultado);

break;case 4:

resultado=(num1+num2+num3)/(num4+num5);printf("\n\n\t(%.2f+%.2f+%.2f)/(%.2f+%.2f)=

%.2f",num1,num2,num3,num4,num5, resultado);

break;default:

printf("\n\n\tError, opci%cn de men%c no v%clida\n\t",162,163,160);

}printf("\n\n\t");system("pause");

}

19

9. Realizar un programa que sirva para calcular el área de un triángulo A=b*h/2, área de un rectángulo A=b*h, o el área de un circulo A=pi*r^2*.

/*Realizar un programa que sirva para calcular el área de un triángulo A=b*h/2, área de un rectángulo A=b*h, o el área de un circulo A=pi*r^2*/

#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<math.h>#define pi 3.1416main(){ float area,base,altura,radio; char opcion; printf("\n\n\t Seleccione que opcion quiere realizar."); printf("\n\n\t a) Area de un triangulo."); printf("\n\n\t b) Area de un rectangulo."); printf("\n\n\t c) Area de un circulo."); printf("\n\n\t"); scanf("%c",&opcion); switch(opcion) { case'a':case'A': printf("\n\n\tIngrese la altura del triangulo. \n\n\t "); scanf("%f",&altura); printf("\n\n\tIngrese la base del triangulo. \n\n\t "); scanf("%f",&base); area=abs((base*altura)/2); printf("\n\n\tEl area del triangulo es %.2f.",area); break; case 'b': case 'B': printf("\n\n\tIngrese la altura del rectangulo. \n\n\t "); scanf("%f",&altura); printf("\n\n\tIngrese la base del rectangulo. \n\n\t "); scanf("%f",&base); area=abs(base*altura); printf("\n\n\tEl area del rectangulo es %.2f.",area); break;

20

case 'c':case 'C': printf("\n\n\tIngrese el radio del circulo. \n\n\t "); scanf("%f",&radio); area=pi*(radio*radio); printf("\n\n\tEl area del circulo es %.2f.",area); break; default: printf("\n\n\t Esa opcion no es valida."); } printf("\n\n\t"); system("pause"); }

21

10.En un supermercado se va a poner en marcha la “Promoción Bolitas”, la cual consiste en que al llegar a la caja el cliente y proceder a efectuar el pago correspondiente a sus compras, se le invita a sacar una bolita al azar de una caja virtual y dependiendo del color de la bolita obtendrá un descuento aplicable al total de su cuenta.

Realizar el programa con las siguientes características:•El cliente debe sacar una bolita de la caja (totalmente al azar).•El sistema debe mostrarle al cliente la bolita e indicarle el porcentaje del descuento obtenido.•El sistema le solicita a la cajera teclear el importe de la cuenta total del cliente.•El sistema debe aplicar el descuento correspondiente a la cuenta del cliente e indicar cuál es la cantidad a pagar.

#include <stdio.h>#include <math.h>#include<time.h>

main(){int bolita;float porcentaje, precio_original, precio_final;printf("\n\n\tPara participar en la promoci%cn Bolitas,\n\n\toprima una tecla

para sacar una bolita\n\t",162);getch(); fflush(stdin);

srand((unsigned)time(NULL));bolita=rand()%5+1;switch(bolita){

case 1:printf("\n\n\tUsted sac%c una bolita negra y tiene el

10%% de descuento.\n\n\t",162);porcentaje=0.90;break;

22

case 2:printf("\n\n\tUsted sac%c una bolita verde tiene el 25%

% de descuento.",162);porcentaje=0.75;break;

case 3:printf("\n\n\tUsted sac%c una bolita amarilla tiene el

50%% de descuento.",162);porcentaje=0.5;break;

case 4:printf("\n\n\tUsted sac%c una bolita azul tiene el 75%%

de descuento.",162);porcentaje=0.25;break;

case 5:printf("\n\n\tUsted sac%c una bolita roja tiene el 100%

% de decuento.",162);porcentaje=0;break;}

printf("\n\n\tIngrese la cuenta totla del cliente:\n\n\t");scanf("%f",&precio_original);precio_final=precio_original*porcentaje;printf("\n\n\tCon un precio origninal de %.2f, y un descuento de %%%.2f,\n\

n\tel total a pagar es: %.2f\n\n\t",precio_original,(1-porcentaje)*100,precio_final);

system("pause");}

23

24

11. Escribir un programa que pida un número entero y determine si es múltiplo de 2 y de 5.

/*Programa que pide un número entero y determina si es múltiplo de 2 y de 5.*/

#include<stdlib.h>

#include<stdio.h>

#include<conio.h>

main(){

int entero,mod2,mod5;

printf("\n\n\tEste programa te permitir%c averiguar si un n%cmero \n\n\tes m%cltiplo de 2 y de 5\n\n\tIngresa un n%cmero:\n\n\t",160,163,163,163);

scanf("%d",&entero);

mod2=entero%2;

mod5=entero%5;

if(mod2==0&&mod5==0)

printf("\n\n\tEl n%cmero %d es m%cltiplo de de 2 y de 5",163,entero,163);

else if(mod2==0)

printf("\n\n\tEl n%cmero %d solo es m%cltiplo de 2",163,entero,163);

else if(mod5==0)

printf("\n\n\tEl n%cmero %d solo es m%cltiplo de 5",163,entero,163);

else

printf("\n\n\tEl n%cmero %d no es m%cltiplo de 2 ni de 5",163,entero,163);

printf("\n\n\t");

system("pause");

}

25

26

12.Escribir un programa que pida un número entero y determine si es múltiplo de 2 y de 5. Diseñar un programa que permita realizar diferentes tipos de conversiones de monedas. El usuario debe seleccionar un tipo de conversión desde el menú principal. Por ejemplo:

1. Dólares a pesos2. Pesos a dólares3. Pesos a euros4. Euros a pesos5. Dólares a euros6. Euros a dólares

NOTA.SE TOMARON EN CUENTA LOS SIGUIENTES CAMBIOS DE MONEDA.

1 dólar = 12.1698917 pesos mexicanos.1 dólar = 0.76810815 euros.1 euro = 15.843982 pesos mexicanos.1 euro = 1.30500 dólares.

/*Programa que permite realizar diferentes tipos de conversiones de moneda. */#include<stdio.h>#include<stdlib.h>#include<conio.h>

main(){ float dolares,pesos,euros; char opcion; printf("\n\n\t Seleccione la opcion que desea ejecutar."); printf("\n\n\t a--Dolares a pesos."); printf("\n\n\t b--Pesos a Dolares."); printf("\n\n\t c--Pesos a Euros."); printf("\n\n\t d--Euros a Pesos."); printf("\n\n\t e--Dolares a euros."); printf("\n\n\t f--Euros a Dolares."); printf("\n\n\t"); scanf("%c",&opcion);

27

switch(opcion){ case 'a': case 'A': printf("\n\n\tIngrese la cantidad en Dolares que desea convertir

a Pesos."); printf("\n\n\t"); scanf("%f",&dolares); pesos=dolares*12.1698; printf("\n\n\t Su cantidad %.2f en Dolares es quivalente a %.2f

en Pesos.",dolares,pesos); break; case'b': case 'B': printf("\n\n\tIngrese la cantidad en Pesos que desea convertir a

Dolares."); printf("\n\n\t"); scanf("%f",&pesos); dolares=pesos/12.1698; printf("\n\n\t Su cantidad %.2f en Pesos es quivalente a %.2f en

Dolares.",pesos,dolares); break; case'c':case'C': printf("\n\n\tIngrese la cantidad en Pesos que desea convertir a

Euros."); printf("\n\n\t"); scanf("%f",&pesos); euros=pesos/15.8439; printf("\n\n\t Su cantidad %.2f en Pesos es quivalente a %.2f en

Euros.",pesos,euros); break; case'd': case'D': printf("\n\n\tIngrese la cantidad en Euros que desea convertir a

Pesos."); printf("\n\n\t"); scanf("%f",&euros); pesos=euros*15.8439; printf("\n\n\t Su cantidad %.2f en Euros es quivalente a %.2f en

Pesos.",euros,pesos); break;

28

case'e':case'E': printf("\n\n\tIngrese la cantidad en Dolares que desea convertir

a Euros"); printf("\n\n\t"); scanf("%f",&dolares); euros=dolares*0.7681; printf("\n\n\t Su cantidad %.2f en Dolares es quivalente a %.2f

en Euros.",dolares,euros); break; case'f':case'F': printf("\n\n\tIngrese la cantidad en Euros que desea convertir a

Dolares"); printf("\n\n\t"); scanf("%f",&euros); dolares=euros/0.7681; printf("\n\n\t Su cantidad %.2f en Euros es quivalente a %.2f

Dolares.",euros,dolares); break; default: printf("\n\n\tEsa opcion no es valida"); } printf("\n\n\t"); system("pause"); }

29

30

APRENDIZAJE INDIVIDUAL

Alba Hernández Jorge Iván:

Al desarrollar las actividades, tuve algunas dificultades en la interpretación de algunos ejercicios. También tuve muchas veces errores de sintaxis cuando usaba scanf, hacía algo así: sacnf(“%d”,&algo); ó scanf(“algo”);. Por lo demás el curso de la práctica marchó bien y me parece que fueron pocos ejercicios para equipos de 3, tocaron 4 a cada quien y había varios muy sencillos.

Esta práctica me ayudó mucho a reforzar los conocimientos de lo que vimos en teoría y a practicar la sintaxis, que aún me falla un poco, y esto provoca que tarde mecho revisando las fallas.

García Márquez Stephanie Verónica.

El aprendizaje que me deja esta práctica es la utilización correcta en el seleccionador de casos, pero más que nada me ayudo a practicar la sintaxis de éste. Por otra parte es un complemento a lo anterior visto y va dando paso para la utilización de los ciclos.

Gómez López Cristian:

Esta práctica se me hizo muy interesante, ya que lo difícil aquí no es programar, si no darle la "lógica" y la solución al problema que se nos presenta. Poco a poco aprendo un poco más de esta profesión, es difícil, pues no cualquiera programa, pero nada que no pueda uno hacer con dedicación y coraje.

31

top related