Diseño de algoritmos usando pseint

24
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

Transcript of Diseño de algoritmos usando pseint

Page 1: Diseño de algoritmos usando pseint

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

Page 2: Diseño de algoritmos usando pseint

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

Page 3: Diseño de algoritmos usando pseint

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.

Page 4: Diseño de algoritmos usando pseint

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

Page 5: Diseño de algoritmos usando pseint

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.

Page 6: Diseño de algoritmos usando pseint

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

Page 7: Diseño de algoritmos usando pseint

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.

Page 8: Diseño de algoritmos usando pseint

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;

Page 9: Diseño de algoritmos usando pseint

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

Page 10: Diseño de algoritmos usando pseint

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).

Page 11: Diseño de algoritmos usando pseint

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;

Page 12: Diseño de algoritmos usando pseint

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";

Page 13: Diseño de algoritmos usando pseint

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

Page 14: Diseño de algoritmos usando pseint

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";

Page 15: Diseño de algoritmos usando pseint

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;

Page 16: Diseño de algoritmos usando pseint

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.)

Page 17: Diseño de algoritmos usando pseint

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 Hacer Instrucciones …

Page 18: Diseño de algoritmos usando pseint

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

Page 19: Diseño de algoritmos usando pseint

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 :";

Page 20: Diseño de algoritmos usando pseint

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

Page 21: Diseño de algoritmos usando pseint

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;

Page 22: Diseño de algoritmos usando pseint

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

Page 23: Diseño de algoritmos usando pseint

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

Page 24: Diseño de algoritmos usando pseint

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