Download - Ej Resueltos Algoritmos (1)
Ejercicios resueltos de algoritmos
INTRODUCCION A LAINFORMATICA
EJERCICIOS RESUELTOS DE ALGORITMOS
Lenguaje de Programacin
Qu es un Lenguaje de Programacin?
En informtica, cualquier lenguaje artificial que puede utilizarseparadefinir una secuencia de instrucciones para su procesamiento por un ordenador o
computadora. Es complicado definir qu es programacin. Se asume generalmente que la
y qu no traduccin
es un lenguaje de de las instrucciones a
un cdigo que comprende la computadora debe ser completamente sistemtica. Normalmente es la computadora la que realiza la traduccin.
Los lenguajes de programacin permiten comunicarse con los ordenadores o computadoras. Una vez identificada una tarea, el programador debe traducirla o codificarla a una lista de instrucciones que la computadora entienda. Un programa informtico para determinada tarea puede escribirse en varios lenguajes. Segn la funcin, el programador puede optar por el lenguaje que implique el programa menos complicado. Tambin es importante que el programador elija el lenguaje
ms flexible
y ms ampliamente compatible para el caso
de que el
programa
tenga varias aplicaciones.
Algoritmos: Un algoritmo es una secuencia ordenada de pasos, sin ambigedades, que permite la resolucin de un problema dado. Son representaciones, estos pueden ser en:
1. Lenguaje Natural.- Es el lenguaje comn (coloquial).
2. Lenguaje
Estructurado.- Es un
lenguaje ms limitado
que el anterior, con
reglas de sintaxis y
semntica
definidas, esto quiere
decir que consiste en
crear programas con instrucciones agrupadas en un estricto orden secuencial, el cual es imprescindible conservar para la resolucin de un problema.a. Pseudocdigo;lenguajeuniversalparacomunicarseentreprogramadores, esto quiere decir que es un conjunto de instruccionesen lenguaje natural, como el castellano o el ingls, de acuerdo a la
persona que
desarrollar un algoritmo basado en dicho
lenguaje
natural, en conclusin,
es elaborar
el algoritmo usando palabras y
frases que se comprendan fcilmente.b. Cdigo; lenguaje orientado a un tipo de compilador especifico, para serinterpretado por el computador, en otras palabras es un conjunto deinstrucciones que son parte de un lenguaje de programacin especifico que se escriben en orden secuencial y se almacenan en un archivo al que se denomina programa, cuando el programa es pequeo se le denomina mini-programa o con el nombre de macro (en ingls se le denomina Script).
3. Lenguaje
Simblico.- Es una representacin que usa
smbolos predefinidos
para diagramar un algoritmo, con el fin de que sea fcil de seguir la lgica de la solucin que se desea expresar en forma de un flujo de pasos a realizar, indicando el inicio y el termino de los mismosa. Diagramas de flujo;b. Carta N-S;
PSEUDOCODIGO
Lectura
Obtener un dato inicial Solicitar un dato inicial Requerir un dato de entrada
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 de entrada)
Estructura
Operar sobre el dato obteniendo nuevo valor Procesar los datos, obteniendo nuevo valor
En otras
palabras,
la estructura lo conoceremos como Instrucciones, esto
quiere decir que las instrucciones son todos los procesos, clculos, comparaciones etc., que nosotros haremos para hallar la solucin.
Se deduce a:
Dato Transformado
Se Asigna
Operacin Sobre Dato
Escritura
Mostrar el resultado Visualizar el resultado Imprimir el valor resultante
Como la
misma palabra lo dice, vamos a
escribir o
mejor dicho
vamos a
mostrar el resultado de las instrucciones hechas (operaciones).
Se deduce:
Escribir
Bueno ya vimos la parte de concepto, s que es un poco aburrida, por no decir que bastante, pero es necesario, porque sino no me entenderan lo que hago, para terminar de entender vamos a resolver algunos ejemplos
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 (Movimiento Rectilneo Uniforme)
un MRU
Solucin:
DATOS
Identificadores
Salida Entrada
Distancia Recorrida (m)D
Velocidad Constante (m/s)VTiempo (Sg)T
Inicio
Fin
Leer V Leer TD = V * TEscribir D
Sencillo el algoritmo no?, bueno no se preocupen si no lo han entendido, les voy a explicar:
Qu son Identificadores?, los identificadores, variables que van a tomar el valor que se le asigne, para poder hallar la solucin.
Qu son Variables?, las variables son mayormente letras o palabras, es como si
dijramos
ue son comodines en
un juego de
cartas, como ustedes
saben un
comodn en
un juego
de cartas,
puede tomar el valor
que uno
le asigne,
como por ejemplo, puede tomar el valor de dos trbol, cinco de corazones, tres
de diamantes, etc. El valor que t
le quieras dar, es por
eso que los
datos de
entrada, van a hacer ledos por los identificadores de V (velocidad constante) y
T (tiempo),
en realidad
pueden poner cualquier letra o
palabra que ustedes
deseen, pero yo les asigno esas letras para que lo entiendan mucho mejor, sepodra colocar Vel y Tiem como nombres para las variables y Dist para la
resultante.
A hora veamos otro ejemplo para
que lo tengan ms en claro.
2. Se necesita obtener el promedio simple de un estudiante a partir de sus tres notas parciales.
Solucin:
DATOS
Identificadores
Salida Entrada
PromedioP
Primera Nota ParcialN1Segunda Nota ParcialN2Tercera Nota ParcialN3
Inicio
Fin
Leer N1 Leer N2 Leer N3P = (N1 + N2 + N3)/3Escribir 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 = 14N2 = 13N3 = 15P = (14 + 13 + 15) / 3
Entonces P (Promedio) tomara el va or de 14
Llegaron a entender, les recomiendo volver a leerlo si no lo han entendi, porque ms adelante les voy a dejar unos pequeos problemas para que ustedes lo resuelvan ok, ahora sigamos con los ejemplos.
3. Elaborar
un algoritmo que solicite el nmero de
respuestas
correctas,
incorrectas y en blanco, correspondientes a postulantes, y muestre su puntaje
final considerando,
que por
cada respuesta correcta tendr
4 puntos,
respuestas incorrectas tendr -1 y respuestas en blanco tendr 0.
Solucin:
DATOS
Identificadores
Salida Entrada
Intermedio
Puntaje Final
Nmero de Respuestas Correctas Nmero de Respuestas Incorrectas Nmero de Respuestas en Blanco
Puntaje de Respuestas Correctas Puntaje de Respuestas Incorrectas
PF
RC RI RB
PRC PRI
Inicio
Fin
Leer RC Leer RI Leer RBPRC = RC * 4 PRI = RI * -1 PF = PRC + PRIEscribir PF
Seguro se estarn diciendo que no
les haba
dicho de
los datos
intermedios, bueno tienen razn y no es por lo que se me haya pasado, sino que tena que explicarles con un ejemplo, bueno les explico, la parte Intermedio, aquvan todos los identificadores que solo vamos a almacenar algn valortemporalmente. Como lo es de asignarles los puntos de las respuestas correctas e incorrectas, no puse ningn intermedio para las respuestas en blanco ya que solo estas tiene un valor nulo sea cero, y para terminar con esta explicacin, aqu en
el pseudocdigo existe
una regla,
la regla
es que solo
se van a
usar los
identificadores que definimos en la parte de datos, ya que si no lo defines, en un futuro cuando pasemos a programar este te dar error. As que aprendan a definir todos los identificadores que van a usar para resolver un algoritmo.
4. Elaborar un algoritmo que permita ingresar
el nmero de partidos
ganados,
perdidos y empatados, por algn equipo en
el torneo
apertura, se debe de
mostrar
su puntaje total, teniendo en cuenta que por
cada partido ganado
obtendr 3 puntos, empatado 1 punto y perdido 0 puntos.
Solucin:
DATOSIdentificadores
Salida Entrada
Puntaje Total Nmero de P
PT
rtidos GanadosPG
Nmero de Partidos EmpatadosPE
Intermedio
Nmero de P
rtidos PerdidosPP
Puntaje de Partidos Ganados Puntaje de Partidos Empatados
PPG PPE
Inicio
Fin
Leer PG Leer PE Leer PPPPG = PG * 3 PPE = PE * 1 PT = PPG + PPEEscribir PT
Se me olvidaba, creo que no les dije los operadores que se utilizan en larealizacin de pseudocdigo, estos son los siguientes:
+-*/^ MOD SQRT ABS TRUNCRANDOM
Suma RestaMultiplicacin Divisin PotenciaResto de la divisin entera Raz cuadradaValor absoluto Parte entera Nmero aleatorio
5. Se requiere el algoritmo para elaborar la planilla de un empleado. Para ello se dispone de sus horas laboradas en el mes, as como de la tarifa por hora.
Solucin:
DATOSIdentificadores
Salida Entrada
PlanillaP
Nmero de Horas Laboradas en el mesHLTarifa por HoraTH
Inicio
Fin
Leer HL Leer THP = HL * THEscribir P
6. Elabore un algoritmo que lea los 3 lados de un tringulo cualquiera y calcule su rea, considerar: Si A, B y C son los lados, y S el semipermetro.
A =S * (S A) * (S B) * (S C)
Solucin:
DATOSIdentificadores
Salida Entrada
Intermedio
rea del TringuloAT
Longitud del Lado ALALongitud del Lado BLBLongitud del Lado CLC
Longitud del SemipermetroLS
Inicio
Fin
Leer LA Leer LB Leer LCLS = (LA + LB + LC)/2AT = [LS * (LS LA) * (LS LB) * (LS LC)] ^ 0.5Escribir AT
7. Elaborar
un algoritmo que permita calcular el nmero de CDs
necesarios
para hacer una copia de seguridad, de la informacin almacenada en undisco cuya capacidad se conoce. Considerar que el disco duro est lleno de informacin, adems expresado en gigabyte. Un CD virgen tiene 7 0 0 Meg abytes de capacidad y una Gigabyte es igual a 1,024 megabyte.
Solucin:
DATOSIdentificadores
Salida Entrada Intermedio
Nmero de CDsCD
Nmero de Gigabyte del Disco DuroGB
Nmero de Megabyte del Disco DuroMG
Inicio
Fin
Leer GBMG = GB * 1,024CD = TRUNC ((MG / 700) +1)Escribir CD
8. Se tiene
los puntos
A y B en
el cuadrante positivo
del plano cartesiano,
elabore l algoritmo que permite obtener la distancia entre A y B.
AAB
B C I S A
ORDENADA
Solucin:
DATOSIdentificadores
Salida Entrada
DistanciaD
Abcisa de AAAAbcisa BABOrdenada AOAOrdenada BOB
Inicio
Fin
Leer AA Leer AB Leer OA Leer OBD = [(AB AA) ^ 2 + (OB OA) ^ 2] ^ 0.5Escribir D
INSTRUCCIN CONDICIONAL
Se emplea cuando es necesario representar una decisin, en base a la cual se realizan acciones excluyentes entre s.
SI ENTONCES
Instruccin Verdadera (V)
SINO
Instruccin Falsa (F)
FIN_SI
Las acciones se
representan
como instruccin V (cuando es verdadera),
instruccin F (cuando es falsa), despus que las acciones se realizan, el algoritmo continua su secuencia, pues la condicin ha terminado (FIN_SI) ejemplo:
Se considera que A y B son nmero diferentes
SI (A > B) ENTONCES
Escribir El Mayor es A
SINO
Escribir El Mayor es B
FIN_SI
Operadores relacionales o comparativos:
>Mayor=Mayor Igual 17) ENTONCESEscribir Debe solicitar su CUIL
SINOEscribir No debe solicitar su CUIL aunFIN_SIFin
10. Elabora
un algoritmo que solicite la edad
de 2 hermanos y muestre un
mensaje indicando la edad del mayor y cuantos aos de diferencia tiene con el menor.
Solucin:
DATOSIdentificadores
Entrada
Intermedio
Edad del Primer HermanoE1Edad del Segundo HermanoE2
Diferencia de EdadesDE
Inicio
Leer E1 Leer E2SI (E1 > E2) ENTONCESEscribir El Primer Hermano es el Mayor, por DE = E1 E2
SINO
Escribir El seg DE = E2 E1
ndo Hermano es el Mayor por
Fin
FIN_SIEscribir DE
Como
se habrn dado cuenta, no es
tan difcil
lo de instrucciones
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 otrainstruccin 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) logradas
por un operario a lo
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
produccin mnima es de 100 unidades.
Solucin:
DATOS
Identificadores
Entrada
Intermedio
Salida
Produccin del da Lunes Produccin del da Martes Produccin del da Mircoles Produccin del da Jueves Produccin del da Vienes Produccin del da Sbado
Produccin Total Produccin Promedia
Mensaje
PLPMa PMi PJ PV PS
PT PP
MSG
Inicio
Leer PL Leer PMa Leer PMi Leer PJ Leer PV Leer PSPT = (PL + PMa + PMi + PJ + PV + PS) PP = PT / 6SI (PP >= 100) ENTONCESMSG = Recibir Incentivos
SINOMSG = No Recibir Incentivos
Fin
FIN_SIEscribir MSG
12. Elabora
un algoritmo para leer
3 nmeros enteros diferentes entre s, y
determinar el nmero mayor de los tres.
Solucin:
DATOSIdentificadores
Entrada
Salida
Primer Nmero EnteroN1Segundo Nmero EnteroN2Tercer Nmero EnteroN3
Nmero MayorNM
Inicio
Leer N1 Leer N2 Leer N3SI (N1 > N2) y (N1 > N3) ENTONCESNM = N1
SINO
SI (N2 > N3) ENTONCESNM = N2
SINONM = N3
Fin
FIN_SI FIN_SIEscribir NM
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 SINO
en el SI general me
entienden,
porque si este no tendra un SINO, nunca podramos validar la comparacin que hagamos en el segundo SI, que tenemos adentro del primer SI, me entienden?,
bueno creo
que esto lo van a tener ms en
claro cuando ya lo llevemos al
IDE de trabajo. Mientras tanto sigamos haciendo unos cuantos ejercicios.
13. Elabora un algoritmo que sirva para identificar el tipo de triangulo conociendo
sus tres
Solucin:
DATOS
ados.
Identificadores
Entrada
Salida
Primer LadoL1Segundo LadoL2Tercer LadoL3
Tipo de TrianguloTT
Inicio
Leer L1 Leer L2 Leer L3SI (L1 L2) y (L2 L3) y (L3 L1) ENTONCESTT = Escaleno
SINO
SI (L1 = L2) y (L2 = L3) ENTONCESTT = Equiltero
SINOTT = Issceles
Fin
FIN_SI FIN_SIEscribir TT
CONDICIONES MULTIPLES
Cuando en un algoritmo se
llega a un
punto de
realizacin
de varias
opciones, nos vemos obligados a
usar condiciones mltiples, porq ue
nos seria
ms fcil de realizar la lgica, aunque tambin resulta hacerlo con la Instruccin condicional SI, pero este se nos hara muy tedioso, ya que tendramos que hacer varias instrucciones ya sean independientes o anidadas.
EN CASO (Expresin_Valor) Sea
CASO Valor 1
Instruccin 1
CASO Valor 2
Instruccin 2
CASO Valor 3
Instruccin 3
CASO Valor 4
.Instruccin 4..CASO Valor n
Instruccin n
OTRO CASO Instruccin x [Opcional (Cuando ningn valor seleccionado se realizar la instruccin imperativa)]FIN_CASO
Al poner ms CASO la maquina no ser eficiente, para esto se utilizaraotras estructuras, que ms adelante lo veremos, la mayora de uso de estacondicin mltiple se hace para nmeros. Para que lo entiendan mejor
veremos cmo
funciona e ta condicin mltiple
ydespus
veremos
algunos ejercicios okis.
ExpresinCompara Valor 1Verdadero Hacer Instruccin FIN_CASO
Falso
ComparaValor 2VerdaderoHacer InstruccinFIN_CASO
Falso
Compara Valor 3Verdadero Hacer Instruccin FIN_CASO
Falso
Compara Valor 4Verdadero Hacer Instruccin FIN_CASO
Falso
Compara Valor 5Verdadero Hacer Instruccin FIN_CASO
Falso
Compara Valor nVerdadero Hacer Instruccin FIN_CASO
EJERCICIOS
14. Elabore
un algoritmo que permita ingresar
un nmero
entero (1
a 10), y
muestre su equivalente en romano.
Solucin:
DATOSIdentificadores
Entrada Salida
Nmero Entero (1 a 10)NE
Equivalente en RomanoER
Inicio
Leer NEEN CASO NE SEA
CASO 1ER = ICASO 2ER = IICASO 3ER = IIICASO 4ER = IVCASO 5ER = VCASO 6ER = VICASO 7ER = VIICASO 8ER = VIIICASO 9ER = IXCASO 10ER = X
Fin
FIN_CASOEscribir ER
Empecemos con habrn entendido, pero
la explicacin, aunque si ustedes tiene lgica, ya lo igual les voy a explicar, lo que hace este algoritmo es
solicitar el ingreso de un nmero entero que este en el rango del 1 10, y este lo
reemplaza
por su equivalente romano, por ejemplo: si
el usuario ingresa un
nmero 4 este se ira a la expresin de las condiciones mltiples, y ms o menos
lo que hara el compilador es lo
iguiente, en caso que
el numero
ingresado
sea, en caso sea 1, la
respuesta
seria falsa,
entonces
pasara a la
siguiente
condicin, en caso sea 2, la respuesta seria tambin falsa, y pasara a la siguiente
condicin, en caso sea
3, la respuesta seria
otra vez
falsa, y pasara a la
siguiente condicin, en
caso sea
4, la respuesta seria
verdadero,
y hara la
instruccin
de asignarle
el nmero
IV en romanos al identificador ER, y luego
pasara a dar fin a las
condiciones mltiples,
ya que encontr una
condicin
verdadera y
pasara a
escribir la respuesta ER, en caso
de no encontrarla, el
algoritmo dara una respuesta en blanco.
Entendieron la explicacin?, bueno no les exijo que lo tengan todo en claro ahora mismo, solo que tengan una lgica coherente y que tengan muchas ganas de aprender, porque lo terminaran de entender cuando pasemos a diagramas de flujo y luego a codificar en Visual Basic .Net.
15. Elabore un algoritmo que permita ingresar el monto de venta alcanzado por
un vendedor durante el mes, corresponde sabiendo:
luego de
calcular la
bonificacin que le
MontoBonificacin (%)
0 10000
1000 50003
5000 200005
20000 a ms8
Solucin:
DATOSIdentificadores
Entrada Salida
Monto de VentaMV
Total de BonificacinTB
Inicio
Leer MVEN CASO MV SEA
CASO MV >= 0 y MV < 1000 TB = (0 * MV) / 100CASO MV >= 1000 y MV < 5000 TB = (3 * MV) / 100CASO MV >= 5000 y MV < 20000 TB = (5 * MV) / 100CASO MV >= 20000TB = (8 * MV) / 100
Fin
FIN_CASOEscribir TB
16. Elabore un algoritmo que solicite un nmero entero y muestre un mensajeindicando la vocal correspondiente, considerando que la vocal A = 1.
Solucin:
DATOSIdentificadores
Entrada Salida
Nmero EnteroNE
VocalV
Inicio
Leer NEEN CASO NE SEA
CASO 1V = ACASO 2V = ECASO 3V = ICASO 4V = OCASO 5V = UOTRO CASOV = Valor Incorrecto
Fin
FIN_CASOEscribir V
Lo nico nuevo de este pseudocdigo es la condicin de OTRO CASO, esta condicin se usa para asignarle un valor en caso que el dato que se ingresa no tenga una respuesta, por ejemplo, si el usuario ingresa un nmero 3, este le daruna respuesta de I, p ro si ingresa un nmero que no est en el rango del 1 al5, este le dar una respuesta de Valor Incorrecto.
17. Se desea leer un nmero entero de 2 cifras y que se muestre el nmero de unidades, decenas que lo componen.
Solucin:
DATOSIdentificadores
Salida
Entrada Intermedio
Nmero de DecenasDNmero de UnidadesU
Nmero Entero de 2 DgitosNE
Cociente EnteroQResiduoR
Inicio
Fin
Leer NEQ = TRUNC (NE / 10) R = NE (Q * 10)D = Q U = REscribir D Escribir U
18. Elabore un algoritmo que solicite un nmero entero y diferente a cero, e indique si es par.
Solucin:
DATOSIdentificadores
Entrada Intermedio
Salida
Nmero Entero
Cociente Entero Residuo
Mensaje
NE
Q R
MSG
Inicio
Leer NEQ = NE / 2R = NE (Q * 2)SI (R = 0) ENTONCESMSG = Es Par
SINOMSG = Es Impar
Fin
FIN_SIEscribir MSG
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 A
Instruccin
FIN_PARA
19. Elabore un algoritmo que contenga los nmero pares del 1 al 10
Solucin:
DATOSIdentificadores
Intermedio Salida
ContadorK
NmeroN
Inicio
Fin
N = 2Escribir NPARA K = 1 A 4N = N + 2Escribir NFIN_PARA
NK
2Nmero ya Mostrado
41
62
83
104
El orden de las instrucciones genera casos diferentes.
20. Elaborar un algoritmo que permita mostrar el sueldo promedio de un grupo de empleados.
Solucin:
DATOSIdentificadores
Entrada
Intermedio
Salida
Sueldo del EmpleadoSENmero de EmpleadosNE
ContadorKSuma de SueldosSS
Sueldo PromedioSP
Inicio
Fin
Leer NE SS = 0PARA K = 1 A NELeer SESS = SS + SEFIN_PARASP = SS / NEEscribir SP
Que les parece esto de Procesos Repetitivos, seguro que fcil, les explicoun poco lo que hace este algoritmo primero tenemos que saber cuntos sueldosde 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, hastallegar el numero indicado de empleados, y al final lo dividimos la suma de todos
los sueldos de todos los empleados (SS) entre
el nmero
de empleado (NE), y
obtendremos al fin el promedio de sueldos del
nmero de
empleados
que haya
ingresado el usuario
(SP), por ejemplo, el
usuario ingresa el nmero de
empleados que va ingresar el sueldo de estos, supongamos que sea 10empleados (NE), lo que hace el algoritmo es iniciar la suma de sueldos en valor nulo o mejor dicho cero (SS = 0) y luego har la contabilizacin, mejor dicho el usuario va a tener que ingresar 10 sueldos de 10 empleados, y este a la vez se irn sumando (SS = SS + SE), despus de ingresar todos los sueldo, se seguir a calcular el promedio de sueldos( SP = SS / NE), que va a ser la suma de sueldos (SS) dividido entre 10.
21. Elaborar un algoritmo que solicite la edad de 200 personas, y que muestre cuantos son mayores y menores de edad hay.
Solucin:
DATOSIdentificadores
Entrada Salida
Intermedio
Edad de Persona
Mayores Menores
Contador
EP
MAY MEN
K
Inicio
MEN = 0MAY = 0PARA K = 1 A 200Leer EPSI EP < 18 ENTONCESMEN = MEN + 1
SINOMAY = MAY + 1
Fin
FIN_SI FIN_PARAEscribir MAY Escribir MEN
22. Elaborar un algoritmo que solicite 2 nmero enteros y muestre su producto por el mtodo de sumas sucesivas.
Solucin:
DATOSIdentificadores
Entrada
Intermedio Salida
Primer NmeroPNSegundo NmeroSN
ContadorK
ProductoP
Fin
Leer PN Leer SN P = 0PARA K = 1 A SNP = P + PNFIN_PARAEscribirInicio
Antes de seguir con el siguiente ejercicio, veremos algo muy interesante.
PARA A
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
23. Elaborar un algoritmo que muestre 10 nmeros enteros a partir de 1 excepto los pares.
Solucin:
DATOSIdentificadores
Intermedio
CocienteQResiduoRContadorK
PARA K = 1 A 10/ 2Q = kR = kSI (RSINO FIN_
(Q * 2)= 0) ENTONCESReiniciar Ciclo
Fin
FIN_PARA
Escribir NSI
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)
MIE TRAS
Instruccin
FIN_MIENTRAS
MIE TRAS
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_MIENTRAS
Las instrucciones se realizan, siempre y cuando la lgica sea verdadera, encaso contrario, por no decir si llega a ser falsa, esta dar por terminado elalgoritmo o mejor dicho el programa.
24. Elabore un algoritmo que muestre los trminos de la serie que sean menores a 1000.
1, 2, 5, 26
Solucin:
DATOS
Identificadores
IntermedioSerieS
Fin
Inicio
Fin
MIENTRAS (S < 1000)Escribir SS = (S ^ 2)+ 1FIN_MIENTRAS
25. Elaborar un algoritmo que solicite ingresar letras hasta que este ingrese una vocal.
Solucin:
DATOSIdentificadores
Entrada Salida
Letras
Semforo (Bandera)
L SEMAF
Inicio
SEMAF = VMIENTRAS (SEMAF = V)Leer LEN CASO L SEACASO A o aSEMAF = R
CASO o eSEMAF = RCASO I o iSEMAF = RCASO O o oSEMAF = RCASO U o uSEMAF = ROTRO CASOSEMAF = VFIN_CASO FIN_MIENTRAS
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 NmeroASegundo NmeroBTercer NmeroC
Inicio
Fin
A = 0B = 1C = A + BEscribir A Escribir BMIENTRAS (C < 100000)Escribir C A = BB = CC = A + BFIN_MIENTRAS
TIPOS DE DATOS
A nivel de algoritmo, lo bsico es definir el tipo de dato, los siguientes tipos de datos son los siguientes:
Numricos; Dgitos, cifras (Nmeros reales), entero o punto flotante. Carcter; un smbolo que el computador puede reconoces (Letras, dgitos, signos de puntuacin, smbolos), representan un texto (no se utilizan en operaciones matemticas) Booleana; un valor lgico que puede ser verdadero (V) o falso (F).
27. Elaborar un algoritmo que solicite 2 nmeros enteros y un operador aritmtico y luego debe de mostrar el resultado de la operacin correspondiente.
+ -*^
Suma RestaMultiplicacin Potencia
Solucin:
DATOS
Entrada
Salida
Inicio
Leer N1 Leer N2 Leer OPEN CASO OP SEAFIN_
CASO +R = N1 + N2CASO -R = N1 N2CASO *R = N1 * N2CASO ^R = N1 ^ N2OTRO CASOR = 0
CASOEscribir R
28. Elaborar un algoritmo que permita ingresar 10 letras cualquiera, y luego nos indique al final cuantas vocales y consonantes se ingresaron.
Solucin:
DATOSIdentificadoresTipo de Dato
Entrada Intermedio Salida
LetraL
ContadorK
Numero de VocalesNVNmero de ConsonantesNC
Carcter NumricoNumrico Numrico
Inicio
NV = 0NC = 0PARA K = 1 A 10Leer LEN CASO L SEACASO A o aNV = NV + 1CASO E o eNV = NV + 1CASO I o iNV = NV + 1CASO O o oNV = NV + 1CASO U o uNV = NV + 1OTRO CASONC = NC + 1
Fin
FIN_CASO FIN_PARA
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 ganador por mayora simple.
votaron, el algoritmo
debe de declarar al
Solucin:
DATOSIdentificadoresTipo de Dato
Entrada Intermedio
Salida
Inicio
Voto del ElectorVE
ContadorKCandidato 1C1Candidato 2C2Candidato 3C3Voto Nulo o BlancoCO
GanadorG
C1 = 0C2 = 0C3 = 0C0 = 0PARA K = 1 A 160Leer VEEN CASO VE SEACASO 1C1 = C1 + 1CASO 2C2 = C2 + 1CASO 3C3 = C3 + 1OTRO CASOC0 = C0 + 1
Numrico
Numrico Numrico Numrico Numrico Numrico
Numrico
FIN_CASO FIN_PARASI (C1 > C2) y (C1 > C3) y (C1 > C0) ENTONCESG = C1
SINO
SI (C2 > C3) y (C2 > C0) ENTONCESG = C2
SINO
SI (C3 > C0) ENTONCESG = C3
SINOG = C0
Fin
FIN_SI FIN_SIFIN_SIEscribir G
DIAGRAMA DE FLUJO
Representacin simblica de algoritmos.
SmboloDescripcin
Terminal: Indica el inicio o fin del algoritmo
Asignacin (procesos o instrucciones que realizar el algoritmo)
Lectura (ingreso de datos)
Escritura (Muestra los resultados o el mensaje deseado por el programador)
Condicin Simple (SI), Condicin Mltiple (EN CASO)
Repeticin Finitas (PARA y MIENTRAS)
Termino: Indica el termino de una repeticin finita (PARA y MIENTRAS)
Flechas de direccin
Conectores
30. Elaborarambos.
un algoritmo que solicite 2 nmeros y muestre el promedio de
31. Elabora un algoritmo que solicite un nmero entero y muestre el nombre del mes correspondiente. Ejemplo: Enero = 1.
32. Elabore un algoritmo que permita ingresar un nmero entero diferente a cero y muestre sus divisores.