35
ESCUELA DE INGENIERÍA INDUSTRIAL UNT 1ER INFORME PROGRAMACION C++

1 er informe

Embed Size (px)

Citation preview

Page 1: 1 er informe

ESCUELA DE INGENIERÍA INDUSTRIAL

UNT

1ER

INFORME PROGRAMACION C++

Page 2: 1 er informe

SENTENCIAS BÁSICAS

Probl. 01:

Al principio de un viaje en automóvil, el conductor se asegura de que el tanque de

combustible esté lleno y anota la lectura del cuenta-kilómetros. Al terminar su viaje,

anota la nueva lectura y la cantidad de combustible que se requiere para volver a

llenar el tanque. Editar el programa, que calcula el consumo de combustible (por cada

100 Km.), a partir de esta información.

Codificación:

#include<math.h>

#include<conio.h>

#include<iostream.h>

main () {

int a,b,c,d;

float p;

cout<<"kilometraje registrado ";cin>>a;

cout<<"combustible en tanque lleno(L) ";cin>>b;

cout<<"nuevo kilometraje registrado ";cin>>c;

cout<<" combustible restante en el tanque ";cin>>d;

clrscr();

p=(float)(b-d)/(c-a)*100;

cout<<"el consumo de combustible "<<p<<" (L) por cada 100 km recorrido";

getch () ;

}

Page 3: 1 er informe
Page 4: 1 er informe

Probl. 02:

6. Editar un programa que lea el lado de un cubo y calcule el área lateral y

el volumen del mismo.

Codificación:

#include<math.h>

#include<conio.h>

#include<iostream.h>

main () {

int L, Al, V;

cout<<"ingresar lado del cubo ";cin>>L;

clrscr();

Al=pow(L,2);

V=Al*L;

cout<<"el area lateral es "<<Al<<endl;

cout<<"el volumen es "<< V ;

getch () ;

}

Page 5: 1 er informe
Page 6: 1 er informe

Probl. 03:

7. Editar un programa para calcular el salario bruto semanal de un

empleado, pidiendo por teclado la tarifa que se le paga por hora por su trabajo y el

número de horas normales y extra trabajadas durante la semana. Las horas normales

se pagan según la tarifa estándar y cualquier tiempo extra se paga a 1,5 veces la tarifa

estándar por hora.

Codificación:

#include<math.h>

#include<conio.h>

#include<iostream.h>

main () {

int Hd,He,T;

float S;

cout<<"tarifa por hora ";cin>>T;

cout<<"horas de trabajo estandar ";cin>>Hd;

cout<<"horas extras de trabajo ";cin>>He;

clrscr();

S=(float)Hd*T+He*1.5*T;

cout<<"el salario es "<<S;

getch () ;

}

Page 7: 1 er informe
Page 8: 1 er informe

FUNCIONES ESTANDAR

Probl. 04:

7. Ingresar el lado de la base cuadrangular de la torre Eiffel y la estatura

de un hombre que está observando la torre desde exactamente el centro de uno de los

lados de la base, luego determinar la altura de la torre si dicha persona al mirar la

punta mide e ingresa el ángulo de elevación (probar el programa ingresando una base

que mida 50 metros de lado, una estatura del hombre de 1.80 m y un ángulo de

elevación de 85.4°).

Codificación:

#include<iostream.h>

#include<conio.h>

#include<math.h>

main () {

float L, Hh, a;

float Ht;

float pi=4*atan(1.0);

cout<<"ingresar lado de la base de la torre ";cin>>L;

cout<<"ingresar altura del hombre ";cin>>Hh;

cout<<"ingresar angulo de elevacion "; cin>>a;

clrscr();

Ht=(float)L/2*tan(pi*a/180)+Hh;

cout<<"la altura de la torre es "<<Ht;

getch () ;

}

Page 9: 1 er informe
Page 10: 1 er informe

Probl. 05:

8. Un globo aerostático se eleva verticalmente desde el punto P (en el

suelo), su ángulo de elevación desde el punto Q (en el suelo también) situado a 250 m

del punto P, cambia de 23° a 35°. Determine que tanto se eleva el globo durante este

cambio.

Codificación:

#include<iostream.h>

#include<conio.h>

#include<math.h>

main () {

float a,x,b,y,V,L;

float pi=4*atan(1.0);

cout<<"longitud del observador al punto de despegue del globo ";cin>>L;

cout<<"ingresar 1er angulo de elevacion hacia el globo "; cin>>a;

cout<<"ingresar 2do angulo de elevacion hacia el globo "; cin>>b;

x=(float)pi*a/180;

y=(float)pi*b/180;

clrscr();

V=(float)(tan(y)-tan(x))*250;

cout<<"varia de la altura del globo "<<V;

getch () ;

}

Page 11: 1 er informe
Page 12: 1 er informe

SENTENCIAS SELECTIVAS

Probl. 06:

9. Dado la hora, minutos y segundos, determinar la nueva hora después de n

segundos.

Codificación:

#include<iostream.h>

#include<conio.h>

#include<time.h>

main () {

int h,m,s,n;

cout<<"ingrese horas, minutos, segundos: ";

cin>>h>>m>>s;

cout<<"ingrese los segundos transcurridos: ";cin>>n;

s=s+n;

while (s>=60) { s = s-60; m=m+1;

while (m>=60) { m=m-60; h=h+1;

while (h>=24) h=h-24;

}

}

cout<<"la hora despues de "<<n<<" segundos sera "<<h<<":"<<m<<":"<<s;

getch();

}

Page 13: 1 er informe

Probl. 07:

Page 14: 1 er informe

13. Realizar un programa que permita realizar la preselección de los integrantes

del equipo de baloncesto, cuyo requisito es tener más de 1.80 m de estatura y pesar

menos de 100 Kg.

Codificación:

#include<iostream.h>

#include<conio.h>

main () {

float p,e;

cout<<"ingresar estatura: ";cin>>e;

cout<<"ingresar peso: ";cin>>p;

if (e>1.80 && p<100) cout<<"Ingresa al equipo de baloncesto";

else cout<<"no cumple las condiciones, no queda seleccionado";

getch () ;

}

Probl. 08:

Page 15: 1 er informe

14. Determinar la cantidad de dinero que recibirá un trabajador a la semana por

concepto de las horas extras trabajadas en una empresa. Se sabe que cuando las horas

de trabajo exceden de 40 horas, al resto se consideran horas extras y que éstas se

pagan al doble de una hora normal cuando no exceden de 8; si las horas extras

exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora normal y

el resto al triple.

Codificación:

#include<iostream.h>

#include<conio.h>

main () {

int h,t,S;

cout<<"ingresar tarifa por hora ";cin>>t;

cout<<"ingresar horas de trabajo semanal ";cin>>h;

clrscr();

if(h<=40) S=h*t;

if(h>40 && h<=48) S=40*t+2*t*(h-40);

if(h>48) S=40*t+8*2*t+3*t*(h-48);

cout<<"el salario semanal sera "<<S<< endl;

getch();

}

Page 16: 1 er informe
Page 17: 1 er informe

Probl. 09:

17. Calcular el promedio de calificaciones de un alumno de la Escuela de

Postgrado. Las dos primeras notas tienen un peso del 30% cada una y la tercera un

peso de 40%. Si el promedio ponderado es mayor o igual a 14 imprimir “Aprobado” y

un mensaje de felicitaciones, de lo contrario reportar “Reprobado” y un mensaje de

aviso. Si el promedio es igual a 20, reportará el mensaje “alumno excelente”. Se desea

imprimir el nombre del alumno, código del curso y el promedio obtenido.

Codificación:

#include<iostream.h>

#include<conio.h>

main () {

float p,s,t,N;

char n[20],c[20],Ap[20],Am[20];

gotoxy(5,1);cout<<"ingresar datos de alumno ";

gotoxy(2,3);cout<<" Nombre y Apellidos";

gotoxy(30,3);cin>>n>>Ap>>Am;

gotoxy(2,5);cout<<"ingresar codigo de curso ";

gotoxy(30,5);cin>>c;

gotoxy(2,7);cout<<"1er parcial ";

gotoxy(30,7);cin>>p;

gotoxy(2,9);cout<<"2do parcial ";

gotoxy(30,9);cin>>s;

gotoxy(2,11);cout<<"3ero parcial ";

gotoxy(30,11);cin>>t;

clrscr();

N = (float) 0.3*p+0.3*s+0.4*t;

cout<<"Alunmo: "<<n<<" "<<Ap<<" "<<Am<<endl;

cout<<"codigo de curso: "<<c<<endl;

Page 18: 1 er informe

cout<<"Promedio :"<<N<<endl;

if(N==20) cout<<"excelente alumno \n";

if(N>=14) cout<<"Aprobado";

else cout<<"Reprobado";

getch();

}

Page 19: 1 er informe

Probl. 10:

18. Asignar una letra para representar la calificación de un alumno, las calificaciones son

notas entre 0 y 20; usar los siguientes parámetros: A para calificaciones mayores o iguales a

18, B para calificaciones mayores o iguales a 16, C para calificaciones mayores o iguales a 14, D

para calificaciones mayores o iguales a 12, F para todas las demás calificaciones.

Codificación:

#include<iostream.h>

#include<conio.h>

main () {

int N;

do {

cout<<"ingresar calificacion: ";cin>>N;

clrscr();

if (N<12 && N>=0) cout<<"la calificacion es: F ";

if (N<14 && N>=12) cout<<"la calificacion es: D ";

if (N<16 && N>=14) cout<<"la calificacion es: C ";

if (N<18 && N>=16) cout<<"la calificacion es: B ";

if (N<=20 && N>=18) cout<<"la calificacion es: A "; }

while (N<0 || N>20);;

getch();

}

Page 20: 1 er informe

SENTENCIAS REPETITIVAS

Probl. 11:

Calcular el acumulado de las edades de un grupo de N personas siempre y cuando

dichas edades sean mayores a 18 y no pasen los 45.

Codificación:

#include<iostream.h>

#include<conio.h>

main () {

int n,e,i,s=0;

cout<<"ingresar numero de persona: ";cin>>n;

clrscr();

gotoxy(2,1);cout<<"ingresar edades: ";

for (i=1;i<=n;i++){

gotoxy(2,4+i); cin>>e;

if (e>18 && e<45)s=s+e;

}

cout<<"\n el acumulado de edades entre 18 y 45 es: "<<s;

getch();

}

Page 21: 1 er informe
Page 22: 1 er informe

Probl. 12:

9. Hacer un programa que solicite un valor entero positivo en base decimal e

imprima su equivalente en base binaria, por ejemplo: 13 en base decimal es

equivalente a 1101 en base binaria.

Codificación:

#include<iostream.h>

#include<conio.h>

#include<math.h>

main () {

float m;

int i=0,n;

long int b=0,C;

cout<<"ingrese valor entero positivo base decimal: ";cin>>m;

n=m;

while(n>0){

b=b+pow(10,i)*(n%2);

n=n/2;

i=i+1;}

C=b+n*pow(10,i);

cout<<"el numero en base binomial es: "<<C<<endl;

getch();

}

Page 23: 1 er informe
Page 24: 1 er informe

Probl. 13:

15. Escribir un programa que solicite un valor entero positivo k y en base a ese

valor realice lo siguiente: escribir los números desde 1 hasta el valor k, cada uno tantas

veces como indique su propio valor; y calcule la suma y la multiplicación de ellos. Por

ejemplo, si k = 4, debe obtenerse la salida:

1= 1, 1 = 1

2 + 2 = 4, 2 x 2 = 4

3 + 3 + 3 = 9, 3 x 3 x 3 = 27

4 + 4 + 4 + 4 = 16, 4 x 4 x 4 x 4 = 256

Codificación:

#include<iostream.h>

#include<conio.h>

#include<math.h>

main () {

int k,i,s,j;

long int p;

cout<<"ingresar un valor k: ";cin>>k;

clrscr();

cout<<" sumas ";

for(j=1;j<=k;j++){

s=pow(j,2);

for (i=1;i<=j;i++){

gotoxy(1+2*i,3+j);cout<<j;}

gotoxy(5+2*j,3+j);cout<<"="<<s;}

getch();

clrscr();

cout<<" productos ";

Page 25: 1 er informe

for(j=1;j<=k;j++){

p=pow(j,j);

for (i=1;i<=j;i++){

gotoxy(1+2*i,3+j);cout<<j;}

gotoxy(5+2*j,3+j);cout<<"="<<p;}

getch () ;

}

Page 26: 1 er informe

Probl. 14:

16. Implemente el siguiente juego: el programa seleccionará un número aleatorio

entre 0 y 100 y el jugador debe acertarlo. En cada intento el jugador propondrá una

solución y se le informará si el número a acertar es menor o mayor que el propuesto.

El juego termina cuando se acierte la cifra o haya realizado un máximo de 12 intentos

en cuyo caso se le mostrará al jugador la calificación obtenida según la siguiente tabla:

Número de intentos Categoría

1-3

4-6

Suertudo

Genio

Page 27: 1 er informe

7

8

>= 9

No está mal

Se puede mejorar

Que pasa amigo

Codificación:

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<stdlib.h>

main () {

int n,r,i;

randomize();

r=rand()%101;

for(i=1;i<=12;i++){

cout<<"\n ingrese un numero ";cin>>n;

clrscr();

if(r>n)cout<<"el numero aleatorio es mayor\n\n";

if(r<n)cout<<"el numero aleatorio es menor\n\n";

if(r==n) {

if(i>=1 && i<=3) cout<<" suertudo ";

if(i>=4 && i<=6) cout<<" genio ";

if(i==7) cout<<" no esta mal ";

if(i==8) cout<<" se puede mejorar ";

if(i>=9 && i<=12) cout<<" ¡que pasa amigo! "; goto etiqueta;

}

}

etiqueta:

Page 28: 1 er informe

getch () ;

}

Page 29: 1 er informe

Probl. 15:

18. A una fiesta asistieron personas de diferentes edades y sexos. Hacer un

programa en el cual se ingrese las edades y sexos de las personas? Calcular:

Cuantas personas asistieron a la fiesta

Cuantos hombres y cuantas mujeres

Promedio de edades por sexo

La edad de la persona más joven que asistió

No se permiten menores de edad a la fiesta

Ingresar datos hasta que se ingrese una edad a cero

Page 30: 1 er informe

Codificación:

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<stdlib.h>

#include<string.h>

#include<stdio.h>

main () {

int M,E,F,i=0,c;

int Sf,Sm,menor=10000;

float Pm,Pf;

char sexo[3][3]={'m','f'};

char sex[5];

cout<<"ingrese datos \n";

cout<<" edad sexo [ m , f ]\n";

do {

gotoxy(2,3+2*i);cin>>E;

gotoxy(10,3+2*i);gets(sex);

i=i+1 ;

if(E>=18){

F=0; Sf=0; M=0;Sm=0;

if(strcmp(sexo[1],sex)==0) M=M+1; Sm=Sm+E;

if(strcmp(sexo[2],sex)==0) F=F+1; Sf=Sf+E;

if(E<menor) menor=E; }

else cout<<"no se permiten menores de edad";

Page 31: 1 er informe

}

while(E!=0);

clrscr();

c=F+M;

cout<<"asistieron "<<c<<" personas ";

cout<<M<<" hombres y "<<F<<" mujeres";

getch();

clrscr();

Pm = (float)Sm/M;

Pf = (float) Sf/F;

gotoxy(10,1);cout<<" promedio de edades por sexo \n";

gotoxy(1,3);cout<<"promedio en hombres";

gotoxy(1,5);cout<<Pm;

gotoxy(25,3);cout<<"promedio en mujeres";

gotoxy(25,5);cout<<Pf;

getch();

clrscr();

cout<<"edad del mas joven en la fiesta "<<menor;

getch();

}

ARREGLOS

Probl. 16:

2. Elaborar un programa que sume los primeros 10 números enteros guardados

en un vector que tiene por tamaño a un valor mayor a 20. Se desea imprimir la lista de

números sumados y al final la suma de los mismos.

Page 32: 1 er informe

Codificación:

#include<iostream.h>

#include<conio.h>

main () {

int i, x[20], s=0;

cout<<"ingresar numeros para guardar en vector ";

for (i=1;i<=20;i++) {

gotoxy (3,2+i);cin>>x[i]; }

clrscr();

for (i=1;i<=20;i++) {

s=s+x[i]; }

for(i=1;i<=10;i++) {

gotoxy(3,1+i);cout<<x[i]<<endl; }

cout<<"\n\nla suma de los 10 primeros numeros es: "<<s;

getch();

}

Page 33: 1 er informe
Page 34: 1 er informe

Probl. 17:

11. Hacer un programa que calcule la nota de N alumnos en una prueba de 10

preguntas de opciones múltiples ('A', ‘B’, ‘C’, ‘D’ o 'E'). Cada pregunta correcta se

evalúa con dos puntos. Se deberá inicializar un arreglo con las respuestas correctas. El

programa debe mostrar el nombre, el arreglo de respuestas correctas y el arreglo de

respuestas del alumno y la nota de los alumnos.

Codificación:

#include<iostream.h>

#include<conio.h>

main(){

int i,N,n[2],j;

char x[10]={'a','b','e','a','d','c','b','a','e','b'};

char y[10][10],A[20][20];

cout<<"ingrese el numero de alumnos: ";cin>>N;

clrscr();

for(j=1;j<=N;j++){

cout<<" nombre del alumno: ";cin>>A[j];

cout<<"\n ingresar respuestas del alumno \n";

for(i=1;i<=10;i++) cin>>y[j][i];

clrscr(); }

for(j=1;j<=N;j++){

gotoxy(1+15*j,1);cout<<A[j];

for(i=1;i<=10;i++){

gotoxy(1+15*j,1+i);cout<<"[";gotoxy(9+15*j,1+i);cout<<"]";

gotoxy(5+15*j,1+i); cout<<y[j][i];}}

for(j=1;j<=N;j++){

n[j]=0;

for(i=1;i<=10;i++){

Page 35: 1 er informe

if(x[i]=y[j][i]) n[j]=n[j]+2; }

gotoxy(1+15*j,15);cout<<" nota "<<n[j]; }

getch();

}