ej resueltos algoritmos (1)

60
INTRODUCCION A LA INFORMATICA EJERCICIOS RESUELTOS DE ALGORITMOS

Upload: ganster-victor-munguia

Post on 13-Sep-2015

400 views

Category:

Documents


65 download

DESCRIPTION

PROBLEMAS

TRANSCRIPT

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.