1
La estructura secuencial es aquella en la que una acción
(instrucción) sigue a otra en secuencia. Las tareas se suceden de
tal modo que la salida de una es la entrada de la siguiente y así
sucesivamente hasta el fin del proceso. Una estructura
secuencial se representa de la siguiente forma:
Inicio
Accion1
Accion2
.
.
AccionN
Fin
2
1. Diseñar un algoritmo que calcule y escriba el cuadrado de cualquier
número.
//Diseñar un algoritmo que calcule y escriba el cuadrado de cualquier
número.
ProcesoCuadrado_de_cualquier_numero
Escribir"Ingrese el valor de numero:";
Leernumero;
cuadrado<-numero*numero;
Escribir"Valor de cuadrado es: ",cuadrado;
FinProceso
2. Definir una variable X inicializarla con el valor de 5, incrementar en 1 la variable X, mostrar el
valor de X antes y después del incremento.
//incremento de variable
ProcesoIncremento
definirxComoEntero;
x<-5;
escribir"El valor de x es: ",x;
x<-x+1;
Escribir"El valor de x incrementado es: ",x;
FinProceso
3. Diseñar un algoritmo que solicite valores para dos variables numéricas e intercambie sus
valores, imprimir el valor de ambas variables antes y después del intercambio.
//Algoritmo intercambio de variables
ProcesoIntercambio
definira,b,auxComoEntero;
escribir"Ingrese primer número: ";
leera;
escribir"Ingrese segundo número: ";
leerb;
aux<-a;
a<-b;
b<-aux;
escribir"El nuevo valor de a es: ",a;
escribir"El nuevo valor de b es: ",b;
FinProceso
4. Calcular el producto de dos enteros positivos.
//calcular el producto de dos enteros positivos
Procesoproducto
Definira,b,productoComoEntero;
Escribir"Ingrese primer número: ";
leera;
Escribir"Ingrese segundo número: ";
leerb;
producto<-(a*b);
escribir"El producto de los dos enteros es: ",producto;
FinProceso
3
5. Diseñar un algoritmo que permita ingresar un valor inicial y un valor final. Calcular el valor
central de los números. Imprimir valor resultante.
//Diseñar un algoritmo que permita ingresar un valor inicial y un
valor final. Calcular el valor central
//de los números. Imprimir valor resultante.
Procesovalor_central
definira,bcomoentero;
definirmediacomoreal;
escribir"ingrese valor inicial: ";
leera;
escribir"ingrese valor final: ";
leerb;
media<-(a+b)/2;
escribir"El valor central de dos números es: ",media;
FinProceso
6. Realizar un algoritmo que me permita ingresar un número total de segundos y lo convierta en
horas, minutos y segundos.
//Convertir segundos en horas minutos segundos
Procesohoras_minutos_segundos
definircantidadcomoentero;
definirminutos,seg,temp,horascomoentero;
Escribir"Ingrese el valor de cantidad de segundos:";
Leercantidad;
horas<-cantidad/3600;
temp<-cantidad%3600;
minutos<-temp/60;
seg<-temp%60;
Escribir"son: ",horas," horas ",minutos," minutos ",seg," segundos ";
FinProceso
7. Realizar un algoritmo que reciba un dato hora formado por tres elementos hora, minuto y
segundo y me indique cuantos segundos hay en total en este dato.
//indicar cuantos segundos hay en total
Procesocalcular_segundos
definirhora,min,seg,hh,mm,tComoEntero;
Escribir"Ingrese hora: ";
leerhora;
Escribir"Ingrese minutos: ";
leermin;
Escribir"Ingrese segundos: ";
leerseg;
hh<-hora*3600;
mm<-min*60;
t<-hh+mm+seg;
Escribir"El número total de segundos es: ",t;
FinProceso
8. Hacer un algoritmo que calcule el área del triángulo dada la base y la altura.
4
//Area del triángulo
ProcesoArea_del_Triangulo
Definirbase,altura,areaComoEntero;
Escribir"Ingrese base: ";
leerbase;
Escribir"Ingrese Altura: ";
leeraltura;
area<-(base*altura)/2;
escribir"El area del triangulo es: ",area;
FinProceso
9. Hacer un algoritmo que lea un número entero positivo compuesto de 4 dígitos y lo escriba
invertido
//invertir número
ProcesoInvertir
DefinirnumeroComoEntero;
Escribir"Ingrese un número de cuatro dígitos: ";
leernumero;
Escribir"El número invertido es: ";
Escribirsinsaltarnumero%10;
numero<-numero/10;
Escribirsinsaltarnumero%10;
numero<-numero/10;
Escribirsinsaltarnumero%10;
numero<-numero/10;
Escribirsinsaltarnumero%10;
FinProceso
10.Hace un algoritmo que calcule la longitud de la circunferencia, el área del círculo y el volumen
de la esfera para un radio ingresado por el teclado. Las formulas son: Longitud de la
circunferencia = 2πR. Área = 4πR2. Volumen = 4/3πR3
//calcule el valor de la circunferecnia
Procesocircunferencia
definirlong,ar,vol,radioComoReal;
escribir"Ingrese radio de la circunferencia: ";
leerradio;
long<-2*(radio*3.14);
ar<-4*(3.14*radio^2);
vol<-4/3*(3.14*radio^3);
escribir"La longitud de la circunferencia es: ",Long;
escribir"El area de la circunferencia es: ",ar;
escribir"El volumen de la circunferencia es: ",vol;
FinProceso
11.Calcular la distancia recorrida por un auto, en un tiempo dado, calcular la velocidad del auto,
conociendo que V = D/T
//calcular ladistacnia recorrida de un auto
Procesodistancia_recorrida
Definirdistancia,tiempo,velocidadcomoreal;
Escribir"Ingrese distancia: ";
leerdistancia;
Escribir"Ingrese tiempo: ";
leertiempo;
velocidad<-distancia/tiempo;
escribir"La distancia recorrida del auto es: ",velocidad;
FinProceso
5
12.Dado una distancia en pulgadas convertirlas a centímetros conociendo que 1 pulgada = 2.54
cm.
//convertir pulgadas a centimetros
Procesoconversor
definirpul,centcomoreal;
Escribir" Ingrese las pulgadas a convertir: ";
leerpul;
cent<-pul*2.54;
Escribir" Son: ",cent,"cm.";
FinProceso
13.Calcular el nuevo salario de un obrero que obtuvo un incremento del 25% sobre su salario
anterior.
//aumento de salario a obrero
ProcesoSalario_obrero
definirsalario,sueldo,nuevoComoReal;
Escribir"Ingrese el salario";
Leersalario;
Nuevo<-salario*0.25+salario;
Escribir"El nuevo salario es: ",nuevo;
FinProceso
14.Dada una cantidad en soles obtener la equivalencia en dólares, asumiendo que la unidad
cambiaría es un dato desconocido (solicitarlo al usuario)
//convertir soles en dolares
Procesoequivalencia_dolares
definirs,d,dolarComoReal;
Escribir"Ingrese dinero en soles: ";
Leers;
Escribir"Ingrese precio del dolar: ";
leerd;
dolar<-(s*d);
Escribir"La equivalencia en dólares es: ",dolar," $";
FinProceso
15.Hacer un algoritmo que calcule el valor de una ecuación de primer grado (ax + b=0).
//ecuación de primer grado
Procesoecuacion_primer_grado
definira,b,xComoReal;
escribir"Ingrese valor de a de la ecuación: ";
leera;
escribir"Ingrese valor de b de la ecuación: ";
leerb;
x<--b/a;
Escribir"El valor de X es: ",x;
FinProceso
16.Hacer un algoritmo que calcule el valor de la hipotenusa de un triángulo rectángulo,
ingresando por el teclado el valor de sus catetos (Teorema de Pitágoras) a2 = b2 + c2.
6
//hallar el teorema de depitagoras
Procesohipotenusa
definira,b,ccomoreal;
Escribir'teorema de pitagoras';
Escribir'ingrese el primer cateto a';
Leera;
Escribir'ingrese el segundo cateto b';
Leerb;
c<-(rc(a^2+b^2));
Escribir'la hipotenusa es:',c;
FinProceso
17.Un alumno desea saber su promedio de una materia, sabiendo que su promedio se da en base
a lo siguiente: Examen 40%, tareas 30% y trabajos 30%. Obtener el promedio teniendo las
calificaciones obtenidas en cada uno de estos rubros.
//promedio de materias
Procesopromedio_materias
definirex,tar,tra,prom,p1,p2,p3comoreal;
Escribir"Ingrese nota del examen: ";
leerex;
Escribir"Ingrese nota de tarea: ";
leertar;
Escribir"Ingrese nota de trabajo: ";
leertra;
p1<-ex*0.40;
p2<-tar*0.30;
p3<-tra*0.30;
prom<-(p1+p2+p3);
Escribir"El promedio es: ",prom;
FinProceso
18.Diseñar un algoritmo que pida el año de una fecha de nacimiento y nombre, calcule y muestre
la edad de la persona.
//calcular edad persona
ProcesoNombre_fecha
DefinirnombreComoCaracter;
definirfechaComoreal;
definiredadcomoentero;
Escribir"Ingrese su nombre:";
leernombre;
Escribir"Ingrese año de nacimiento:";
leerfecha;
edad<-(2013-fecha);
Escribir"Hola ",nombre," tu edad es ",edad;
FinProceso
7
PROBLEMAS CONDICIONALES Y OPERADORES
1. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobará si su promedio
de tres calificaciones es mayor o igual a 12, reprueba en caso contrario.
8
//Algoritmo condicional para calcular el promedio de tres notas
ProcesoPromedio_de_tres_numeros
definirnota1,nota2,nota3,promediocomoentero;
escribir"Ingrese nota 1";
Leernota1;
escribir"Ingrese nota 2";
Leernota2;
escribir"Ingrese nota 3";
Leernota3;
promedio<-(nota1+nota2+nota3)/3;
Sipromedio>=12Entonces
Escribir"APROBADO";
Sino
Escribir"DESAPROBADO";
FinSi
FinProceso
2. Construya el algoritmo tal que dado como dato la calificación de un alumno en un examen,
escriba "aprobado" en caso de que esa calificación sea mayor a 10.
//Algoritmo para condicionar la calificación de un alumno
ProcesoCalificacion
definirnotacomoentero;
escribir"Ingrese su nota: ";
leernota;
Sinota>10Entonces
Escribir"Aprobado";
Sino
Escribir"Desaprobado";
FinSi
FinProceso
3. Escribir un algoritmo que reciba un ángulo y mostrar el mensaje "es un ángulo recto" si el
ángulo es igual a 90 y "No es un ángulo recto" en caso contrario.
//algoritmo para determinar si es un angulo
recto
Procesoangulo
definirangulocomoentero;
Escribir"Ingrese ángulo: ";
Leerangulo;
Siangulo=90Entonces
escribir"Es un ángulo recto";
Sino
escribir"No es un ángulo recto";
FinSi
FinProceso
4. Hacer un algoritmo que lea 2 números y deducir si están en orden creciente o decreciente.
//algoritmo para determinar si un numeroes creciente o decreciente
Procesocreciente_decreciente
definira,bcomoentero;
Escribir"Ingrese primer número: ";
Leera;
Escribir"Ingrese segundo número: ";
Leerb;
9
Sia<bEntonces
Escribir"Está en órden creciente";
Sino
Escribir"Está en órden decreciente";
FinSi
FinProceso
5. Escribir un algoritmo que lea 2 números y visualice el mayor.
//algoritmo que lea 2 números y visualice el
mayor
Procesonumero_mayor
definira,bcomoentero;
Escribir"Ingrese primer número: ";
Leera;
Escribir"Ingrese segundo número: ";
Leerb;
Sia>bEntonces
escribira," Es mayor que ",b;
Sino
escribirb," Es mayor que ",a;
FinSi
FinProceso
6. Escribir un algoritmo que lea dos valores x e y, determina si son iguales y en caso de no serlo
indica cuál de ellos es el mayor.
//algoritmo para leer dos numeros y determinar si son iguales o
mayores
Procesoiguales_mayor
definirx,ycomoentero;
Escribir"Ingrese valor x: ";
Leerx;
Escribir"Ingrese valor y: ";
Leery;
Six=yEntonces
Escribir"X e Y son iguales";
Sino
Six>yEntonces
escribirx," Es mayor que ",y;
Sino
escribiry," Es mayor que ",x;
FinSi
FinSi
FinProceso
7. Hacer un algoritmo que lea dos números y los imprima en orden ascendente.
//algoritmo para leer dos numeros e imprimirlos en orden ascendente
Procesoascendente
definirx,ycomoentero;
Escribir"Ingrese valor x: ";
Leerx;
Escribir"Ingrese valor y: ";
Leery;
Six>yEntonces
Escribir"orden ascendente: ",x," , ",y;
Sino
10
Escribir"orden ascendente: ",y," , ",x;
FinSi
FinProceso
8. Dados tres números calcular el mayor.
//calcular el mayor de tres números
Procesosin_titulo
DefinirNumero1,Numero2,Numero3,MayorComoEntero;
Escribir"Ingrese el Numero 1: ";
LeerNumero1;
Escribir"Ingrese el Numero 2: ";
LeerNumero2;
Escribir"Ingrese el Numero 3: ";
LeerNumero3
SiNumero1>Numero2Entonces
Mayor<-Numero1;
SiNumero1>Numero3Entonces
Mayor<-Numero1;
Sino
Mayor<-Numero3;
FinSi
Sino
SiNumero1<Numero2Entonces
Mayor<-Numero2;
SiNumero2>Numero3Entonces
Mayor<-Numero2;
Sino
Mayor<-Numero3;
FinSi
Sino
SiNumero3>Numero1Entonces
Mayor<-Numero3;
SiNumero3>Numero2Entonces
Mayor<-Numero3;
Sino
Mayor<-Numero2;
FinSi
Sino
SiNumero1=Numero2Entonces
SiNumero3>Numero1Entonces
Mayor<-Numero3;
Sino
Mayor<-Numero1;
FinSi
FinSi
FinSi
FinSi
FinSi
Escribir"El numero mayor es el ",Mayor;
FinProceso
9. Dadas 3 longitudes, decir mediante un mensaje si se forma o no un triangulo (cada lado tiene
que ser menor que la suma de los otros dos).
11
//lados triangulo
ProcesoTriangulo
definira,b,ccomoentero;
Escribir"Ingrese el valor de los tres lados del triángulo:";
Leera,b,c;
Sia<b+c&b<a+c&c<a+bEntonces
Escribir"Forman un triángulo";
Sino
Escribir"No forman un triángulo";
FinSi
FinProceso
10. Diseñar un algoritmo que me permita determinar si un número ingresado desde el teclado es
un número par o impar.
//determinar si un numero es par o impar
Procesopar_impar
definiracomoentero;
Escribir"Ingrese número: ";
Leera;
Sia%2=0Entonces
Escribir"Es par";
Sino
Escribir"Es impar";
FinSi
FinProceso
11. Averiguar si dados dos números, uno es divisor de otro.
//Averiguar si dados dos números, uno es divisor de otro.
Procesodivisibilidad
definira,bcomoentero;
Escribir"Ingrese número: ";
Leera;
Escribir"Ingrese número: ";
Leerb;
Sib%a=0Entonces
Escribirb," Es divisible de :",a;
Sino
Escribira," Es no es divisible de :",b;
FinSi
FinProceso
12. Leer tres números x, y, z, imprimir los valores máximos y mínimos. El procedimiento será
comparaciones sucesivas de parejas de números.
//maximo mínimo
Procesomaximo_minimo
definirx,y,z,max,mincomoentero;
Escribir"Ingrese tres valores:";
Leerx,y,z;
Six<yEntonces
min<-x;
max<-y;
Sino
min<-y;
max<-x;
12
FinSi
Siz<minEntonces
min<-z;
sino
siz<maxEntonces
max<-z;
FinSi
FinSi
Escribir"El número máximo es: ",max;
Escribir"El número minimo es: ",min;
FinProceso
13. Determinar si un número entero positivo es exactamente divisible por 5.
//numeromultiplo de 5
Procesomultiplo
Definirnumerocomoentero;
Escribir"Ingrese el valor de numero:";
Leernumero;
Sinumero%5=0Entonces
Escribir"si es multiplo de 5";
SiNo
Escribir"no es multiplo de 5";
FinSi
FinProceso
14. Hacer un algoritmo que lea un carácter y determine si es: Vocal, número negativo, positivo,
par o impar.
//vocal, número negativo, positivo, par o impar
Procesodeterminar
DefinircComocaracter;
Definirnumcomoentero;
Escribir"Ingrese un número o letra";
leerc;
num<-convertirAnumero(c);
//Escribir c,"=",num;
SegunnumHacer
49,17:
Escribir"Es la vocal a";
53,21:
Escribir"Es la vocal e";
57,25:
Escribir"Es la vocal i";
63,31:
Escribir"Es la vocal o";
69,37:
Escribir"Es la vocal u";
DeOtroModo:
Sinum<0Entonces
Escribir"Es un número negativo";
Sino
Escribir"Es un número positivo";
FinSi
Sinum%2=0Entonces
Escribir"Es un número Par";
13
Sino
Escribir"Es un número Impar";
FinSi
FinSegun
FinProceso
15. ingresar el número del mes y determinar cuantos días tiene el mes, para el caso de Febrero, el
algoritmo deberá indicar que no cuenta con la información necesaria para dar la respuesta.
//dias de un mes
ProcesoDefinir_mes_dias
Definirmescomoentero;
Escribir"Ingrese número de mes";
leermes;
SegunmesHacer
2:
Escribir"No se cuanta con información";
4,6,9,11:
Escribir"Tiene 30 dias";
1,3,5,7,8,10,12:
Escribir"Tiene 31 dias";
DeOtroModo:
Escribir"No es un mes válido";
FinSegun
FinProceso
16. Ingresar un número del 1 a! 7 decir cual día de la semana le corresponde.
//nombre de dia de la semana segun valor
Procesodia_semana
definirdiacomoentero;
Escribir"Ingrese numero";
leerdia;
SegundiaHacer
1:
Escribir"El dia es lunes";
2:
Escribir"El dia es martes";
3:
Escribir"El dia es miercoles";
4:
Escribir"El dia es jueves";
5:
Escribir"El dia es viernes";
6:
Escribir"El dia es sabado";
7:
Escribir"El dia es domingo";
DeOtroModo:
Escribir"No es un dia válido";
FinSegun
FinProceso
17. Ingresar un número del 1 a! 12 decir cual mes del año le corresponde.
//meses del año
14
Procesosin_titulo
Definirncomoentero;
Escribir"Ingrese número: ";
leern;
Sin=1Entonces
Escribir"Es enero";
Sino
Sin=2Entonces
Escribir"Es febrero";
Sino
Sin=3Entonces
Escribir"Es marzo";
Sino
Sin=4Entonces
Escribir"Es abril";
Sino
Sin=5Entonces
Escribir"Es mayo";
Sino
Sin=6Entonces
Escribir"Es junio";
Sino
Sin=7Entonces
Escribir"Es julio";
Sino
Sin=8Entonces
Escribir"Es agosto";
Sino
Sin=9Entonces
Escribir"Es setiembre";
Sino
Sin=10Entonces
Escribir"Es octubre";
Sino
Sin=11Entonces
Escribir"Es noviembre";
Sino
Sin=12Entonces
Escribir"Es diciembre";
Sino
Escribir"No es ningundia del año";
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
FinProceso
18. Determinar si una persona es del signo Aries dada su fecha de nacimiento.
//determinar si es de signnoaries
Procesoaries
definirdia,mes,fechacomoentero;
Escribir"ingrese dia mes y año de nacimiento";
15
leerdia,mes,fecha;
Simes=3&dia>=21&dia<=30Entonces
Escribir"El signo es aries";
Sino
Simes=4&dia>=1&dia<=20Entonces
Escribir"El signo es aries";
Sino
Escribir"No es el signo de aries";
FinSi
FinSi
FinProceso
//21 de marzo al 20 de Abril
19. Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de
ejercicio aeróbico; la fórmula que se aplica cuando el sexo es femenino es: (22.0-edad)/10; si
el sexo es masculino es: (210-edad)/10.
//algoritmo para determinar pulsaciones hombre o mujer
Procesopulsaciones
definirs,ecomoentero;
definirpcomoreal;
Escribir"Ingrese Sexo 1=masculino, 2=femenino";
leers;
Escribir"Ingrese edad";
leere;
SegunsHacer
1:
p<-(210-e)/10;
Escribir"El número de pulsaciones es: ",p;
2:
p<-(220-e)/10;
Escribir"El número de pulsaciones es: ",p;
DeOtroModo:
Escribir"Elija una opción valida";
FinSegun
FinProceso
20. Escribir un programa que lea dos números y permita al usuario elegir que operación aritmética
desea realizar: (+, *, /)
//algorito para leer dosnumeros y permitir al usuario
//realizar operaciones aritmeticas
Procesooperacion
Definirn1,n2,s,r,m,opComoEntero;
DefinirdComoreal;
Escribir"Ingrese primer número";
Leern1;
Escribir"Ingrese segundo número";
Leern2;
Escribir"ingrese opcion 1=suma, 2=resta, 3=multiplicación,
4=división";
leerop;
SegunopHacer
1:
s<-n1+n2;
Escribir"la suma es: ",s;
2:
r<-n1-n2;
16
Escribir"la resta es: ",r;
3:
m<-n1*n2;
Escribir"la multiplicación es: ",m;
4:
d<-n1/n2;
Escribir"la división es: ",d;
DeOtroModo:
Escribir"Elija una opción válida";
FinSegun
FinProceso
21. Se ingresan tres valores por teclado, si todos son diferentes imprimir la diferencia entreellos, y
si son iguales entre ellos la suma del primero con el segundo y a este resultado se lomultiplica
por el tercero.
//si son diferentes restar y si son iguales sumar a+b*c
Procesodiferentes
definira,b,c,s,dComoEntero;
escribir"Ingrese tres valores";
leera,b,c;
Si(a<>b&b<>c&a<>c)Entonces
d<-(a-b)-c;
Escribir"La división es :",d;
Sino
Si(a=b&b=c&a=c)Entonces
s<-(a+b)*c;
Escribir"El resultado es :",s;
Sino
Escribir"No valido";
FinSi
FinSi
FinProceso
22. Se ingresan por teclado tres números, si todos los valores ingresados son menores a
10,imprimir en pantalla la leyenda "Todos los números son menores a diez".
//menor diez
Procesomenor_diez
definira,b,cComoEntero;
escribir"Ingrese tres valores";
leera,b,c;
Si(a<10|b<10|c<10)Entonces
escribir"Alguno de los números es menor a diez";
Sino
Escribir"No válido";
FinSi
FinProceso
23. Escribir un programa que pida ingresar la coordenada de un punto en el plano, es decir
dosvalores enteros x e y (distintos a cero). Posteriormente imprimir en pantalla en
quecuadrante se ubica dicho punto. (1º Cuadrante si x > 0 Y y> 0 , 2º Cuadrante: x < 0 Y y>
0,etc.)
17
//mostrar el cuadrante del plano cartesiano
Procesocuadrante
definirx,yComoReal;
escribir"Ingrese punto X e Y: ";
leerx,y;
Si(x<0&y>0)Entonces
Escribir"Está en el II cuadrante";
Sino
Si(x>0&y>0)Entonces
Escribir"Está en el I cuadrante";
Sino
Si(x>0&y<0)Entonces
Escribir"Está en el III cuadrante";
Sino
Escribir"Está en el IV cuadrante";
FinSi
FinSi
FinSi
FinProceso
PROBLEMAS ESTRUCTURAS ITERATIVAS
PARA (for)
PseudoCódigo:
Para variable_contador<- valor_inicialHasta
valor_finalCon Paso incremento
18
PROBLEMAS CON ESTRUCTURAS ITERATIVAS
MIENTRAS…HACER (while)
PseudoCódigo:
Mientras expresion_logicaHacer
secuencia_de_acciones;
FinMientras
REPETIR … HASTA (Repeat…Until)
PseudoCódigo:
Repetir secuencia_de_acciones;
Hasta Que expresion_lógica
19
1. Hacer un algoritmo que permita ingresar 10 números y muestre cual de ellos fue el mayor
de todos.
//hallar el mayor número
Procesomayor_de_varios
definiri,mayor,numerocomoentero;
//mayor<--9999;
Parai<-1Hasta7ConPaso1Hacer
leernumero;
Sii=1entoncesmayor<-numero;
finsi
Sinumero>mayorEntonces
mayor<-numero;
//Sino
// acciones_por_falso
FinSi
FinPara
Escribir"El mayor de todos es :",mayor;
FinProceso
2. Hacer un algoritmo que permita ingresar 10 números y muestre cual de ellos fue el menor
de todos.
//hallar el menor número
Procesomenor_de_varios
definiri,mayor,numerocomoentero;
//mayor<--9999;
Parai<-1Hasta7ConPaso1Hacer
leernumero;
Sii=1entoncesmayor<-numero;
finsi
Sinumero<mayorEntonces
mayor<-numero;
FinSi
FinPara
Escribir"El mayor de todos es :",mayor;
FinProceso
3. Elaborar un algoritmo que imprima la tabla de multiplicar del cualquier número dado por
el usuario.
//imprimir tabla de multiplicar
Procesonumeros_naturales
definirn,mcomoentero;
Escribir"Tabla de que número desea";
leerm;
Paran<-1Hasta12ConPaso1Hacer
escribirm," * ",n," = ",n*m;
FinPara
FinProceso
4. Hacer un algoritmo que permita ingresar N números y muestre cuál de ellos fue el menor
de todos.
//menor de varios numeros
Procesomenor_de_varios
definiri,mayor,numero,ncomoentero;
Escribir"Ingrese notas del alumno :";
20
leern;
Escribir"Ingrese ",n," números :";
Parai<-1HastanConPaso1Hacer
leernumero;
Sii=1entoncesmayor<-numero;
finsi
Sinumero<mayorEntonces
mayor<-numero;
FinSi
FinPara
Escribir"El menor de todos es :",mayor;
FinProceso
5. Dibujar en pantalla un triángulo como:
//dibujar un triangulo
ProcesoTriangulo
definiri,j,fComoEntero;
Escribir"¿Cuantas Filas?";
leerf;
Parai<-1HastafHacer
Paraj<-1HastaiHacer
EscribirSinSaltar"X";
FinPara
Escribir" ";
FinPara
FinProceso
6. Se ingresan 5 notas de un alumno, publicar 2 peores notas.
// Se ingresan 5 notas publicar las dos peores notas
Procesodos_mejores
Definiri,nota,x,yComoentero;// x e y almacenan las peores notas
DefinirremplazadoComoLogico;
// asumimos que x e y son las mejores notas (osea lo contrario)
x<-20;
y<-20;
// variable bandera o control: para saber si ya se tomó la nota
ingresada
remplazado<-FALSO;// todavia no reemplazó
// repetir de 1 hasta 5
Parai<-1Hasta5Conpaso1Hacer
Escribir"Ingresa nota ",i;
Leernota;
Sinota<xEntonces// ¿la nota ingresada es peor de la que tenemos en
x?
Six<yEntonces// ¿x es peor todavia que y?
y<-x;// Entonces guardarla
FinSi
x<-nota;// x almacena la nueva peor nota
remplazado<-VERDADERO;// indica que Ya se tomó la nueva peor nota
FinSi
// ¿aun NO se reemplazó la nota ingresada Y la nota es peor que y?
Si~remplazado&nota<yEntonces
y<-nota;// guardarla
FinSi
remplazado<-FALSO;// la siguiente repetición empieza de nuevo
FinPara
x
xxx
xxxxx
xxxxxxx
xxxxxxxxx
21
Escribir"Las peores notas son ",x," y ",y;
FinProceso
7. Dada N notas calcular el promedio de las notas aprobadas y el promedio de las notas
desaprobadas.
//promedio notas aprobatorias y desaprobatorias
ProcesoPromedio
definirn,i,asuma,na,dsuma,nd,notaComoEntero;
Escribir"¿Cuántas notas son?";
leern;
asuma<-0;
na<-0;
dsuma<-0;
nd<-0;
Parai<-1HastanConPaso1Hacer
Escribirsinsaltar"Ingrese nota ",i," : ";
leernota;
Sinota>10Entonces
asuma<-asuma+nota;
na<-na+1;
Sino
dsuma<-dsuma+nota;
nd<-nd+1;
FinSi
FinPara
Escribir"El promedio de notas aprobatorias es :",asuma/na;
Escribir"El promedio de notas desaprobatorias es :",dsuma/nd;
FinProceso
8. Dados a y b enteros, informar el producto de ambos por sumas sucesivas.
//producto de a y b por sumas sucesivas
Procesosumas_sucesivas
definira,b,suma1,suma2,iComoEntero;
Escribir"Ingrese valor de a y b :";
leera,b;
suma1<-0;
suma2<-0;
Parai<-1HastabConPaso1Hacer
suma1<-suma1+a;
FinPara
i<-1;
Mientrasi<=aHacer
suma2<-suma2+b;
i<-i+1;
FinMientras
Escribir"suma de a ",suma1;
Escribir"suma de b ",suma2;
FinProceso
9. Dados a y n enteros, informar la potencia enésima de a por productos sucesivos.
//Dados a y n enteros, informar la potencia enésima de a por
productos sucesivos.
Procesopotencia_enesima
definira,n,suma,iComoEntero;
Escribir"Ingrese valor de a y b :";
leera,n;
22
suma<-0;
i<-1;
Mientrasi<-aHacer
suma<-suma+a^n;
i<-i+1;
FinMientras
escribirsuma;
FinProceso
10. Dados 10 números enteros visualizar la suma de los números pares de la lista, decir
además, cuántos números pares existen y cual es la media aritmética de los números
pares.
//numero invertido
Procesonumero_invertido
definirn,invcomoentero;
Escribir"Ingrese número entero positivo: ";
leern;
inv<-0;
Repetir
inv<-(inv*10)+(n%10);
n<-(n/10);
HastaQuen<=0
Escribir"El número invertido es: ",inv;
FinProceso
11. Encontrar el número mayor de una lista de N números positivos dados por el usuario.
//encontrar el mayor numero de una lista "N" ingresada por el
usuario
Procesomayor_numero
definiri,mayor,numero,ncomoentero;
Escribir"Ingrese numero de notas a evaluar :";
leern;
Escribir"Ingrese ",n," números :";
Parai<-1HastanConPaso1Hacer
leernumero;
Sii=1entoncesmayor<-numero;
finsi
Sinumero>mayorEntonces
mayor<-numero;
FinSi
FinPara
Escribir"el numero mayor es :",mayor;
FinProceso
12. Hacer un algoritmo que muestre los números que son múltiplos de 2 comprendidos entre
100 a 200 inclusive.
//ejercicio 13.
Procesomultiplo
definiri,xcomoentero;
leeri;
Parax<-100hasta200conpaso2Hacer
EscribirSinSaltarx," ,";
Finpara
FinProceso
23
13. Hacer un algoritmo que lea un numero entero positivo y lo escriba invertido
//numero invertido
Procesonumero_invertido
definirn,invcomoentero;
Escribir"Ingrese número entero positivo: ";
leern;
inv<-0;
Repetir
inv<-(inv*10)+(n%10);
n<-(n/10);
HastaQuen<=0
Escribir"El número invertido es: ",inv;
FinProceso
14. Diseñar un algoritmo que lea números enteros (positivos y negativos) y muestre el mayor y
el menor de ellos. El algoritmo terminará cuando se teclee un cero.
//Diseñar un algoritmo que lea números enteros (positivos y
negativos) y muestre el mayor y el menor de ellos. El algoritmo
terminará cuando se teclee un cero.
Proceson_enteros
definirnumero,menor,mayor,i,fcomoentero;
i<-1;
Repetir
escribir"ingrese numero :";
leernumero;
Sii=1Entonces
mayor<-numero;
menor<-numero;
FinSi
Sinumero>mayorEntonces
mayor<-numero;
sino
Sinumero<>0&numero<menorEntonces
menor<-numero;
FinSi
FinSi
i<-i+1;// incrementa en 1 la variable i
HastaQuenumero=0
Finproceso
15. Escribir un algoritmo que lea un número entero y por el método de divisiones sucesivas lo
imprima en binario.
//conversor binario
ProcesoConvertorBinario
definirdecimal,max,iComoEntero;
Dimensionarray[32];// definir un array o coleccion de datos
Escribir"Ingrese Numero decimal";
Leerdecimal;
max<-1;
Mientrasdecimal>1Hacer
array[max]<-decimal%2;// obtener bit del RESTO y almacenar en el
array
decimal<-decimal/2;// el cociente es el nuevo numero
max<-max+1;// incrementar el contador del arreglo
FinMientras
array[max]<-decimal%2;// tomar el ultimo bit
// imprimir los bits en orden inverso
24
Parai<-maxHasta1Conpaso-1Hacer
Escribirsinsaltararray[i];
FinPara
FinProceso
16. Realizar el diseño de un algoritmo que lea cinco valores numéricos y calcule su producto,
utilizando la estructura de control "para", "mientras" y "repetir" por separado.
//22 producto
Procesoproducto
definiri,n,sumaComoEntero;
suma<-1;
Parai<-1Hasta5ConPaso1Hacer
Escribir"Ingrese ",i," número";
leern;
suma<-n*suma;
FinPara
Escribir"El producto es :",suma;
FinProceso

Diseño de algoritmos usando pseint

  • 1.
    1 La estructura secuenciales aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma: Inicio Accion1 Accion2 . . AccionN Fin
  • 2.
    2 1. Diseñar unalgoritmo que calcule y escriba el cuadrado de cualquier número. //Diseñar un algoritmo que calcule y escriba el cuadrado de cualquier número. ProcesoCuadrado_de_cualquier_numero Escribir"Ingrese el valor de numero:"; Leernumero; cuadrado<-numero*numero; Escribir"Valor de cuadrado es: ",cuadrado; FinProceso 2. Definir una variable X inicializarla con el valor de 5, incrementar en 1 la variable X, mostrar el valor de X antes y después del incremento. //incremento de variable ProcesoIncremento definirxComoEntero; x<-5; escribir"El valor de x es: ",x; x<-x+1; Escribir"El valor de x incrementado es: ",x; FinProceso 3. Diseñar un algoritmo que solicite valores para dos variables numéricas e intercambie sus valores, imprimir el valor de ambas variables antes y después del intercambio. //Algoritmo intercambio de variables ProcesoIntercambio definira,b,auxComoEntero; escribir"Ingrese primer número: "; leera; escribir"Ingrese segundo número: "; leerb; aux<-a; a<-b; b<-aux; escribir"El nuevo valor de a es: ",a; escribir"El nuevo valor de b es: ",b; FinProceso 4. Calcular el producto de dos enteros positivos. //calcular el producto de dos enteros positivos Procesoproducto Definira,b,productoComoEntero; Escribir"Ingrese primer número: "; leera; Escribir"Ingrese segundo número: "; leerb; producto<-(a*b); escribir"El producto de los dos enteros es: ",producto; FinProceso
  • 3.
    3 5. Diseñar unalgoritmo que permita ingresar un valor inicial y un valor final. Calcular el valor central de los números. Imprimir valor resultante. //Diseñar un algoritmo que permita ingresar un valor inicial y un valor final. Calcular el valor central //de los números. Imprimir valor resultante. Procesovalor_central definira,bcomoentero; definirmediacomoreal; escribir"ingrese valor inicial: "; leera; escribir"ingrese valor final: "; leerb; media<-(a+b)/2; escribir"El valor central de dos números es: ",media; FinProceso 6. Realizar un algoritmo que me permita ingresar un número total de segundos y lo convierta en horas, minutos y segundos. //Convertir segundos en horas minutos segundos Procesohoras_minutos_segundos definircantidadcomoentero; definirminutos,seg,temp,horascomoentero; Escribir"Ingrese el valor de cantidad de segundos:"; Leercantidad; horas<-cantidad/3600; temp<-cantidad%3600; minutos<-temp/60; seg<-temp%60; Escribir"son: ",horas," horas ",minutos," minutos ",seg," segundos "; FinProceso 7. Realizar un algoritmo que reciba un dato hora formado por tres elementos hora, minuto y segundo y me indique cuantos segundos hay en total en este dato. //indicar cuantos segundos hay en total Procesocalcular_segundos definirhora,min,seg,hh,mm,tComoEntero; Escribir"Ingrese hora: "; leerhora; Escribir"Ingrese minutos: "; leermin; Escribir"Ingrese segundos: "; leerseg; hh<-hora*3600; mm<-min*60; t<-hh+mm+seg; Escribir"El número total de segundos es: ",t; FinProceso 8. Hacer un algoritmo que calcule el área del triángulo dada la base y la altura.
  • 4.
    4 //Area del triángulo ProcesoArea_del_Triangulo Definirbase,altura,areaComoEntero; Escribir"Ingresebase: "; leerbase; Escribir"Ingrese Altura: "; leeraltura; area<-(base*altura)/2; escribir"El area del triangulo es: ",area; FinProceso 9. Hacer un algoritmo que lea un número entero positivo compuesto de 4 dígitos y lo escriba invertido //invertir número ProcesoInvertir DefinirnumeroComoEntero; Escribir"Ingrese un número de cuatro dígitos: "; leernumero; Escribir"El número invertido es: "; Escribirsinsaltarnumero%10; numero<-numero/10; Escribirsinsaltarnumero%10; numero<-numero/10; Escribirsinsaltarnumero%10; numero<-numero/10; Escribirsinsaltarnumero%10; FinProceso 10.Hace un algoritmo que calcule la longitud de la circunferencia, el área del círculo y el volumen de la esfera para un radio ingresado por el teclado. Las formulas son: Longitud de la circunferencia = 2πR. Área = 4πR2. Volumen = 4/3πR3 //calcule el valor de la circunferecnia Procesocircunferencia definirlong,ar,vol,radioComoReal; escribir"Ingrese radio de la circunferencia: "; leerradio; long<-2*(radio*3.14); ar<-4*(3.14*radio^2); vol<-4/3*(3.14*radio^3); escribir"La longitud de la circunferencia es: ",Long; escribir"El area de la circunferencia es: ",ar; escribir"El volumen de la circunferencia es: ",vol; FinProceso 11.Calcular la distancia recorrida por un auto, en un tiempo dado, calcular la velocidad del auto, conociendo que V = D/T //calcular ladistacnia recorrida de un auto Procesodistancia_recorrida Definirdistancia,tiempo,velocidadcomoreal; Escribir"Ingrese distancia: "; leerdistancia; Escribir"Ingrese tiempo: "; leertiempo; velocidad<-distancia/tiempo; escribir"La distancia recorrida del auto es: ",velocidad; FinProceso
  • 5.
    5 12.Dado una distanciaen pulgadas convertirlas a centímetros conociendo que 1 pulgada = 2.54 cm. //convertir pulgadas a centimetros Procesoconversor definirpul,centcomoreal; Escribir" Ingrese las pulgadas a convertir: "; leerpul; cent<-pul*2.54; Escribir" Son: ",cent,"cm."; FinProceso 13.Calcular el nuevo salario de un obrero que obtuvo un incremento del 25% sobre su salario anterior. //aumento de salario a obrero ProcesoSalario_obrero definirsalario,sueldo,nuevoComoReal; Escribir"Ingrese el salario"; Leersalario; Nuevo<-salario*0.25+salario; Escribir"El nuevo salario es: ",nuevo; FinProceso 14.Dada una cantidad en soles obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un dato desconocido (solicitarlo al usuario) //convertir soles en dolares Procesoequivalencia_dolares definirs,d,dolarComoReal; Escribir"Ingrese dinero en soles: "; Leers; Escribir"Ingrese precio del dolar: "; leerd; dolar<-(s*d); Escribir"La equivalencia en dólares es: ",dolar," $"; FinProceso 15.Hacer un algoritmo que calcule el valor de una ecuación de primer grado (ax + b=0). //ecuación de primer grado Procesoecuacion_primer_grado definira,b,xComoReal; escribir"Ingrese valor de a de la ecuación: "; leera; escribir"Ingrese valor de b de la ecuación: "; leerb; x<--b/a; Escribir"El valor de X es: ",x; FinProceso 16.Hacer un algoritmo que calcule el valor de la hipotenusa de un triángulo rectángulo, ingresando por el teclado el valor de sus catetos (Teorema de Pitágoras) a2 = b2 + c2.
  • 6.
    6 //hallar el teoremade depitagoras Procesohipotenusa definira,b,ccomoreal; Escribir'teorema de pitagoras'; Escribir'ingrese el primer cateto a'; Leera; Escribir'ingrese el segundo cateto b'; Leerb; c<-(rc(a^2+b^2)); Escribir'la hipotenusa es:',c; FinProceso 17.Un alumno desea saber su promedio de una materia, sabiendo que su promedio se da en base a lo siguiente: Examen 40%, tareas 30% y trabajos 30%. Obtener el promedio teniendo las calificaciones obtenidas en cada uno de estos rubros. //promedio de materias Procesopromedio_materias definirex,tar,tra,prom,p1,p2,p3comoreal; Escribir"Ingrese nota del examen: "; leerex; Escribir"Ingrese nota de tarea: "; leertar; Escribir"Ingrese nota de trabajo: "; leertra; p1<-ex*0.40; p2<-tar*0.30; p3<-tra*0.30; prom<-(p1+p2+p3); Escribir"El promedio es: ",prom; FinProceso 18.Diseñar un algoritmo que pida el año de una fecha de nacimiento y nombre, calcule y muestre la edad de la persona. //calcular edad persona ProcesoNombre_fecha DefinirnombreComoCaracter; definirfechaComoreal; definiredadcomoentero; Escribir"Ingrese su nombre:"; leernombre; Escribir"Ingrese año de nacimiento:"; leerfecha; edad<-(2013-fecha); Escribir"Hola ",nombre," tu edad es ",edad; FinProceso
  • 7.
    7 PROBLEMAS CONDICIONALES YOPERADORES 1. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobará si su promedio de tres calificaciones es mayor o igual a 12, reprueba en caso contrario.
  • 8.
    8 //Algoritmo condicional paracalcular el promedio de tres notas ProcesoPromedio_de_tres_numeros definirnota1,nota2,nota3,promediocomoentero; escribir"Ingrese nota 1"; Leernota1; escribir"Ingrese nota 2"; Leernota2; escribir"Ingrese nota 3"; Leernota3; promedio<-(nota1+nota2+nota3)/3; Sipromedio>=12Entonces Escribir"APROBADO"; Sino Escribir"DESAPROBADO"; FinSi FinProceso 2. Construya el algoritmo tal que dado como dato la calificación de un alumno en un examen, escriba "aprobado" en caso de que esa calificación sea mayor a 10. //Algoritmo para condicionar la calificación de un alumno ProcesoCalificacion definirnotacomoentero; escribir"Ingrese su nota: "; leernota; Sinota>10Entonces Escribir"Aprobado"; Sino Escribir"Desaprobado"; FinSi FinProceso 3. Escribir un algoritmo que reciba un ángulo y mostrar el mensaje "es un ángulo recto" si el ángulo es igual a 90 y "No es un ángulo recto" en caso contrario. //algoritmo para determinar si es un angulo recto Procesoangulo definirangulocomoentero; Escribir"Ingrese ángulo: "; Leerangulo; Siangulo=90Entonces escribir"Es un ángulo recto"; Sino escribir"No es un ángulo recto"; FinSi FinProceso 4. Hacer un algoritmo que lea 2 números y deducir si están en orden creciente o decreciente. //algoritmo para determinar si un numeroes creciente o decreciente Procesocreciente_decreciente definira,bcomoentero; Escribir"Ingrese primer número: "; Leera; Escribir"Ingrese segundo número: "; Leerb;
  • 9.
    9 Sia<bEntonces Escribir"Está en órdencreciente"; Sino Escribir"Está en órden decreciente"; FinSi FinProceso 5. Escribir un algoritmo que lea 2 números y visualice el mayor. //algoritmo que lea 2 números y visualice el mayor Procesonumero_mayor definira,bcomoentero; Escribir"Ingrese primer número: "; Leera; Escribir"Ingrese segundo número: "; Leerb; Sia>bEntonces escribira," Es mayor que ",b; Sino escribirb," Es mayor que ",a; FinSi FinProceso 6. Escribir un algoritmo que lea dos valores x e y, determina si son iguales y en caso de no serlo indica cuál de ellos es el mayor. //algoritmo para leer dos numeros y determinar si son iguales o mayores Procesoiguales_mayor definirx,ycomoentero; Escribir"Ingrese valor x: "; Leerx; Escribir"Ingrese valor y: "; Leery; Six=yEntonces Escribir"X e Y son iguales"; Sino Six>yEntonces escribirx," Es mayor que ",y; Sino escribiry," Es mayor que ",x; FinSi FinSi FinProceso 7. Hacer un algoritmo que lea dos números y los imprima en orden ascendente. //algoritmo para leer dos numeros e imprimirlos en orden ascendente Procesoascendente definirx,ycomoentero; Escribir"Ingrese valor x: "; Leerx; Escribir"Ingrese valor y: "; Leery; Six>yEntonces Escribir"orden ascendente: ",x," , ",y; Sino
  • 10.
    10 Escribir"orden ascendente: ",y,", ",x; FinSi FinProceso 8. Dados tres números calcular el mayor. //calcular el mayor de tres números Procesosin_titulo DefinirNumero1,Numero2,Numero3,MayorComoEntero; Escribir"Ingrese el Numero 1: "; LeerNumero1; Escribir"Ingrese el Numero 2: "; LeerNumero2; Escribir"Ingrese el Numero 3: "; LeerNumero3 SiNumero1>Numero2Entonces Mayor<-Numero1; SiNumero1>Numero3Entonces Mayor<-Numero1; Sino Mayor<-Numero3; FinSi Sino SiNumero1<Numero2Entonces Mayor<-Numero2; SiNumero2>Numero3Entonces Mayor<-Numero2; Sino Mayor<-Numero3; FinSi Sino SiNumero3>Numero1Entonces Mayor<-Numero3; SiNumero3>Numero2Entonces Mayor<-Numero3; Sino Mayor<-Numero2; FinSi Sino SiNumero1=Numero2Entonces SiNumero3>Numero1Entonces Mayor<-Numero3; Sino Mayor<-Numero1; FinSi FinSi FinSi FinSi FinSi Escribir"El numero mayor es el ",Mayor; FinProceso 9. Dadas 3 longitudes, decir mediante un mensaje si se forma o no un triangulo (cada lado tiene que ser menor que la suma de los otros dos).
  • 11.
    11 //lados triangulo ProcesoTriangulo definira,b,ccomoentero; Escribir"Ingrese elvalor de los tres lados del triángulo:"; Leera,b,c; Sia<b+c&b<a+c&c<a+bEntonces Escribir"Forman un triángulo"; Sino Escribir"No forman un triángulo"; FinSi FinProceso 10. Diseñar un algoritmo que me permita determinar si un número ingresado desde el teclado es un número par o impar. //determinar si un numero es par o impar Procesopar_impar definiracomoentero; Escribir"Ingrese número: "; Leera; Sia%2=0Entonces Escribir"Es par"; Sino Escribir"Es impar"; FinSi FinProceso 11. Averiguar si dados dos números, uno es divisor de otro. //Averiguar si dados dos números, uno es divisor de otro. Procesodivisibilidad definira,bcomoentero; Escribir"Ingrese número: "; Leera; Escribir"Ingrese número: "; Leerb; Sib%a=0Entonces Escribirb," Es divisible de :",a; Sino Escribira," Es no es divisible de :",b; FinSi FinProceso 12. Leer tres números x, y, z, imprimir los valores máximos y mínimos. El procedimiento será comparaciones sucesivas de parejas de números. //maximo mínimo Procesomaximo_minimo definirx,y,z,max,mincomoentero; Escribir"Ingrese tres valores:"; Leerx,y,z; Six<yEntonces min<-x; max<-y; Sino min<-y; max<-x;
  • 12.
    12 FinSi Siz<minEntonces min<-z; sino siz<maxEntonces max<-z; FinSi FinSi Escribir"El número máximoes: ",max; Escribir"El número minimo es: ",min; FinProceso 13. Determinar si un número entero positivo es exactamente divisible por 5. //numeromultiplo de 5 Procesomultiplo Definirnumerocomoentero; Escribir"Ingrese el valor de numero:"; Leernumero; Sinumero%5=0Entonces Escribir"si es multiplo de 5"; SiNo Escribir"no es multiplo de 5"; FinSi FinProceso 14. Hacer un algoritmo que lea un carácter y determine si es: Vocal, número negativo, positivo, par o impar. //vocal, número negativo, positivo, par o impar Procesodeterminar DefinircComocaracter; Definirnumcomoentero; Escribir"Ingrese un número o letra"; leerc; num<-convertirAnumero(c); //Escribir c,"=",num; SegunnumHacer 49,17: Escribir"Es la vocal a"; 53,21: Escribir"Es la vocal e"; 57,25: Escribir"Es la vocal i"; 63,31: Escribir"Es la vocal o"; 69,37: Escribir"Es la vocal u"; DeOtroModo: Sinum<0Entonces Escribir"Es un número negativo"; Sino Escribir"Es un número positivo"; FinSi Sinum%2=0Entonces Escribir"Es un número Par";
  • 13.
    13 Sino Escribir"Es un númeroImpar"; FinSi FinSegun FinProceso 15. ingresar el número del mes y determinar cuantos días tiene el mes, para el caso de Febrero, el algoritmo deberá indicar que no cuenta con la información necesaria para dar la respuesta. //dias de un mes ProcesoDefinir_mes_dias Definirmescomoentero; Escribir"Ingrese número de mes"; leermes; SegunmesHacer 2: Escribir"No se cuanta con información"; 4,6,9,11: Escribir"Tiene 30 dias"; 1,3,5,7,8,10,12: Escribir"Tiene 31 dias"; DeOtroModo: Escribir"No es un mes válido"; FinSegun FinProceso 16. Ingresar un número del 1 a! 7 decir cual día de la semana le corresponde. //nombre de dia de la semana segun valor Procesodia_semana definirdiacomoentero; Escribir"Ingrese numero"; leerdia; SegundiaHacer 1: Escribir"El dia es lunes"; 2: Escribir"El dia es martes"; 3: Escribir"El dia es miercoles"; 4: Escribir"El dia es jueves"; 5: Escribir"El dia es viernes"; 6: Escribir"El dia es sabado"; 7: Escribir"El dia es domingo"; DeOtroModo: Escribir"No es un dia válido"; FinSegun FinProceso 17. Ingresar un número del 1 a! 12 decir cual mes del año le corresponde. //meses del año
  • 14.
    14 Procesosin_titulo Definirncomoentero; Escribir"Ingrese número: "; leern; Sin=1Entonces Escribir"Esenero"; Sino Sin=2Entonces Escribir"Es febrero"; Sino Sin=3Entonces Escribir"Es marzo"; Sino Sin=4Entonces Escribir"Es abril"; Sino Sin=5Entonces Escribir"Es mayo"; Sino Sin=6Entonces Escribir"Es junio"; Sino Sin=7Entonces Escribir"Es julio"; Sino Sin=8Entonces Escribir"Es agosto"; Sino Sin=9Entonces Escribir"Es setiembre"; Sino Sin=10Entonces Escribir"Es octubre"; Sino Sin=11Entonces Escribir"Es noviembre"; Sino Sin=12Entonces Escribir"Es diciembre"; Sino Escribir"No es ningundia del año"; FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinProceso 18. Determinar si una persona es del signo Aries dada su fecha de nacimiento. //determinar si es de signnoaries Procesoaries definirdia,mes,fechacomoentero; Escribir"ingrese dia mes y año de nacimiento";
  • 15.
    15 leerdia,mes,fecha; Simes=3&dia>=21&dia<=30Entonces Escribir"El signo esaries"; Sino Simes=4&dia>=1&dia<=20Entonces Escribir"El signo es aries"; Sino Escribir"No es el signo de aries"; FinSi FinSi FinProceso //21 de marzo al 20 de Abril 19. Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio aeróbico; la fórmula que se aplica cuando el sexo es femenino es: (22.0-edad)/10; si el sexo es masculino es: (210-edad)/10. //algoritmo para determinar pulsaciones hombre o mujer Procesopulsaciones definirs,ecomoentero; definirpcomoreal; Escribir"Ingrese Sexo 1=masculino, 2=femenino"; leers; Escribir"Ingrese edad"; leere; SegunsHacer 1: p<-(210-e)/10; Escribir"El número de pulsaciones es: ",p; 2: p<-(220-e)/10; Escribir"El número de pulsaciones es: ",p; DeOtroModo: Escribir"Elija una opción valida"; FinSegun FinProceso 20. Escribir un programa que lea dos números y permita al usuario elegir que operación aritmética desea realizar: (+, *, /) //algorito para leer dosnumeros y permitir al usuario //realizar operaciones aritmeticas Procesooperacion Definirn1,n2,s,r,m,opComoEntero; DefinirdComoreal; Escribir"Ingrese primer número"; Leern1; Escribir"Ingrese segundo número"; Leern2; Escribir"ingrese opcion 1=suma, 2=resta, 3=multiplicación, 4=división"; leerop; SegunopHacer 1: s<-n1+n2; Escribir"la suma es: ",s; 2: r<-n1-n2;
  • 16.
    16 Escribir"la resta es:",r; 3: m<-n1*n2; Escribir"la multiplicación es: ",m; 4: d<-n1/n2; Escribir"la división es: ",d; DeOtroModo: Escribir"Elija una opción válida"; FinSegun FinProceso 21. Se ingresan tres valores por teclado, si todos son diferentes imprimir la diferencia entreellos, y si son iguales entre ellos la suma del primero con el segundo y a este resultado se lomultiplica por el tercero. //si son diferentes restar y si son iguales sumar a+b*c Procesodiferentes definira,b,c,s,dComoEntero; escribir"Ingrese tres valores"; leera,b,c; Si(a<>b&b<>c&a<>c)Entonces d<-(a-b)-c; Escribir"La división es :",d; Sino Si(a=b&b=c&a=c)Entonces s<-(a+b)*c; Escribir"El resultado es :",s; Sino Escribir"No valido"; FinSi FinSi FinProceso 22. Se ingresan por teclado tres números, si todos los valores ingresados son menores a 10,imprimir en pantalla la leyenda "Todos los números son menores a diez". //menor diez Procesomenor_diez definira,b,cComoEntero; escribir"Ingrese tres valores"; leera,b,c; Si(a<10|b<10|c<10)Entonces escribir"Alguno de los números es menor a diez"; Sino Escribir"No válido"; FinSi FinProceso 23. Escribir un programa que pida ingresar la coordenada de un punto en el plano, es decir dosvalores enteros x e y (distintos a cero). Posteriormente imprimir en pantalla en quecuadrante se ubica dicho punto. (1º Cuadrante si x > 0 Y y> 0 , 2º Cuadrante: x < 0 Y y> 0,etc.)
  • 17.
    17 //mostrar el cuadrantedel plano cartesiano Procesocuadrante definirx,yComoReal; escribir"Ingrese punto X e Y: "; leerx,y; Si(x<0&y>0)Entonces Escribir"Está en el II cuadrante"; Sino Si(x>0&y>0)Entonces Escribir"Está en el I cuadrante"; Sino Si(x>0&y<0)Entonces Escribir"Está en el III cuadrante"; Sino Escribir"Está en el IV cuadrante"; FinSi FinSi FinSi FinProceso PROBLEMAS ESTRUCTURAS ITERATIVAS PARA (for) PseudoCódigo: Para variable_contador<- valor_inicialHasta valor_finalCon Paso incremento
  • 18.
    18 PROBLEMAS CON ESTRUCTURASITERATIVAS MIENTRAS…HACER (while) PseudoCódigo: Mientras expresion_logicaHacer secuencia_de_acciones; FinMientras REPETIR … HASTA (Repeat…Until) PseudoCódigo: Repetir secuencia_de_acciones; Hasta Que expresion_lógica
  • 19.
    19 1. Hacer unalgoritmo que permita ingresar 10 números y muestre cual de ellos fue el mayor de todos. //hallar el mayor número Procesomayor_de_varios definiri,mayor,numerocomoentero; //mayor<--9999; Parai<-1Hasta7ConPaso1Hacer leernumero; Sii=1entoncesmayor<-numero; finsi Sinumero>mayorEntonces mayor<-numero; //Sino // acciones_por_falso FinSi FinPara Escribir"El mayor de todos es :",mayor; FinProceso 2. Hacer un algoritmo que permita ingresar 10 números y muestre cual de ellos fue el menor de todos. //hallar el menor número Procesomenor_de_varios definiri,mayor,numerocomoentero; //mayor<--9999; Parai<-1Hasta7ConPaso1Hacer leernumero; Sii=1entoncesmayor<-numero; finsi Sinumero<mayorEntonces mayor<-numero; FinSi FinPara Escribir"El mayor de todos es :",mayor; FinProceso 3. Elaborar un algoritmo que imprima la tabla de multiplicar del cualquier número dado por el usuario. //imprimir tabla de multiplicar Procesonumeros_naturales definirn,mcomoentero; Escribir"Tabla de que número desea"; leerm; Paran<-1Hasta12ConPaso1Hacer escribirm," * ",n," = ",n*m; FinPara FinProceso 4. Hacer un algoritmo que permita ingresar N números y muestre cuál de ellos fue el menor de todos. //menor de varios numeros Procesomenor_de_varios definiri,mayor,numero,ncomoentero; Escribir"Ingrese notas del alumno :";
  • 20.
    20 leern; Escribir"Ingrese ",n," números:"; Parai<-1HastanConPaso1Hacer leernumero; Sii=1entoncesmayor<-numero; finsi Sinumero<mayorEntonces mayor<-numero; FinSi FinPara Escribir"El menor de todos es :",mayor; FinProceso 5. Dibujar en pantalla un triángulo como: //dibujar un triangulo ProcesoTriangulo definiri,j,fComoEntero; Escribir"¿Cuantas Filas?"; leerf; Parai<-1HastafHacer Paraj<-1HastaiHacer EscribirSinSaltar"X"; FinPara Escribir" "; FinPara FinProceso 6. Se ingresan 5 notas de un alumno, publicar 2 peores notas. // Se ingresan 5 notas publicar las dos peores notas Procesodos_mejores Definiri,nota,x,yComoentero;// x e y almacenan las peores notas DefinirremplazadoComoLogico; // asumimos que x e y son las mejores notas (osea lo contrario) x<-20; y<-20; // variable bandera o control: para saber si ya se tomó la nota ingresada remplazado<-FALSO;// todavia no reemplazó // repetir de 1 hasta 5 Parai<-1Hasta5Conpaso1Hacer Escribir"Ingresa nota ",i; Leernota; Sinota<xEntonces// ¿la nota ingresada es peor de la que tenemos en x? Six<yEntonces// ¿x es peor todavia que y? y<-x;// Entonces guardarla FinSi x<-nota;// x almacena la nueva peor nota remplazado<-VERDADERO;// indica que Ya se tomó la nueva peor nota FinSi // ¿aun NO se reemplazó la nota ingresada Y la nota es peor que y? Si~remplazado&nota<yEntonces y<-nota;// guardarla FinSi remplazado<-FALSO;// la siguiente repetición empieza de nuevo FinPara x xxx xxxxx xxxxxxx xxxxxxxxx
  • 21.
    21 Escribir"Las peores notasson ",x," y ",y; FinProceso 7. Dada N notas calcular el promedio de las notas aprobadas y el promedio de las notas desaprobadas. //promedio notas aprobatorias y desaprobatorias ProcesoPromedio definirn,i,asuma,na,dsuma,nd,notaComoEntero; Escribir"¿Cuántas notas son?"; leern; asuma<-0; na<-0; dsuma<-0; nd<-0; Parai<-1HastanConPaso1Hacer Escribirsinsaltar"Ingrese nota ",i," : "; leernota; Sinota>10Entonces asuma<-asuma+nota; na<-na+1; Sino dsuma<-dsuma+nota; nd<-nd+1; FinSi FinPara Escribir"El promedio de notas aprobatorias es :",asuma/na; Escribir"El promedio de notas desaprobatorias es :",dsuma/nd; FinProceso 8. Dados a y b enteros, informar el producto de ambos por sumas sucesivas. //producto de a y b por sumas sucesivas Procesosumas_sucesivas definira,b,suma1,suma2,iComoEntero; Escribir"Ingrese valor de a y b :"; leera,b; suma1<-0; suma2<-0; Parai<-1HastabConPaso1Hacer suma1<-suma1+a; FinPara i<-1; Mientrasi<=aHacer suma2<-suma2+b; i<-i+1; FinMientras Escribir"suma de a ",suma1; Escribir"suma de b ",suma2; FinProceso 9. Dados a y n enteros, informar la potencia enésima de a por productos sucesivos. //Dados a y n enteros, informar la potencia enésima de a por productos sucesivos. Procesopotencia_enesima definira,n,suma,iComoEntero; Escribir"Ingrese valor de a y b :"; leera,n;
  • 22.
    22 suma<-0; i<-1; Mientrasi<-aHacer suma<-suma+a^n; i<-i+1; FinMientras escribirsuma; FinProceso 10. Dados 10números enteros visualizar la suma de los números pares de la lista, decir además, cuántos números pares existen y cual es la media aritmética de los números pares. //numero invertido Procesonumero_invertido definirn,invcomoentero; Escribir"Ingrese número entero positivo: "; leern; inv<-0; Repetir inv<-(inv*10)+(n%10); n<-(n/10); HastaQuen<=0 Escribir"El número invertido es: ",inv; FinProceso 11. Encontrar el número mayor de una lista de N números positivos dados por el usuario. //encontrar el mayor numero de una lista "N" ingresada por el usuario Procesomayor_numero definiri,mayor,numero,ncomoentero; Escribir"Ingrese numero de notas a evaluar :"; leern; Escribir"Ingrese ",n," números :"; Parai<-1HastanConPaso1Hacer leernumero; Sii=1entoncesmayor<-numero; finsi Sinumero>mayorEntonces mayor<-numero; FinSi FinPara Escribir"el numero mayor es :",mayor; FinProceso 12. Hacer un algoritmo que muestre los números que son múltiplos de 2 comprendidos entre 100 a 200 inclusive. //ejercicio 13. Procesomultiplo definiri,xcomoentero; leeri; Parax<-100hasta200conpaso2Hacer EscribirSinSaltarx," ,"; Finpara FinProceso
  • 23.
    23 13. Hacer unalgoritmo que lea un numero entero positivo y lo escriba invertido //numero invertido Procesonumero_invertido definirn,invcomoentero; Escribir"Ingrese número entero positivo: "; leern; inv<-0; Repetir inv<-(inv*10)+(n%10); n<-(n/10); HastaQuen<=0 Escribir"El número invertido es: ",inv; FinProceso 14. Diseñar un algoritmo que lea números enteros (positivos y negativos) y muestre el mayor y el menor de ellos. El algoritmo terminará cuando se teclee un cero. //Diseñar un algoritmo que lea números enteros (positivos y negativos) y muestre el mayor y el menor de ellos. El algoritmo terminará cuando se teclee un cero. Proceson_enteros definirnumero,menor,mayor,i,fcomoentero; i<-1; Repetir escribir"ingrese numero :"; leernumero; Sii=1Entonces mayor<-numero; menor<-numero; FinSi Sinumero>mayorEntonces mayor<-numero; sino Sinumero<>0&numero<menorEntonces menor<-numero; FinSi FinSi i<-i+1;// incrementa en 1 la variable i HastaQuenumero=0 Finproceso 15. Escribir un algoritmo que lea un número entero y por el método de divisiones sucesivas lo imprima en binario. //conversor binario ProcesoConvertorBinario definirdecimal,max,iComoEntero; Dimensionarray[32];// definir un array o coleccion de datos Escribir"Ingrese Numero decimal"; Leerdecimal; max<-1; Mientrasdecimal>1Hacer array[max]<-decimal%2;// obtener bit del RESTO y almacenar en el array decimal<-decimal/2;// el cociente es el nuevo numero max<-max+1;// incrementar el contador del arreglo FinMientras array[max]<-decimal%2;// tomar el ultimo bit // imprimir los bits en orden inverso
  • 24.
    24 Parai<-maxHasta1Conpaso-1Hacer Escribirsinsaltararray[i]; FinPara FinProceso 16. Realizar eldiseño de un algoritmo que lea cinco valores numéricos y calcule su producto, utilizando la estructura de control "para", "mientras" y "repetir" por separado. //22 producto Procesoproducto definiri,n,sumaComoEntero; suma<-1; Parai<-1Hasta5ConPaso1Hacer Escribir"Ingrese ",i," número"; leern; suma<-n*suma; FinPara Escribir"El producto es :",suma; FinProceso