Planxa Lista 2
-
Upload
stephanie-campos-valverde -
Category
Documents
-
view
95 -
download
1
Transcript of Planxa Lista 2
• Estructura de Datos - Arreglos
Tema:
• Algoritmos y Lenguaje de Programación
Curso:
• Ramos Lama Cesar Adan
Alumno:
• Marte, 19 de Julio del 2011
Fecha de presentacion:
1. Escribir un programa para calcular el promedio de prácticas de un curso de matemáticas. Considerar las siguientes actividades
previamente:
a) Leer las notas y duplicar la ultima.
b) Eliminar la nota menor.
c) Calcular el promedio.
2. Escribir un programa que permita almacenar N elementos de tipo entero a un vector y determinar lo siguiente:
a) La suma de los elementos del vector.
b) El promedio de los elementos del vector.
c) Mostrar los elementos mayores al promedio.
3. Escribir un programa que permita almacenar elementos positivos en un vector y determinar lo siguiente:
a) Número de elementos almacenados.
b) Número de elementos repetidos.
4. Escribir un algoritmo que permita almacenar y ordenar de menor a mayor sus 50 elementos del vector.
5. Escribir un programa para que cree una matriz de dimensiones nxm cuyos elementos seas los que a continuación se detallan. El valor de
los elementos de la primera fila deberán ser el número de la columna correspondiente. El valor de los elementos de la primera columna
será el número de la fila correspondiente. El valor del resto de los elementos es igual a la suma del valor del elemento que se encuentra
por encima de él y el valor del elemento que se encuentra a su izquierda. Cuando se ejecuta el programa debe pedir al usuario que
introduzca la dimensión (my n) de la matriz en cuestión.
6. Diseñar un programa para leer una matriz de nxn elementos y calcular la suma de los elementos de su diagonal.
7. Diseñar un programa para leer una matriz de nxn elementos y calcular la suma de sus elementos por fila y por columna.
*Problema 1 Desarrollar un algoritmo para imprimir un listado con los numeros de 1 a 1000,cada uno con
su respectivo cuadrado
y cubo.Los numeros con sus respectivos cuadrados y cubos deben ir en una misma linea
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int i;
float c,v;
for(i=1;i<=1000;i++)
{
c=pow(i,2);
v=pow(i,3);
cout<<i<<" su cuadrado es: "<<c<<" su cubo es: "<<v<<endl;
}
getch();
}
*Problema 2
Desarrollar un algoritmo para resolver la funcion f(x)=x3+x2-5 para "x" tomando valores de
0 a 10 y en incrementos de 1.
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int i;
float f;
for(i=0;i<=10;i++)
{
f=(pow(i,3))+(pow(i,2))-5;
cout<<"para "<<i<<" la funciones es: "<<f<<endl;
}
getch();
}
*Problema 3
Escriba un programa que permita leer "n" numeros entero positivos,el programa debe determinar cuantos
de ellos
son pares y cuantos son impares
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int n,i,p=0,j=0,m[200];
cout<<"escriba la cantidad de numeros\n";
cin>>n;
for(i=1;i<=n;i++)
{cout<<"escriba el "<<i<<" numero\n";
cin>>m[i];
if (0<=m[i])
{
if(m[i]%2==0)
{p++;}
else
{j++;}
}
else
{
do
{cout<<"escriba otro numero\n";
cin>>m[i];}
while(m[i]<0);
if(m[i]%2==0)
{p++;}
else
{j++;}
}
}
cout<<"la cantidad de numeros pares es: "<<p<<" y la cantidad de impares es: "<<j;
getch();
}
*Problema 4
Escribir un programa para calcular y visualizar el mas grande,el mas pequeño y la media de los "n"
numeros. El valor de "n" se solicita al inicio del programa.
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int i,s=0,n,men,may,m[200];
cout<<"escribir la cantidad de datos"<<endl;
cin>>n;
for (i=1;i<=n;i++)
{cout<<"escribir los datos"<<endl;
cin>>m[i];
s=s+m[i];
men=m[1];
may=m[1];
if(m[1]>m[i])
{men=m[i];}
if(m[1]<m[i])
{may=m[i];}
}
cout<<"el menor es: "<<men<<endl;
cout<<"el mayor es: "<<may<<endl;
cout<<"el promedio es: "<<s/n;
getch();
}
*Problema 6
Escriba un programa que calcule la suma, el promedio, el producto, el mayor y el menor valor de "N"
numeros.
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int i,p=1,s=0,n,men,may,m[200];
cout<<"escribir la cantidad de datos"<<endl;
cin>>n;
for (i=1;i<=n;i++)
{cout<<"escribir los datos"<<endl;
cin>>m[i];
s=s+m[i];
p=p*m[i];
men=m[1];
may=m[1];
if(m[1]>m[i])
{men=m[i];}
if(m[1]<m[i])
{may=m[i];}
}
cout<<"la suma es: "<<s<<endl;
cout<<"el producto es: "<<p<<"\n";
cout<<"el menor es: "<<men<<endl;
cout<<"el mayor es: "<<may<<endl;
cout<<"el promedio es: "<<s/n;
getch();
}
*Problema 7
Escriba un programa que permita leer una serie de enteros,contar el numero de valores introducidos y la
suma de sus cuadrados.
En este programa se utilizara un valor centinela que detecte el final de la entrada de datos(numero
negativo)
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int i,p=0,n=0,cua;
while (n>=0)
{cout<<"escribe el datos"<<endl;
cin>>n;
if (n>=0)
{cua=cua+pow(n,2);
p++;}
}
cout<<"la cantidad de datos es: "<<(p-1)<<endl;
cout<<"la suma de sus cuadrados es:"<<cua<<endl;
getch();
}
Funciones
1.Diseñar un programa que permita ingresar la cantidad de números enteros y luego para cada numero
ingresado,mostrar su cantidad de dígitos
#include <iostream.h>
#include <conio.h>
void leer();
float sumatoria();
void imprimir();
int n;
void leer()
{gotoxy(2,3);
cout<<"Ingrese numero de terminos de la serie: "; cin>>n;}
float sumatoria()
{ int i=1; // variable local
float s=0;
do { s=s + float (i)/(i+1); i++;}
while (i<=n);
return (s);}
void imprimir ()
{gotoxy(2,5); cout<<"La suma es "<<sumatoria()<<endl;}
void main()// Funcion principal
{
leer();// Llama a la Funcion leer
sumatoria(); // Llama a la Funcion sumatoria
imprimir(); // Llama a la funcion imprimir
getche();}
2. Diseñar un programa usando funciones que permita calcular la suma acumulada de la serie:
= ½ + 2/3 + ¾ + ……..+ n/(n+1)
• El usuario ingresa el número de términos de la serie
a sumar.
#include <iostream.h>
#include <conio.h>
void leer();
float sumatoria ();
void imprimir();
int n;
void leer ( )
gotoxy(2,3);
cout<<“Ingrese numero de terminos de la serie: ”; cin>>n;}
float sumatoria ( )
{ int i =1; // variable local
float s = 0;
do { s = S + float (i)/(i+1); i++;}
while (i<=n);
return (s);}
void imprimir ( )
{gotoxy(2,5);cout<<“La suma es "<<sumatoria()<<endl;}
void main() // Funcion principal
{
leer ( ); // Llama a la Funcion leer
sumatoria ( ); // Llama a la Funcion sumatoria
imprimir ( ); //Llama a la funcion imprimir
getch();}
// Programa 86
// Propósito : Funciones
#include<iostream.h>
#include<conio.h>
// función calcula menor de tres números
int menor(int x, int y, int z);
int main()
{
int a,b,c;
clrscr();
cout<<"\nIngrese el primer numero .... : ";
cin >> a;
cout<<"Ingrese el segundo numero ... : ";
cin >> b;
cout<<"Ingrese el tercer numero .... : ";
cin >> c;
// llama a la función menor y le pasa los tres números ingresados
cout << "\n\nEl numero menor es : " << menor(a,b,c) << endl;
getch();
return 0;
}
// la función recibe 3 argumentos de tipo enteros
int menor(int a, int b, int c)
{
int min;
min=a;
// hallar el menor número
if (b < min)
min = b;
if (c < min)
min = c;
// retorna el menor número una vez realizado el calculo
return min;
}
// Programa 87
// Propósito : Funciones
#include <iostream.h>
#include <conio.h>
void intercambiar(int &num1, int &num2);
int main()
{
int a, b;
cout << "Ingrese primer numero: "; cin >> a;
cout << "Ingrese segundo numero: "; cin >> b;
cout << "\nEl valor de a es: " << a;
cout << "\nEl valor de b es: " << b;
intercambiar (a, b);
cout << "\n\nEl nuevo valor de a es: " << a;
cout << "\nEl nuevo valor de b es: " << b;
getch();
return 0;
}
void intercambiar(int &num1, int &num2)
{
int aux;
aux = num1;
num1 = num2;
num2 = aux;
}
// Programa 88
// Propósito : Funciones
#include <iostream.h>
#include <conio.h>
void calcular(float radio, float &area, float &longitud);
const float PI = 3.14;
int main()
{
float radioCirculo, areaCirculo, perCirculo;
cout << "\nIngrese radio de la circunferencia : "; cin >> radioCirculo;
calcular(radioCirculo, areaCirculo, perCirculo);
cout << "\n\nEl radio de la circunferencia es : " << radioCirculo;
cout << "\nEl area de la circunferencia es : " << areaCirculo;
cout << "\nLa longitud de la circunferencia : " << perCirculo;
getch();
return 0;
}
void calcular(float radio, float &area, float &longitud)
{
area = PI * radio * radio;
longitud = 2 * PI * radio;
}
// Programa 89
// Propósito : Funciones
#include<iostream.h>
#include<conio.h>
float calculoIGV(float numero, float IGV = 0.18);
int main()
{
char tipoCompra;
int cantidad;
float precio, importe, recargoIGV, tPagar;
cout << "\nSuministros A&C";
cout << "\n---------------\n\n";
cout << "Cual de los siguientes desea comprar";
cout << "\n [1]Diskettes, [2]CD-ROM, [3]Libros";
cout << "\nElija su opcion : "; cin >> tipoCompra;
cout << "\nCantidad ..... : "; cin >> cantidad;
cout << "Precio ....... : "; cin >> precio;
// Calcula importe
importe = cantidad * precio;
switch (tipoCompra)
{
case '1' :
recargoIGV = calculoIGV(importe);
break;
case '2' :
recargoIGV = calculoIGV(importe);
break;
case '3' :
recargoIGV = calculoIGV(importe,0.0);
break;
}
// Calculo del total a pagar
tPagar = importe + recargoIGV;
// Salida de datos
cout << "\n\nRecargo IGV : " << recargoIGV;
cout << "\nEl Total a pagar es : " << tPagar; getch();
return 0;
}
float calculoIGV(float numero, float IGV)
{
return (numero * IGV);
}
// Programa 90
// Propósito : Funciones
#include<iostream.h>
#include <conio.h>
inline float Cubo(const float valor)
{
return valor * valor * valor;
}
int main()
{
float lado;
cout << "\nIngrese la longitud de lado de su cubo : "; cin >> lado;
//Salida de Datos
cout << "El volumen es : " << Cubo(lado) << endl;
getch();
return 0;
}
// Programa 91
// Propósito : Funciones
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
const int cantidad = 5;
int numero [cantidad];
// Funciones de usuario
void leerArreglo(int numero[], int elementos);
void imprimirArreglo(int numero [], int elementos);
void ordenar(int numero [], int elementos);
int main()
{
cout << "\nORDENAMIENTO DE ARREGLOS\n";
cout << "------------------------\n";
cout << "(5 elementos)\n\n";
leerArreglo (numero, cantidad);
cout << "\nEl arreglo ordenado es\n\n";
ordenar (numero, cantidad);
clrscr();
imprimirArreglo(numero, cantidad);
getch();
return 0;
}
void leerArreglo (int numero [], int elementos)
{
int i = 0;
do
{
i++;
cout << "Leer numero [" << i << "] : ";
cin >> numero [i] ;
}
while (i < elementos);
}
void ordenar (int numero [], int elementos)
{
int aux, i,j;
clrscr();
for (i = 0; i <= elementos - 1; i++)
for (j = i + 1; j <= elementos;j++)
{
if (numero [i] < numero [j])
{
aux = numero [j];
numero [j] = numero [i];
numero [i] = aux;
}
}
}
void imprimirArreglo (int numero [], int elementos)
{
int i = 0;
do
{
cout << "Elemento [" << i << "] : " << setw (6) << numero[i] << endl ;
i++;
}
while (i < elementos);
}
// Programa 92
// Propósito : Funciones
#include<iostream.h>
#include <stdio.h>
#include <conio.h>
//Funcion tipo_editorial
double tipo_editorial (char editorial, char tipo, double compra)
{
double descuento;
descuento = 0;
switch (editorial)
{
case 'A':
switch (tipo)
{
case 'E' : descuento = compra * 0.10; break;
case 'P' : descuento = compra * 0.05; break;
}
break;
case 'B':
switch (tipo)
{
case 'E' : descuento = compra * 0.25; break;
case 'P' : descuento = compra * 0.10; break;
}
break;
case 'C':
switch (tipo)
{
case 'E' : descuento = compra * 0.50; break;
case 'P' : descuento = compra * 0.20; break;
}
break;
}
return descuento;
}
int main()
{
double comp, desc, montoT;
char nombre[20];
char tip;
char edit;
cout << "\nEDITORIAL NUEVA LUNA\n";
cout << "--------------------\n\n";
cout << "Nombre del comprador.....: "; cin >> nombre;
cout << "Tipo de comprador (E/P)..: "; cin >> tip;
cout << "Monto compra.............: "; cin >> comp;
cout << "Tipo editorial(A/B/C)....: "; cin >> edit;
// enviando valores para la funcion tipo_editorial
desc = tipo_editorial(edit, tip, comp);
// calculo del monto compra
montoT = comp - desc;
// salida de resultados
cout << "\nTotal de descuento es....: " << desc << " Nuevos Soles" <<endl;
cout << "Total de compra es.......: " << montoT << " Nuevos Soles";
getch();
return 0;
}
// Programa 93
// Propósito : Funciones
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
// Funciones de usuario
void menu();
void gMontoCuenta();
void retiro();
void ingreso();
void reporte();
void pausa();
// declaración de variables
int cantidad_inicial, cantidad_final, cantidad;
int retiros, ingresos, u_ret, u_ing = 0;
char mov_cuenta;
const int MAX = 1200; // cantidad máxima
void main ()
{
int salir = 0;
// Llamada a la función genera monto de cuenta
gMontoCuenta();
while (salir != 1)
{
menu();
switch (mov_cuenta)
{
case '1':
ingreso();
break;
case '2':
retiro();
break;
case '3':
reporte();
break;
case '4':
salir = 1;
break;
}
}
}
// Función menú
void menu ()
{
clrscr();
cout << "\n MOVIMIENTO DE CUENTA BANCARIA\n";
cout << " -----------------------------\n";
cout << "\n [1] Ingreso";
cout << "\n [2] Retiro";
cout << "\n [3] Reporte";
cout << "\n [4] Salir";
cout << "\n\n Ingrese su opcion : ";
do
{
mov_cuenta = getch();
} while (mov_cuenta < '1' || mov_cuenta == '5' );
cout << mov_cuenta;
}
// Función genera monto de cuenta
void gMontoCuenta()
{
randomize();
cantidad_final = cantidad_inicial = random(MAX + 1);
}
// Función retiro de dinero
void retiro()
{
clrscr();
cout << "\nOPERACION DE RETIRO";
cout << "\n-------------------\n";
cout << "\nCantidad actual ............. : " << cantidad_final << " soles";
cout << "\nCuanto dinero desea retirar.. : "; cin >> cantidad;
while ( cantidad < 1 || cantidad > cantidad_final)
{
cout << "\nError unicamente cuenta con.. : " << cantidad_final << " soles";
cout << "\nCuanto dinero desea retirar.. : "; cin >> cantidad;
}
cantidad_final -= cantidad;
ingresos++;
u_ret += cantidad;
cout << "\nRetiro efectuado";
cout << "\nCantidad actual ................ : " << cantidad_final << " soles";
pausa();
}
// Función ingreso de dinero
void ingreso()
{
clrscr();
cout << "\nOPERACION DE INGRESO";
cout << "\n-------------------\n";
cout << "\nCantidad actual ............. : " << cantidad_final << " soles";
cout << "\nCuanto dinero desea ingresar. : "; cin >> cantidad;
while ( cantidad < 1 || cantidad > cantidad_final)
{
cout << "\nError unicamente cuenta con.. : " << cantidad_final << " soles";
cout << "\nCuanto dinero desea ingresar. : "; cin >> cantidad;
}
cantidad_final += cantidad;
ingresos++;
u_ing += cantidad;
cout << "\nIngreso efectuado";
pausa();
}
// Función imprime reporte de cuenta
void reporte()
{
clrscr();
cout << "\n\nREPORTE DE ESTADO DE CUENTA";
cout << "\n---------------------------\n";
cout << "\nCantidad de dinero al iniciar la transaccion..: ";
cout << cantidad_inicial << " soles";
cout << "\nCantidad de Dinero ingresado...................: ";
cout << u_ing << " soles";
cout << "\nCantidad de Dinero retirado....................: ";
cout << u_ret << " soles\n";
cout << "\nUsted tiene un saldo de........................: ";
cout << cantidad_final << " soles";
pausa();
}
// Función pausa
void pausa()
{
cout << "\n\nPulse una tecla";
getch();
}
3. Diseñar un programa que permita leer un número entero y luego este debe pasar como parámetro en una
función sumar() y transformarlo sumando la unidad al valor ingresado.
#include <iostream.h>
#include <conio.h>
void sumar (int*dato)
{ *dato= *dato + 1; return;}
void main (void)
{int valor_inicial;
gotoxy (3,3); cout<<“Favor Ingrese un número: “; cin>>valor_inicial;
sumar(&valor_inicial);
gotoxy(4,5); cout<<“Nuevo Valor”<<valor_inicial;
getch(); }
4. Diseñar un programa que contenga dos funciones:
Resta (param1,param2) : permite calcular la resta de 2 numeros enteros
Multiplica (parem1,param2) : permite calcular el producto de 2 números enteros
#include <iostream.h>
#include <conio.h>
void resta (int, int); // Prototipo de procedimiento
int multiplica (int, int); // Prototipo de funciones
int num1, num2, resultado;
void resta ( int a, int b)
{ int restan; // variable local
restan = a-b;
gotoxy(3,7);
cout<<"La resta de "<<a<<"-"<<b<<“ es ="<<restan<<endl;}
int multiplica (int a, int b)
{ int producto; // variable local
producto = a*b; return producto; }
void main() // Funcion principal
{
gotoxy(3,2); cout<< "Ingresa dos numeros:" <<endl;
gotoxy(3,4); cout<< "Ingrese numero 1 ="; cin>>num1;
gotoxy(3,5); cout<< "Ingrese numero 2 ="; cin>>num2;
resta (num1, num2); // Llama a la Funcion resta
resultado = multiplica (num1,num2); gotoxy(3,9);// Llama a la Funcion resultado
cout<<"El producto de "<<num1<<“ * "<<num2<<“ es ="<<resultado<<endl;
getch();}
1. Diseñar un programa que permita lee notas eliminando la menor y determinar el promedio.
2.Diseñar un programa que permita leer un número del 1 al 7 como selector de los días de la semana y
escriba el día de la semana correspondiente al día.
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{ int dia;
clrscr ();
cout << endl<< "INGRESE DIA: " ; cin >> dia;
switch (dia) {
case 1: cout<<"Lunes" ; break ;
case 2: cout<<"Martes" ; break ;
case 3: cout<<"Miercoles" ; break ;
case 4: cout<<"Jueves" ; break ;
case 5: cout<<"Viernes" ; break;
case 6: cout<<"Sabado" ; break ;
case 7: cout<<"Domingo" ; break ;
default: cout<<"No es un dia de la semana" ;
}
cout << " Es " << dia ;
getch ();}
3 .Diseñar un programa que permita leer un número n enteros positivo, luego calcular su factorial e
imprimir
4. Diseñar un programa que permita determinar el promedio de prácticas luego de eliminar la menor nota.
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main ()
{
int pc1,pc2,pc3,menor,nc=0;
float pp;
char resp = 's';
while (resp =='s')
{nc++ ;
clrscr();
gotoxy(40,5);cout<<"ud. es el visitante numero="<<nc;
gotoxy(15,4);cout<<"Bienvnido";
gotoxy(15,6);cout<<"pc1="; cin>>pc1;
gotoxy(15,7);cout<<"pc2="; cin>>pc2;
gotoxy(15,8);cout<<"pc3="; cin>>pc3;
menor = pc1;
if (menor > pc2)
{ menor = pc2 ;
}
if (menor > pc3)
{ menor = pc3 ;
}
gotoxy (10,10);
cout<<"menor nota="<<menor;
pp= ((pc1+pc2+pc3)-menor)/2;
gotoxy(10,12);
cout<<"promedio="<<pp;
gotoxy(20,20); cout<<"sr. desea continuar......? (s/n)" ;
cin>>resp ;
}
if (resp == 'n')
{ clrscr();
gotoxy(20,12); cout<<"gracias por consultar" ;
gotoxy(20,14); cout<<"ud ha realizado = "<< nc<< " consultas";
}
getch();
}
5. Escribir un programa que lea un número compuesto por más de un dígito y luego mostrar:
Total de dígitos, Total de dígitos pares e impares, Número invertido, Total de suma de dígitos pares e impares respectivamente