Ej Resueltos Algoritmos
Ej Resueltos Algoritmos
Ej Resueltos Algoritmos
INFORMATICA
EJERCICIOS
RESUELTOS DE
ALGORITMOS
Lenguaje de Programacin
Qu es un Lenguaje de Programacin?
En informtica, cualquier lenguaje artificial que puede utilizarse
para
3. Lenguaje
b. Carta N-S;
PSEUDOCODIGO
Lectura
En otras palabras, lectura viene a ser la entrada de datos que nosotros vamos
a requerir para poder hallar la solucin, por eso, para nosotros la Entrada va ser
el sinnimo de Lectura.
Se deduce a:
Leer <Dato>
(Dato de entrada)
Estructura
Dato Transformado
<Expresin de Clculo>
Se
Asigna
Escritura
Mostrar el resultado
Visualizar el resultado
Imprimir el valor resultante
Como la
Ejercicios
1. Se desea calcular la distancia recorrida (m) por un mvil que tiene velocidad
constante (m/s) durante un tiempo T (Sg), considerar que es
un MRU
(Movimiento Rectilneo Uniforme)
Solucin:
DATOS
Identificadores
Salida
Entrada
V
T
Inicio Leer V
Leer T
D=V*T
Escribir D
Fin
Solucin:
DATOS
Identificadores
Salida
Promedio
Entrada
N1
N2
N3
Inicio Leer
N1
Leer
N2
Leer
N3
P = (N1 + N2 + N3)/3
Fin
Escribir P
Que tal les pareci fcil?, bueno haber les explico un poco, como ustedes
saben el promedio simple de cualquier dato, se halla, sumando todos los dato y
de ah dividiendo entre el nmero de datos sumados, por ejemplo, les vamos a
asignar valores a los identificadores ok.
N1 = 14
N2 = 13
N3 = 15
P = (14 + 13 + 15) / 3
Entonces P (Promedio) tomara el va or de 14
de
respuestas
correctas,
Solucin:
DATOS
Identificadores
Salida
Puntaje Final
Entrada
Intermedio
PF
RC
RI
RB
PRC
PRI
Inicio Leer RC
Leer RI
Leer RB
PRC = RC * 4
PRI = RI * -1
PF = PRC +
PRI
Escribir PF
Fin
no
se debe de
Solucin:
DATOS
Identificadores
Salida
Entrada
PT
Puntaje Total
rtidos Ganados
PG
Nmero de P
Intermedio
PE
Nmero de
P
PP
rtidos Perdidos
PPG
PPE
Inicio Leer
PG
Leer PE
Leer PP
PPG = PG * 3
PPE = PE * 1
PT = PPG +
PPE
Escribir PT
Fin
Suma
Resta
Multiplicacin
Divisin
Potencia
Resto de la divisin
entera Raz cuadrada
Valor absoluto
Parte entera
Nmero
aleatorio
Solucin:
DATOS
Identificadores
Salida
Planilla
Entrada
HL
TH
Inicio Leer HL
Leer
TH
P = HL * TH
Escribir P
Fin
A=
S * (S A) * (S B) * (S C)
Solucin:
DATOS
Identificadores
Salida
AT
Entrada
LA
LB
LC
LS
Intermedio
Inicio
Fin
Leer LA
Leer LB
Leer LC
LS = (LA + LB + LC)/2
AT = [LS * (LS LA) * (LS LB) * (LS LC)] ^ 0.5
Escribir AT
7. Elaborar
Solucin:
DATOS
Identificadores
Salida
Nmero de CDs
CD
Entrada
GB
MG
Intermedio
Inicio Leer GB
MG = GB * 1,024
CD = TRUNC ((MG / 700) +1)
Escribir CD
Fin
8. Se tiene
S
A
ORDENADA
Solucin:
DATOS
Identificadores
Salida
Distancia
Entrada
Abcisa de A
AA
Abcisa B
Ordenada A
Ordenada B
AB
OA
OB
Inicio Leer AA
Leer AB
Leer
OA Leer
OB
D = [(AB AA) ^ 2 + (OB OA) ^ 2] ^ 0.5
Escribir D
Fin
INSTRUCCIN CONDICIONAL
SI (A > B) ENTONCES
Escribir El Mayor es A
SINO
Escribir El Mayor es B
FIN_SI
>
<
>=
<=
!=
=
Mayor
Menor
Mayor Igual
Menor Igual
Diferente
Igual
EJERCICIOS
un algoritmo que permita averiguar si una persona debe sacar su
9. Elabora
Ao de Nacimiento
Ao de Actual
Intermedio
Edad
AN
AA
E
Inicio Leer AN
Leer AA
E = AA - AN
SI (E > 17) ENTONCES
Escribir Debe solicitar su CUIL
SINO
Escribir No debe solicitar su CUIL aun
FIN_SI
Fin
10. Elabora
Solucin:
DATOS
Identificadores
Entrada
E1
E2
Intermedio
Diferencia de Edades
DE
Inicio Leer E1
Leer E2
SI (E1 > E2) ENTONCES
Escribir El Primer Hermano es el Mayor, por
DE = E1 E2
SINO Escribir El
ndo Hermano es el Mayor por
seg DE = E2
E1
FIN_SI
Escribir DE
Fin
se habrn dado cuenta, no
Como
condicionales no?, como ustedes ven para iniciar y encerrar un SI, lo hacemos
mediante unas lneas que indica de donde a dnde va la funcin SI, esto nos
quiere decir que podemos tener una instruccin condicional Si dentro de otra
instruccin condicional SI, me entienden?, bueno para que lo entiendan mejor lo
vern en el ejercicio 12, y si se han dado cuenta que para mostrar un mensaje no
es necesario declarar un identificador que va a contener el mensaje, ms fcil nos
seria mostrar el mensaje directamente, ya que se trata de una cadena, o mejor
dicho de un texto. Para que lo entiendan mejor, el siguiente ejercicio lo haremos
mostrando el mensaje mediante un identificador declarado.
11. Se tiene registrado la produccin (unidades)
por un operario a lo
logradas
largo de la semana (lunes a sbado). Elabore un algoritmo que nos muestre o
nos diga si el operario recibir incentivos sabiendo
que el promedio
de
Solucin:
DATOS
Identificadores
Entrada
Salida
Intermedio
Mensaje
P
L
P
M
a
P
M
i PJ
PV
PS
PT
PP
MSG
Inicio Leer PL
Leer
PMa
Leer PMi
Leer PJ
Leer PV
Leer PS
PT = (PL + PMa + PMi + PJ + PV + PS)
PP = PT / 6
SI (PP >= 100) ENTONCES
MSG = Recibir Incentivos
SINO
MSG = No Recibir Incentivos
FIN_SI
Escribir MSG
Fin
12. Elabora
Salida
Inicio Leer
N1
Leer
N2
Leer
N3
N1
N2
N3
Nmero Mayor
NM
NM = N1
Seguro que viendo este ejercicio ya han entendido que se puede tener a
una instruccin condicional dentro de otra, esto se llama, instrucciones anidadas,
pero hay una regla para hacer estas instrucciones anidadas, la regla es que para
cada Si que usen debe haber un FIN_SI, pero estas a la vez pueden tener un
SINO o no, depende omo lo usen, por ejemplo, para hacer un instruccin
anidada tenemos que tener obligado un
13. Elabora un algoritmo que sirva para identificar el tipo de triangulo conociendo
sus
ados.
tres
Solucin:
Identificadores
DATOS
Entrada
Salida
Primer Lado
L1
Segundo Lado
Tercer Lado
L2
L3
Tipo de Triangulo
TT
Inicio Leer
L1
Leer
L2
Leer
L3
SI (L1 <> L2) y (L2 <> L3) y (L3 <> L1) ENTONCES
TT = Escaleno
SINO SI (L1 = L2) y (L2 = L3) ENTONCES
TT = Equiltero
SINO
TT = Issceles
FIN_SI
FIN_SI
Escribir TT
Fin
CONDICIONES MULTIPLES
Cuando en un algoritmo se
Instruccin 4
.
.
CASO Valor n
Instruccin n
OTRO CASO Instruccin x [Opcional (Cuando ningn valor
seleccionado se realizar la instruccin imperativa)]
FIN_CASO
mltiple y
despus veremos
Compar
a
Expresi
n
Valor
1
Verdader
o
Hacer Instruccin
FIN_CA
SO
Verdader
o
Hacer Instruccin
FIN_CA
SO
Verdader
o
Hacer Instruccin
FIN_CA
SO
Verdader
o
Hacer Instruccin
FIN_CA
SO
Verdader
o
Hacer Instruccin
FIN_CA
SO
Verdader
o
Hacer Instruccin
FIN_CA
SO
Falso
Compar
a
Valor
2
Falso
Compar
a
Valor
3
Falso
Compar
a
Valor
4
Falso
Compar
a
Valor
5
Falso
Compar
a
Valor
n
EJERCICIOS
un algoritmo que permita ingresar un nmero entero (1 a 10), y
14. Elabore
Solucin:
DATOS
Identificadores
Entrada
NE
Salida
Equivalente en Romano
ER
Inicio Leer NE
EN CASO NE SEA
CASO 1
ER = I
CASO 2
ER = II
CASO 3
ER = III
CASO 4
ER = IV
CASO 5
ER = V
CASO 6
ER = VI
CASO 7
ER
CASO 8
ER
CASO 9
ER
CASO 10
ER
= VII
= VIII
= IX
= X
FIN_CASO
Escribir ER
Fin
15. Elabore un algoritmo que permita ingresar el monto de venta alcanzado por
un vendedor durante el mes,
luego de calcular la bonificacin que le
corresponde sabiendo:
Monto
Bonificacin (%)
0 1000
1000 5000
5000 20000
20000 a ms
0
3
5
8
Solucin:
DATOS
Identificadores
Entrada
Monto de Venta
MV
Salida
Total de Bonificacin
TB
Inicio Leer MV
EN CASO MV SEA
CASO MV >= 0 y MV <
1000 TB = (0 *
MV) / 100
CASO MV >= 1000 y MV <
5000 TB = (3 * MV) /
100
CASO MV >= 5000 y MV <
20000 TB = (5 * MV) /
100
CASO MV >= 20000
TB = (8 * MV) / 100
FIN_CASO
Escribir TB
Fin
Solucin:
DATOS
Identificadores
Entrada
Nmero Entero
Salida
Vocal
NE
V
Inicio Leer NE
EN CASO NE SEA
CASO 1
V
CASO 2
V
CASO 3
V
CASO 4
V
= A
= E
= I
= O
CASO 5
V = U
OTRO CASO
V = Valor Incorrecto
FIN_CASO
Escribir V
Fin
Solucin:
DATOS
Identificadores
Salida
Nmero de Decenas
Nmero de Unidades
Entrada
Intermedio
Cociente Entero
Residuo
D
U
NE
Q
R
Inicio Leer NE
Q = TRUNC (NE /
10) R = NE (Q *
10)
D=Q
U=R
Escribir
D
Fin
Escribir U
Solucin:
DATOS
Identificadores
Entrada
Nmero Entero
NE
Intermedio
Cociente Entero
Residuo
Q
R
Salida
Mensaje
MSG
Inicio Leer NE
Q = NE / 2
R = NE (Q * 2)
SI (R = 0) ENTONCES
MSG = Es Par
SINO
MSG = Es Impar
FIN_SI
Escribir MSG
Fin
PROCESOS REPETITIVOS
Son aquellas instrucciones que se desarrollan en forma repetitiva un nmero
veces. determinado de
Procesos Cclicos Finitos; Se conoce el nmero de repeticiones a realizar, se
controlan definiendo un intervalo para un contador de ciclos.
PARA <Contador>
Instruccin
FIN_PARA
Solucin:
DATOS
Identificadores
Intermedio
Contador
Salida
Nmero
Inicio N = 2
Escribir N
PARA K = 1 A 4
N=N+2
Escribir N
FIN_PARA
Fin
2
4
6
8
Nmero ya Mostrado
1
2
3
10
Solucin:
DATOS
Identificadores
Entrada
Intermedio
Contador
Salida
SE
NE
K
Suma de Sueldos
SS
Sueldo Promedio
SP
Inicio Leer NE
SS = 0
PARA K = 1 A NE
Leer SE
SS = SS + SE
FIN_PARA
SP = SS / NE
Escribir SP
Fin
Que les parece esto de Procesos Repetitivos, seguro que fcil, les explico
un poco lo que hace este algoritmo primero tenemos que saber cuntos sueldos
de empleados van a ingresar, es por eso que le pedimos ingresar el nmero de
empleados (NE), despus teniendo el nmero de empleados empezamos a pedir
el monto de sueldo de cada empleado (SE), y cada vez que ingrese un nuevo
sueldo, lo sumaremos con los sueldos anteriores que hayan ingresado, hasta
llegar el numero indicado de empleados, y al final lo dividimos la suma de todos
los sueldos de todos los empleados (SS)
obtendremos al fin el promedio de sueldos
el
de
21. Elaborar un algoritmo que solicite la edad de 200 personas, y que muestre
cuantos son mayores y menores de edad hay.
Solucin:
DATOS
Identificadores
Entrada
Edad de Persona
EP
Salida
Mayores
Menores
MAY
MEN
Intermedio
Contador
Inicio MEN = 0
MAY = 0
PARA K = 1 A 200
Leer EP
SI EP < 18 ENTONCES
MEN = MEN + 1
SINO
Fin
MAY = MAY + 1
FIN_SI
FIN_PARA
Escribir MAY
Escribir
MEN
Intermedio
Salida
Primer Nmero
PN
Segundo Nmero
SN
Contador
Producto
Inicio
Fin
Leer PN
Leer
SN P =
0
PARA K = 1 A SN
P = P + PN
FIN_PARA
Escribir
PARA <Contador>
Instruccin
Reiniciar Ciclo (Suspende las Instrucciones siguiente del bucle
y Avanza a la nueva repeticin)
Instruccin
Terminar Ciclo (Termina las instrucciones sin regresar al
siguiente Bucle)
Instruccin
FIN_PARA
Cociente
Residuo
Contador
R
K
PARA K = 1 A 10
Q=k
/2
R=k
(Q * 2)
SI (R
SINO FIN_ = 0) ENTONCES
Reiniciar Ciclo
Escribir N
FIN_PARA SI
Fin
ESTRUCTURAS REPETITIVAS
Cuando no se conoce el nmero de ciclo a realizar. Se debe prever que las
expresiones lgicas llegue a ser falsa en algn momento, sino este llegara a
formar un LOOP (Proceso repetitivo infinito que nunca termina, se da cuando la
expresin lgica de control nunca llega a ser falsa)
24. Elabore un algoritmo que muestre los trminos de la serie que sean menores
a 1000.
1, 2, 5, 26
Solucin:
DATOS
Identificadores
Intermedio
Serie
25. Elaborar un algoritmo que solicite ingresar letras hasta que este ingrese una
vocal.
Solucin:
DATOS
Identificadores
Entrada
Letras
Salida
Semforo
(Bandera)
Inicio SEMAF = V
MIENTRAS (SEMAF = V)
Leer L
EN CASO L SEA
CASO A o a
SEMAF = R
CASO o e
SEMAF = R
CASO I o i
SEMAF = R
CASO O o o
SEMAF = R
CASO U o u
SEMAF = R
Fin
L
SEMAF
OTRO CASO
SEMAF = V
FIN_CASO
FIN_MIENTRAS
Fin
26. Elabore un algoritmo que muestre los trminos de la serie Fibonacci que
sean menores a 100000.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
Solucin:
DATOS
Identificadores
Intermedio
Primer Nmero
Segundo Nmero
A
B
Tercer Nmero
Inicio A = 0
B=1
C=A+B
Escribir
A Escribir
B
MIENTRAS (C < 100000)
Escribir
CA=B
B=C
C=A+B
Fin
FIN_MIENTRAS
TIPOS DE DATOS
A nivel de algoritmo, lo bsico es definir el tipo de dato, los siguientes tipos
de datos son los siguientes:
+
-
*
^
Suma
Resta
Multiplicacin
Potencia
Solucin:
DATOS
Identificadores
Entrada
Salida
Primer Nmero
Segundo
Nmero
Operador
Resultado
Inicio Leer
N1
Leer
N2
Leer
OP
EN CASO OP SEA
CASO +
R = N1 + N2
CASO -
R = N1 N2
CASO *
R = N1 * N2
CASO ^
FIN_
N1
N
2
R
Tipo de
Dato
Numrico
Numri
co
Carct
Numric
OTRO CASO
R=0
=
N
1
^
N
2
CASO
Escribir R
28. Elaborar un algoritmo que permita ingresar 10 letras cualquiera, y luego nos
indique al final cuantas vocales y consonantes se ingresaron.
Solucin:
DATOS
Identificadores
Tipo de Dato
Entrada
Letra
Carcter
Intermedio
Contador
Numrico
NV
NC
Numrico
Numrico
Salida
Numero de Vocales
Nmero de Consonantes
Inicio NV = 0
NC = 0
PARA K = 1 A 10
Leer L
EN CASO L SEA
CASO A o a
NV = NV + 1
CASO E o e
NV = NV + 1
CASO I o i
NV = NV + 1
CASO O o o
NV = NV + 1
CASO U o u
NV = NV + 1
OTRO CASO
NC = NC + 1
FIN_CASO
FIN_PARA
Fin
29. Elaborar
un algoritmo
para obtener
el
resultado del
escrutinio en
las
elecciones del delegado del colegio, considerar que hay 160 electores y se han
presentado 3 candidatos, todos votaron, el algoritmo debe de declarar al
ganador por mayora simple.
Solucin:
DATOS
Identificadores
Tipo de Dato
Entrada
VE
Numrico
Intermedio
Contador
Candidato 1
Candidato 2
K
C1
C2
Candidato 3
Voto Nulo o Blanco
C3
CO
Numrico
Numrico
Numrico
Numrico
Numrico
Salida
Numrico
Ganador
Inicio
C1 = 0
C2 = 0
C3 = 0
C0 = 0
PARA K = 1 A 160
Leer VE
EN CASO VE SEA
CASO 1
C1 = C1 + 1
CASO 2
C2 = C2 + 1
CASO 3
C3 = C3 + 1
OTRO CASO
C0 = C0 + 1
FIN_CASO
FIN_PARA
SI (C1 > C2) y (C1 > C3) y (C1 > C0) ENTONCES
G = C1
SINO SI (C2 > C3) y (C2 > C0) ENTONCES
G = C2
SINO SI (C3 > C0) ENTONCES
G = C3
SINO
G = C0
Fin
F
I
N
_
S
I
F
I
N
_
S
I
FIN_SI
Escribir G
DIAGRAMA DE FLUJO
Representacin simblica de algoritmos.
Smbolo
Descripcin
Conectores
30. Elaborar
ambos.
31. Elabora un algoritmo que solicite un nmero entero y muestre el nombre del
mes correspondiente. Ejemplo: Enero = 1.