Date post: | 29-Nov-2014 |
Category: |
Documents |
Upload: | jhoon-granados-santos |
View: | 1,216 times |
Download: | 8 times |
NO
COPIES
ADVERTENCIA
LES ADVIERTO QUE NO SOY EL AUTOR DE LOS EJERCIOS, YO SOLO
SOY UN ESTUDIANTE DE INFORMATICA, Y EL EDITOR DE ESTE
LIBRO CON LA INFORMACION OBTENIDA DE INTERNET DE
DIVERSAS PAGINAS WEB:
ATENTAMENTE
GRANADOS SANTOS JHOON
N° TELF 999197749
E-MAIL: [email protected]
PERU-LIMA
AL FINAL LE DEJO LOS LINK DE DONDE OBTUBE LA INFORMACION
INTRODUCCION
HAY ALGUNAS PERSONAS QUE TIENEN PROBLEMAS CON
RESOLVER ALGORITMOS YA QUE SON MUY COMPLICADOS
ALGUNOS PERO NO IMPOSIBLE ASI QUE LES TRAIGO LOS
ALGORITMOS RESUELTOS PARA HACER LA TAREA MAS FACIL ES
SOLO PARA LOS ESTUDIANTES DE INFORMATICA.
ALGUNAS FRACES INFORMATICAS
“Internet se construye con información, si censuras o restringes la
información destruyes internet” Norbert R. Ibañez
En el Chat del MSN hace años atrás… Pregunta de Lamer idiota: -
Eres Informático…? Respuesta: -No, soy gilipoyas. Pregunta aun
más Lamer: -¿Y qué hace falta para ser un buen gilipoyas?
Respuesta: -Muy poca cosa. Solo hacer preguntas como esta.
Norbert. R. Ibáñez
Me llaman maestro, cuando simplemente Soy un alumno de esta
vida. Norbert R. Ibañez
EJERCIOS DE LAGORITMO RESUELTOS
1.-Hacer un programa que al dar la hora hh, mm, ss, muestre las
Horas, minutos y segundos y también nos calcuel la hora
despues de 2 segundos.
inicio
leer hh, mm, ss
si (hh < 24) y (mm<60) y (ss>60) entonces
ss <-- ss + 2
si ss = 60 entonces
ss <-- 0
mm <-- mm + 2
si mm = 60 entonces
mm <-- 0
hh <-- hh + 2
si hh = 24 entonces
hh <-- 0
fin_si
fin_si
fin_si
fin_Si
escribir hh, mm, ss
fin
Autor:
Bellodas Leccaros
2.-Hacer un programa que lea 2 números y deducir si están en orden creciente o decreciente.
inicio
leer a, b
si a <= b entonces
escribir "orden creciente"
si_no
escribir "orden decreciente"
fin_si
fin
Autor:
Bellodas leccaros
3.-Calcular el número mayor de una lista de números.
real: UM, MAX
entero: I, N
inicio
leer N // N >0
leer NUM
MAX <-- NUM
desde I <-- 2 hasta 100 hacer
leer NUM
si NUM > MAX entonces
MAX <-- NUM
fin_si
fin_desde
fin
Autor:
Bellodas leccaros
4.-De una lista de 100 números determinar simultaneamente
el máximo y mínimo número.
I: entero
MAX, MIN, NÚMERO: real
inicio
leer NUMERO
MAX <-- NUMERO
MIN <-- NUMERO
desde I <-- 2 hasta 100 hacer
leer NUMERO
si NUMERO > MAX entonces
MAX <-- NUMERO
sino
si NUMERO < MIN entonces
MIN <-- NUMERO
fin_si
fin_si
fin_desde
escribir "máximo", MAX, "mínimo", MIN
fin
Autor:
Bellodas leccaros
5.-Se ingresan 5 notas de un alumno, publicar 2 peores notas.
inicio
dimensionar a[100]
x <-- 1
mientras x <= 5 hacer
leer a[x]
x <-- x + 1
fin_mientras
x <-- 1
mientras x <= 5 hacer
y <-- 1
mientras y <= 5 hacer
si a[x] < a[y] entonces
T <-- a [x]
a[x]<-- a[y]
a[y] <-- T
fin_si
y <-- y + 1
fin_mientras
y <-- y + 1
fin_mientras
//publicar
x <-- 5
mientras x >= 2 hacer
escribe a [x]
x <-- x + 1
fin_mientras
fin
6.- Autor:
Nadezhda Espada Flores
¿Calcular las raíces de una ecuación de segundo grado (a²+bx+c=0)?
variables
a,b,c,x¹,x²
inicio
leer a,b,c
d_(b²)-(4*a*c)
si a<>0 y d>=0 entonces
x¹_(-b+sqrt(d))\(2*a)
x²_(-b-sqrt(d))\(2*a)
imprimir x¹,x²
sino
imprimir"no se efectua la operacion"
fin si
fin
autor:
granados santos jhoon
7.- ¿Dada la duración en minutos de una llamada calcular el costo, considerando?
-Hasta tres minutos el costo es 0.50
-Por encima de tres minutos es 0.50 más 0.1*cada minuto adicional a los tres primeros
Variables
M, C
inicio
leer M
si M<=3
C_0.50
sino
C_0.50+0.1*(M-3)
fin si
imprimir el "C"
fin
Autor:
Nadezhda Espada Flores
8.- ¿Dado tres números calcular el mayor?
variables
n1,n2,n3,M
inicio
leer n¹,n²,n³
si n¹>n² y
n¹>n³ entonces
mayor_ n¹
sino
fin si
si n²>n¹ y n²>n³ entonces
mayor_ n²
sino
mayor_ n
fin si
imprimir mayor
fin
Autor:
Nadezhda Espada Flores
9.- ¿Dada N notas calcular el promedio de las notas aprovadas y el promedio de las
notas desaprovadas?
variables
N,C,S,I,nota,S¹,S²,Pa,Pd
inicio
leer N
I_1
S¹_0
S²_0
C_0
S_0
mientras I<=N hacer
leer nota
si nota>=12 entonces
S¹_ S¹+nota
C_ C+1
sino
S²_S²+nota
S_S+1
fin si
I_I+1
fin mientras
Pa_ suma1\C
Pd_ suma2\S
imprimir Pa,pd
fin
Autor:
Nadezhda Espada Flores
10.-¿Dado N calcular:(1¹)+(2²)+(3³)+......+(N*N)?
variables
N,I,S
inicio
leer N
I_1
S_0
mientras I<=N hacer
S_S+(I*I)
fin mientras
imprimir S
fin
Autor:
Nadezhda Espada Flores
11.- ¿Dado N y X calcular: x1/1+x3/3+x5/5+...........+x(2n)-1?
variables
I,N
inicio
leer N
I_1
mientras 1<=2*n hacer
si I mod 2=0 entonces
imprimir I
fin si
I_I+1
fin mientras
fin
Autor:
Nadezhda Espada Flores
12.- 7¿Dado el monto de una compra calcular el descuento
considerado
-descuento es 10% si el monto es mayor a 100 soles
-descuento es 20% si el monto es mayor a 50 soles y menor o igual a 100 soles
-no hay descuento si el monto es mayor o igual a 50 soles
variables
monto, descuento
inicio
leer monto
si monto>100 entonces
descuento_ monto*0.1
sino
si monto>50 entonces
descuento_ monto*0.2
sino
descuento_0
fin si
fin si
imprimir descuento
fin
Autor:
Nadezhda Espada Flores
13.- ¿Dadas tres longitudes, decir mediante un
mensaje si forma un triangulo o no
(cada lado tiene que ser menor que de las otras dos)?
variables
a,b,c
inicio
leer a,b,c
si (a+b)<a y
(c+a)<b y
(a+b)<c entonces
imprimir "si se formo el triangulo"
sino
imprimir "no se formo el triangulo"
fin si
fin
Autor:
Nadezhda Espada Flores
14.- ¿A una fiesta asistieron personas de diferentes edades y sexos. Contruir
un algoritmos dadas las edades y sexos de las personas.?
calcular :
-Cuantas personas asistieron a la fiesta
-Cuantos hombres y cuantas mujeres
-Promedio de edades por sexo
-La edad de la persona más joven que asistio
-No se permiten menores de edad a la fiesta
-Ingresar datos hasta que se ingrese una edad a cero
variables
sev-suma de edades de varones
sem-suma de edades de mujeres
a-asistentes
v-varones
m-mujeres
e-edades
s-sexo
inicio
sev_0
sem_0
a_0
v_0
e_1
menor_200
mientras e<>0 hacer
leer e,s
si e>=18 entonces
a_a+1
si s="m" entonces
m_m+1
sem_sem+e
sino
v_v+1
sev_sev+e
finsi
si e<menor entonces
menor_e
finsi
sino
imprimir "menor de edad"
finsi
fin mientras
pm_sem\m
pv_sev\v
imprimir pm,pv,menor,a,m,v
fin
Autor:
Nadezhda Espada Flores
15.- ¿Dada las horas trabajadas de 20 personas y la tarifa de pago calcular el
salario?
variables
horas
tarifa
salario
inicio
i_1
mientras i<=20 hacer
leer horas , tarifa
salario_ horas *tarifa
imprimir salario
i_i+1
fin mientras
Autor:
Nadezhda Espada Flores
16.- De una lista de 10 números calcular la media y determinar cuantos son mayores que 10.5, cuantos
son iguales y cuántos son menores.
Inicio
Real Num
S <- 0.00
M <- 0.00;
Entero I, C1 = 0, C2 = 0, C3 = 0;
Para i = 1 ; i = 10
Leer Num
Fin_Para
Para i = 1 ; i = 10
S <- S + Num
Fin_Para
M <- 10
Para i = 1; i = 10
Si Num = 10.5 entonces
C1 <- C1 + 1
Fin_Si
Si Num > 10.5
C2 <- C2 + 1
Fin_Si
Si Num < 10.5 entonces
C3 <- C3 + 1
Fin_Si
Fin_Para
Escribir "Media" , M ;
Escribir "Iguales que l10.5" , C1 ;
Escribir "Mayores que 10.5", C2 ;
Escribir "Menores que 10.5" , C3;
Fin
Autor:
AQUINO ODAR GUSTAVO
17.- Se desea realizar un algoritmo que realice las siguientes tareas:
a)Leer una lista de números enteros
b)Visualizar dichos números.
c)El algoritmo deberá pedir si yo deseo ordenar en sentido decreciente o creciente (burbuja)
Inicio
Num : entero
Repetir
Mostrar "A ingresar"
Mostrar "B mostrar"
Mostrar "C ordenar"
Mostrar "D salir"
Repetir
Ingresar opc
Hasta (opc = A) o (opc = B) o (opc = c) o (opc = d)
Según sea opc hacer
A : Inicio
Para i = 1 ; i = N
Ingresar Num
Fin_Para
Fin
B : Inicio
Para i = 1 ; i = N
Mostrar Num
Fin_Para
Fin
C : Inicio
Repetir
Ingresar "ordenar decreciente o creciente [ ]" : rp
Hasta (rp = c) o (rp = d)
Si (rp = c) entonces
Para (i = 1 , = N - 1 ; i ++)
Para j = 1 ; j = N - i
Si num [j]) > Num [j + 1] entonces
Aux <- Num [j]
Num [j] <- num [j+1]
Num [j + 1] <- aux
Fin_Si
Fin_Para
Fin_Para
Sino
Para I = 1 ; i = N - 1
Para j = 1 ; j = VF - i
Si Num [j] < Num [j+1] entonces
Aux <- Num [j]
Num [j] <- Num [j + 1]
Num [j + 1] <- aux
Fin_Si
Fin_Para
Fin_Para
Fin_Si
Hasta (opc = D)
Fin
Autor:
AQUINO ODAR GUSTAVO
18.- .Se tiene un arreglo "A" donde se encuentra 10 números ordenados en
forma ascendente, y se pide que el algoritmo me permita el ingreso de un número y lo
coloque en la posición donde debería de estar con respecto al orden del arreglo.
Inicio
A [10] : entero
i , num, p, N : entero
Para i = 1 , i = 10
ingresar A
Fin_para
p <- N + 1
ingresar "número" : num
Para I = 1 , i = N
Si num = A [i] entonces
P <- i
i <- N + 1
Fin_Si
Fin_Para
N <- N + 1
Para i = N ; i > P
A [i] <- A [i - 1]
Fin_Para
A [p] <- num
Fin
Autor:
AQUINO ODAR GUSTAVO
19.-.Realizar un algoritmo que permita ingresar una frase y la descomponga esta en sus
palabras imprimiéndolas al revés. Ejem. CIUDAD CHICLAYO
DADUIC OYALCIHC
Inicio
Caracter Frase [20] ;
Entero L, K, C, j ;
Lee cadena (Frase) ;
L = longitud (Frase) ;
Para i = 1 ; i = L
Si (Frase [i] = ' ') entonces
Ce <- ce + 1 ;
Fin_Si
Fin_Para
Entero x = 1
Para i = 1
K = 1
C = 0
Para j = x ; Frase [j] < > ''
Invertida [k] <- Frase [j]
C <- C + 1
Fin_Para
Para k = 1 ; k =L
Mostrar "Invertida [k]
Fin_Para
x = j + i
Fin_Para
Fin
Autor:
AQUINO ODAR GUSTAVO
20.- 5. Diseñar un algoritmo que calcule y almacene en un arreglo los 105 primeros
números pares anteriores a un número dado N (N es mayor que 51 y menor que 100), para posteriormente
proceder a ordenarlo en sentido decreciente.
Inicio
Num [50]: entero
i, j : entero
Repetir
Ingresar Num
Hasta Num [i] > 51) y (Num [i] < 100
Repetir
Num <- Num + 1
Si
(Num [i] mod 2 < > 0) y (num [i] < > 0) entonces
c <- C + 1
Fin_Si
Hasta C <- 105
VF <- C
Para i = 1 ; i = VF - 1
Para j = 1 ; j = VF - i
Si Num [j] < num [j + 1] entonces
Aux Num <- Num [j]
Num [j] <- Num [j + 1]
Num [j + 1] <- aux Num
Fin_Si
Fin_Para
Fin_Para
Fin
Autor:
AQUINO ODAR GUSTAVO
Hacer un programa que al dar la hora hh, mm, ss, muestre las Horas, minutos y segundos y también nos calcule la hora después de 2 segundos. inicio leer hh, mm, ss si (hh < 24) y (mm<60) y (ss>60) entonces ss <-- ss + 2 si ss = 60 entonces ss <-- 0 mm <-- mm + 2 si mm = 60 entonces mm <-- 0 hh <-- hh + 2 si hh = 24 entonces hh <-- 0 fin_si fin_si fin_si fin_Si escribir hh, mm, ss fin Autor: Bellodas Leccaros Hacer un programa que lea 2 numeros y deducir si esta en orden creciente o decreciente. inicio leer a, b si a <= b entonces escribir "orden creciente" si_no escribir "orden decreciente" fin_si fin Autor: Bellodas leccaros
Calcular el numero mayor de una lista de numeros. real: UM, MAX entero: I, N inicio leer N // N >0 leer NUM MAX <-- NUM desde I <-- 2 hasta 100 hacer leer NUM si NUM > MAX entonces MAX <-- NUM fin_si fin_desde fin Autor: Bellodas leccaros De una lista de 100 numeros determinar simultaneamente el maximo y minimo numero. I: entero
MAX, MIN, N レMERO: real inicio leer NUMERO MAX <-- NUMERO MIN <-- NUMERO desde I <-- 2 hasta 100 hacer leer NUMERO si NUMERO > MAX entonces MAX <-- NUMERO sino si NUMERO < MIN entonces MIN <-- NUMERO fin_si fin_si fin_desde escribir "maximo", MAX, "minimo", MIN fin Autor: Bellodas leccaros
Se ingresan 5 notas de un alumno, publicar 2 peores notas. inicio dimensionar a[100] x <-- 1 mientras x <= 5 hacer leer a[x] x <-- x + 1 fin_mientras x <-- 1 mientras x <= 5 hacer y <-- 1 mientras y <= 5 hacer si a[x] < a[y] entonces T <-- a [x] a[x]<-- a[y] a[y] <-- T fin_si y <-- y + 1 fin_mientras y <-- y + 1 fin_mientras //publicar x <-- 5 mientras x >= 2 hacer escribe a [x] x <-- x + 1 fin_mientras fin Autor: Bellodas leccaros
¿Calcular las raices de una ecuacion de segundo grado(a²+bx+c=0)? variables a,b,c,x¹,x² inicio leer a,b,c d_(b²)-(4*a*c) si a<>0 y d>=0 entonces x¹_(-b+sqrt(d))\(2*a) x²_(-b-sqrt(d))\(2*a) imprimir x¹,x² sino imprimir"no se efectua la operacion" fin si fin Autor: Nadezhda Espada Flores
2¿Dada la duracion en minutos de una llamada calcular el costo,considerando? -Hasta tres minutos el costo es 0.50 -Por encima de tres minutos es 0.50 más 0.1*cada minuto adicional a los tres primeros variables M,C inicio leer M si M<=3 C_0.50 sino C_0.50+0.1*(M-3) fin si imprimir el "C" fin Autor: Nadezhda Espada Flores 3¿Dado tres numeros calcular el mayor? variables n1,n2,n3,M inicio leer n¹,n²,n³ si n¹>n² y n¹>n³ entonces mayor_ n¹ sino fin si si n²>n¹ y n²>n³ entonces mayor_ n² sino mayor_ n fin si imprimir mayor fin Autor: Nadezhda Espada Flores
4¿Dada N notas calcular el promedio de las notas aprovadas y el promedio de las notas desaprovadas? variables N,C,S,I,nota,S¹,S²,Pa,Pd inicio leer N I_1 S¹_0 S²_0 C_0 S_0 mientras I<=N hacer leer nota si nota>=12 entonces S¹_ S¹+nota C_ C+1 sino S²_S²+nota S_S+1 fin si I_I+1 fin mientras Pa_ suma1\C Pd_ suma2\S imprimir Pa,pd fin Autor: Nadezhda Espada Flores
5,-Dado N calcular:(1n)+(2n)+(3n)+......+(N*N)? variables N,I,S inicio leer N I_1 S_0 mientras I<=N hacer S_S+(I*I) fin mientras imprimir S fin Autor: Nadezhda Espada Flores 6 .-Dado N y X calcular: x1/1+x3/3+x5/5+...........+x(2n)-1? variables I,N inicio leer N I_1 mientras 1<=2*n hacer si I mod 2=0 entonces imprimir I fin si I_I+1 fin mientras fin Autor: Nadezhda Espada Flores
7¿Dado el monto de una compra calcular el descuento considerado -descuento es 10% si el monto es mayor a 100 soles -descuento es 20% si el monto es mayor a 50 soles y menor o igual a 100 soles -no hay descuento si el monto es mayor o igual a 50 soles variables monto, descuento inicio leer monto si monto>100 entonces descuento_ monto*0.1 sino si monto>50 entonces descuento_ monto*0.2 sino descuento_0 fin si fin si imprimir descuento fin Autor: Nadezhda Espada Flores
8 ソ Dadas tres longitudes, decir mediante un mensaje si forma un triangulo o no (cada lado tiene que ser menor que de las otras dos)? variables a,b,c inicio leer a,b,c si (a+b)<a y (c+a)<b y (a+b)<c entonces imprimir "si se formo el triangulo" sino imprimir "no se formo el triangulo" fin si fin Autor: Nadezhda Espada Flores
9¿A una fiesta asistieron personas de diferentes edades y sexos. Contruir un algoritmos dadas las edades y sexos de las personas.? calcular : -Cuantas personas asistieron a la fiesta -Cuantos hombres y cuantas mujeres -Promedio de edades por sexo -La edad de la persona más joven que asistio -No se permiten menores de edad a la fiesta -Ingresar datos hasta que se ingrese una edad a cero variables sev-suma de edades de varones sem-suma de edades de mujeres a-asistentes v-varones m-mujeres e-edades s-sexo inicio sev_0 sem_0 a_0 v_0 e_1 menor_200 mientras e<>0 hacer leer e,s si e>=18 entonces a_a+1 si s="m" entonces m_m+1 sem_sem+e sino v_v+1 sev_sev+e finsi si e<menor entonces menor_e finsi sino imprimir "menor de edad" finsi fin mientras pm_sem\m pv_sev\v imprimir pm,pv,menor,a,m,v fin Autor: Nadezhda Espada Flores
10 ソ Dada las horas trabajadas de 20 personas y la tarifa de pago calcular el salario? variables horas tarifa salario inicio i_1 mientras i<=20 hacer leer horas , tarifa salario_ horas *tarifa imprimir salario i_i+1 fin mientras Autor: Nadezhda Espada Flores
1. De una lista de 10 numeros calcular la media y determinar cuantos son mayores que 10.5, cuantos son iguales y cuantos son menores. Inicio Real Num S <- 0.00 M <- 0.00; Entero I, C1 = 0, C2 = 0, C3 = 0; Para i = 1 ; i = 10 Leer Num Fin_Para Para i = 1 ; i = 10 S <- S + Num Fin_Para M <- 10 Para i = 1; i = 10 Si Num = 10.5 entonces C1 <- C1 + 1 Fin_Si Si Num > 10.5 C2 <- C2 + 1 Fin_Si Si Num < 10.5 entonces C3 <- C3 + 1 Fin_Si Fin_Para Escribir "Media" , M ; Escribir "Iguales que l10.5" , C1 ; Escribir "Mayores que 10.5", C2 ; Escribir "Menores que 10.5" , C3; Fin Autor: AQUINO ODAR GUSTAVO
2. Se desea realizar un algoritmo que realice las siguientes tareas: a)Leer una lista de números enteros b)Visualizar dichos números. c)El algoritmo deberá pedir si yo deseo ordenar en sentido decreciente o creciente (burbuja) Inicio Num : entero Repetir Mostrar "A ingresar" Mostrar "B mostrar" Mostrar "C ordenar" Mostrar "D salir" Repetir Ingresar opc Hasta (opc = A) o (opc = B) o (opc = c) o (opc = d) Según sea opc hacer A : Inicio Para i = 1 ; i = N Ingresar Num Fin_Para Fin B : Inicio Para i = 1 ; i = N Mostrar Num Fin_Para Fin C : Inicio Repetir Ingresar "ordenar decreciente o creciente [ ]" : rp Hasta (rp = c) o (rp = d) Si (rp = c) entonces
Para (i = 1 , = N - 1 ; i ++) Para j = 1 ; j = N - i Si num [j]) > Num [j + 1] entonces Aux <- Num [j] Num [j] <- num [j+1] Num [j + 1] <- aux Fin_Si Fin_Para Fin_Para Sino Para I = 1 ; i = N - 1 Para j = 1 ; j = VF - i Si Num [j] < Num [j+1] entonces Aux <- Num [j] Num [j] <- Num [j + 1] Num [j + 1] <- aux Fin_Si Fin_Para Fin_Para Fin_Si Hasta (opc = D) Fin Autor: AQUINO ODAR GUSTAVO
3.Se tiene un arreglo "A" donde se encuentra 10 números ordenados en forma ascendente, y se pide que el algoritmo me permita el ingreso de un número y lo coloque en la posición donde debería de estar con respecto al orden del arreglo. Inicio A [10] : entero i , num, p, N : entero Para i = 1 , i = 10 ingresar A Fin_para p <- N + 1 ingresar "número" : num Para I = 1 , i = N Si num = A [i] entonces P <- i i <- N + 1 Fin_Si Fin_Para N <- N + 1 Para i = N ; i > P A [i] <- A [i - 1] Fin_Para A [p] <- num Fin Autor: AQUINO ODAR GUSTAVO
4.Realizar un algoritmo que permita ingresar una frase y la descomponga esta en sus palabras imprimiéndolas al revés. Ejem. CIUDAD CHICLAYO DADUIC OYALCIHC Inicio Caracter Frase [20] ; Entero L, K, C, j ; Lee cadena (Frase) ; L = longitud (Frase) ; Para i = 1 ; i = L Si (Frase [i] = ' ') entonces Ce <- ce + 1 ; Fin_Si Fin_Para Entero x = 1 Para i = 1 K = 1 C = 0 Para j = x ; Frase [j] < > '' Invertida [k] <- Frase [j] C <- C + 1 Fin_Para Para k = 1 ; k =L Mostrar "Invertida [k] Fin_Para x = j + i Fin_Para Fin Autor: AQUINO ODAR GUSTAVO
5. Diseñar un algoritmo que calcule y almacene en un arreglo los 105 primeros números pares anteriores a un número dado N (N es mayor que 51 y menor que 100), para posteriormente proceder a ordenarlo en sentido decreciente. Inicio Num [50]: entero i, j : entero Repetir Ingresar Num Hasta Num [i] > 51) y (Num [i] < 100 Repetir Num <- Num + 1 Si (Num [i] mod 2 < > 0) y (num [i] < > 0) entonces c <- C + 1 Fin_Si Hasta C <- 105 VF <- C Para i = 1 ; i = VF - 1 Para j = 1 ; j = VF - i Si Num [j] < num [j + 1] entonces Aux Num <- Num [j] Num [j] <- Num [j + 1] Num [j + 1] <- aux Num Fin_Si Fin_Para Fin_Para Fin Autor: AQUINO ODAR GUSTAVO
1. Hacer un programa que registre 10 apellidos y que los muestre en forma inversa al orden con el que fueron ingresados. Inicio Dimensionar Apellido[10] X<-1 mientras x<=10 hacer leer Apellido[x] x<- x+1 fin_mientras X <- 10 mientras X >= 1 hacer mostrar Apellido[X] X <- X - 1 fin_mientras Fin Autor BARCO GOZÁLES RINA INGRID
2. Elaborar un algoritmo que permita ingresar 20 n伹 eros y muestre todos los n伹 eros menores e iguales a 25 Inicio Dimensionar NUM[20] X<-1 mientras X<=20 hacer leer NUM[X] X<- X+1 fin_mientras X <- 1 N <- 0 Mientras X<=20 Hacer Si NUM[X]<=25 entonces N <- N+1 Mostrar NUM [X] Fin_si X <- X+1 Fin_Mientras Si N = 0 Entonces
Mostrar "Ning佖 n伹 ero es Menor a 25" Fin_si Fin Autor:BARCO GOZALES RINA INGRID
3. Elaborar un algoritmo, que permita el ingreso de 100 numeros enteros. El programa debe sumar todos los numeros que sean multiplos de 3. Inicio Dimensionar numero[100] x<-1 mientras x<=100 hacer leer numero[x] x<-x+1 fin - mientras x<- 1 s<- 0 mientras x<=100 hacer Si (numero[x] mod 3 = 0) entonces s<- s+numero[x] Fin_Si x<-x+1 Fin_mientras Mostrar s Fin Autor BARCO GOZALES RINA INGRID 4. Mostrar las 30 primeras potencias de 3 y la suma de ellos. Inicio Dimensionar numero[30] x<-0 n<-3 t<-0 s<-0 mientras x<=29 hacer t<- n^(x+1) Mostrar t s <- s + t x <- x+1 fin_mientras Mostrar s Fin Autor BARCO GOZALES RINA INGRID
5.Hacer un algoritmo que pida 10 edades y mostrarlas en orden inverso al que fueron ingresados. Inicio Dimensionar E[20] X <- 1 Mientras X <= 10 hacer Leer E[X] X <- X+1 Fin_mientras Y <- 10 Mientras Y >= 1 hacer Mostrar E[Y] Y <- Y-1 Fin_mientras Fin Autor BARCO GOZÁLES RINA INGRID
1.ELIMINAR UN ALUMNO DEL SALON, DADA UNA POSICIÓN INDICADA Inicio Dimensionar ALUMNO[100],NOTA1[100], NOTA2[100] ENTERO i,pos,n leer n i <- 1 mientras i<=n hacer leer ALUMNO[i], NOTA1[i],NOTA2[i] i <- i+1 fin_mientras leer pos si (pos<n) entonces i <- pos mientras i<n ALUMNO[pos]<- ALUMNO[pos + 1] NOTA1 [pos]<- NOTA1[pos+1] NOTA2 [pos]<- NOTA2[pos+1] n <- n-1 fin_mientras escribir ALUMNO[pos], NOTA1[pos],NOTA2[pos] sino si (pos=n) entonces ALUMNO[n]<- "" NOTA1 [n]<- 0 NOTA2 [n]<- 0 fin_si sino si (pos>n) entonces Escribir "Cambiar Dato" fin_si Fin Autor CASTILLO DÍAZ MARGARITA
2.INGRESAR UN ELEMENTO EN UNA POSICION INDICADA EN UN ARREGLO DE N ELEMENTOS (NUMEROS), HASTA QUE EL USUARIO DESEE SALIR. Inicio Dimensionar numero[100] entero ne,pos,i,nuevo e caracter rpta leer n para i=0 hasta i<n leer numero[i] fin_para Repetir leer rpta,pos si(pos<n) entonces leer pos,nuevo e para i=n hasta i>pos de -1 numero[i]<- numero[i-1] fin_para numero[pos]<- nuevo e n<-n+1 sino escribir"posicion no existe" fin_si Hasta rpta="s" Fin Autor CASTILLO DÍAZ MARGARITA
3. MOSTRAR ASCENDENTEMENTE LOS NUMEROS DE UN ARREGLO Inicio Dimensionar numero[100] entero i,j,NE,aux leer NE si (NE>0) entonces para(i=0 hasta i<NE) leer numero [i] fin_para para i=0 hasta i<NE-1 para j=i+1 hasta j<NE si(numero [i]> numero[j])entonces aux <- numero [i] numero[i]<- numero[j] numero[j]<- aux fin_si fin_para fin_para para i=0 hasta i< NE escribir numero[i] fin_para sino escribir"no existe elemento en el arreglo" fin_si Fin Autor CASTILLO DÍAZ MARGARITA
4. MOSTRAR ALUMNOS ORDENADOS POR MAYOR PUNTAJE DE PROMEDIO Inicio Dimensionar alumno[100], nota[100] entero i ,j,NE,aux1,aux2 leer NE si(NE>0) entonces para i=0 hasta i<NE leer alumno[i],nota[i] fin_para para i=0 hasta i<NE-1 para j=i+1 hasta j<NE si( nota[i]<nota[j]) entonces aux1<- alumno[j] aux2<- nota[i] alumno[i]<- alumno[j] nota[i]<- nota[j] alumno[j]<- aux1 nota[j]<-aux2 fin_si fin_para fin_para para i=0 hasta i<NE escribir alumno[i],nota[i] fin_para fin_si Fin Autor CASTILLO DÍAZ MARGARITA
5. MOSTRAR ARTICULOS DE ABARROTES ORDENADOS POR MAYOR PRECIO Y MOSTRAR LOS 5 ARTICULOS DEMENOR PRECIO Inicio Dimensionar articulo[100],precio[100] enteroi,j,NE real aux1 caracter aux2 leer NE si(NE>0)entonces para i=0 hasta i<NE leer articulo[i],precio[i] fin_para para i=0 hasta i<NE-1 para j =i+1 hasta j<NE si(precio[i] < precio[j]) entonces aux1<- precio aux2<- articulo[i] precio[i]<- precio[j] articulo[i]<- precio[j] precio[j]<- aux1 articulo[j]<- aux2 fin_si fin_para fin_para para i=0 hasta i<NE escribir articulo[i],precio[i] fin_para para i=NE hasta i>5 escribir articulo [i],precio[i] fin_para sino escribir "arreglo vacio" fin_si Fin Autor CASTILLO DÍAZ MARGARITA
1.Hacer un programa que permita el ingreso de Nombre[X], Telefono[X], donde X va desde 1a 100 luego mostrar la lista de los usuarios en orden inverso a la que fueron ingresados. Inicio Dimensionar Nombre[200], Telefono[200] X <- 1 mientras X <= 100 hacer leer Nombre[X], Telefono[X] X <- X + 1 fin_mientras X <- 100 mientras X >= 1 hacer mostrar Nombre[X], Telefono[X] X <- X - 1 fin_mientras Fin Autor CRUZ FUENTES MANUEL EDUARDO 2.Hacer un programa que permita el ingreso de Nombre[X], Telefono[X], donde X va desde 1a 100, si se sabe que los usuarios son del departamento de Lambayeque, mostrar una lista de usuarios que residan en distritos y que posean linea fija. Inicio //Los teléfonos de los distritos de Lambayeque empiezan con 41// Dimensionar Nombre[200], Telefono[200] X <- 1 mientras X <= 100 hacer leer Nombre[X], Telefono[X] X <- X + 1 fin_mientras X <- 1 mientras X <= 100 hacer Si (Telefono[X]>= 410000 y Telefono[X]<=419999) Entonces mostrar Nombre[X], Telefono[X] fin_si X <- X + 1 fin_mientras Fin Autor CRUZ FUENTES MANUEL EDUARDO
3.En una empresa de 1000 trabajadores, se hará un aumento al salario de acuerdo al tiempo de servicio, para este aumento se tomará en cuenta lo siguiente: Tiempo de servicio: de 1 a 5 años Aumento: S/. 100 Tiempo de servicio: de 5 a 10 años Aumento: S/. 250 Tiempo de servicio: de 10 a 20 años Aumento: S/. 400 Tiempo de servicio: de 20 años a más Aumento: S/. 550 Se desea obtener unalista del personal en orden creciente con respecto al sueldo modificado Inicio Dimensionar Nombre[1200], Tiempo[1200], Sueldo[1200] X <- 1 mientras X <= 1000 hacer leer Nombre[X], Tiempo[X] X <- X + 1 fin_mientras X <- 1 mientras X <= 1000 hacer si Tiempo[X] <= 5 entonces Sueldo[X] <- 1000 + 100 fin_si si Tiempo[X] <= 10 entonces Sueldo[X] <- 1000 + 250 fin_si si Tiempo[X] <= 20 entonces Sueldo[X] <- 1000 + 400 sino Sueldo[X] <- 1000 + 550 fin_si X <- X + 1 fin_mientras X <- 1
mientras X <= 1000 hacer Y <- X mientras Y <= 1000 hacer si Sueldo[X] > Sueldo[Y] entonces T <- Nombre[X] Nombre[X] <- Nombre[Y] Nombre[Y] <- T T <- Tiempo[X] Tiempo[X] <- Tiempo[Y] Tiempo[Y] <- T T <- Sueldo[X] Sueldo[X] <- Sueldo[Y] Sueldo[Y] <- T fin_si Y <- Y +1 fin_mientras X <- X + 1 fin_mientras X <- 1 mientras X <= 100 hacer mostrar Nombre[X], Tiempo[X], Sueldo[X] X <- X + 1 fin_mientras Fin Autor CRUZ FUENTES MANUEL EDUARDO
4.Dada una lista de 100 personas se pide una relacion de las personas mayores de 35 a s. Inicio Dimensionar Nombre[150], Edad[150] X <- 1 mientras X <= 150 hacer leer Nombre[X], Edad[X] X <- X + 1 fin_mientras X <- 1 mientras X <= 150 hacer Si Edad[X]>= 35 Entonces mostrar Nombre[X], Edad[X] fin_si X <- X + 1 fin_mientras Fin Autor CRUZ FUENTES MANUEL EDUARDO 5.En una encuesta cuyas alternativas son "si" y "no" participaron 10000 personas. Se quiere saber cuantas personas votaron por la primera opcion. Inicio Dimensionar Voto[10000], SI[10000], NO[10000] X <- 1 S <- 0 N <- 0 mientras X <= 10000 hacer leer Voto[X] Si Voto[X]= "si" Entonces S <- S + 1 Sino N <- N + 1 fin_si X <- X + 1 fin_mientras mostrar S Fin Autor CRUZ FUENTES MANUEL EDUARDO
1. Diseñar un algoritmo, que permita ingresar el dividendo y el divisor y que luego me calcule el residuo y el cociente de dicha división. Inicio D,d,c :entero r :real Leer "Dividendo",D Repetir Leer "Divisor", d Hasta (d <> 0) Hacer c « D div d Hacer r « D mod d Mostrar "El cociente": c Mostrar "El residuo": r Fin Autor: AQUINO ODAR GUSTAVO
2. Dise r un algoritmo que calcule y escriba el cuadrado de 243. Inicio A: entero M: entero Ingresar A Si A = 243 entonces
Hacer M ォ A * A Fin_si Mostrar "M" Fin Autor: AQUINO ODAR GUSTAVO
5. Diseñar un algoritmo que intercambie los valores de dos variables numéricas. Inicio Aux, N1, N2: entero Leer "Primer Numero", N1 Leer "Segundo Numero", N2 Si (N1 <> N2) entonces Hacer Aux « N1 Hacer N1 « N2 Hacer N2 « Aux Fin_si Mostrar "N1" Mostrar "N2" Fin Autor: AQUINO ODAR GUSTAVO 6. Diseñar un algoritmo que me permita ingresar cualquier número mayor que cero y menor que diez, y luego el algoritmo deberá calcular los múltiplos menores que cien del numero ingresado. Inicio A, i, M : entero Repetir Ingresar A Hasta (A > 0 y A < 10) Para (i>0; i<=100,i++) Hacer M « A * i Fin_Para Mostrar "N1" Mostrar "N2" Fin Autor: AQUINO ODAR GUSTAVO
7. Diseñar un algoritmo que me permita ingresar un valor inicial y luego un valor final, para luego calcular el valor central de los números. Inicio A1, A2: entero C: real Leer "Valor inicial",A1 Leer "Valor final",A2 Hacer C « (A1+A2)/2 Mostrar "Valor central",C Fin Autor: AQUINO ODAR GUSTAVO 8. Leer 200 numeros y obtener cuantos son positivos, negativos e iguales a cero. Inicio N : entero
C1 ォ 0; C2 ォ 0; C3 ォ 0: entero Repetir Leer N Si (N > 0) entonces
Hacer C1 ォ C1 + 1 Si (N < 0) entonces
Hacer C2 ォ C2 + 1 Si (N = 0) entonces
Hacer C3 ォ C3 + 1 Fin_Si Fin_Si Fin_Si Hasta (C1+C2+C3=200) Fin Autor: AQUINO ODAR GUSTAVO
9. Diseñar un algoritmo que me permita determinar si un numero ingresado desde el teclado es un numero par o impar. Inicio A : entero Repetir Ingresar A Hasta (A > 0) Si (A mod 2 = 0) entonces Mostrar "A es par" Sino Mostrar "A es impar" Fin_Si Fin Autor: AQUINO ODAR GUSTAVO 10. Se desea calcular independientemente la suma de los números pares e impares comprendidos entre 1 y 50. Inicio B, i: entero S1 « 0; S2 « 0 : real Para(i=1; i<50; i++) Repetir Ingresar B Hasta (B mod 2 = 0) Hacer S1 « S1 + B Mostrar"S1" Hasta (B mod 2 <> 0) Hacer S2 « S2 + B Mostrar"S2" Fin_Para Fin Autor: AQUINO ODAR GUSTAVO
1. Diseñar un algoritmo que me permita ingresar una lista de números terminados con el numero cero, para luego calcular cuantos números fueron ingresados. Inicio N, C « 0:entero Repetir Ingresar "N" Si(N <> 0) entonces Hacer C « C +1 Fin_Si Hasta (N = 0) Mostrar "C" Fin Autor: BARCO GONZÁLES RINA INGRID 2. Determinar la media aritmética de una lista de números positivos. Inicio N, S « 0, C « 0, :entero Media : real Leer N Si(N > 0) entonces Hacer C « C + 1 Hacer S « S + N Fin_Si Media « S / C Mostrar "Media" Fin Autor: BARCO GONZÁLES RINA INGRID
3. Averiguar si dado dos números, uno es divisor de otro. Inicio N1, N2 :entero Leer N1, N2 Si(N1 > N2) entonces Mostrar N2 "es divisor de " N1 Fin_Si Si(N1 = N2) entonces Mostrar "Son divisores" Fin_Si Si(N1 < N2) entonces Mostrar N1 "es divisor de " N2 Fin_Si Fin Autor: BARCO GONZÁLES RINA INGRID 4. Diseñar un algoritmo que me permita calcular los 4 primeros números pares, para posteriormente calcular su media aritmética. Inicio N « 0, X « 0, P « 0 :entero Media : real Repetir N « N + 1 Si(N mod 2 = 0) entonces Hacer p « p + 1 Hacer x « x + N Fin_Si Hasta (p = 4) Media « X/P Mostrar "Media" Fin Autor: BARCO GONZÁLES RINA INGRID
5. Diseñar un algoritmo que me permita ingresar 10 numeros primos cualesquiera. Inicio K = 0, N, P = 0, i =0 :entero Repetir Leer N Para (i = 1; i<= N; i++) Si(N mod i = 0) entonces Hacer K = K + 1 Fin_Si Fin_Para Si(N mod i = 0) entonces Hacer P = P + 1 Fin_Si Hasta (p > = 10) Fin Autor: BARCO GONZALES RINA INGRID 6. Diseñar un algoritmo que calcule los 5 primeros números impares que preceden a un numero N ingresado por teclado. Inicio N « 0, C « 0 :entero Leer N Repetir Hacer N « N - 1 Si(N mod 2 <> 0) entonces Hacer C « C + 1 Mostrar N Fin_Si Hasta (C = 5) Fin Autor: BARCO GONZÁLES RINA INGRID
7. Ingresar una lista de 25 notas y determinar cuantas estas fueron aprobadas. Inicio Nota, Aprobado « 0, i « 0 :entero Para (i = 1; i<= 25; i++) Repetir Leer Nota Hasta (Nota <= 20) y ( Nota > 10) Si(Nota > 10) entonces Hacer Aprobado « Aprobado + 1 Fin_Si Fin_Para Mostrar "Total de aprobados",Aprobado Fin Autor: BARCO GONZÁLES RINA INGRID
8. Diseñar un algoritmo que me permita calcular las 5 primeras parejas de números primos gemelos(dos números son primos gemelos si además de ser números primos, la diferencia entre ellos es exactamente dos).
Inicio C « 0, G1 « 0, G2 « 0, N1, N2 :entero Repetir Ingresar N1, N2 Hasta (N1 > 0) y ( N2 > 0) Repetir Para (i = 1; i<= N1; i++) Si(N1 mod i = 0) entonces Hacer G1 « G1 + 1 Fin_Si Fin_Para Para (i = 1; i<= N2; i++) Si(N2 mod i = 0) entonces Hacer G2 « G2 + 1 Fin_Si Fin_Para Si(G1 = 2) y (G2 = 2) entonces Mostrar "N1 y N2 son primos Si (N1-N2=2)o(N2-N1= 2) entonces Hacer C « C + 1 Sino Mostrar "Error" Fin_Si Fin_Si Hasta (C = 5) Fin Autor: BARCO GONZÁLES RINA INGRID
9. Diseñar un algoritmo que me permita calcular los 5 primeros números perfectos (un numero es perfecto, cuando la suma de sus divisores, sin incluirlo al numero es exactamente el mismo numero). El 6 es un numero perfecto por sus divisores son 1,2 y 3. Inicio N « 0, P « 0, C « 0 :entero Repetir Hacer N « N + 1 Para (i = 1; i< N; i++) Si(N mod i = 0) entonces Hacer C « C + 1 Fin_Si Fin_Para Si(C = N) entonces Hacer P « P + 1 Fin_Si Hasta (P = 5) Fin Autor: BARCO GONZÁLES RINA INGRID
10. Diseñar un algoritmo que permita convertir un numero natural en números romanos. Inicio N, Miles, Resto, Cen, Dec, Uni :entero Leer N Miles = N/1000 Resto = N mod 1000 Cen = Resto/100 Resto = Resto mod 100 Uni = Resto mod 10 Escribir "En romanos es:" Según sea (Miles)
Escribir "M" Escribir "M" Fin_Según Según sea (Cen) Escribir "C" Escribir "CC" Escribir "CCC" Escribir "CD" Escribir "D" Escribir "DC" Escribir "DCC" Escribir "DCCC" Escribir "CM" Fin_Según Según sea (Dec) Escribir "X" Escribir "XX" Escribir "XXX" Escribir "XL" Escribir "L" Escribir "LX" Escribir "LXX" Escribir "LXXX" Escribir "XC" Fin_Según Según sea (Uni) Escribir "I" Escribir "II" Escribir "III" Escribir "IV" Escribir "V" Escribir "VI" Escribir "VII" Escribir "VIII" Escribir "IX" Fin_Según Fin Autor: BARCO GONZÁLES RINA INGRID
1. Diseñar un algoritmo que me permita calcular el factorial de un numero. Utilice las estructuras repetitivas(Repetir Hasta, Repetir Mientras, Repetir Desde - Para) **Repetir Hasta Inicio N, i, F : entero Leer N F « 1 Repetir F « F * N N « N - 1 Hasta (N = 0) Mostrar "F" Fin **Repetir Mientras Inicio N, F : entero Leer N F « 1 Mientras (N > 1) F « F * N N « N - 1 Fin_Mientras Mostrar "F" Fin
**Repetir Desde Inicio N, i, F : entero Leer N F « 1 Desde (i = 1) hasta N hacer F « F * i i « i + 1 Fin_Desde Mostrar "F" Fin **Repetir Para Inicio N, i, F : entero Leer N F « 1 Para (i = 1; i<=N; i++) F « F * i i « i + 1 Fin_Para Mostrar "F" Fin Autor: CRUZ FUENTES MANUEL EDUARDO
2. Diseñar un algoritmo que permita calcular la suma de los primeros 30 términos de la siguiente serie: 1-1/3+1/5-1/7...+1/9 Siendo N un numero ingresado por el teclado. Inicio N « 0, C « 0 : entero S « 0 : real Repetir N « N+1 Si (N mod 2 <>0) entonces Hacer C « C + 1 Si (N mod 2 = 0= ENTONCES Hacer S « S-7/N Sino S « S + 1/N Fin_Si Fin_Si Hasta (N = 30) Fin Autor: CRUZ FUENTES MANUEL EDUARDO 3. Diseñar un algoritmo que permita encontrar la solución a la siguiente serie:1,1/2!,1/3!,1/4!,1/5!,...1/N! Siendo N un numero ingresado por el teclado. Inicio N, H, K, F :entero S : real Leer N Repetir Hacer K « K + 1 Hacer H « K Hacer F « 1 Repetir Hacer F « F * H Hacer H « H-1 Hasta (H = 0) Hacer S « 1/F Mostrar 1/F Hasta (k = N) Fin Autor:CRUZ FUENTES MANUEL EDUARDO
4. Realizar el diseño de un algoritmo que me permita : Ingresar el código del trabajar Ingresar numero de horas trabajadas Ingresar el costo de la hora Calcular el sueldo bruto semanal Calcular el sueldo neto semanal Imprimir el sueldo bruto y el sueldo neto respectivo(sueldo bruto menos el descuento del seguro de pensiones 11%) Inicio Cod : entero HT, CH, SB « 0, SN, DESC : real Leer "codigo",cod Repetir Leer "costo hora",CH Hasta (HT > 0 y CH > 0) Hacer SB « HT * CH Hacer Desc « SB * (11/100) Hacer SN « SB - Desc Mostrar "Sueldo Bruto",SB Mostrar "Sueldo Neto" ,SN Fin Autor: CRUZ FUENTES MANUEL EDUARDO 5. Realizar un algoritmo que me permita ingresar un numero determinado de segundos y lo convierta en horas, minutos y segundos. Inicio S, H, M :entero Repetir Ingresar "s" Hasta (S > 0) Si(S > = 3600) entonces Hacer H « S div 60 Hacer S « S mod 60 Fin_Si Mostrar "H", "M", "S" Fin Autor:CRUZ FUENTES MANUEL EDUARDO
Este autor no se hace responsable de los malos usos de este libro ya
que la información ha sido recopilada del internet y los autores de
cada ejercicio son típicos.
Aquí Los dejo los link de descarga de ejercicios resueltos de
algoritmos y también puedes encontrar libros de programación con
diferentes lenguajes. C++, C# , JAVA, .NET, BASIC, etc.
http://enriquebarrueto1.tripod.com/norevisados.htm
http://www.mailxmail.com/curso-introduccion-lenguaje-c/librerias
http://LibrosDigitalesFree.blogspot.com
Norbert R. Ibañez – http://informaniaticos.blogspot.com