Upload
julio-julin
View
485
Download
0
Embed Size (px)
Citation preview
UAP Docente: Mg. Félix Pucuhuayla Revatta
TAREA ALGORITMOS
Desarrollar todo en Word - URGENTE
Pseudocódigo
C++
Diagrama de Flujo
Lo envían a mi correo:
[email protected] o [email protected]
Fecha: hasta la hora del examen oral
PROBLEMAS
1. Leer tres números que denoten una fecha (día, mes, año). Comprobar que es
unafecha válida. Si no es válida escribir un mensaje de error. Si es válida escribir la fecha cambiando el número del mes por su nombre. Ej. si se introduce 1- 2- 2006, se deberá imprimir “1 de febrero de 2006”. El año debe ser mayor que 0.
Pseudocódigo
Proceso sin_titulo Escribir "ingrese el dia del año"; Leer dia; Escribir "ingrese el mes del año "; Leer mes; Escribir "ingrese el año "; Leer ano; Si dia>0 & dia<31 Entonces Si mes>0 & mes<=12 Entonces Si ano>0 Entonces Segun mes Hacer mes=1: Escribir "la fecha es: ",dia,"de enero ",ano; mes=2: Escribir "la fecha es: ",dia,"de febrero ",ano; mes=3: Escribir "la fecha es: ",dia,"de marzo ",ano; mes=4: Escribir "la fecha es: ",dia,"de abril ",ano; mes=5: Escribir "la fecha es: ",dia,"de mayo ",ano; mes=6: Escribir "la fecha es: ",dia,"de junio ",ano;
UAP Docente: Mg. Félix Pucuhuayla Revatta
mes=7: Escribir "la fecha es: ",dia,"de julio",ano; mes=8: Escribir "la fecha es: ",dia,"de agosto ",ano; mes=9: Escribir "la fecha es: ",dia,"de setiembre ",ano; mes=10: Escribir "la fecha es: ",dia,"de octubre",ano; mes=11: Escribir "la fecha es: ",dia,"de noviembre",ano; mes=12: Escribir "la fecha es: ",dia,"de diciembre ",ano; FinSegun FinSi FinSi FinSi FinProceso
C++
#include<iostream.h> #include<cstdlib> #include<conio.h> int main() {int dia,mes,ano; cout<<"\n ingrese el dia del año ";cin>>dia; cout<<"\n ingrese el mes del año ";cin>>mes; cout<<"\n ingrese el año ";cin>>ano; if( dia>0 && dia<31) {if( mes>0 && mes<=12) {if(ano>0) { switch(mes) {case 1: cout<<"\n la fecha es: "<<dia<<" de enero "<<ano; break; case 2: cout<<"\n la fecha es: "<<dia<<" de febrero "<<ano; break; case 3: cout<<"\n la fecha es: "<<dia<<" de marzo "<<ano; break; case 4: cout<<"\n la fecha es: "<<dia<<" de abril "<<ano;
UAP Docente: Mg. Félix Pucuhuayla Revatta
break; case 5: cout<<"\n la fecha es: "<<dia<<" de mayo"<<ano; break; case 6: cout<<"\n la fecha es: "<<dia<<" de junio "<<ano; break; case 7: cout<<"\n la fecha es: "<<dia<<" de julio "<<ano; break; case 8: cout<<"\n la fecha es: "<<dia<<" de agosto "<<ano; break; case 9: cout<<"\n la fecha es: "<<dia<<" de setiembre "<<ano; break; case 10: cout<<"\n la fecha es: "<<dia<<" de octubre "<<ano; break; case 11: cout<<"\n la fecha es: "<<dia<<" de noviembre"<<ano; break; case 12: cout<<"\n la fecha es: "<<dia<<" de diciembre "<<ano; break; } }}} cout<<endl; system ("pause"); getch(); return 0;}
UAP Docente: Mg. Félix Pucuhuayla Revatta
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
2. Algoritmo que dado un año, nos diga si es bisiesto o no. Un año es bisiesto bajo las
siguientes condiciones: Un año divisible por 4 es bisiesto y no debe ser divisible entre 100. Si un año es divisible entre 100 y además es divisible entre 400, también
resulta bisiesto.
Pseudocódigo
Proceso sin_titulo Escribir "ingrese el año "; Leer ano; Si ano%4=0 & ano%100>0 Entonces Escribir " el año ingresado es bisiesto"; Sino Escribir "el año no es bisiesto"; FinSi Si ano%100=0 & ano%400=0 Entonces Escribir " el año ingresado es bisiesto"; Sino Escribir "el año no es bisiesto"; FinSi FinProceso
C++
#include<iostream.h> #include<cstdlib> #include<conio.h> int main() {int ano; cout<<"\n ingrese el año ";cin>>ano;
UAP Docente: Mg. Félix Pucuhuayla Revatta
if( ano%4==0 && ano%100!=0) {cout<<" el año ingresado es bisiesto ";} if( ano%100==0 && ano%400==0) {cout<<" el año ingresado es bisiesto ";} else {cout<<"el año no es bisiesto"; } cout<<endl; system ("pause"); getch(); return 0;}
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
3. Una solicitante de trabajo presenta cinco prueba distintas (La puntuación máxima es 10). Se clasifican de la siguiente forma: “CONTRATADO”, si por lo menos tienes dos pruebas con 9. “ARCHIVAR” si no se contrata pero tiene todas las pruebas con al menos 7. “RECHAZAR” cuando ni se contrata ni se archiva. Escribir un algoritmo que tenga como entrada el nombre y las clasificaciones del solicitante y muestre el nombre y la clasificación, así como el total de puntos obtenidos en todas las pruebas.
Pseudocódigo
Proceso sin_titulo Dimension a[50],b[50]; s<-0; k<-0; m<-0; Escribir "ngrese el nombre de solicitante "; Leer b; Para i<-1 Hasta 5 Hacer Escribir "ingrese la nota ",i; Leer a[i]; s<-s+a[i]; FinPara Escribir "clasificacion"; Para i<-1 Hasta 5 Hacer Si a[i]=10 Entonces k<-k+1; FinSi FinPara Si k=5 Entonces Escribir "CONTRATADO"; FinSi Para i<-1 Hasta 5 Hacer Si a[i]=9 Entonces m<-m+1; FinSi FinPara Si m=2 Entonces Escribir "ARCHIVAR"; FinSi Para i<-1 Hasta 5 Hacer
UAP Docente: Mg. Félix Pucuhuayla Revatta
Si a[i]<=7 Entonces k<-k+1; FinSi FinPara Si k=5 Entonces Escribir "RECHAZAR"; FinSi
FinProceso
C++
#include<cstdlib> #include<conio.h> #include<iostream.h> int main() {int a[50],s=0,k=0,m=0; char nomb[50]; cout<<"ingrese el nombre de solicitante ";cin>>nomb; for(int i=0;i<5;i++) {cout<<"ingrese la nota "<<i+1<<" : ";cin>>a[i]; s=s+a[i];} cout<<"clasificacion"; for(int i=0;i<5;i++) { if(a[i]==10) {k=k+1;}} if(k==5) {cout<<"\n CONTRATADO";} for(int i=0;i<5;i++) { if(a[i]==9) { m=m+1;}} if(m==2) {cout<<"\n ARCHIVAR";} for(int i=0;i<5;i++) { if(a[i]<=7) {k=k+1;}} if(k==5) {cout<<"\n RECHAZAR";} cout<<endl; system ("pause"); getch(); return 0;}
UAP Docente: Mg. Félix Pucuhuayla Revatta
UAP Docente: Mg. Félix Pucuhuayla Revatta
4. Escribir un algoritmo que lea dos números cualesquiera e invoque una función
denominada MULTIPLO que determine si alguno de los números leídos el múltiplo del otro. El algoritmo deberá mostrar un mensaje que salga el resultado de la comprobación
Pseudocódigo
Proceso sin_titulo Escribir "ingrese el primer numero"; Leer a; Escribir " ingrese el segundo numero "; Leer b; Si a>=b Entonces Si a%b=0 Entonces Escribir "los numeros son multiplos"; Sino Escribir "los numeros no son multiplos"; FinSi FinSi Si b>=a Entonces Si b%a=0 Entonces Escribir "los numeros son multiplos"; Sino Escribir "los numeros no son multiplos"; FinSi FinSi FinProceso
C++
#include<cstdlib> #include<conio.h> #include<iostream.h> int main() {int a,b; cout<<"ingrese el primer numero ";cin>>a; cout<<"ingrese el segundo numero ";cin>>b; if(a>=b) {if(a%b==0) {cout<<" el numero "<<a<<" es multiplo de "<<b;}} else
UAP Docente: Mg. Félix Pucuhuayla Revatta
{cout<<"los numeros no son multiplos ";} if(b>a) { if(b%a==0) {cout<<" el numero "<<b<<" es multiplo de "<<a;}} else {cout<<"los numeros no son multiplos ";} cout<<endl; system ("pause"); getch(); return 0;}
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
5. Escribir un algoritmo que: A) Lea un número entero positivo de cuatro (4) dígitos. B) Invoque una función denominada ORDEN que invierta el orden de
dichos dígitos (Ejemplo: 1357 => 7531) y C) Muestre el número leído y el número invertido
Pseudocódigo
Proceso sin_titulo Dimension b[50]; Escribir "Ingrese un numero de 4 digitos"; Leer n; b[4]<-n/1000; n<-n-b[4]*1000; b[3]<-n/100; n<-n-b[3]*100; b[2]<-n/10; n<-n-b[2]*10; b[1]<-n; Escribir "el numero invertido es: " ; Para i<-1 Hasta 4 Hacer Escribir b[i]; FinPara FinProceso
UAP Docente: Mg. Félix Pucuhuayla Revatta
C++
#include<iostream.h> #include<cstdlib> #include <conio.h> int main () { int n,b[50]; cout<<"Ingrese un numero de 4 digitos: "; cin>>n; b[3]=n/1000; n=n-b[3]*1000; b[2]=n/100; n=n-b[2]*100; b[1]=n/10; n=n-b[1]*10; b[0]=n; cout<<"el numero invertido es: "; for(int i=0;i<4;i++) {cout<<b[i];} cout<<endl ; system ("pause"); getch(); return 0;}
UAP Docente: Mg. Félix Pucuhuayla Revatta
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
6. Hacer un algoritmo que A) Lea cuatro (4) números, B) Invoque dos funciones, una para determinar el máximo común divisor (MCD) y la otra para determinar el mínimo común múltiplo (MCM) de los números leídos y C) Muestre los números leídos y el valor de MCD y del MCM de los mismos.
Pseudocódigo
Proceso sin_titulo Escribir "ingrese el primer numero"; Leer a; Escribir " ingrese el segundo numero "; Leer b; Escribir "ingrese el tercer numero "; Leer c; Escribir "ingrese el cuarto numero" ; Leer d; i<-1; Mientras i<=a Hacer Si a%i=0 Entonces Si b%i=0 Entonces Si c%i=0 Entonces Si d%i=0 Entonces mayordivisor<-i; i<-i+1; FinSi FinSi FinSi FinSi FinMientras n<-a*b*c*d;
Mientras n>0 Hacer Si n%a=0 Entonces Si n%b=0 Entonces Si n%c=0 Entonces Si n%d=0 Entonces minimo<-n; n<-n-1; FinSi FinSi FinSi FinSi FinMientras
UAP Docente: Mg. Félix Pucuhuayla Revatta
Escribir "los numeros leidos es "; Escribir " ",a; Escribir " ",b; Escribir " ",c; Escribir " ",d; Escribir "el minimo comun multiplo es ",minimo; Escribir "el maximo comun divisor es ",mayordivisor;
FinProceso
C++
#include<cstdlib> #include<conio.h> #include<iostream.h> int main() {int a,b,i=1,c,d,e,mayordivisor=1,n,minimo=1; cout<<"ingrese el primer numero ";cin>>a; cout<<"ingrese el segundo numero ";cin>>b; cout<<"ingrese el tercer numero ";cin>>c; cout<<"ingrese el cuarto numero ";cin>>d; while(i<=a) {if(a%i==0) {if(b%i==0) if(c%i==0) if(d%i==0) mayordivisor=i;} i++; } n=a*b*c*d; while(n>0) {if(n%a==0) {if(n%b==0) if(n%c==0) if(n%d==0) { minimo=n;}} n--; } cout<<"los numeros leidos es "<<a<<" "<<b<<" "<<c<<" "<<d; cout<<"\n el minimo comun multiplo es "<<minimo; cout<<"\n el maximo comun divisor es "<<mayordivisor; cout<<endl; system ("pause"); getch(); return 0;}
UAP Docente: Mg. Félix Pucuhuayla Revatta
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
7. Diseñar un algoritmo que calcule cuanto de peso le recomienda un nutricionista bajar a su paciente al mes de acuerdo a su sobrepeso y género:
Género
Kilos de sobrepeso
Hombre Mujer
1 – 5 6 – 10 11 – más
0.8% 0.7% 0.6%
0.5% 0.4% 0.3%
Pseudocódigo
Proceso sin_titulo Escribir "ingrese el tipo de genero:"; Escribir "hombre (h) "; Escribir "mujer (m) "; Leer g; Escribir " ingrese su sobrepeso "; Leer s; Si g='h' Entonces Si s>=1 & s<=5 Entonces r<-s*0.8; FinSi Si s>=6 & s<=10 Entonces r<-s*0.7; FinSi Si s>=11 Entonces r<-s*0.6; FinSi FinSi Si g='m' Entonces Si s>=1 & s<=5 Entonces r<-s*0.5; FinSi Si s>=6 & s<=10 Entonces r<-s*0.4; FinSi Si s>=11 Entonces r<-s*0.3; FinSi FinSi Escribir " se recomineda bajar: ",r; FinProceso
UAP Docente: Mg. Félix Pucuhuayla Revatta
C++
#include <conio.h> #include <iostream.h> #include <string.h> int main() {float r,s; char g; cout<<"\n ingrese el tipo de genero:"; cout<<"\n hombre (h) :"; cout<<"\n mujer (m) : \n "; cin>>g; cout<<" \n ingrese su sobrepeso ";cin>>s; if (g=='h') { if(s>=1 && s<=5) {r=s*0.8;} if(s>=6 && s<=10) {r=s*0.7;} if(s>=11) {r=s*0.6;} } if (g=='m') { if(s>=1 && s<=5) {r=s*0.5;} if(s>=6 && s<=10) {r=s*0.4;} if(s>=11) {r=s*0.3;} } cout<<"\n se recomineda bajar : "<<r; cout<<"\n \n"; system(" PAUSE"); getch(); return 0;}
UAP Docente: Mg. Félix Pucuhuayla Revatta
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
8. Diseñar un algoritmo que calcule el monto que recaudó el promotor del concierto de Madonna en su último concierto donde hubo 30,000 asistentes y 3 tipos de entradas.
Entradas Precio $
VIP 900
Platea 600
Mezanine 300
Pseudocódigo
Proceso sin_titulo
Escribir " ingrese la cantidad de asistentes";
Leer n;
Escribir " ingrese la cantidad de asistentes ZONA VIP ";
Leer v;
Escribir " ingrese la cantidad de asistentes ZONA PLATEA ";
Leer p;
Escribir "ingrese la cantidad de asistentes ZONA MEZANINE" ;
Leer m;
montov<-v*900;
montop<-p*600;
montom<-m*300;
montototal<-montov+montop+montom;
Escribir "el monto recaudado es :",montototal;
Fin de proceso
C++
#include<iostream.h>
#include<cstdlib>
#include <conio.h>
int main ()
{
int n,v,m,p, montov,montop,montom,montototal;
cout<<"tipo entradas y precios \n";
cout<<"ZONA VIP .......PRECIO :900\n";
cout<<"ZONA PLATEA ....PRECIO :600\n";
cout<<"ZONA MEZANINE...PRECIO :300\n";
cout<<" ingrese la cantidad de asistentes ";cin>>n;
UAP Docente: Mg. Félix Pucuhuayla Revatta
cout<<" ingrese la cantidad de asistentes ZONA VIP ";cin>>v;
cout<<" ingrese la cantidad de asistentes ZONA PLATEA ";cin>>p;
cout<<" ingrese la cantidad de asistentes ZONA MEZANINE ";cin>>m;
montov=v*900;
montop=p*600;
montom=m*300;
montototal=montov+montop+montom;
cout<<"el monto recaudado es :"<<montototal;
cout<<endl;
system ("pause");
getch();
return 0;}
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
9. Guardar en una matriz de 5 x 6 números enteros, se pide calcular la cuantos números múltiplos de 3 hay en la matriz.
15 21 30 18 22 23
2 1 8 13 12 11
17 16 14 36 5 110
42 34 45 43 19 27
26 53 54 62 63 90
Respuesta: La cantidad de alumnos del primer ciclo mayores de edad es: 10
Pseudocódigo
Proceso sin_titulo
Dimension b[6], a[5,5];
K<-1;
Escribir ' ingrese los elmentos de la matriz 5x6';
Para J<-1 Hasta 5 Hacer
Para I<-1 Hasta 6 Hacer
Leer a[J,I];
FinPara
FinPara
Para J<-1 Hasta 5 Hacer
Para I<-1 Hasta 6 Hacer
Escribir " ",a[J,I];
FinPara
FinPara
Para J<-1 Hasta 5 Hacer
Para I<-1 Hasta 6 Hacer
Si a[J,I]%3=0 Entonces
K<-K+1;
FinSi
FinPara
FinPara
Escribir 'la cantidad de elementos de la matriz multiplos de 3 es ',K;
FinProceso
UAP Docente: Mg. Félix Pucuhuayla Revatta
C++
#include<iostream.h>
#include<cstdlib>
#include <conio.h>
int main ()
{
int a[50][50],b[50],k=0,q,temp;
cout<<" ingrese los elmentos de la matriz 5x6 : \n";
for(int j=0;j<5;j++){
for(int i=0;i<6;i++)
cin>>a[j][i];}
cout<<" la matriz ingresada es : \n ";
for(int j=0;j<5;j++)
{ for(int i=0;i<6;i++)
{ cout<<a[j][i]<<"\t";}
cout<<endl; }
for(int j=0;j<5;j++){
for(int i=0;i<6;i++)
{ if(a[j][i]%3==0)
k=k+1;}}
cout<<"la cantidad de elementos de la matriz multiplos de 3 es "<<k;
cout<<"\n";
system ("pause");
getch();
return 0;}
UAP Docente: Mg. Félix Pucuhuayla Revatta
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
10. Guardar en una matriz cuadrada de tamaño 5 números enteros de tres dígitos.
Mostrar los dígitos que ocupan el lugar de las centenas de los números ubicados en filas pares con columnas impares. Como se muestra la tabla. Finalmente,ordenar el vector resultado en forma descendente y mostrarlo.
Pseudocódigo
Proceso sin_titulo
Dimension b[6], a[5,5]; K<-1; Escribir 'ingresenel tamaño de la matriz'; Leer n; Para J<-1 Hasta 5 Hacer Para I<-1 Hasta 5 Hacer Leer a[I,J]; FinPara FinPara Para I<-1 Hasta 5 Hacer Para J<-1 Hasta 5 Hacer Escribir " ",a[I,J]; FinPara FinPara Para I<-1 Hasta 5 Hacer Para J<-1 Hasta 5 Hacer Si J%2=0 & I%2>0 Entonces b[K]<-(a[I,J]/100); K<-K+1; FinSi FinPara FinPara Escribir 'los dígitos que ocupan el lugar de las centenas de los números ubicados en filas pares con columnas impares'; Para I<-1 Hasta 6 Hacer Escribir " ",b[I]; FinPara FinProceso
365 453 756 345 863
217 383 651 358 532
122 987 432 388 745
787 645 998 847 456
895 432 332 634 589 9 9
7 6 5 4 2
UAP Docente: Mg. Félix Pucuhuayla Revatta
C++
#include<iostream.h> #include<cstdlib> #include <conio.h> int main () { int n,a[50][50],b[50],k=0,q,temp; cout<<"Ingrese tamaño de la matriz: "; cin>>n; for(int j=0;j<n;j++){ for(int i=0;i<n;i++) cin>>a[i][j];} cout<<" la matriz ingresada es : \n "; for(int i=0;i<n;i++){ for(int j=0;j<n;j++) cout<<a[j][i]<<"\t"; cout<<endl;} for(int i=0;i<n;i++) { for(int j=0;j<n;j++) if(i%2!=0 && j%2==0) { b[k]=a[j][i]/100;; k=k+1;}} cout<<"\n"; for(int k=0;i<k;i++) {cout<<" "<< b[k];} system ("pause"); getch(); return 0;}
Diagrama de Flujo
UAP Docente: Mg. Félix Pucuhuayla Revatta
UAP Docente: Mg. Félix Pucuhuayla Revatta
UAP Docente: Mg. Félix Pucuhuayla Revatta