Vous êtes sur la page 1sur 13

EJERCICIOS A RESOLVER: Algoritmo y Programación en C

AUTOR: JUAN MALLMA CARTOLIN


56) Programa que imprime números perfectos del 1 a n
SOLUCION ALGORITMO:
Algoritmo Perfecto
Variables: numero, s
Leer: numero
Para (int a=4;a<=numero;a++) hacer{
Para (int b=1;b<=(a/2);a++) hacer{
Si (a%b==0) entonces {
s=s+b
}
}
Si(s==a) entonces{
Escribir: a, “ es perfecto ”;
}
}
Fin algoritmo

SOLUCION EN C:

#include<iostream>
using namespace std;
int main()
{
int numero,s=0;
cout<<"Ingrese hasta que numero buscar: ";
cin>>numero;
for(int a=4;a<=numero;a++){
for(int b=1;b<=(a/2);b++){
if(a%b==0){
s=s+b;
}
}
if(s==a){
cout<<"El numero "<<a<<" es perfecto"<<endl;
}
s=0;
}
}

57) Realizar un programa que pida tres números y diga su máximo común divisor.
SOLUCION ALGORITMO:
Algoritmo mcd
Variables: n1, n2, n3, c=2, mcd=1;
Mientras (c<=n1 &&c<=n2 && c<=n3) hacer{
Mientras ((n1%c==0) && (n2%c==0) && (n3%c==0)) hacer{
mcd=mcd*c;
n1=n1/c;
n2=n2/c;
n3=n3/c;
}
C++;
}
Escribir : c-1;
Fin algoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;

int main()
{
int n1, n2, n3, c=2, mcd=1;
cout<<"Ingrese 3 numeros: ";
cin >> n1;
cin >> n2;
cin >> n3;
while (c<=n1 &&c<=n2 && c<=n3){
while ((n1%c==0) && (n2%c==0) && (n3%c==0)){
mcd=mcd*c;
n1=n1/c;
n2=n2/c;
n3=n3/c;
}
c++;
}

cout <<"El maximo comun divisor es: "<< c-1;


}

Ejercicio N.58
Suma de matrices en de orden 3*3
SOLUCION ALGORITMO:

Algoritmo sumamatrices
Dimension M[3],N[3],P[3]
Para a<-0 Hasta 2 Con Paso 1 Hacer
Para b<-0 Hasta 2 Con Paso 1 Hacer
Leer M[a]
Fin Para
Para b<-0 Hasta 2 Con Paso 1 Hacer
Leer N[a]
Fin Para
Para b<-0 Hasta 2 Con Paso 1 Hacer
Escribir M[b]+N[b]
Fin Para
Fin Para
FinAlgoritmo

SOLUCION EN C:

#include <iostream>
using namespace std;
main()
{
int matriz1[3][3],matriz2[3][3],matriz3[3][3];
cout<<" SUMA DE MATRICES "<<endl;

cout<<"La Primera matriz"<<endl;


for (int a=0;a<3;a++){
for (int b=0;b<3;b++){
cout<<"Digite la posicion ["<<a<<"] "<<"["<<b<<"] : ";
cin>>matriz1[a][b];
}
}
cout<<"La Segunda matriz"<<endl;
for (int c=0;c<3;c++){
for (int d=0;d<3;d++){
cout<<"Digite la posicion ["<<c<<"] "<<"["<<d<<"] : ";
cin>>matriz2[c][d];
}
}

cout<<"La suma de las dos matrices es: "<<endl;


for (int e=0;e<3;e++){
for (int f=0;f<3;f++){
cout<<matriz1[e][f]+matriz2[e][f]<<" ";
}
cout<<endl;
}
}

Ejercicio N.59
Vector con ordenamiento por el método - burbuja.
SOLUCION ALGORITMO:
Algoritmo metodoburbuja
Leer tam;
Dimension M[tam]
Para a<-1 Hasta tam Con Paso 1 Hacer
Leer M[a]
Fin Para
Para b<-1 Hasta tam Con Paso 1 Hacer
Para b<-1 Hasta tam Con Paso 1 Hacer
Si M[b]>M[b+1] Entonces
aux=M[b]
M[b]=M[b+1]
M[b+1]=aux
Fin Si
Fin Para
Fin Para
Para b<-1 Hasta tam Con Paso 1 Hacer
Escribir M[b]
Fin Para
FinAlgoritmo

SOLUCION EN C:

#include <iostream>
using namespace std;
main()
{
int tm;
cout<<"Ingrese el tamaño de la matriz: ";
cin>>tm;
int numeros[tm],aux;
for(int a=0;a<tm;a++){
cout<<"Ingrese la posicion "<<a<<": ";
cin>>numeros[a];
}
for(int a=0; a<tm;a++){
for(int b=0; b<tm; b++){
if(numeros[b]>numeros[b+1]){
aux=numeros[b];
numeros[b]=numeros[b+1];
numeros[b+1]=aux;
}
}
}
cout<<"Ordenado ascendentemente: "<<endl;
for(int a=0; a<tm;a++){
cout<<numeros[a]<<" ";
}
}
Ejercicio N. 60
Vector de orden m*n
SOLUCION ALGORITMO:

Algoritmo vectormxn
Leer m;
Leer n;
Dimension A[m][n]
Para x<-1 Hasta m Con Paso 1 Hacer
Para y<-1 Hasta n Con Paso 1 Hacer
Leer [x][y]
Fin Para
Fin Para

Para x<-1 Hasta m Con Paso 1 Hacer


Para y<-1 Hasta n Con Paso 1 Hacer
escribir [x][y]
Fin Para

Fin Para
FinAlgoritmo

SOLUCION EN C:

#include <iostream>
using namespace std;
main()
{
int col,fil;
cout<<"Numero de columnas: ";
cin>>col;
cout<<"Numero de filas: ";
cin>>fil;
int matriz[fil][col];
for(int a=0; a<fil;a++){
for(int b=0; b<col;b++){
cout<<"valor en la posicion ["<<a<<"] "<<"["<<b<<"] : ";
cin>>matriz [a][b];
}
}
cout<<"La Tabla es: "<<endl;
for(int a=0; a<fil;a++){
for(int b=0; b<col;b++){
cout<<matriz[a][b]<<" ";
}
cout<<endl;
}
}
61) matriz de orden 10* 10
SOLUCION ALGORITMO:

Algoritmo matriz10x10
Dimension matriz[10][10]
Mientras a<10 Hacer
Mientras b<10 Hacer
Leer matriz[a][b]
Fin Mientras
Fin Mientras
Mientras a<10 Hacer
Mientras b<10 Hacer
escribir matriz[a][b]
Fin Mientras
Fin Mientras
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
int matriz[10][10];
for(int a=0; a<10;a++){
for(int b=0; b<10;b++){
cout<<"valor en la posicion ["<<a<<"] "<<"["<<b<<"] : ";
cin>>matriz [a][b];
}
}
cout<<"La Tabla es: "<<endl;
for(int a=0; a<10;a++){
for(int b=0; b<10;b++){
cout<<matriz[a][b]<<" ";
}
cout<<endl;
}
}

Ejercicio N.62
matriz de orden 100*100
SOLUCION ALGORITMO:

Algoritmo matriz10x10
Dimension matriz[10][10]
Mientras a<100 Hacer
Mientras b<100 Hacer
Leer matriz[a][b]
Fin Mientras
Fin Mientras
Mientras a<100 Hacer
Mientras b<100 Hacer
escribir matriz[a][b]
Fin Mientras
Fin Mientras
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
int matriz[100][100];
for(int a=0; a<100;a++){
for(int b=0; b<100;b++){
cout<<"valor en la posicion ["<<a<<"] "<<"["<<b<<"] : ";
cin>>matriz [a][b];
}
}
cout<<"La Tabla es: "<<endl;
for(int a=0; a<100;a++){
for(int b=0; b<100;b++){
cout<<matriz[a][b]<<" ";
}
cout<<endl;
}
}

Ejercicio N. 63
Juego simple que pide al usuario que adivine un numero en 10 intentos.
SOLUCION ALGORITMO:

Algoritmo juegosimple
Escribir "Ingrese numeros para adivinar"
Para a<-0 Hasta 10 Con Paso 1 Hacer
Leer num;
Si num==42 Entonces
Escribir "Acertaste eres un crack"
SiNo
escribir "sigue intentando"
Fin Si
Fin Para
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
#include <stdlib.h>
using namespace std;
main()
{
int numero,finish;
cout<<"JUEGO PARA ADIVINAR UN NUMERO"<<endl;
cout<<"Ingrese Numeros: "<<endl;
for (int a=0; a<10; a++){
cout<<"Intento "<<a+1<<" : ";
cin>>numero;
if(numero==42 & a>=0 & a<3){
cout<<"Acertaste!!! Eres un crack :) ";
exit(-1);
}
if(numero==42 & a>2 & a<7){
cout<<"Acertaste!!! Estas en Intermedio :) ";
exit(-1);
}
if(numero==42 & a>6 & a<=10){
cout<<"Acertaste!!! Pero muy bajo :) ";
exit(-1);
}
else {
if(numero<42){
cout<<"intenta con un numero mayor "<<endl;
}
if(numero>42){
cout<<"intenta con un numero menor "<<endl;
}
}
}
}

Programa N°64
Dadas dos variables numéricas A y B, que el usuario debe teclear, se pide realizar un algoritmo y
programa en C que intercambie los valores de ambas variables y muestre cuanto valen al final las
dos variables (recuerda la asignación).
SOLUCION ALGORITMO:

Algoritmo intercambio
Leer a,b
aux=a;
a=b
b=aux
Escribir a,b
FinAlgoritmo
SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
int matriz[2],aux;
for (int a=0;a<2;a++){
cout<<"Ingrese posicion "<<a+1<<": ";
cin>>matriz[a];
}
aux=matriz[0];
matriz[0]=matriz[1];
matriz[1]=aux;
cout<<matriz[0]<<" ";
cout<<matriz[1];
}

PROGRAMA N° 65
Algoritmo y programa en C que lea dos números, calculando y escribiendo el valor de su suma, resta,
producto y división.
SOLUCION ALGORITMO:

Algoritmo operaciones
Leer a,b
Escribir "suma es ",a+b
Escribir "resta es ",a-b
Escribir "multiplicacion es ", a*b
Escribir "divicion es ", a/b
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
double num1,num2;
cout<<"Ingrese dos numeros: "<<endl;
cin>>num1;
cin>>num2;
cout<<"La suma es: "<<num1+num2<<endl;
cout<<"La resta es: "<<num1-num2<<endl;
cout<<"La multiplicacion es: "<<num1*num2<<endl;
cout<<"La divicion es: "<<num1/num2<<endl;
}

PROGRAMA N° 66
Algoritmo y programa en C que lea dos números y nos diga cual de ellos es mayor o bien si son
iguales.
SOLUCION ALGORITMO:

Algoritmo mayornumero
Leer a,b
si a==b entonces
Escribir "son iguales"
FinSi
Si a>b Entonces
Escribir a " es mayor"
SiNo
Escribir b " es mayor"
Fin Si
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
int num1,num2;
cout<<"Ingrese dos numeros: "<<endl;
cin>>num1;
cin>>num2;
if(num1==num2){
cout<<"Los dos numeros son iguales ";
}
else{
if(num1>num2){
cout<<num1<<" es mayor";
}
else{
cout<<num2<<" es mayor";
}
}
}

PROGRAMA N° 67
Algoritmo y programa en C que lea tres números distintos y nos diga cual de ellos es el mayor
SOLUCION ALGORITMO:

Algoritmo mayornumero
Leer a,b,c
si a>b & a>c entonces
Escribir a " es mayor"
FinSi
Si a<b & b>c Entonces
Escribir b " es mayor"
SiNo
Escribir c " es mayor"
Fin Si
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
int b,mayor=0;
for (int a=0; a<3;a++){
cout<<"Ingrese el numero "<<a+1<<" : ";
cin>>b;
if(b>mayor){
mayor=b;
}
}
cout<<"El numero mayor es: "<<mayor;
}

PROGRAMA N° 68
Diseñar un algoritmo y programa en C que pida por teclado tres números; si el primero es negativo,
debe imprimir el producto de los tres y si no lo es, imprimirá la suma.
SOLUCION ALGORITMO:

Algoritmo mayornumero
Leer a,b,c
Si a<0 Entonces
Escribir a*b*c
SiNo
Escribir a+b+c
Fin Si
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
int a,b,c;
cout<<"Ingrese 3 numeros: ";
cin>>a;
cin>>b;
cin>>c;
if(a<0){
cout<<"La multiplicacion de los numeros es: "<<a*b*c;
}
else cout<<"La suma de los numeros es: "<<a+b+c;
}

PROGRAMA N° 69
Realizar un algoritmo que lea un número por teclado. En caso de que ese número sea 0 o menor
que 0, se saldrá del programa imprimiendo antes un mensaje de error. Si es mayor que 0, se deberá
calcular su cuadrado y la raiz cuadrada del mismo, visualizando el numero que ha tecleado el usuario
y su resultado (“Del numero X, su potencia es X y su raiz X” ).
SOLUCION ALGORITMO:

Algoritmo posionega
Leer a
Si a<0 Entonces
Escribir "Error"
SiNo
Escribir "el numero " a ", su raiz es " sqrt a " y su potencia es " a*a
Fin Si
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
main()
{
double num;
cout<<"Ingrese un numero: ";
cin>>num;
if(num<0){
cout<<"ERROR";
exit(-1);
}
else {
cout<<"Del numero "<<num<<", su potencia es "<<pow(num,2)<<" Y su raiz es
"<<sqrt(num);
}
}

PROGRAMA N° 70
Un colegio desea saber qué porcentaje de niños y qué porcentaje de niñas hay en el curso actual
(ingrese por teclado 25 datos).
SOLUCION ALGORITMO:

Algoritmo porcentaje
Escribir "1. para niño y 2. para niña "
Para a<-1 Hasta 25 Con Paso 1 Hacer
Escribir "Ingrese el alumno " a
Leer genero
Si genero==1 Entonces
nino=nino+1
SiNo
nina=nina+1
Fin Si
Fin Para
Escribir "el porcentaje de niños es: " (nino*100)/25 "%"
Escribir "el porcentaje de niñas es: " (nina*100)/25 "%"
FinAlgoritmo

SOLUCION EN C:
#include <iostream>
using namespace std;
main()
{
int nino=0,nina=0,genero;
cout<<"1. MUJER"<<endl;
cout<<"2. VARON"<<endl;
for(int a=0;a<25;a++){
cout<<"Ingrese el alumno "<<a+1<<" : ";
cin>> genero;
if(genero==1){
nino++;
}
else if(genero==2){
nina++;
}
else {
cout<<"Ese genero no existe ";
}
}
cout<<"El porcentaje de ninos es: "<<(nino*100)/25<<endl;
cout<<"El porcentaje de ninas es: "<<nina*100)/25;
}

Vous aimerez peut-être aussi