

THE COMPUTER
Technology and prehistory
EJERCICIOS DE ALGORITMOS
1) Este algoritmo nos pide ingresar la cantidad de números que se quieran evaluar, luego nos pide digitar los números elegidos y nos muestra por pantalla la cantidad y el producto de los números pares e impares que se hayan introducido.
1 Proceso Numeros_Pares_Impares
2cont<-c
3numpar<-0
4numimpar<-0
5prodpar<-1
6prodimpar<-1
7Escribir "digite la cantidad de numeros a evaluar"
8Leer c
9Mientras cont<c Hacer
10Escribir "introduzca un numero entero"
11Leer n
12Si n mod 2=0 Entonces
13numpar<-numpar+1
14prodpar<-prodpar*n
15Sino
16numimpar<-numimpar+1
17prodimpar<-prodimpar*n
18FinSi
19cont<-cont+1
20FinMientras
21Escribir "la cantidad de numeros pares es: ", numpar
22 Si numpar=0 Entonces
23Escribir "el producto de los numeros pares es: ", prodpar-1
24 Sino
25Escribir "el producto de los numeros pares es: ", prodpar
26 FinSi
27Escribir "la cantidad de numeros impares es: ", numimpar
28 Si numimpar=0 Entonces
29Escribir "el producto de los numeros impares es: ", prodimpar-1
30 Sino
31Escribir "el producto de los numeros impares es: ", prodimpar
32 FinSi
33 FinProceso
2) Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
Inicio
Definir variables c1, c2, c3 : entero, ef, tf, prom, ppar, pef, ptf, cf : real
c1=0, c2=0, c3=0, ef=0, tf=0
Imprimir (‘Introduzca la primera nota:’), Leer c1
Imprimir (‘Introduzca la segunda nota:’), Leer c2
Imprimir (‘Introduzca la tercera nota:’), Leer c3
Imprimir (‘Introduzca la calificación del examen final:’), Leer ef
Imprimir (‘Introduzca la calificación del trabajo final:’), Leer tf
prom = (c1 + c2 + c3)/3
ppar = prom * 0.55
pef = ef * 0.30
ptf = tf * 0.15
cf = ppar + pef + ptf
Imprimir (‘La calificación final es:’, cf)
Fin
3) Un supermercado a puesto en oferta la venta al por mayor de cierto producto, ofreciendo un descuento del 15% por la compra de mas de tres docenas y el 10% en caso contrario. ademas por la compra de mas de tres docenas se obsequia una unidad del producto por cada doicena en exeso sobre tres. diseñe un algoritmo que determine el monto de la compra, el monto del descuento, el monto a pagar y el numero de unidades de obsequio por la cierta cantidad de docenas del producto.
Proceso sin_titulo
definir montopag, montocom, montodes, precio Como Real
definir docenas, obsequio como Entero
escribir "ingrese cuantas docenas: "
leer docenas
Escribir "ingrese el precio: "
leer precio
montocom <- docenas * precio;
Si docenas > 3 Entonces
montodes <- montocom * 0.15
obsequio <- docenas - 3;
Sino
montodes <- montocom * 0.10
obsequio <- 0;
FinSi
montopag <- montocom - montodes
imprimir "monto a pagar ", montopag
imprimir "obsequios: ", obsequio;
FinProceso
4) Una compañía de autos premia anualmente a sus mejores vendedores de acuerdo a la siguiente tabla:
Si vendió Le corresponde de Comisión
1.000.000 <= ventas < 3,000,000 3%
3.000.000 <= ventas < 5,000,000 4%
5.000.000 <= ventas < 7,000,000 5%
7.000.000 <= ventas 6%
Diseñar un pseudocódigo que lea las ventas de 100 vendedores y que escriba la comisión anual que le corresponda a cada vendedor.
proceso ventas
Dimension vendedor[10];
Dimension comision_ven[10];
i<-1;
ventas<-0;
mientras i<=3 Hacer
Escribir "Ingrese nombre vendedor: ";
leer nombre;
vendedor<-nombre;
Escribir "Ingrese importe total venta";
leer venta;
si venta >= 1000000 y venta <3000000 Entonces
comision<-venta*0.03;
Sino
si venta >= 3000000 y venta <5000000 Entonces
comision<-venta*0.04;
Sino
si venta >=5000000 y venta <7000000 Entonces
comision<-venta*0.05;
Sino
si venta >= 7000000 Entonces
comision<-venta*0.06;
Sino
si venta<1000000 Entonces
escribir " El vendedor no tiene comisiones ";
FinSi
FinSi
FinSi
FinSi
FinSi
i<-i+1;
comision_ven<-comision;
FinMientras
i<-1;
comision_ven<-comision;
Escribir " ";
Escribir " COMISIONES VENDEDORES ";
Escribir "-----------------------------------------------------";
Mientras i<=3 Hacer
Escribir "Nombre vendedor: ", vendedor, " Comision: ", comision_ven;
Escribir "-----------------------------------------------------";
i<-i+1;
FinMientras
Escribir "-----------------------------------------------------";
FinProceso
5) Introducir tres vectores de tipo string y mostrarlos en orden descendente.
proceso vectores
Dimension A[10], B[10], C[10];
I<-1;
Escribir "ingrese N ";
leer N;
Mientras i<=N hacer
Escribir 'Ingrese primer cadena :';
Leer A;
Escribir 'Ingrese segunda cadena :';
Leer B;
Escribir 'Ingrese tercera cadena :';
Leer C;
i<-i+1;
FinMientras
i<-1;
Si A < B Entonces
Si B < C Entonces
Si B<C Entonces
ESCRIBIR " ", A," ", B," ", C;
Sino
ESCRIBIR " ", A," ", C," ", B;
FinSi
Sino
ESCRIBIR " ", C," ", A," ", B;
FinSi
Sino
Si B<C Entonces
Si A<C Entonces
ESCRIBIR " ", B," ", A," ", C;
Sino
ESCRIBIR " ", B," ", C," ", A;
FinSi
Sino
ESCRIBIR " ", C," ", B," ", A;
FinSi
FinSi
FinProceso
6) Cree una matriz de 2 x 2 y se define su tipo, asi como los dos indices para la fila y columna
PROCESO MATRIZ
Dimension M [2,2];
Definir M,I,J como Entero;
Leer valores, aqui se cargan los valores en cada celda
Para J<-1 Hasta 2 Hacer
Para I<-1 Hasta 2 Hacer
Escribir 'Ingrese valor para indice ',I,', en columna ',J,':'
Leer M[I,J]
FinPara
FinPara
Mostrar valores de cada celda
Para I<-1 Hasta 2 Hacer
Para J<-1 Hasta 2 Hacer
Escribir 'El valor para indice ',I,', en columna ',J,'es :' M[I,J];
FinPara
FinPara
FinProceso
7) cree una matriz cuadratica de 20*20
Proceso sin_titulo
Dimension A(20,20)
Escribir "Ingrese el numero de fila y columnas:";
Leer N
m<-n
x<-n*m
Escribir 'Ingrese fila y columnas sucesivamente ' , x , ' numeros';
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta m Con Paso 1 Hacer
Leer A(i,j);
FinPara
FinPara
Escribir 'la impresion por columnas es';
Escribir '';
Para j<-1 Hasta M Con Paso 1 Hacer
Para i<-1 Hasta N Con Paso 1 Hacer
Escribir "A(" , i ,',', j , " = " , A(i,j);
FinPara
FinPara
FinProceso
8) Crear un algoritmo que calcule la raíz cuadrada del número que introduzca el usuario. Si se introduce un número negativo, debe mostrar un mensaje de error y volver a pedirlo (tantas veces como sea necesario).
Proceso Resuelto04
Repetir
Escribir "Dime un numero";
Leer x;
Si x < 0 Entonces
Escribir "No puede ser negativo";
Hasta Que x >= 0 Escribir "Su raiz es ", rc(x);
finsi
FinProceso
9) cree una matriz de 4*4 donde salga primeramente la matriz normal y la matriz transpuesta
Proceso Matrices
Dimension mn[4,4],mt[4,4]
Definir f,c Como Entero
Para f<-1 Hasta 4 Hacer
para c<-1 Hasta 4 Hacer
Escribir Sin Saltar "MN[",f,",",c,"]="
leer mn[f,c]
FinPara
FinPara
Escribir "Matriz Normal"
Para f<-1 Hasta 4 Hacer
para c<-1 Hasta 4 Hacer
Escribir Sin Saltar mn[f,c]," "
FinPara
Escribir " "
FinPara
Para f<-1 Hasta 4 Hacer
para c<-1 Hasta 4 Hacer
mt[c,f]<-mn[f,c]
FinPara
FinPara
Escribir " "
Escribir "Matriz Transpuesta"
Para f<-1 Hasta 4 Hacer
para c<-1 Hasta 4 Hacer
Escribir Sin Saltar mt[f,c]," "
FinPara
Escribir " "
FinPara
Escribir " "
Escribir "Ingrese fila (1 a 4)"
leer f
Escribir "Ingrese columna (1 a 4)"
leer c
Escribir "MT[",f,",",c,"]=",mt[f,c]
FinProceso
10) se piden dos matrices M y N. En la matriz R se guarda el resultado: se multiplica toda una fila de la M con una columna de la N
Proceso Matriz
//Primero se crea la matriz de 2 x 2 y se define su tipo, asi como los dos indices para la fila y columna
Dimension M[2,2];
Dimension N[2,2];
Dimension R[2,2];
Definir N,M,I,J como Entero;
Leer valores, aqui se cargan los valores en cada celda
Para J<-1 Hasta 2 Hacer
Para I<-1 Hasta 2 Hacer
Escribir 'Ingrese valor para indice ',I,', en columna ',J;
Leer M[I,J];
FinPara
FinPara
Leer valores, aqui se cargan los valores en cada celda
Para J<-1 Hasta 2 Hacer
Para I<-1 Hasta 2 Hacer
Escribir 'Ingrese valor para indice ',I,', en columna ',J;
Leer N[I,J];
FinPara
FinPara
//Mostrar valores de cada celda
Para I<-1 Hasta 2 Hacer
Para J<-1 Hasta 2 Hacer
Escribir 'El valor para indice ',I,', en columna ',J,'es :' M[I,J];
FinPara
FinPara
// Mostrar valores de cada celda
Para I<-1 Hasta 2 Hacer
Para J<-1 Hasta 2 Hacer
Escribir 'El valor para indice ',I,', en columna ',J,'es :' N[I,J];
FinPara
FinPara
// Se hace el producto y se muestra
Para I<-1 Hasta 2 Hacer
Para J<-1 Hasta 2 Hacer
R[I,J] <- M[I,J] * N[I,J];
Escribir 'El producto para indice ',I,', en columna ',J,'es :' R[I,J];
FinPara
FinPara
FinProceso
11) cree con subprocesos un palindromo(palabras que al reves o al derecho signifiquen lo mismo por ejemplo oro)
SubProceso palindromo (sub2)
Leer sub1;
long<- Longitud(sub1)
para i<-1 hasta long con paso 1 hacer
cad<-Subcadena(sub1,i,i);
si cad=" " entonces
p<-0;
Sino
sub2<-concatenar(sub2,cad);
FinSi
FinPara
para i<-long hasta 1 con paso -1 hacer
cad<-Subcadena(sub1,i,i);
si cad=" " entonces
p<-0;
Sino
cad3<-concatenar(cad3,cad);
FinSi
FinPara
si sub2=cad3 entonces
Escribir "La palabra es palindroma";
Escribir sub2;
Escribir cad3;
Sino
Escribir "La palabra no es palindroma";
Escribir sub2;
Escribir cad3;
FinSi
Fin SubProceso
SubProceso Ingrese (sub1)
Escribir "Palabras Palindromas";
Escribir "Inserta tu palabra o frase";
Fin SubProceso
proceso PALINDOROMO
Ingrese(sub1) ;
palindromo(sub2);
FinProceso