You are on page 1of 11

PROBLEMA NRO 1:

Hacer un programa que lea los nombres, edades y tallas de N atletas. N es declarado como
constante. Trabaje con 10 (atletas). El programa debe calcular :

a) El promedio de las edades y de las tallas.


b) Determinar cuantos atletas son menores de edad ( menores de 18 aos) y cuantos atletas son
mayores de edad.
c) Determinar los nombres de los atletas que son mas altos que el promedio.
Muestre este reporte:
Nombre Edades Tallas
xxxxxxx 99 99
xxxxxxx 99 99
xxxxxxx 99 99
Promedios 99.99 99.99
Numero de atletas menores de edad : 9
Numero de atletas mayores de edad : 9
Los atletas mas altos al promedio son:
xxxxxxxxxxx xxxxxxxxxxxxx
xxxxxxxxxxxxxx xxxxxxxxxx

Vari Prob2
Teora Algo Prog Corri Ejecu

VARIABLES UTILIZADAS 1:
Arreglo unidimensional (vector) que almacena los nombres(maximo 25
Nombre[N][25]
caracteres) de N atletas.
Edad [N] Arreglo unidimensional (vector) que almacena las edades de N atletas

Talla.[N] Arreglo unidimensional (vector) que almacena las tallas de N atletas

PromTall Promedio de las tallas de los N atletas.

PromEdad Promedio de las edades de los N atletas.

CMenEdad Cantidad de atletas menores de edad.

CMayEdad Cantidad de atletas mayores de edad.

ALGORITMO Genrico 1:
ALGORITMO Atletas
Declaracin de las variables y constantes
Ingreso los arreglos de Nombre, Edades y Tallas
// Rpta a)
Calcular el promedio de las edades (PromEdad)
Calcular el promedio de las tallas (PromTalla)
// Rpta b)
Calcular el numero de atletas menores de edad y el numero de atletas mayores de edad
// Rpta c) Reporte
Mostrar los nombres, edades y tallas de los N atletas
Mostrar el promedio de las edades y de las tallas
Mostrar la cantidad de atletas menores de edad
Mostrar la cantidad de atletas mayores de edad.
Mostrar los nombres de los atletas mas altos que el promedio.

PROGRAMA C++
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<iomanip.h>

const int N = 3;
void main()
{
char Nom[N][25];
int Edad[N], i, CanMenEdad, CanMayEdad, SumEdad;
double Talla[N], PromTalla, SumTalla, PromEdad;

// Leer los arreglos


for(i=0;i<N;i=i+1)
{
gets(Nom[i]);
cin>>Edad[i];
cin>>Talla[i];
}
// Rpta a) Promedio de las edades y las tallas
SumEdad = 0;
SumTalla = 0;
for(i=0;i<N;i=i+1)
{
SumEdad=SumEdad+Edad[i];
SumTalla = SumTalla + Talla[i];
}
PromEdad = SumEdad/N;
PromTalla = SumTalla/N;
// Rpta b) Cuantos atletas son menores de edad y cuantos mayores de edad
CanMenEdad = 0;
CanMayEdad = 0;
for(i=0;i<N;i=i+1)
{
if ( Edad[i] < 18 )
{ CanMenEdad = CanMenEdad + 1; }
else
{ CanMayEdad = CanMayEdad + 1; }
}
// Rpta c) Reporte y nombres de los atletas mas altos al promedio
for(i=0;i<N;i=i+1)
{
cout<<setw(25)<<Nom[i]<<setw(10)<<Edad[i]<<setw(10)<<Talla[i]<<endl;
}
cout<<setw(35)<<PromEdad<<setw(10)<<PromTalla<<endl;
cout<<"Numero de atletas menores de edad : "<<CanMenEdad<<endl;
cout<<"Numero de atletas mayores de edad : "<<CanMayEdad<<endl;
cout<<"Los atletas mas altos al promedio son: "<<endl;
for(i=0;i<N;i=i+1)
{
if(Talla[i] > PromTalla)
cout<<Nom[i]<<endl;
}
getch();
}

CORRIDAS DEL PROBLEMA 1:


Corrida 1 - archivo : atletas.cpp

EJECUTABLE
Ejecu

PROBLEMA NRO 2:
Hacer un programa que inicialice nombre, direccin y telfono de 5 amigos y muestre los datos de
uno de ellos, si se ingresa por teclado el ndice del
arreglo. Debe mostrar repetidamente los datos de un amigo. Hacerlo hasta que se ingrese
por teclado un ndice fuera del rango (0-4)
Vari Prob_3
Teora Algo Prog Corri Ejecu

VARIABLES UTILIZADAS 2:
Arreglo unidimensional (vector) que inicializa los nombres(maximo 30
nomb[5][25]
caracteres) de 5 amigos
Arreglo unidimensional (vector) que almacena las direcciones (maximo 30
direc [5][30]
caracteres) de 5 amigos
Arreglo unidimensional (vector) que almacena los telefonos (maximo 10
telef.[5][10]
caracteres) de 5 amigos
i Indice para manipular los elementos del arreglo unidimensional

ALGORITMO Genrico 2
ALGORITMO Amigos
Declaracin de las variables y constantes
Ingreso los arreglos de nomb, direc, telef
Repetir Mientras el indice este en el rango (0-4)
Ingresar por teclado un indice de un amigo
Muestra los datos del amigo de indice i

PROGRAMA C++ 2
// LIBRERIAS C++
#include<iostream.h> // cin y cout
#include<conio.h> // getch()
#include<iomanip.h> // setw()

void main()
{
char nomb[5][30] = {"Ada Lugo","Alberto C.", "Jorge B.", "Andre F.", "Miura F."};
char direc[5][30] = {"Av.Los Naranjos 120", "Av,Sucre 115", "Av. Lima 1230", "Jr. Cuzco 130","Av.
La Paz 340"};
char telef[5][10] = {"5423450","5257820", "2345678", "4567213", "3124567"};
int i;

// Muestra cabeceras
cout<<setw(30)<<"NOMBRE:"<<setw(30)<< "DIRECCION:" << setw(10) <<"TELEFONO:" <<endl;

// Muestra UN REPORTE con los datos de los 5 amigos:


for (i=0; i<= 4; i=i+1)
{ cout<<setw(30)<<nomb[i]<<setw(30)<<direc[i]<<setw(10) <<telef[i] << endl; }

// B) Muestra los datos de uno o varios amigos de indice i uno a la vez:


// termina cuando ingresa i fuera del rango ( 0 a 4)
cout<<"Ingrese el indice ";cin>>i;
while ((i>=0) && (i<5))
{ cout<<setw(30)<<nomb[i]<<setw(30)<<direc[i]<< setw(10) << telef[i] <<endl;
cout<<"ingrese el indice : ";cin>>i;
}
getch();
}

CORRIDAS DEL PROBLEMA Amigos_2:

EJECUTABLE
Ejecu

PROBLEMA NRO 3:
En un laboratorio que elabora 6 tipos de productos, debe tener en almacn una cantidad mnima de
cada tipo de producto. Hacer un programa que permita ingresar por teclado el inventario actual de
cada producto y muestre en pantalla la cantidad de medicamentos que debe producir para tener una
cantidad mnima en stock. Inicialice el stock mnimo de cada uno de los productos
Vari Prob_4
Teora Algo Prog Corri Ejecu

VARIABLES UTILIZADAS 3:
Arreglo unidimensional que almacena la produccin de medicamentos de cada
Prodmed[N]
uno de los productos para tener como tener en stock una cantidad mnima
Arreglo unidimensional que almacena la cantidad actual de medicamentos de
InvAct[N]
cada uno de los productos
Arreglo unidimensional que almacena la cantidad minima de medicamentos
stockMin[N]
que debe existir en almacen para no quedar desabastecido
Indice para manipular cada uno de los elementos de los arreglos
i
unidimensionales

ALGORITMO Genrico 3:
ALGORITMO
Declaracin de las variables ProdMed y InvAct, i
Inicialice el arreglo stock:Min
Leer el arreglo InvAct
Calcular el arreglo ProdMed para mantener el stockMin
Mostrar el arreglo ProdMed

PROGRAMA C++ 3:
// LIBRERIAS C++
#include<iostream.h> // cin y cout
#include<conio.h> // gtech()
#include<iomanip.h>
const int N = 6;
void main()
{
int i,Prodmed[N];
int StockMin[N] = {100, 50, 80, 120, 90, 110};
int InvAct[N];

// Lectura de los arrays paralelos


cout<<"Ingresar los arrays paralelos InvAct : "<<endl;
for (i=0 ; i<N; i = i+1 )
{ cin>>InvAct[i]; }

// Calculo del pedido de medicinas


for ( i = 0; i<N;i=i+1 )
{
if ( InvAct[i] < StockMin[i] )
{ Prodmed[i] = (StockMin[i] - InvAct[i]); }
else
{ Prodmed[i] = 0; }
}

// Mostrar el array de pedidos


for ( i = 0; i<N;i=i+1 )
{ cout<<setw(10)<<Prodmed[i]; }
cout<<endl,
getch();
}

CORRIDAS DEL PROBLEMA 3:


Corrida 1 - archivo : farmacia.cpp
EJECUTABLE 3:
Ejecu

PROBLEMA NRO 4 :
En una librera se tiene clasificados los libros en 8 grandes reas.
Hacer un programa que inicialice los nombres de las reas y permita el ingreso de libros adquiridos
de cada una de las reas en el primer semestre del ao. El programa debe calcular y mostrar la
cantidad mnima y mxima de libros adquiridos en el primer semestre, e indicar a que reas
corresponde. Debe mostrar este reporte:
reas Cantidad Libros adquiridos
xxxxxxxxxx 99999
xxxxxxxxxx 99999
------
999999
Cantidad Minima 999 en el area xxxxx
Cantidad Maxima 999 en el area xxxxx

Vari Prob5
Teora Algo Prog Corri Ejecu

VARIABLES UTILIZADAS 4:
Arreglo unidimensional que almacena los reas(8) en que se clasifican los
Area[N][20]
libros de la librera. Este arreglo se inicializar.
Arreglo unidimensional que almacena la cantidad de libros adquiridos en el
canLib[N]
primer semestre del ao en cada una de las reas
canTotLib Cantidad Total de libros adquiridos
ndice para manipular cada uno de los elementos de los arreglos
i
unidimensionales
N Cantidad de reas en que se clasifican los libros de la librera

minLib Mnima cantidad de libros adquiridos

maxLib Mxima cantidad de libros adquiridos

ALGORITMO Genrico 4:
ALGORITMO
Declaracin de las variables canTotLib, canLib, minLib, maxLib, Area e i
Inicialice el arreglo Area
Leer el arreglo canLib
Calcular el total de libros adquiridos canTotLib
Calcular la minLib mnima cantidad de libros adquiridos
Calcular la maxLib mxima cantidad de libros adquiridos
Mostrar el reporte.

PROGRAMA C++ 4:
#include<iostream.h> // cin y cout
#include<conio.h> // getch()
#include <iomanip.h> // setw()
void main()
{
const int N=8;
int canTotLib, canLib[N], i, minLib, maxLib;
char Area[N][20] = {"Matematica", "Informatica", "Literatura", "Sistemas", "Computacin", "Historia",
"Geografia", "Ciencias Naturales" };

//lectura de los arrays paralelos


for (i=0;i<N;i=i+1)
{ cout<<setw(10)<<"cantidad : ";cin>>canLib[i]; }

// Calculo de la cantidad total de libros


canTotLib=0;
for (i=0;i<N;i=i+1)
{ canTotLib=canTotLib+canLib[i]; }
// calcular la minima cantidad de libros
minLib=canLib[0];
for (i=1;i<N;i=i+1)
{ if (canLib[i]<minLib)
{ minLib=canLib[i]; }
}
//calcular la maxima cantidad de libros
maxLib=canLib[0];
for (i=1;i<N;i=i+1)
{ if (canLib[i]>maxLib )
{ maxLib=canLib[i]; }
}
// Mostrar reporte:
for (i=1;i<N;i=i+1)
{ cout<<setw(25)<<Area[i]<<setw(10)<<canLib[i]<<endl; }
cout<<setw(25)<<"Cant.Total :"<<setw(10)<<canTotLib<<endl;
cout<<"Cantidad Minima de libros : "<<minLib<<endl;

// areas a la que corresponde la minima cantidad de libros


for (i=0;i<N;i=i+1)
{ if (canLib[i]==minLib)
{ cout<<Area[i]<<" "; }
}
cout<<endl;
// areas a la que corresponde la maxima cantidad de libros
cout<<"cantidad Maxima de libros : "<<maxLib<<endl;
for (i=0;i<N;i=i+1)
{ if ( canLib[i]==maxLib )
{ cout<<Area[i]<<" "; }
}
cout<<endl;
getch();
}

CORRIDAS DEL PROBLEMA 4:


Corrida 1 - archivo : libreria.cpp

EJECUTABLE 4:
Ejecu

PROBLEMA NRO 5:
Hacer un programa que busque un nombre dentro de un arreglo de nombres de tamao N , donde N
es declarado como constante N = 4
Vari Prob_6
Teora Algo Prog Ejecu
Corri

VARIABLES UTILIZADAS 5:
nombre[N][20] Arreglo unidimensional que almacena los nombres completos de N = 4
personas, cada nombre de tamao mximo 20 caracteres.
nomB[20] nombre a buscar, de tamao mximo 20 caracteres
para strcmp(nomB, nombre[i])
almacena 0 si el nomB es igual a nombre[i]
v
almacena >0 si nomB es mayor a nombre[i
almacena < 0 si el nomB es menor a nombre[i]]
ndice para manipular cada uno de los elementos de los arreglos
i
unidimensionales
N Cantidad de nombres

ALGORITMO Genrico 5:
ALGORITMO
Declaracin de las variables , nomB, i y v
Inicializacin del arreglo nombre
Leer el nombre a buscar , nomB
Aplica el algoritmo de bsqueda secuencial
mientras (i<N) y (el nomB sea diferente a nombre[i])
i = i+1 // continua la busqueda
Si lo encuentra muestra la posicin en donde lo encontr

PROGRAMA C++ 5:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
void main()
{ const int N=4;
char nombre[N][20]={"Luis Garcia", "Edgar Fernandez", "Luis Ramos", "Tania Barzola"};
char nomB[20];
int i,v;

cout<<"nombre a buscar : "<<endl;gets(nomB);


i = 0;
v = strcmp(nomB,nombre[i]);
while ( (i<N) && (v!=0))
{
i=i+1;
v = strcmp(nomB,nombre[i]);
}
if (i!=N)
{ cout<<"se encuentra en la posicion..."<<i<<endl;}
else
{ cout<<"No se encuentra"<<endl;}
getch();
}
CORRIDAS DEL PROBLEMA 5:
Corrida 1 - archivo : busqueda_nombre.cpp

EJECUTABLE 5:

You might also like