Está en la página 1de 90

Lic.

DiegoRealpeBorja
Facilitadores:
Lic.DiegoRealpe
2007.
ndice
Presentacin.................................................................................................................. 1
ObjetivosdelModulo ................................................................................................ 2
ObjetivosGenerales............................................................................................... 2
ObjetivosEspecficos............................................................................................. 2
MetodologadeTrabajoyEvaluacin....................................................................... 3
IntroduccinalosAlgoritmos.................................................................................... 4
1.1. Fundamentos.............................................................................................. 4
1.2. Metodologaparalasolucindeproblemaspormediodelacomputadora .. 5
1.3. TiposdeAlgoritmos................................................................................... 6
AlgoritmosCualitativos: .................................................................................... 7
AlgoritmosCuantitativos: ................................................................................ 12
1.4. Tcnicasparalaformulacindealgoritmos .............................................. 14
Pseudocdigo .................................................................................................. 14
DiagramadeFlujo........................................................................................... 14
RecomendacionesparaeldiseodeDiagramasdeFlujo................................... 14
1.5 EjerciciosPrcticos.................................................................................. 17
EstructurasAlgortmicas ......................................................................................... 18
2.1. Variables,ConstantesyOperadores ......................................................... 18
Cabecera.......................................................................................................... 18
Seccindeidentificacindevariablesyconstantes........................................... 19
2.1. TiposdeDatos....................................................................................... 21
DatosNumricos ............................................................................................. 22
DatosLgicos ................................................................................................. 22
DatosdeCarcter ............................................................................................ 22
DatosdeCadena(String)................................................................................. 22
2.3. Operadores .............................................................................................. 23
EjerciciosPrcticos.......................................................................................... 29
SentenciasdeControl.............................................................................................. 30
3.1. SentenciasdeControl............................................................................... 30
3.2. SentenciasSecuenciales............................................................................ 31
Asignacin....................................................................................................... 31
EjerciciosResueltos......................................................................................... 33
EjerciciosPropuestos....................................................................................... 36
3.3. SentenciasdeDecisionoCondicionales................................................... 37
EstructuradeSeleccinSimpleSI.................................................................... 37
EstructuradeSeleccinDobleSISINO......................................................... 40
3.4. SentenciasdeSeleccinAnidadasSI ........................................................ 42
EstructuradeSeleccinMltiple...................................................................... 43
EjerciciosResueltos......................................................................................... 45
EjerciciosPropuestos....................................................................................... 50
3.5. SentenciasdeBuclesoLazosRepetitivos................................................. 54
SentenciaPara/Desde/Hasta/Haga............................................................ 55
EjerciciosResueltos......................................................................................... 57
EjerciciosPropuestos....................................................................................... 61
3.6. SentenciaMientrasHacer......................................................................... 63
Contadores ...................................................................................................... 65
Acumulador..................................................................................................... 65
BuclesInfinitos................................................................................................ 66
EjerciciosResueltos......................................................................................... 66
EjerciciosPropuestos....................................................................................... 68
3.7. SentenciaRepetir\Hasta .......................................................................... 71
EjerciciosResueltos......................................................................................... 72
EjerciciosPropuestos....................................................................................... 75
2.11. EleccinEstructurasRepetitivaAdecuada................................................ 76
AutoevaluacionFinal ....................................................................................... 77
Arreglos,VectoresyMatrices ................................................................................. 79
4.1. Arreglos................................................................................................... 79
4.2. Vectores .................................................................................................. 79
EjerciciosPropuestos....................................................................................... 80
5.3. Matriz...................................................................................................... 81
EjerciciosPropuestos..................................................................................... 82
Bibliografa.......................................................................................................... 84
Anotaciones......................................................................................................... 85
DerechosReservados........................................................................................... 87
1
Presentacin
El desarrollo vertiginoso de las computadoras ha hecho que cada tipo de persona
comiencen tener acceso a la programacin de sus propias mquinas, facilitando as el
estudio y desarrollo de programas para la solucin de problemas particulares en las
empresas,oficinasyenmismohogar.
La necesidad de implementar metodologas para el aprendizaje de la programacin en
diferenteslenguajesypaquetesdeutilidad,obligaalcuestionamientosobreeldesarrollo
delalgicaestructuradaenlaspersonascomunesobligndose,as,apensarsobrela
formadeejecucindecualquieraccintantohumanacomomecnicaodesistemas.
El desarrollo del mdulo de algoritmos y flujogramas es un tema fundamental en el
diseo de programas por lo cual el alumno debe tener buenas bases que le sirvan para
poderdesarrollardemanerafcilyrpidasusprogramas.
Este mdulo de Algoritmos y Flujogramas le servirdeapoyoalmaestro,ensulabor
cotidiana de aprendizaje y al estudiante le facilitar desarrollar su capacidad analtica y
creadora, para de esta manera mejorar su destreza en la elaboracin de algoritmos que
sirven como base para la codificacin de los diferentes programas que tendr que
desarrollaralolargodesucarrera.
Se recomienda que el estudio de este material se lo realice en grupos, elaborando los
ejerciciosquesemuestranenlaGuadeEstudio.xitosenestemduloquesolotrata
dedarunenfoqueactualypersonaldelasmaravillosascapacidadesquesepuedelograr,
dominandoestatemtica.
LosAutores.
2
ObjetivosdelModulo
ObjetivosGenerales
Comprenderlanaturalezadelosalgoritmosyflujogramasysuaplicacinenla
programacinsobrecomputadoras.
ObjetivosEspecficos
Crearenelestudiantelanecesidadyagilidadparapensarenformalgicay
ordenadaconelfinderesolverproblemasenformaeficiente.
Despertarenelestudianteelespritudeprogramar
Darlasbasesfundamentalesparaeldesarrollodecualquiertipode
programacinsimple,estructuradayorientadaaObjetoscomoPascal,C++,
Visual.Net
3
MetodologadeTrabajoy
Evaluacin
Lapropuestametodolgicasebasaenunmodeloeducativocentradoenelalumnoyen
losgruposcolaborativos.Enestesentidoelparticipanteeselresponsabledesuproceso
de aprendizaje debe interactuar con los contenidos del mdulo mediante el sistema de
estudio a distancia, desarrollar su juicio crtico y tener la iniciativa de aprender
continuamente todo aquello que le sea esencial durante el proceso para cumplir conlas
intencionesdelmdulodeAlgoritmosyflujogramas.
As mismo, el participantedeberealizaractividadesconotroscompaeros,detalforma
que entre ellos, construyen diferentes experiencias de aprendizaje que enriquezcan los
contenidos y el desarrollo de distintas habilidades, por ejemplo, uso de las tecnologas,
trabajo cooperativo, espacios discusin de ideas, sntesis y anlisis, juicio crtico, entre
otras.
Duranteeldesarrollodeestemdulo,tienenespecialimportanciaactividadescomo:
Laentregadetrabajosindividualesygrupalesporescrito,queseindicaranen
losencuentrosestablecidosdeclasespresenciales.
Exposicindelostrabajosgrupalesydelostrabajosdeinvestigacin
utilizandoherramientastecnolgicasopedaggicasqueustedconozcay
domine.
LaelaboracindelasAutoevaluacionesyseleccindetemasparainvestigacin
yautoestudioporpartedelosalumnos,yaplicacindeevaluacionesprcticas
parareforzarelconocimientoadquiridoporelalumno.
Ampliacindelostemasporpartedelfacilitador.
Capitulo I IntroduccinalosAlgoritmos
4
Introduccina losAlgoritmos
1.1 Fundamentos
1.2 MetodologaparalaSolucindeAlgoritmos
1.3 Tiposdealgoritmos
1.4 TcnicasparalaformulacindeAlgoritmos
1.5 EjerciciosPrcticos
1.1. Fundamentos
Un elemento bsico para el funcionamiento del computador es el Software, el cualest
formadoporunaseriedeinstruccionesydatosquepermitenelaprovechamientodelos
diversos recursos de la computadora, para resolver gran cantidad de problemas. El
software est constituido por programas los cuales son un conjunto detallado de
instrucciones que instruyen al procesador para realizar determinados procesos
particulares. Los datos pueden ser cualquier informacin que necesite el programa:
caracteres,nmeros,imgenes,etc.
Por otro lado un computador es incapaz de hacer cosas por su propia iniciativa, hace
nicamente lo que se le ordene para lo cual es necesario especificarle detalladamente
paso a paso de que manera debe ejecutar un conjunto de rdenes. Este proceso de
ensearalcomputadorseconocecomoprogramacin:ysuproductoeselprograma.Un
programa se escribe en un lenguaje de programacin el cual proporciona la interfaz
hombre mquina. As pues, los lenguajes utilizados para escribir programas de
computadorassonloslenguajesdeprogramacinylosprogramadoressonlosescritores
y diseadores de programas. Un programador a su vez da solucin a un problema
mediantelaresolucindealgoritmosdiagramasdeflujo.
UnAlgoritmoesunconjuntoordenadoyfinitodepasosoinstruccionesqueconducena
la solucin de un problema especfico. La naturaleza de los problemas varan con el
mbito o con el contexto donde estn planteados as, existen problemas matemticos,
qumicos,filosficos,etc.Segnestolanaturalezadelosalgoritmostambinesvariada
ynotodosellospuedenserejecutadosporlacomputadora..
La palabra algoritmo apareci por primera vez en el diccionario en 1957 antes se
encontraba como la palabra algorismo, que significa, proceso de hacer clculos
aritmticosutilizandonmerosarbigos.
CAPITULO
PROBLEMA ALGORITMO PROGRAMA
Capitulo I IntroduccinalosAlgoritmos
5
Enlaedadmedia,losabacistasutilizabanelbacoparahacersusclculos,mientrasque
los algoristas lo hacan con los algorismos. Para esta poca, nosesabaacienciacierta
cual era el origen de la palabra algorismo los lingistas intentaron hacer una
aproximacin, usando combinaciones de palabras como algirios (sin dolor) y arithmos
(nmero)otrosdecanquelapalabraprovenadel"ReyAlgordeCastile".
Finalmente, los historiadores de la matemtica encontraron el verdadero origen de la
palabra algorismo: proviene del nombre del autor de un famoso libro persa, Abu Ja'far
MohammedibnMusaalKhowrizm,literalmente"PadredeJa'far,Mohammed,hijode
Moses,nativodeKhowrizm.AlKhowrizmescribiunlibromuyfamosoquesentlas
basesdellgebra.
1.2. Metodologaparalasolucindeproblemaspor
mediodelacomputadora
DefinicindelProblema: Estafaseestdadaporelenunciadodelproblemay consiste
es estudiar el problema planteado dividiendo e tantas partes como sea posible, para
obtener una idea clara y concisa sobre lo que se desea obtener como resultado. Es
importantequeseconozcaloquesedeseaquerealicelacomputadoramientrasestono
seconozcadeltodonotienemuchocasocontinuarconlasiguienteetapa.
Anlisis del Problema: Una vez que se ha comprendido lo que se desea de la
computadora,esnecesariodefinir:
Losdatosdeentrada.
Cualeslainformacinquesedeseaproducir(salida)
Losmtodosyfrmulasquesenecesitanparaprocesarlosdatos.
Unarecomendacinmuypracticaeselquenospongamosenellugardelacomputadora
y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para
producirlosresultadosesperados.
Diseo del Algoritmo: Consiste en describir las secuencias ordenadas de pasos que
conducen a la solucin de un problema dado. Las caractersticas de un buen algoritmo
son:
Datos
Entrada
Proceso Datos
Salida
Capitulo I IntroduccinalosAlgoritmos
6
Ser algoritmo: Tiene que consistir enunasecuenciadeinstruccionesclarasyfinitas,es
decir debe estar compuesto por un nmero determinado de pasos que tiene fin sin
importarelnmerodeinstruccionesautilizar.
Ser correcto: El algoritmo ha de resolver el problema planteado en todas sus facetas,
teniendo en cuenta todas las posibles situaciones que puedan plantearse y no debe
permitirdoblesinterpretaciones
Serlegible.Dondecadasecuenciadeunalgoritmodebeserdefinidaenformaprecisa,de
talmaneraquelasaccionesaejecutarencadauno,estnrigurosamenteespecificadas
ynoadmitanambiguedad.
Sereficiente:todoslospasos,instruccionesuoperacionesdebenoptimizarsedemanera
queseobtengalasolucinmscortayeficientederesolverelproblemaplanteado
Codificacin : La codificacineslaoperacindeescribirlasolucindelproblema(de
acuerdoalalgicadeldiagramadeflujoopseudocodigo),enunaseriedeinstrucciones
detalladas, en un cdigo reconocible por la computadora, la serie de instrucciones
detalladas se le conoce como cdigo fuente, el cual se escribe en un lenguaje de
programacinolenguajedealtonivel.
Prueba y Depuracin: Los errores humanos dentro de la programacin de
computadoras son muchos y aumentan considerablemente con la complejidad del
problema. El proceso de identificar y eliminar errores, para dar paso a una solucin sin
erroresselellamadepuracin.
La depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo de la
solucin, por ello se debe considerar con el mismo inters y entusiasmo. Resulta
convenienteobservarlossiguientesprincipiosalrealizarunadepuracin,yaquedeeste
trabajodependeelxitodenuestrasolucin.
1.3. TiposdeAlgoritmos
Elconceptodealgoritmoseaplicaamuchassituacionescotidianas.Porejemplo,cuando
se quiereexplicaraunapersona, laubicacindeunacasao edificio,generalmentesele
describe la ruta que debe seguir desde un determinado punto para llegar a la direccin
deseada, en otras palabras, se le proporciona un algoritmo que le permite llegar a al
destinosinningninconveniente.Unarecetadecocinatambinpuedeconsiderarsecomo
un algoritmo para elaborar una comida. Los planos de un modelo a escala, indican el
orden y la forma en que deben ser unidas las piezas para construir el modelo. En este
contextoexistendostiposdealgoritmoscomputacionales.
AlgoritmosCualitativos
AlgoritmosCuantitativos
Capitulo I IntroduccinalosAlgoritmos
7
Algoritmos Cualitativos:
Son aquellos en los que se describencualquier accin o conjunto de acciones utilizando
palabras perosiempreenmarcadasentresestructurasfundamentalesqueson:
1.Secuenciasdeacciones
2.Decisindeaccin
3.Ciclosdeacciones
Secuenciasdeacciones: Paraescribirunasecuenciadeordenesoaccionestodoloque
tienequehacerescolocarunanuevaordenounanuevaaccindespusdelaltimaque
haya colocado. De esta manera se entiende la secuencialidad y la ordinalidad en la
ejecucindeesasacciones.
Ejemplo:
Ejercicioparacambiarunfocoquemandoporunonuevo.
Situarunaescalerabajoelfocoquemado
Elegirun nuevofoco
Subirlaescalerahastaalcanzarelfoco
Girarelfocoensentidoantihorariohastasacarlo
Colocarelnuevofocoenelmismolugar
Girarensentidohorariohastaquequedeapretado
Bajardelaescalera
Puede usted notar que para utilizar la estructura de secuencia (que a veces parece ser
todo lo que tenemos que hacer es ir colocando una accin tras otra y, por supuesto,
racionales en el ordendedichasacciones,elordendelosfactoressalteraelresultado
enlosdiseosdealgoritmos.
Decisin de accin: Son condiciones que nos permite que podamos decidir cul es el
caminolgicocorrectoatomarpararesolverunproblemaeficientemente.
Vamos a desarrollar el mismo algoritmo, para ello vamos a incorporar una lneas de
decisin que nos permitan tener un algoritmo mas genrico y que nos permita lograr
mejorelobjetivo,as:
1.Situarunaescalerabajoelfocoquemado
2.Elegirunnuevofoco
SilapotencianoesigualaladelquemadoEntonces (Pregunta)
Descartarelfocoelegido (accinverdadera)
Casocontrario
Elegirunnuevofoco.(accinfalsa)
3.Subirlaescalerahastaalcanzarelfoco
4.Girarelfocoensentidoantihorariohastasacarlo
5.Colocarelnuevofocoenelmismolugar
6.Girarensentidohorariohastaquequedeapretado
7.Bajardelaescalera
Capitulo I IntroduccinalosAlgoritmos
8
Ya puede usted notar que nuestro algoritmo hacambiadounpocoyporlotantoahora
tiene unas condiciones que le permiten ser una secuencia de acciones mas racional y
analiza mas detalladamente las situaciones posibles. Adicionalmente usted puede notar
queunadecisincompletainvolucra:
Unapreguntaqueevalaunacondicin
Unconjuntodeaccionesarealizarencasodequelacondicinseaverdadera
Unconjuntodeaccionesarealizarencasodequelacondicinseafalsa
Ciclos de acciones: No es mas que la estructura que nos permite repetir una o varias
accionesunacantidaddefinidadeveces.
ParaidentacindeaccionesrepetitivasustedpuederepresentarconlapalabraMientras/
Hasta o Repetir/Hasta, bloques queestableceenrelacinconunacondicineliniciode
unconjuntodeaccionesqueserepitenprecisamenteMientrasesacondicinlopermita.
La estructura Mientras (por efectos de clarificacin del algoritmo) debe tener un
finalizadorqueindiquehastadondellegaelbloquedeaccionesquedebemosrepetir.
1.Situarunaescalerabajoelfocoquemado
2.Elegirunnuevofoco
SilapotencianoesigualaladelquemadoEntonces
Repetir
Descartarelfocoelegido
Elegirunnuevofoco
Hastaquelapotenciaseaigual
3.MientrasnosealcanceelfocoquemandoHacer
Subirlaescalera,peldaotraspeldao
4.Repetir
Girarelfocoensentidoantihorario
Hastaqueelfocohayasalido
5.Colocarelfoconuevoenelmismolugar
6.Repetir
Girarelfocoensentidohorario
Hastaquequedeapretado
7.Bajardelaescalera
Este algoritmo informal estn expresadotalcomodesprevenidamentecualquierpersona
los expresara y puede entonces suponer usted que la variabilidad de algoritmos que
cumplanlosmismosobjetivosserainmensasinoexistieranunastcnicasuniformespara
facilitarlaexpresindeestasideas,particularmenteenalgoritmoscomputacionales.
Capitulo I IntroduccinalosAlgoritmos
9
Ejemplo:
Algoritmo para usar un telfono pblico. La operacin puede expresarse en los
siguientespasos:
Descolgarlabocina
Introducirlasmonedas
Discarelnmero
Hablar
Colgarlabocina
Los pasos anteriores parecen describir de forma correcta de usar un telfono pblico.
Ahora supngase que le proporciona estas instrucciones aunapersonaquejamsensu
vida ha utilizado un telfono pblico. Podr esta persona completar exitosamente una
llamada telefnica? Probablemente no verdad!. Existen muchos aspectos que no son
mencionados en el proceso anterior, como por ejemplo, que sucede si el nmero est
ocupado, o si el telfono no sirve, o si se agota el tiempo. Si bien el proceso tiene un
inicioyunfinal,lospasossonpocoespecficosynocontemplatodaslassituacionespor
ende es posible que existan situaciones en que no pueda completarse una llamada
telefnica, siguiendo los pasos. Por esta razn, el proceso antes descrito est un poco
lejosdeserunalgoritmoefectivoparausaruntelfonopblico.
Ahora procedemos a refinar el proceso anterior. Para esto, hay que especificar ciertos
aspectos con respecto al uso de un telfono pblico. Primero, Qu sucede si al
descolgar la bocina, no se oye ningn tono? Lo ms seguro es que el telfono est
daado, por lo que no queda ms remedio que colgar la bocina e intentar ubicar otro
telfono pblico. As, el paso "Descolgar la bocina" del proceso anterior, puede ser
extendidoalosiguiente:
Descolgarlabocina
Sinoseoyeuntonoentonces
Colgarlabocina
Fin
Cuando se termina de marcar el nmero, es posible que sucedan varias cosas: que
alguienconteste,quenadiecontesteoqueelnmeroestocupado.Enelprimercaso,la
persona debe proceder a hablar si nadie contesta o si est ocupado, la persona debe
colgarlabocinayrecogerlasmonedas.Encasodequealguienconteste,esposibleque
la persona deba introducir otras monedas, para mantener la llamada. Todas estas
consideracionesseexpresanenlossiguientespasos:
Marcarelnmero
Siseoyenvariostonoscortosseguidos(elnmeroestocupado)
Colgarlabocina
Recogerlasmonedas
Fin
Siseoyenvariostonoslargos(eltelfonorepica)
Sialguiencontesta
Hablar
Cadavezqueseescucheuntonomientrassehabla
Capitulo I IntroduccinalosAlgoritmos
10
Introducirmonedas
Seguirhablando
Colgarlabocina
Fin
Sinadiecontesta
Colgarlabocina
Fin
Deestaformasehaespecificadodeformarazonablelospasosaseguirpararealizaruna
llamada usando un telfono pblico. Todo algoritmo, de una forma u otra, indica el
ordenenquedebenejecutarselospasos.Enestecaso,seagregannmerosacadapaso,
paraindicarlasecuenciaapropiada:
1.Descolgarlabocina
2.Sinoseoyeuntonoentonces
2.1.Colgarlabocina
2.2.Fin
3.Marcarelnmero
4.Siseoyenvariostonoscortosseguidos
4.1.Colgarlabocina
4.2.Recogerlasmonedas
4.3.Fin
5. Siseoyenvariostonoslargos
6. Sialguiencontesta
6.1.Hablar
6.2.Cadavezqueseescucheuntonomientrassehabla
6.2.1.Introducirmonedas
6.2.2.Seguirhablando
6.3.Colgarlabocina
6.4.Recogerlasmonedasnousadas
6.5.Fin
7. Sinadiecontesta
7.1.Colgarlabocina
7.2.Recogerlasmonedas
7.3.Fin
Capitulo I IntroduccinalosAlgoritmos
11
INICIO
Descolgarlabocina
Seoyeun
tono
Marcarelnmero
Colgarlabocina
Seguirhablando
Hablar
Oyenvarios
tonoscortos
seguidos
Eltelfono
repica
Recogerlasmonedasno
usadas
nadie
contesta
Introducirmonedas
Cadavezque
seescuche un
Colgarlabocina
FIN
Recogerlasmonedas
FIN
alguien
contesta
FIN
Colgarlabocina
FIN
En los dos algoritmos anteriores aparecen ciertas palabras reservadas (en cursiva) que
describen las estructuras de control fundamentales y procesos de toma de decisiones.
Estaspalabrasincluyenlossiguientesconceptosfundamentales:
Seleccin :expresadaporsientoncescasocontrario
Repeticin:expresadaporrepetirhastaqueoavecespormientrashacer
La capacidad de decisin permite seleccionar alternativas de acciones a seguirobienla
repeticinunayotravezdeoperacionesbsicas.
Un aspecto importante a considerar al momento de escribir un algoritmo es la
indentacin (sangrado) de las acciones interiores a las estructuras de seleccin y/o
repeticin.
Capitulo I IntroduccinalosAlgoritmos
12
Otro aspecto, tambin importante es el mtodo por medio del cual se desarrolla un
algoritmo. Se comienza con un enunciado muy general y se contina hastaencontrarel
algoritmofinal incrementandosistemticamentelosdetalles.
Algoritmos Cuantitativos:
Sonaquellosenlosqueseutilizanclculosnumricosparadefinirlospasosdelproceso.
Deigualformaestostiposdealgoritmosdescriben trespartesesenciales:
Ejemplo:Diseeunalgoritmoquepermitahallarlasumayelpromediodetresnmeros
Sedefinen:EP/S
Entrada:Nmerosenteros(Numero1,numero2,numero3)
Proceso:Sumarlos3nmerosycalcularsuPromedio
Salidas:Suma,Promedio
Pseudocdigo
INICIO
LEERnumero1,numero2,numero3
suma=numero1+numero2+numero3
promedio=suma/3
IMPRIMIRsuma,promedio
FIN
Notas: El trmino LEER significa obtener un dato de algn dispositivo de entrada,
como el teclado, y almacenarlo en una variable. Una variable es una localizacin en la
memoriaquetieneunnombreycuyocontenidopuedecambiaralolargodelaejecucin
deunprograma.Asnumero1,numero2ynumero3sonvariables.EltrminoIMPRIMIR
significamostrarelvalordeunavariableenalgndispositivodesalida,comolapantalla
Entrada Proceso Salida
Capitulo I IntroduccinalosAlgoritmos
13
EjemplodeunAlgoritmoCuantitativo:
DeterminarlasumadelosNprimerosnmerosenterosdeacuerdoalasiguiente
frmula:Suma=N*(N+1)/2
Sedefinen:E/S
Entrada:Nmeroentero(N)
Proceso:Calcularsumaporfrmula:
Salida:Suma
Pseudocodigo
INICIO
Ingresarunnmeroentero
Leer(N)
Suma=N*(N+1)/2
Escribir(suma)
FIN
DiagramaDeFlujo
IngresarN
Suma=N(N1)/2
EscribirSuma
Fin
Inicio
Capitulo I IntroduccinalosAlgoritmos
14
1.4. Tcnicasparalaformulacindealgoritmos
Lasdosherramientasutilizadascomnmenteparadisearalgoritmosson:
Pseudocdigo
DiagramadeFlujo
Pseudocdigo
Es un lenguaje algortmico de programacin informal, en donde se omiten aspectos
tcnicos, para considerar solamente operaciones que definen el comportamiento del
algoritmo. ). Es decir es una herramienta algortmica que permite escribir
pseudoprogramas (una imitacin de un programa real) utilizando un lenguaje de
pseudoprogramacin que es una imitacin de los lenguajes de programacin de alto
nivel.
Diagrama de Flujo
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede
decir que es la representacin detallada en forma grfica de como deben realizarse los
pasosenlacomputadoraparaproducirresultados
Un diagrama de flujo utiliza los smbolos estndar ( caja) y que tiene los pasos del
algoritmo escritos en esas cajas unidad por flechas, denominada lnea de flujo, que
indican la secuencia en que se deben ejecutar. Los smbolos utilizados han sido
normalizadosporelinstitutonorteamericanodenormalizacin(ANSI).
Recomendaciones para el diseo de Diagramas de Flujo
Sedebenseusarsolamentelneasdeflujohorizontalesy/overticales.
Sedebeevitarelcrucedelneasutilizandolosconectores.
Sedebenusarconectoressolocuandoseanecesario.
Nodebenquedarlneasdeflujosinconectar.
Sedebentrazarlossmbolosdemaneraquesepuedanleerdearribahaciaabajo
ydeizquierdaaderecha.
Todotextoescritodentrodeunsmbolodeberserescritoclaramente,evitando
elusodemuchaspalabras.
Capitulo I IntroduccinalosAlgoritmos
15
DIAGRAMA DESCRIPCIN
Establece el INICIO y el FIN.
Indica un PROCESO interno de una operacin aritmtica.
Introduccin de datos por parte del usuario. ( E/S )
SALIDA de informacin POR PANTALLA.
Indica la continuidad de un diagrama. CONECTOR.
Volumen de DATOS.
Indica el SENTIDO del flujo en que se realizan las
operaciones.
Especifica la realizacin de una comparacin de valores.
DECISIN.
SALIDA de informacin POR IMPRESORA.
Se utiliza en ocasiones en lugar del smbolo de E/S para
representar el ingreso de datos solo por teclado
Indica un proceso externo. SUBRUTINA.
Se usa para enlazar dos partes cualesquiera de un
ordinograma a
travs de un conector en la salida y otro conector en la
entrada
Conector fuera de pagina. Representa la continuidad del
diagrama en otra pagina.
TECLA
DO
Capitulo I IntroduccinalosAlgoritmos
16
Ejemplo:
DiagramadeFlujoparacambiarunfocoquemandoporunonuevo.
INICIO
FIN
Situarunaescalerabajoelfoco
quemado
Elegirunnuevofoco
Potencia foco
quemado
Descartarelfocoelegido
Elegirunnuevofoco
Girarelfocoensentido
antihorario
Subirlaescalera,peldaotras
peldao
Potencia=foco
quemado
Nose
alcanceel
Bajarlaescalera
Colocarelfoconuevoenel
mismo lugar
Focohaya
salido
Girarelfocoensentidohorario
Foco
apretado
Capitulo I IntroduccinalosAlgoritmos
17
1.5 EjerciciosPrcticos
Disearlosalgoritmosqueresuelvanlossiguientesproblemas:
Algoritmoyflujogramaparacolocarnosunacamisa
AlgoritmoParaVerLaPelculaTiburon
Comprarunaentradaparaunshowartstico.
Elaboreunpseudocdigoyflujogramaquesume,reste,multipliqueydividados
nmeros:x=10y=2
Elaboreunpseudocdigoyflujogramaquecalculeelreadeunrectngulo:
Lado1=3lado2=4,Areadelrectngulo=lado1*lado2
Elaboreunpseudocodigoyflujogramaquerecibaunnmeroenteroydevuelva
suinmediatosiguiente.Porejemplosiingresa28lasalidadebeser29.
Unatiendadeabastosofreceundescuentodel8%sobreeltotaldelacompray
unclientedeseasabercuantodeberpagarfinalmenteporsucompra.Elabore
unpseudocdigoyflujogramaqueresuelvaesteproblema.
Capitulo II EstructurasAlgortmicas
18
Estructuras Algortmicas
2.1 Variables,Constantesy Operadores
2.2 TiposdeDatos
2.3 Operadores
2.1. Variables,ConstantesyOperadores
El recurso fundamental utilizado por un programa es la memoria. Es en la memoria
donde un programa almacena sus datos e instrucciones. Los datos se almacenan en
localizacionesenlamemoriadenominadasvariables..
Un algoritmo constara de tres componentes: Una cabecera, una seccin de
Identificadores,Variablesy Constantes,y elcuerpodelAlgoritmo.
Cabecera
Comienza con la palabra ALGORITMO, la cual est seguida por el nombre del
programacompleto,Ejemplo:Algoritmosuma
Algoritmo<Nombre> CabeceradelAlgoritmo
Constantes

Variables

Inicio
Expresionesy
Sentencias

Fin_Alg
CAPITULO
Capitulo II EstructurasAlgortmicas
19
Seccin de identificacin de variables y constantes
Enellaseespecificanlostiposdedatosautilizar(Cualesydequetipo).
Identificadores
Un identificador es un nombre que puede darse a una variable, a una constante y en
generalacualquierelementodeunprogramaquenecesitenombrarse.
As,porejemplo,sonvlidoslossiguientesidentificadores:
sueldoBruto Sueldobrutodeunempleado
Edad Edaddeunapersona
numero_hijos Nmerodehijosdeunempleado
DIA Nombredeundadelasemana
ReglasparaformarunIdentificador
Debecomenzarconunaletra(AaZ,maysculasominsculas)ynodeben
contenerespaciosenblanco.
Letras,dgitosycaracterescomolasubraya(_)estnpermitidosdespusdel
primercarcter.
Lalongituddeidentificadorespuedeserdehasta8caracteres.
Constantes
Una constante es un dato que no cambia durante la ejecucin del programa.
Ejemplo:
pi=3.1416
Variables
Unavariableesunalocalizacinenlamemoriaprincipalquealmacenaundatoquepuede
cambiaralolargodelaejecucindelprograma.
Unavariabletieneasociadadoscosasfundamentales:un identificadoryun tipodedato.
Elnombreidentificademaneranicalalocalizacindememoriadondese
almacenaeldato.
Eltipodedatoespecificalanaturalezadeldatoquepuedealmacenarlavariable.
En el grfico siguiente se muestran dos variables con sus contenidos en memoria. La
variable llamada Edad (de tipo entero) cuyo contenido es 27 y la variable llamada
Descuento(detiporeal)cuyocontenidoes23.57.
Capitulo II EstructurasAlgortmicas
20
Edad 301
Descuento 23.57
Segneltipodedatodelavariablepodemostenervariables:
Numricas
PorsuContenidoLgicas
Alfanumricas(String)
Variables
DeTrabajo
PorsuUso Contadores
Acumuladores
VariablesporsuContenido
VariableNumricas
Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es
deciralmacenannmerosdel0al9,signos(+y )yelpuntodecimal.Ejemplo:
iva=0.15
pi=3.1416
costo=2500
VariablesLgicas
Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el
resultadodeunacomparacinentreotrosdatos.
VariablesAlfanumricas
Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales).
Ejemplo:
letra=a
apellido=lopez
direccion=Av.Libertad#190
Capitulo II EstructurasAlgortmicas
21
VariablesporsuUso
VariablesdeTrabajo:
Variablesquerecibenelresultadodeunaoperacinmatemticacompletayqueseusan
normalmentedentrodeunprograma.Ejemplo:
suma=a+b/c
Contadores
Seutilizanparallevarelcontroldelnumerodeocasionesenqueserealizaunaoperacin
osecumpleunacondicin.Conlosincrementosgeneralmentedeunoenuno.
Acumuladores
Formaquetomaunavariableyquesirveparallevarlasumaacumulativadeunaseriede
valoresquesevanleyendoocalculandoprogresivamente.
2.1. Tipos deDatos
El primer objetivo de la computadoras es el manejo de lainformacinodatos.Todos
losAlgoritmosyprogramasoperansobredatos.Todoslosdatostienenuntipoasociado
con ellos. Undatopuedeserunsimplecarcter,talcomob,unvalorenterotalcomo
35.Eltipodedatodeterminalanaturalezadelconjuntodevaloresquepuedetomaruna
variable.
Capitulo II EstructurasAlgortmicas
22
Datos Numricos
Permiten representar valores escalares de forma numrica, esto incluye a los nmeros
enteros y los reales. Este tipo de datos permiten realizar operaciones aritmticas
comunes.
Enteros
Esunsubconjuntofinitodelosnmerosenterosquepuedenser negativos o
positivosEj.
51340 5
20 254
Reales
Tienenunpuntodecimaly puedenserpositivosonegativos.
0.083739.413.0
3.7452 52.321 8.12
Datos Lgicos
Tambin denominado booleano y son aquellos que solo pueden tener dos valores
(verdadero ofalsoSioNo)yaquerepresentanelresultadodeunacomparacinentre
otrosdatos(numricosoalfanumricos).
Por ejemplo: Cuando se pide si un valor entero es par , la respuesta ser verdaderao
falsa,segnseaparoimpar.
Datos de Carcter
Es tipo carcter es el conjunto finito y ordenado de caracteres que la computadora
entiende. Un dato tipo carcter contiene un solo carcter delimitado por apstrofes.
Dentrodeloscaracteressereconocen:
CaracteresAlfabticos(A,B,C,...,Z).
Caracteresnumricos(1,2,3,...,9).
Caracteresespeciales(+,,*,/,^,.,,,,<,>..)
Datos de Cadena (String)
Es una secuencia de caracteres alfanumricos que permiten representar valores
identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc.
Es posible representar nmeros como alfanumricos, pero estos pierden su propiedad
matemtica, es decir no es posible hacer operaciones con ellos. Este tipo de datos se
representanencerradosentrecomillas.Ejemplo:
UniversidadEstataldeBolvar
Capitulo II EstructurasAlgortmicas
23
OperacionesdeAsignacin
Es el modo de darlevalorestipodedatoaunavariable.Laasignacindeunvalora
unaVariableserepresentaconel smbolo
NOMBREDELAVARIABLE EXPRESIN
Ejemplos:
A,B,C,D Entero SignificaquealavariableA,B,C,Dselehaasignadoelsoportede
valoresenteros
A 5 SignificaquealavariableAselehaasignadoelvalor5
B 5+3+8 LavariableBselehaasignadoelvalor16
C B*A LavariableCselehaasignadoelvalorde80
D B/2 LavariableDselehaasignadoelvalor8
Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesisynombresdefuncionesespeciales.Ej.
a+(b+3)+c
Cada expresin toma un valor que se determina tomando los valores de las variables y
constantesimplicadasylaejecucindelasoperacionesindicadas.
Unaexpresinconstadeoperadores,operandosyfunciones.Segnseaeltipodedatos
quemanipulan,seclasificanlasexpresionesen:
Aritmticas
Relacinales
Lgicas
2.3. Operadores
Sonelementosquerelacionandeformadiferente,losvaloresdeunaomsvariablesy/o
constantes.Esdecir,losoperadoresnospermitenmanipularvalores.
Los Tipos de Operadores que existen son tres: los relacinales, los Aritmticos y por
ltimoloslgicos
OperadoresAritmticos
Los operadores aritmticos permiten la realizacin de operaciones matemticas conlos
valores(variablesyconstantes).
Losoperadoresaritmticospuedenserutilizadoscontiposdedatosenterosoreales.Si
ambossonenteros,elresultadoesenterosialgunodeellosesreal,elresultadoesreal.
Capitulo II EstructurasAlgortmicas
24
+Suma ^,**Exponenciacin
Resta divDivisinEntera
*Multiplicacin modModulo(Residuo)
/Divisin
Ejemplos:
ExpresinResultado
5+3+10 18
10712
2*510
11/25.5
3^327
10div33
10mod31
OperadoresRelacionales:
Seutilizanparaestablecerunarelacinentredosvalores.Comparaestosvaloresentresi
yestacomparacinproduceunresultadodecertezaofalsedad(verdaderoofalso).
Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas).
Tienen el mismo nivel de prioridadensuevaluacin.Losoperadoresrelacinalestiene
menorprioridadquelosaritmticos
Esdeciresunoperadorqueslopuedetomardosvaloreslgicosqueson:Verdadero
Falso. Tambin se denominas expresiones booleanas en honor del matemtico
BritnicoGeorgeBoole,quedesarrollelAlgebralgicaodeBoole.
OperadoresdeRelacin
Operador Significado
< Menorque
> Mayorque
= Igualque
<= Menoroiguala
>= MayoroIguala
<> Distintode
Capitulo II EstructurasAlgortmicas
25
Ejemplo:
3<6 Verdadero
0>1 Falso
4=2 Falso
(42)<(34) Falso
OperadoresLgicos
Losoperadoreslgicosobooleanosbsicosson
OPERADORSIGNIFICADO
no(not) negacinde
Y(and) interseccinde
O(Or) Uninde
Tabladeverdad:
PQPyQPoQnoP
v v vv f
v f fvf
f v fvv
f f f fv
Enlasexpresioneslgicassepuedenmezclaroperadoresderelacinylgicos.
Ejercicio.
(10>5)y(4mod3)=0
vfFalso
0<50>5
v v Verdadero
(a<b)and(b<c)
(10<20)and(20<30)
VandV
V
Capitulo II EstructurasAlgortmicas
26
PrioridadoPrecedenciadelosOperadores
LasExpresionesquetienedosomsoperandosrequierenunasreglasmatemticasque
permitandeterminarelordendelasoperacionesyestasson:
Lasoperacionesqueestnencerradasentreparntesisseevalanprimero.Si
existendiferentesparntesisanidados(Interioresunosaotros)lasexpresiones
msinternasseevalanprimero
Lasoperacionesaritmticasdentrodeunaexpresinsuelenseguirelsiguiente
ordendeprioridad:
1.()
2.^
3.*,/,Mod,Not
4.+,,And
5.>,<,>=,<=,<>,=,Or
En caso de coincidir varios operadores de igual prioridad en una expresin o
subexpresin encerrados entre parntesis en orden de prioridad en este caso es de
izquierdaaderecha
Ejemplos
3+6*14
=3+84
=87
8+7*3+4*6
=8+21+4*6
=8+21+24
=53
(9+11)/(8+4/2)=20/(8+4/2)
=20/(8+2)
=20/10
=2
4+2*5=14
23*2/5=9.246/5=9.2
3+5*(10(2+4))=233+5*(106)=3+5*4=3+20=23
3.5+5.0914.0/40=5.093.5+5.093.5=8.593.5=5.09
2.1*(1.5+3.0*4.1)=28.982.1*(1.5+12.3)=2.1*13.8=28.98
Ejemplo:
a=10b=12c=13d=10
((a>b)or(a<c))and ((a=c)or (a >= b ))
Capitulo II EstructurasAlgortmicas
27
F T F F
T F
F
Funciones
Los programas exigen en numerosas ocasiones, adems de las operaciones aritmticas
bsicasyatratadas,unnmerodeterminadodeoperadoresespecialesquesedenominan
funciones.
FUNCION DESCRIPCION TIPO DE ARGUMENTO RESULTADO
Abs (x)
Arctan
(X)
Cos (x)
Exp (x)
Round(x)
sqr (X)
Sqrt(X)
Trunc(X)
Chr(x)
Ord(x)
Pred(x)
Succ(x)
Valor absoluto de x
Arco tangente de x
Coseno de x (radianes)
Calcula e x
Redondea el valor de x al
entero ms prximo
Calcula el cuadrado de x
Calcula la raz cuadrada
de x
Suprime la parte decimal
de x
Devuelve el carcter de un
entero x
Devuelve un entero de un
carcter
Devuelve el predecesor de
x
Devuelve el sucesor de x
Entero o Real
Entero o real
Entero o real
Entero o real
Real
Entero o real
Entero o real
Real
Entero o real
Carcter
Entero carcter o
booleano
Entero carcter o
booleano
Igual que
argumento
Real
Real
Real
Entero
Igual que x
Real
Entero
Carcter
Entero
Igual que x
Igual que x
Ejemplo
Chr(65)=AOrd(A)=65 round(2.3)=2 Trunc(2.3)=2
Chr(112)=pOrd(p)=112 round(3.7)=4 trunc(3.7)=3
Chr(53)=5Ord(5)=53 Sin(30)=0.5 sqrt(16)=4
Capitulo II EstructurasAlgortmicas
28
Pred(3)=2 Succ(3)=4 Sqr(3)=9 Pred(e)=d
Succ(e)=f
Capitulo II EstructurasAlgortmicas
29
Ejercicios Prcticos
1.Obtenerelvalordelassiguientesexpresiones:
4*7+2^3/45
6/2*(7+5)
6.0*(5mod3)+(15div4)/(5+(6*(2^3/2)div3)1)
9div2/5
2div3+3/5
4*7+2**3/45
(5<(4+10))y(6=6)
no((5<(4+10))y(6=6))
(10div2)<>0(no(4<10))
(2*3*5)<=(10/5+8)
(6=8)(6>=8)
(2*8)<>(4mod3)
2.Identifiqueaquetipodedatocorrespondelossiguientesejercicios
0.5 f.xyz
27,822 g.0515
9.3e12 h.9
9.3e12 i.1.66e+8
a j.verde
3.Determinarculesdelossiguientessonidentificadoresvlidos.Sisonvlidos,explicar
porqu.
a.Area f.1valor
b.Altura g.Costoneto
c.Valor1 h.REA
d.Ventas95 i.Nombreydireccin
e.POSICION_ACTUAL j.123456789
Capitulo III SentenciasdeControl
30
SentenciasdeControl
3.1 SentenciasdeControl
3.2 SentenciasSecuenciales
3.3 SentenciasdeDecisinoSecuenciales
3.4 SentenciasdeSeleccinAnidada
3.5 SentenciasdeBuclesoLazosRepetitivos
3.6 EleccindeEstructurasRepetitivas
3.1. SentenciasdeControl
Las Sentencias algortmicas sonungrupodeformasdetrabajo,quepermiten,mediante
la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la
solucindeproblemas.Estassentenciasseclasificandeacuerdoconsucomplejidaden:
Asignacin
Secuenciales Entrada
Salida
Tiposde Simples
Sentencias Condicionales Mltiples
Cclicas Hacerpara
Hacermientras
Repetirhasta
CAPITULO
Capitulo III SentenciasdeControl
31
3.2. SentenciasSecuenciales
La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en
secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y as sucesivamente hasta el fin del proceso. Una estructura secuencial se
representadelasiguienteforma:
Inicio
Accion1
Accion2
.
.
AccionN
Fin
Asignacin
La asignacin consiste, en el paso de valores o resultados a una zona de la memoria.
Dicha zona ser reconocida con el nombre de la variable que recibe el valor. La
asignacinsepuedeclasificardelasiguienteforma:
Simples
Consisteenpasarunvalorconstateaunavariable(a=15)
Contador:Consisteenusarlacomounverificadordelnumerodevecesqueserealizaun
proceso(a=a+1)
Acumulador:Consisteenusarlacomounsumadorenunproceso(a=a+b)
Detrabajo:Dondepuederecibirelresultadodeunaoperacinmatemticaqueinvolucre
muchasvariables(a=c+b*2/4).
EntradaySalidadeInformacin
Todoclculoqueserealizanenlacomputadorarequierenlaentradadedatosnecesarios
para ejecutar las operaciones que posteriormente se convertirn en resultados es decir,
salida.
Lasoperacionesdeentradapermitenleerdeterminadosvaloresyasignarlosadeterminas
variables. Esta entrada se conoce como operacin de lectura ( read ). La operacin de
salidasedenominaescritura(write)
Lectura
Accin1
Accin2
Accin3
Capitulo III SentenciasdeControl
32
Lalecturaconsisteenrecibirdesdeundispositivodeentrada(p.ej.elteclado)unvalor.
Estaoperacinserepresentaenunpseudocodigocomosigue:
Lasaccionesdelecturadealgoritmosserepresentanporelformato:
Leer(listadevariablesdeentrada)
Leer(a,b)
Dondeaybsonlasvariablesquerecibirnlosvalores
Escritura
Consisteenmandarporundispositivodesalida(p.ej.monitoroimpresora)unresultado
omensaje.Esteprocesoserepresentaenunpseudocodigocomosigue:
Lasaccionesdeescrituradealgoritmosserepresentanporelformato:
ImprimirEscribir(<Mensaje>,listadevariablesdesalida)
Imprimir(Elresultadoes:,R)
Donde El resultado es: es un mensaje que se desea aparezca y R es una variable que
contieneunvalor.
Ejemplos
Lasiguienteinstruccindeentrada,obtienelaedaddeunapersonadesdeundispositivo
deentrada,comoelteclado,yloalmacenaenlavariablellamadaedad:
LEER(edad)
La siguiente instruccin de entrada, obtiene tres nmeros desde un dispositivo de
entrada,comoelteclado,ylosalmacenaenlasvariablesnum1,num2ynum3:
LEER(num1,num2,num3)
Lasiguienteinstruccindesalida, muestraelcontenidodelavariablesueldoNetoenun
dispositivodesalidacomolapantalla:
IMPRIMIRsueldoNeto
La siguiente instruccin de salida, muestra el contenido de las variables montoPag y
montoDesenundispositivodesalidacomolapantalla:
IMPRIMIRmontoPag,montoDes
Capitulo III SentenciasdeControl
33
Ejercicios Resueltos
Ejercicio1
Algoritmoparasumardosnmeros
AnlisisdelProblema
Entradas: valor1(VariableA)
valor2(VariableB)
Salidas: Lasumadelvalor1msvalor2(VariableResult)
Variables: A,B,Resultdetiposdedatosenteros
ALGORITMOSUMA
Variables
A,B,Result ENTEROS
INICIO
Escribir(Ingresedos#s)
Leer(A,B)
Result (A+B)
Escribir(Result)
FINALG
PruebadeEscritorio
A B RESULT SALIDA
5 6 11
Ejercicio2
Realizar un algoritmoyDiagramadeFlujoparacalcularelreadeunrectngulocuyos
datosbaseyalturaseleendesdetecladoyelresultadosevisualizaraenlapantalla.
AlgoritmoRectngulo
Variables
area,base,altura enteros
Inicio
Escribir(Ingreselabaseyalturadeunarectngulo)
Leer(base)
Leer(altura)
area (base*altura)
Imprimir(rea)
Fin_Alg
INICIO
Ingresedos#s
FIN
Result (A+B)
A,B
Result
Ingreselabasey
alturadeun
rectngulo
Fin
area (base*altura)
INICIO
base
altura
rea
Capitulo III SentenciasdeControl
34
Ejercicio3
Algoritmoparaintercambiarlosvaloresalmacenadosena,bsinutilizarotravariable
AlgoritmoIntercambio
Variables
a,b entero
Inicio
Escribir('Ingresedosnmeros')
Leer(a,b)
b a*b
a bdiva
b bdiva
Imprimir(a,b)
Fin_Alg
Ejercicio4
Convertirlasiguienteexpresinaritmticaaalgoritmos:Expr=5*(x+y)+a2
AlgoritmoExpresin
Variables
z,x,y,a enteros
Inicio
Escribir(Ingresetresvaloresdea,x,y)
Leer(x,y,a)
z ((5*(x+y))+(a*a))
Imprimir(Elresultadodelaexpresines:,z)
FinAlg
INICIO
A,B
FIN
b a*b
a bdiva
b bdiva
a,b
Ingresedos
nmeros
INICIO
x,y,a
FIN
z((5*(x+y))+(a*a))
Elresultadodelaexpresin
es:,z
Ingrese tres
valoresa,x,y
Capitulo III SentenciasdeControl
35
Ejercicio5
Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto
dineroganaradespusdeunmessielbancopagaaraznde2%mensual.
Algoritmoinversion
Variables
Cap_inv,gan Real
Inicio
Escribir(Ingresesucapitalainvertir)
Leer(cap_inv)
gan(cap_inv*0.02)
Imprimir(gan)
Fin
Ejercicio6
UnalumnodeseasabercualsersucalificacinfinalenlamateriadeAlgoritmos.Dicha
calificacinsecomponedelossiguientesporcentajes:
55%delpromediodesustrescalificacionesparciales.
30%delacalificacindelexamenfinal.
15%delacalificacindeuntrabajofinal.
AlgoritmoCalificacion
Variables
Calif1,calif2,calif3 entero
prom,examenf,trabajof,promparcial,promexamenf,promtrabajof,califinal real
Inicio
Escribir(Ingrese3calificacionesparciales,examenfinalytrabajofinal)
Leer(Calif1,calif2,calif3,examenf,trabajof)
prom(Calif1,calif2,calif3)/3
promparcial(prom*0.55)
promexamenf(examenf*0.30)
promtrabajof(trabajof*0.15)
califinal(promparcial+promexamenf+promtrabajof)
Imprimir(califinal)
Fin
Ejercicio7
Un vendedor recibe un sueldo base mas un 10% extra por comisin de sus ventas, el
vendedor desea saber cuanto dinero obtendr por concepto de comisiones por las tres
ventasquerealizaenelmesyeltotalquerecibirenelmestomandoencuentasusueldo
baseycomisiones.
Algoritmoinversion
Variables
sueldob,ventas1,ventas2,ventas3,tot_ventas,comision,totalpago Real
Inicio
Escribir(Ingresesusueldobaseysuscomisionesextras)
Leer(sueldob,ventas1,ventas2,ventas3)
tot_ventas(ventas1+ventas2+ventas3)
Capitulo III SentenciasdeControl
36
comision(tot_ventas*0.10)
totalpago(sueldob+comision)
Imprimir(totalpago,commission)
Fin
Ejercicio8
Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea
sabercuantodeberpagarfinalmenteporsucompra.
Algoritmotienda
Variables
tcompra,desc,tpagoreal
Inicio
Escribir(Ingreselacantidadtotaldelacompra)
Leer(tcompra)
desc(tcompra*0.15)
tpago(tcompradesc)
Imprimir(tpago)
Fin
Ejercicios Propuestos
Desarrolle los siguientes problemas a un lenguaje algortmico y diagramas de flujo
aplicandolasfasesderesolucindeunAlgoritmo
1. Escribirunalgoritmoquecalculeyescribaelcuadradode25
2. Dada un cantidad en pesos, obtener la equivalencia en dlares, asumiendo
quelaunidadcambiaraesundatodesconocido.
3. Calcularelnumerodepulsacionesqueunapersonadebetenerporcada10
segundos de ejercicio, si la formula es: num. pulsaciones = (220
edad)/10
4. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25%
sobresusalarioanterior.
5. Enunhospitalexistentresreas:Ginecologa,Pediatra,Traumatologia.El
presupuestoanualdelhospitalsereparteconformealasig.tabla:
rea Porcentajedelpresupuesto
Ginecologa 40%
Traumatologia 30%
Pediatra 30%
6. Obtenerlacantidaddedineroquerecibircadarea,paracualquiermonto
presupuestal.
7. El dueo de una tienda compra un articulo a un precio determinado.
Obtener el precio en que lo debe vender para obtener una ganancia del
30%.
Capitulo III SentenciasdeControl
37
8. Todos los lunes, mircoles y viernes, una persona corre la misma ruta y
cronometra los tiempos obtenidos. Determinar el tiempo promedio que la
personatardaenrecorrerlarutaenunasemanacualquiera.
9. Un alumno desea saber cual ser su promedio general en las tres materias
masdifcilesquecursaycualserelpromedioqueobtendrencadaunade
ellas.Estasmateriasseevalancomosemuestraacontinuacin:
LacalificacindeMatemticasseobtienedelasig.manera:
Examen90%
Promediodetareas10%
Enestamateriasepidiuntotaldetrestareas.
LacalificacindeFsicaseobtienedelasig.manera:
Examen80%
Promediodetareas20%
Enestamateriasepidiuntotaldedostareas.
LacalificacindeQumicaseobtienedelasig.manera:
Examen85%
Promediodetareas15%
Enestamateriasepidiunpromediodetrestareas.
3.3. SentenciasdeDecisionoCondicionales
Son aquellas que permiten decidir algo dependiendo del valor que asuma, a lo cual
deberejecutarseunaovariasaccionesrelacionadasconesevalor.
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que
en base al resultado de esta comparacin, se siga un curso de accin dentro del
programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o
contra una constante, segn se necesite. Existen dos tipos bsicos, las simples y las
mltiples.
Lasestructurasselectivasodeseleccinseclasificanen:
Estructuradeseleccinsimple(SI).
Estructuradeseleccindoble(SISINO).
Estructuradeseleccinmltiple(ENCASOSEA)
Estructura de Seleccin Simple SI
EnlaestructuradeseleccinsimpleSI,evalaunacondicinlgicay:
SilacondicinesverdaderaseejecutalaaccinA.LaaccinApuedeseruna
instruccinsimple(unasolainstruccin)ounainstruccin compuesta(un
conjuntodeinstruccin).
Capitulo III SentenciasdeControl
38
Silacondicinesfalsa,nosehacenada.
Lacondicinpuedeserelaboradamediantelautilizacindeoperadoresde
relacinascomooperadoreslgicosobooleanos
FLUJODECONTROLDEUNASENTENCIASIENTONCES
Nota:
Enelcasodeinstruccionescompuestas,estasserndelimitadasporinicioyfin.
Pseudocdigo(accinsimple)
SI(condicin)entonces
instruccinA
Pseudocdigo(accincompuesta)
SI(condicin)entonces
inicio
instruccinA1
instruccinA2
.
.
.
instruccinAn
fin_si
Condicin
AccinA
V
F
Capitulo III SentenciasdeControl
39
Ejemplo
Algoritmo para determinar si un nmero entero ingresado por teclado es positivo o
negativoeimprimirelmensaje"FueunplacerServirlo".
AlgoritmoNmeros
Variables
N Entero
Inicio
Escribir(Ingreseunnmeroentero)
Leer(n)
Sin>0Entonces
Imprimir('Numeropositivo')
Sin<0Entonces
Imprimir('Numeronegativo')
Imprimir('Fueunplacerservirlo')
Fin.
INICIO
Ingreseunnumeroentero
N
FIN
N>0
Nmero
Positivo
N<0
Nmero
Negativo
Fueunplacer
servirlo
Capitulo III SentenciasdeControl
40
Estructura de Seleccin Doble SI SINO
LaestructuradeseleccindobleSISINOevalaunacondicinlgicay:
Silacondicinesverdadera,ejecutalaaccinA.
Silacondicinesfalsa,ejecutalaaccinB.
Tanto la accin A como la accin B pueden ser acciones simples (una sla accin) o
accionescompuestas(unconjuntodeacciones).
Nota:
Enelcasodeaccionescompuestas,estasserndelimitadasporinicioyfin.
DiagramadeFlujoSeleccinDoble Pseudocdigo(accionessimples)
SI(condicin)entonces
accinA
casocontrario
accinB
Pseudocdigo(acciones
compuestas)
SI(condicin)entonces
inicio
accinA1
accinA2
.
.
.
accinAn
fin_si
CASOCONTRARIO
inicio
accinB1
accinB2
.
.
.
accinBn
fin_caso_contrario
Condicin
AccinB
V F
AccinA
Capitulo III SentenciasdeControl
41
INICIO
Ingreselaedaddeuna
persona
Edad
FIN
Edad>=18
Mayorde
edad
Menorde
edad
Por ejemplo, si se desea saber si una persona es mayor o menor de edad, podemos
escribir:
AlgoritmoEdades
Variables
edad Entero
Inicio
Escribir(Ingreselaedaddeunapersona)
Leer(edad)
SI(edad>=18)entonces
IMPRIMIR("Mayordeedad")
CASOCONTRARIO
IMPRIMIR("Menordeedad")
Fin_si
Fin_alg.
Ejemplo
Unestudiantedeseasabersihaaprobadolaasignaturadeliteratura
AlgoritmoEstudiante
Variables
calif entero
Inicio
Escribir(Ingresesucalificacin)
Leer(calif)
Sicalif>=7Entonces
Escribir('Aprobado')
CASOCONTRARIO
Escribir('Reprobado')
Fin_si
Fin_alg.
INICIO
Ingresesucalificacin
Calif
FIN
Calif>=7
Reprobado Aprobado
Capitulo III SentenciasdeControl
42
3.4. SentenciasdeSeleccinAnidadasSI
Se dice queunaestructuraSI(oSISINO)estaanidadacuandoestacontenidadentro
deotraestructuraSIodentrodeotraestructuraSISINO.Noexistelmiteencuantoal
niveldeanidamiento.
Por ejemplo, una estructura SI con tres niveles de anidamiento tendra el siguiente
formato:
SI(condicinC1)entonces
Inicio
accinA1
SI(condicinC2)entonces
inicio
accinA2
SI( condicinC3)entonces
accinA3
fin_si(c2)
Fin_si(c1).
Engeneral,elanidamientopodraevitarseusandoeloperadorlgico"y".As,laanterior
seleccin SI anidada puede descomponerse en tres estructuras de seleccin simple no
anidadasconsecutivas,comosemuestraacontinuacin.
SI(condicinC1)
accinA1
SI(condicinC1ycondicinC2)
accinA2
SI(condicinC1ycondicinC2ycondicinC3)
accinA3
Ejemplo
Dadostresnmerosenteros.Determinarculeselmayor.
Algoritmomayor
Variables
mayor,a,b,centeros
Inicio
Escribir('Ingresetresnmerosenteros')
Leer(a,b,c)
SIa>bENTONCES
inicio
Sia>cEntonces
Mayora
CasoContrario
mayorc
Fin_Si
CASOCONTARIO
inicio
Capitulo III SentenciasdeControl
43
Sib>cEntonces
mayorb
CasoContrario
mayorc
Fin_caso_contrario.
Escribir('Elnmeromayores:',mayor)
Fin_Si
Estructura de Seleccin Mltiple
La estructura de seleccin mltiple SEGUN permite elegir una la eleccin de o ms
acciones accin de entre una lista de varias opciones, usando para ello una variable
denominada selector. El selector se compara con una lista de constantes enteras o de
carcterC1,C2,...,CnparacadaunadelascualeshayunaaccinA1,A2,...,Any:
Sielselectorcoincideconunaconstantedelalista,seejecutalaaccin
correspondienteadichaconstante.
Sielselectornocoincideconningunaconstantedelalista,seejecutalaaccin
Dfcorrespondienteal CASOCONTRARIO,siesqueexiste.
Las acciones A1, A2, A3, ..., An pueden ser acciones simples( una sola accin) o
accionescompuestas(unconjuntodeacciones).
INICIO
Ingrese tres nmeros
enteros
a,b,c
FIN
a>b
a>c
Elnmeromayor
es:, mayor
Mayor a mayor c
b>c
mayor b
mayor c
si
Casocontrario
si si
Casocontrario Casocontrario
Capitulo III SentenciasdeControl
44
EnlaFigurasemuestraelpseudocdigodelaestructuradeseleccinmltiple.
Nota:
Enelcasodeaccionescompuestas,estasnonecesitanestarencerradasentrellaves.
SEGUN(selector)HACER
INICIO
CASOC1:accinA1
CASOC2:accinA2
CASOC3:accinA3
CASOCn:accinAn
CASOCONTARIO
accinDf
FIN_SEGUN_SEA
Ejemplo
Elabore un Algoritmo que en la variable result=10 realicen las respectivas operaciones.
Elalgoritmodebeleeruncarcterytomarunadelassiguientesdeterminaciones:
Sies'+'debesumarlavariableresultmas5
Sies''deberestarlavariableresultmenos5
Sies'*'debemultiplicarlavariableresultpor5
Sies'/'debedividirlavariablepara5
AlgoritmoDeterminacion
Variables
OperadorCaracter
resultEntero
Inicio
result10
Escribir('IngreseunOperador')
Leer(operador)
SEGNSEAoperadorHACER
'+':resultresult+5
'':resultresult5
'*':result result*5
'/':resultresult/5
SELECTOR
Sentencia1 Sentencia1 Sentencia1 Sentencia1 SentenciaN Sentencia1
Capitulo III SentenciasdeControl
45
Fin_Caso
ESCRIBIR(result)
Fin_Alg
Ejercicios Resueltos
Ejercicio1
Realizarunalgoritmoparadeterminarsiunnmeroingresadoportecladoesmltiplode
otro.
Algoritmomltiplo
Variables
a,bentero
Inicio
Escribir('Ingresedosnmerosenteros')
Leer(a,b)
Si((amodb)=0)((bmoda)=0)
Entonces
Escribir('Siesmltiplo')
CasoContario
Escribir('Noesmltiplo')
Fin_Si.
Fin_Alg
Inicio
Ingreseun Operador
Operador
result 10
OPERADOR
result
result+5
result
result 5
result
result*5
result
result/5
Result
FIN
+
*
/
INICIO
amodb=0
bmoda=0
Siesmltiplo Noes
mltiplo
FIN
NO SI
Ingresedos
nmeros
Capitulo III SentenciasdeControl
46
Ejercicio2
Hacer un algoritmo que pida los tres lados de un tringulo, y diga s l Tringulo es
Equiltero,IsscelesEscaleno.
Algoritmotringulo
Variables
L1,L1,L2ENTEROS
Inicio
Escribir(Ingresetresladosdeuntringulo)
Leer(L1,L2,L3)
SiL1=L2yL2=L3Entonces
Escriba(Equiltero)
CasoContrario
SiL1=L2oL2=L3oL1=L3Entonces
Escriba(Issceles)
CasoContrario
Escribir(Escaleno)
Fin_Si
Fin_Si
Fin_Si
Fin_Algoritmo
Ejercicio3
Diseeunalgoritmoquedeterminesiunnmeroesnegativo,positivoocero.
Algoritmo(Formato1)
INICIO
REALn
LEERn
SI(n>0)
IMPRIMIR"Positivo"
INICIO
Ingrese tresladosde
untriangulo
FIN
l1=l2
y
si Casocontrario
si
Casocontrario
Equiltero
l1=l2
l2=l3
Issceles Escaleno
Capitulo III SentenciasdeControl
47
CASOCONTRARIO
SI(n<0)
IMPRIMIR"Negativo"
CASOCONTRARIO
IMPRIMIR"Cero"
FIN
Algoritmo(Formato2)
INICIO
REALn
LEERn
SI(n>0)
IMPRIMIR"Positivo"
CASOCONTRARIO
SI(n<0)
IMPRIMIR"Negativo"
CASOCONTRARIO
IMPRIMIR"Cero"
FIN
Ejercicio4
Unascamisassevendena$10dlarescadaunasisecompranmsdetres,ya$12en
los dems casos. Escriba un algoritmo que lea un nmero de entrada de camisas
compradaseimprimaelcostoTotal.
AlgoritmoCamisas
Variables
Cantidad Entero
Costo Real
Inicio
Escribir(IngreseElNmeroDeCamisasCompradas)
Leer(Cantidad)
SiCantidad>3Then
Costo Cantidad*10
CasoContrario
Costo Cantidad*12
Fin_Si
Escribir(Cantidad,CamisasCuestan$,Costo)
Fin_Alg.
Ejercicio5
Escribaunprogramaquerecibaelpesodeunacartaenonzascomoentradaeimprima
elcostodelportecalculadosegnlareglasiguiente:
Laprimeraonzacuesta$.25(dlares)
Cadaonzaadicionalcuesta$.04.
Algoritmoonza
Variables
Onzas Entero
Precio Real
Inicio
Escribir(ingreseelpezoenonzas)
Leer(onzas)
Si(onzas=1)entonces
Capitulo III SentenciasdeControl
48
precio (onzas*25)
Casocontrario
precio (((onzas1)*0.4)+25)
Fin_si
Escribir(Elpreciototales,precio)
Fin_Alg.
Ejercicio6
EnlaPondukaStateUniversity,losveteranosslopagan$30(dlares)porasignatura
mientras que los dems ( regulares ) pagan $ 50 por asignatura . Escriba un
algoritmo en el que el usuario introduce los datos del estudiante ( Vet o Reg) y el
nmero de asignaturas . La salida debe indicar si el estudiante es de la categora
veteranooregulareindicarelnmerodemateriasyloscostosdelacolegiatura.
AlgoritmoUniversidad
Variables
a,b,ccaracter
mat,pagEntero
Inicio
Escribir('INGRESELOSDATOSDELESTUDIANTE(VET(v)oREG(r))')
Leer(c)
Escribir('INGRESEELNUMERODEMATERIAS')
Leer(mat)
Si(c='v')Entonces
Pagmat*30
Escribir('Tipoestudiante:Veterano')
Escribir('Nmerodematerias:',mat)
Escribir('PAGODECOLEGIATURA:',PAG)
Fin_Si
Si(c='r')Entonces
Pagmat*50
Escribir('Tipoestudiante:Regular')
Escribir('Nmerodematerias:',mat)
Escribir('PAGODECOLEGIATURA:',PAG)
Fin_Si
Fin_Alg
Ejercicio7
Disee un algoritmo queleatreslongitudesydeterminesiformanonountringulo.Si
esuntringulodeterminedequetipodetringulosetrataentre:equiltero(sitienetres
lados iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados
desiguales).Considerequeparaformaruntringuloserequiereque:"elladomayorsea
menorquelasumadelosotrosdoslados.
Algoritmolongitudes
Variables
L1,L2,L3,suma,mayorEnteros
INICIO
Escribir(Ingreselaslongitudesdeuntriangulo)
LEER( L1,L2,L3)
mayor=L1 //Determinaelladomayor
SI(L2>mayor) entonces
mayorL2
Capitulo III SentenciasdeControl
49
SI(L3>mayor) entonces
mayorL3
suma( L1+L2+L3mayor) //Determinalasumadelosladosaexcepcindelladomayor
SI(mayor<suma) entonces //Determinadequetipodetringulosetrata
Inicio
SI((L1=L2)y(L2=L3) ) entonces
IMPRIMIR("Tringuloequiltero")
casocontrario
Si((L1=L2)o(L1=L3) o(L2=L3)) entonces
IMPRIMIR("Tringuloissceles")
Casocontrario
IMPRIMIR("Tringuloescaleno")
Fin_si
Casocontrario
IMPRIMIR("Noesuntringulo")
FIN.
Ejercicio8
Diseeunalgoritmoqueleatresnmerosylosimprimademayoramenorydemenora
mayor
Algoritmoorden
Variables
n1,n2,n3,mayor,menor,medioenteros
INICIO
Escribir(Ingresetresnmeros)
LEER(n1,n2,n3)
menorn1 //Determinaelmenor
SI(n2<menor) entonces
menorn2
SI(n3<menor) entonces
menorn3
mayor=n1 //Determinaelmayor
SI(n2>mayor) entonces
mayorn2
SI(n3>mayor) entonces
mayorn3
medio=(n1+n2+n3mayormenor) //Determinaelnmeromedio
IMPRIMIR(menor,medio,mayor) //Imprimeenordenascendente
IMPRIMIR(mayor,medio,menor) //Imprimeenordendescendente
FIN
Ejercicio9
Imprimirelvalordelosnmerosromanos.
AlgoritmoNum_Rom
VARIABLES
ChCaracter
INICIO
Leer(ch)
CASOQUEChSEA
'I':Escribir('NumeroUno')
Capitulo III SentenciasdeControl
50
'V':Escribir('NumeroCinco')
'X':Escribir('NumeroDiez')
'L':Escribir('Numerocincuenta')
'C':Escribir('NumeroCien')
'D':Escribir('Numero500')
'M':Escribir('NumeroMil')
Casocontrario
Escribir('NoesnumeroRomano')
Fin_Caso
Fin_Alg
Ejercicio10
Escribir una sentencia CASE que dado un selector entero llamado nombre, imprima el
primernombresinombre=1,elprimerApellidosiNombre=2yelsegundoApellidosi
Nombreesigual=3
AlgoritmoNombre
variables
nombreEntero
Inicio
Leer(nombre)
CASOQUEnombreSEA
1:Escribir('Mary')
2:Escribir('Lynn')
3:Escribir('Smith')
Fin_Caso
Fin_Alg.
Ejercicios Propuestos
EjerciciosIndividuales
Desarrolle los siguientes problemas de sentencias Condicionales a un lenguaje
algortmicoconsurespectivapruebaescritorioydiagramadeFlujo
1. Dado tres variables enteras num1,num2,num3, encuentre el mayor entre
estostresnmerosyalmaceneenunavariableenterallamadamax.
2. EscribaunAlgoritmoqueleadosnmerosenteroscomoentradayescriba
el mensaje " Signos Opuestos" solo si uno de los enteros es positivo y el
otronegativo.
3. Escriba un Algoritmo que reciba como entrada dos enteros positivos
distintos y escriba la diferencia entre el nmero mayor y el menor,
asegrese de que su programa escriba 6 tanto cuando la entrada es 9 15
comocuandolaentradaes159
4. Elaborar un Algoritmo para invertir una cifra almacenada en una variable
A de tal manera si ingresa 834 debe darle como salida 438 , el dato
ingresadodebeestarenunrangode1y999.
Capitulo III SentenciasdeControl
51
5. Dados tres nmeros ingresados por teclado, elaborar un Algoritmo para
almacenarenunasolavariablelostresnmeroseimprimirlosapantalla.
6. En una Universidad Estatal, los cargos por colegiatura son de $50
(dlares) por materia, con un cargo mximo de $750 independientemente
del nmero de asignaturas tomadas. As un estudiante que cursa 12
materias pagara $600, mientras que toma 21 pagara el cargo mximo de
$750. Escriba un Algoritmo en el que la entrada es elnmerodematerias
ylacolegiaturaeslasalida.
7. Elaborarun Algoritmoquecalculesuedadactualen(ddmmaa).
8. Suponiendo que se ingresa una vocal por teclado, realice un algoritmo
paradeterminarsiesabiertaocerrada.
9. Sedeseaingresarunnmeroportecladocorrespndienteaunacalificacin
sedeseasabersuequivalencia:
1920:Sobresaliente
1618:MuyBuena
1415:Buena
1213:Regular
11menos:Insuficiente
10. Elaborarunprogramautilizandounmen:
N:Nombredelcliente
D:Direccin
T:Telfono
C:Ciudad
F:Fin
11. ElAlgoritmodebepermitirelegirunaopcin,lacualsedebeasignarauna
variabledetipocarcter.Elusuariopuedeintroducirlaletramaysculao
minscula.
12. ElaboreunAlgoritmoqueleadosvariablesenterasayb.Elprogramadebe
leeruncarcterytomarunadelassiguientesdeterminaciones:
Sies'+'debesumarlasdosvariables
Sies''deberestarlasdosvariables
Sies'*'debemultiplicarlasdosvariables
Sies'/'debedividirlasdosvariables
Sies'%'debeobtenerelresiduodeladivisin.
EjerciciosGrupales
Desarrolle los siguientes problemas de sentencias Condicionales a un lenguaje
algortmicoyaundiagramadeflujoconsurespectivapruebaescritorio
1. Calculareltotalqueunapersonadebepagarenunllantera,sielpreciode
cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se
compran5omas.
2. En un supermercado se hace una promocin, mediante la cual el cliente
obtieneundescuentodependiendodeunnumeroqueseescogealazar.Si
elnumeroescogidoesmenorque74eldescuentoesdel15%sobreeltotal
Capitulo III SentenciasdeControl
52
de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener
cuantodineroseledescuenta.
3. Calcularelnumerodepulsacionesquedebetenerunapersonaporcada10
segundos de ejercicio aerbicolaformulaqueseaplicacuandoelsexoes
femeninoes:
num.pulsaciones=(220edad)/10
ysielsexoemasculino:
num.pulsaciones=(210edad)/10
4. Enunaescuelalacolegiaturadelosalumnossedeterminasegnelnumero
demateriasquecursan.Elcostodetodaslasmateriaseselmismo.
Se ha establecido un programa para estimular a los alumnos, el cual
consiste en lo siguiente: si el promedio obtenido por un alumno en el
ultimo periodo es mayor o igual que 9, se le har un descuento del
30% sobre la colegiatura y no se le cobrara IVA si el promedio
obtenidoesmenorque9deberpagarlacolegiaturacompleta,lacual
incluyeel10%deIVA.Obtenercuantodebepagarunalumno.
5. El gobierno ha establecido el programa SAR (Sistema de Ahorro para el
Retiro) que consiste en que los dueos de la empresa deben
obligatoriamentedepositarenunacuentabancariaunporcentajedelsalario
de los trabajadores adicionalmente los trabajadores pueden solicitar a la
empresa que deposite directamente una cuota fija o un porcentaje de su
salario en la cuenta del SAR, la cual le ser descontada de su pago. Un
trabajador que ha decidido aportar a su cuenta del SAR desea saber la
cantidad total de dinero que estar depositadoaesacuentacadames,yel
pagomensualquerecibir.
El gobierno del estado de Mxico desea reforestar un bosque que mide
determinado numero de hectreas. Si la superficie del terreno excede a 1
millndemetroscuadrados,entoncesdecidirsembrardelasig.manera:
Porcentajedelasuperficiedelbosque Tipoderbol
70% pino
20% oyamel
10% cedro
Si la superficie del terreno es menor o igual a un milln de metros
cuadrados,entoncesdecidirsembrardelasig.manera:
Porcentajedelasuperficiedelbosque Tipoderbol
50% pino
30% oyamel
20% cedro
6. Elgobiernodeseasaberelnumerodepinos,oyamelesycedrosquetendr
que sembrar en el bosque, si se sabe que en 10 metroscuadradoscaben8
pinos, en 15 metros cuadrados caben 15 oyameles y en 18 metros
Capitulo III SentenciasdeControl
53
cuadrados caben 10 cedros. Tambin se sabe que una hectrea equivale a
10milmetroscuadrados.
7. Una fbrica ha sido sometida a un programa de control de contaminacin
paralocualseefectaunarevisindelospuntosIMECAgeneradosporla
fbrica. El programa de control de contaminacin consiste en medir los
puntos IMECA que emite la fabrica en cinco das de una semana y si el
promedioessuperioralos170puntosentoncestendrlasancindeparar
suproduccinporunasemanayunamultadel50%delasgananciasdiarias
cuando no se detiene la produccin. Si el promedio obtenido de puntos
IMECA es de 170 o menor entonces no tendr ni sancin ni multa. El
dueo de la fbrica desea saber cuanto dinero perder despus de ser
sometidoalarevisin.
8. En un juego de preguntas a las que se responde Si o No gana quien
respondacorrectamentelastrespreguntas.Siserespondemalacualquiera
de ellas ya no se pregunta la siguiente y termina el juego. Las preguntas
son:
ColondescubriAmrica?
LaindependenciadeMxicofueenelao1810?
TheDoorsfueungrupoderockAmericano?
9. Unafruteraofrecelasmanzanascondescuentosegnlasiguientetabla:
NUM.DEKILOSCOMPRADOS %DESCUENTO
0 2 0%
2.01 5 10%
5.0110 15%
10.01enadelante 20%
Determinar cuanto pagar una persona que compre manzanas es esa
frutera.
10. Una institucin educativa estableci un programa para estimular a los
alumnosconbuenrendimientoacadmicoyqueconsisteenlosiguiente:
Sielpromedioesde9.5omasyelalumnoesdepreparatoria,
entoncesestepodrcursar55unidadesyseleharun25%de
descuento.
Sielpromedioesmayoroiguala9peromenorque9.5yel
alumnoesdepreparatoria,entoncesestepodrcursar50unidades
yseleharun10%dedescuento.
Sielpromedioesmayorque7ymenorque9yelalumnoesde
preparatoria,estepodrcursar50unidadesynotendrningn
descuento.
Sielpromedioesde7omenor,elnumerodemateriasreprobadas
esde0a3yelalumnoesdepreparatoria,entoncespodrcursar
45unidadesynotendrdescuento.
Capitulo III SentenciasdeControl
54
Sielpromedioesde7omenor,elnumerodemateriasreprobadas
esde4omasyelalumnoesdepreparatoria,entoncespodr
cursar40unidadesynotendrningndescuento.
Sielpromedioesmayoroiguala9.5yelalumnoesde
profesional,entoncespodrcursar55unidadesyseleharun
20%dedescuento.
Sielpromedioesmenorde9.5yelalumnoesdeprofesional,
entoncespodrcursar55unidadesynotendrdescuento.
Obtenereltotalquetendrquepagarunalumnosilacolegiaturaparaalumnos
de profesional es de $300 por cada cinco unidades y para alumnos de
preparatoriaesde$180porcadacincounidades.
11. UsandolasentenciaCasoque,elaboreunAlgoritmoqueleauncarctery
escribalosiguiente:
Sielcarcterrepresentaunnmero,elmensaje'nmero'.
Sielcarcteresunaletradela'a'ala'z'letraminscula.
Sielcarcteresunaletradela'A'ala'Z' letramayscula.
Deotromodoescriba'Carcternovlido'.
12. UsandolasentenciaCASOQUEelaboreunAlgoritmoqueleauncarcter
numricoydependiendodelcarcterdeberealizarlosiguiente:
Sielcarcteres'5'debeescribirelnmero5
Sielcarcterestcomprendidoentre'6'y'9'esunavariablesedebe
almacenarsuvalornumricomselsucesordelvalornumrico.
Sielcarcterestcomprendidoentre'6'y'9'esunavariablesedebe
almacenarsuvalornumricomenoselanteriordelvalornumrico.
3.5. SentenciasdeBuclesoLazosRepetitivos.
Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesario
utilizarunmismoconjuntodeaccionesquesepuedanejecutarunacantidadespecificade
veces. Esta cantidad puede ser fija (previamente determinada por el programador) o
puede ser variable (estar en funcin de algn dato dentro del programa).Los ciclos se
clasificanen:
PARA/DESDE/HASTA/HAGA.
MIENTRAS/HACER.
REPETIR/HASTA
Capitulo III SentenciasdeControl
55
Sentencia Para / Desde / Hasta / Haga
El cuerpo de un ciclo PARA es la lnea o grupos de lneas que se van a ejecutar un
nmero especifico de veces. Y DE MODO AUTOMTICO CONTROLA EL
NMERODEITERACIONESOPASOSATRAVSDELCUERPODELBUCLE
PARAVariableValorInicialHASTAvalorFinalHAGA
Sentencia1
Sentencia2
.
.
SentenciaN
Fin_Para
Al ejecutarse una sentencia PARA por primera vez, el valor inicial se asigna a variable
quesedenominavariabledecontrol,yacontinuacinseejecutalasentenciadelinterior
delbuclehastaquesecumplaelvalordellimitesuperior.
Ejemplo
EscribaunAlgoritmoparaimprimirlosnmerosdel1al100
Algoritmosuma
Variables
IndiceEntero
Inicio
ParairdesdeIndice1hasta100hacer
Escribir(Indice)
Fin_Para
Fin_Alg.
Indice1
hasta100
Indice
FIN
INICIO
FijarlaVariableIndiceal
ValorInicial
VardeControl
LmiteInferior
LmiteSuperior
Sentencias

No
Si
Capitulo III SentenciasdeControl
56
Ejemplo
EscribaunAlgoritmoparacalcularlasumade1+1/2+...+1/50
Algoritmosuma
Variables
IndiceEntero
SumReal
Inicio
Sum0
ParairdesdeIndice1hasta50hacer
Sum(sum+(1/Indice))
Fin_Para
Escribir('LASUMATOTALES=',SUM)
Fin_Alg.
Ejemplo
AlgoritmoparaSumarlosnmerosdel1al100.
AlgoritmoSuma
Variables
Suma,IndiceEnteros
Inicio
Suma0
ParairdesdeIndice1hasta100hacer
SumaSuma+Indice
Escribir('LasumaTotales:',Suma)
Fin_Para.
Fin_Alg
BuclesAnidados
Laestructuradebuclespuedenanidarseinternamente,esdecirsepuedesituarunbucle
enelinteriordeotrobucle,AligualquesucedeconlosbuclesMIENTRAS\REPEAT
UNTILesposibleponerunbucledentrodeotrobucle,cuandodeanidanbuclessedebe
tenerencuidadoqueelbucleinteriorestcompletamentedentrodelbucleexterior.silos
buclessecruzannosernvlidos.
Ejemplos
ParaIVal_InHastanHaga
ParaIVal_InHastanHaga
Sentencia1
Sentencia2
Fin_Para
Fin_Para.
Indice1
hasta50
Lasumatotal
es=
SUM
FIN
INICIO
Sum0
Sum(sum+
(1/Indice))
Capitulo III SentenciasdeControl
57
ParaIVal_InlHastaval_FinalHaga
ParaJ Val_InlHastaval_FinalHaga
PARAKVal_InlHastaval_FinalHaga
Sentencia1
Sentencia2
Fin_Para
Sentencia3
Fin_Para
Sentencia4
Fin_Para
Ejemplo
Elaborarunalgoritmoparaobtenerlatablapopulardemultiplicardelosescolares.
AlgoritmoTabla_Multip
I,j,Producto Enteros
Inicio
ParaIrdesdeI1hasta9Haga
Escribir(Tabladel,I)
ParaIrdesdeJ1hasta10Haga
Producto I*J
Escribir(I,*,J,=,Producto)
Fin_Para
Fin_Para
Fin_Alg
Ejercicios Resueltos
Ejercicio1
ElaborarundiagramadeFlujoparacalcularlasumatoriadelasiguienteexpresinS=1!
+2!+3!+4!+...+N!
AlgoritmoFactorial
Variables
I,Num,Facto,Suma Enteros
Inicio
Suma 0
Facto 1
Escribir(IngreseunNmero)
Leer(Num)
ParaIrdesdeI1hastaNumHaga
Facto Facto*I
SumaSuma+Facto
Fin_Para
Escribir(Suma)
Fin_Alg
INICIO
Suma 0
Facto 1
Ingreseunnmero
num
I1hastaNum
Facto Facto*ISuma
Suma+Facto
Suma
FIN
Capitulo III SentenciasdeControl
58
Ejercicio2
Algoritmo quepermiteimprimirlasletrasdelabecedario(elcdigoASCIIdelaletra
'A'es65).
AlgoritmoAbecedario
Variables
IEntero
ACaracter
Inicio
ParaIrdesdeIndice1hasta25Haga
A(chr(65+i))
Escribir('LasletrasdelAbecedarioson:',A)
Fin_para
Fin_Alg
Ejercicio3
Leer500nmerosenterosyobtenercuantossonpositivos
Algoritmonumero
Variables
Num,pos,iEnteros
Inicio
Pos0
ParaIrdesdeIndice1hasta500Haga
Escribir('Ingreseunnmero')
Leer(num)
Sinum>0Entonces
PosPos+1
Fin_Si
Escribir('Losnmerospositivosson',Pos)
Fin_Para
Fin_Alg.
Ejercicio4
Disearunalgoritmoparaelevar(a
b
).Luegoimprimirelresultado
Ejemplo:Entrada2,4Salida16
Entrada4,3Salida64
Algoritmoexponente
Variables
Base,Exp,resultEnteros
Inicio
Result1
Escribir('IngreselaBaseyelExponente')
Leer(Base,Exp)
ParaIrdesdeIndice1hastaExpHaga
ResultResult*Base
Escribir('Elresultadoes:',Result)
Fin_Para
Fin_Alg
Capitulo III SentenciasdeControl
59
Ejercicio5
Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Diseo
EstructuradodeAlgoritmos
Algoritmopromedio
Variables
Sum,calif,cEnteros
Promreal
Inicio
Sum0
ParaIrdesdec=1hasta7Haga
Escribir(Ingresesucalificacin,c)
Leer(calif)
Sum(sum+calif)
Finpara
prom(sum/7)
Imprimir(prom)
Fin.
Ejercicio6
Leer10nmeroseimprimirsolamentelosnmerospositivos
Algoritmopositivos
Variables
n,numEnteros
Inicio
ParaIrdesden=1hasta10Haga
Escribir('Ingreseunnmeroentero)
Leer(num)
Si(num>0)entonces
Imprimir(num)
finsi
Finpara
Fin.
Ejercicio7
Leer20nmeroseimprimircuantossonpositivos,cuantosnegativosycuantosneutros.
Algoritmonmeros
Variables
cn,cp,cneg,num,xEnteros
Inicio
cn=0
cp=0
cneg=0
ParaIrdesdex=1hasta20Haga
Escribir('Ingreseunnmeroentero)
Leer(num)
Sin( num=0)entonces
cncn+1
Casocontrario
Sinum>0entonces
cpcp+1
Capitulo III SentenciasdeControl
60
Casocontrario
cnegcneg+1
Finsi
Finsi
Finpara
Imprimir(cn,cp,cneg)
Fin.
Ejercicio8
Leer15nmerosnegativosyconvertirlosapositivoseimprimirdichosnmeros.
Algoritmoconversion
Variables
num,x,posEnteros
Inicio
ParaIrdesdex=1hasta15Haga
Leer(num)
posnum*1
Imprimir(num,pos)
Finpara
Fin.
Ejercicio9
Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimir el
multiplicando,elmultiplicadoryelproducto.
Algoritmotabla
Variables
num,x,resulEnteros
Inicio
Escribir('Ingreseelnmerodelatablademultiplicaragenerarse)
Leer(num)
ParaIrdesdex=1hasta 12Haga
resul(num*x)
Imprimir(num,*,X,=,resul)
Finpara
fin.
Ejercicio10
Supongaquesetieneunconjuntodecalificacionesdeungrupode40alumnos.Realizar
un algoritmo para calcular la calificacin media y la calificacin mas baja de todo el
grupo.
Algoritmocalificacin
Variables
sum,baja,calif,aEnteros
mediareal
Inicio
sum=0
baja=9999
Capitulo III SentenciasdeControl
61
ParaIrdesdea=1hasta40Haga
Escribir('Ingresecalificacin)
Leer(calif)
sum(sum+calif)
Si(calif<baja)entonces
bajacalif
finsi
Finpara
mediasum/2
Imprimir(media,baja)
Fin
Ejercicios Propuestos
EjerciciosIndividuales
DesarrollelossiguientesproblemasaunlenguajealgortmicoydiagramadeFlujo
1. Calcularlasumadeloscuadradosdelos100primerosnmerosnaturales.
2. Calcularlasumadecuatronmerosintroducidosporteclado.
3. Calcularlasumadennmerosintroducidosporteclado.
4. Calculareimprimirloscuadradosdel20al50
5. Calcularlamediaaritmticadennmerosingresadosporteclado
6. Disearunalgoritmoparaimprimirlosnmerosimparesenelrangodel1
al100
7. Calcularlasumadelosnmerosenterosdel1al100
8. Imprimirtodoslosnmerosparesentre2y1000inclusive
9. Leer 100 nmeros. Determinar la media de los nmeros positivos y la
mediadelosnmerosnegativos
10. Elaborar un diagrama de flujo que calcule todas las ordenadas pares de la
funcinY=f(x)=x
3
+1elalgoritmodebeimprimirlaabcisaylaordenada
paralosvalorescomprendidosentre0y30
EjerciciosGrupales
DesarrollelossiguientesproblemasaunlenguajealgortmicoydiagramadeFlujo
1. Realizar un programa que lea 50 nmeros e imprima el nmero mayor .
Ejemplo sea la serie : 2,3,1,5,8,4,2,6,3,5,6,7,5,7,8. La salida ser : El
mayores8
2. SelanzaunapelotahaciaarribaconunavelocidadinicialVode96m/sla
alturadelapelotasobreelniveldelsueloluegodetsegundosseencuentra
en h(t). Se sabe que h(t) = Vo.t 5t
2
( h est dado en metros y t en
segundos ). Escriba un programa para producir una tabla que presente la
alturadelapelotaparacadavalordetde1a8segundos.
3. Escriba un programa interactivo para calificar a un grupo de 10 alumnos
.el programa debe leer el nombre y sus tres calificaciones para cada
Capitulo III SentenciasdeControl
62
alumno, debe calcular el promedio para cadaunoydespusdeterminarsi
el alumno es aprobado o reprobado se requiere un promedio de al menos
60 para aprobar. La primera parte de la salida debe ser el nombre del
alumno ,tres calificaciones, promedio y un mensaje de aprobado o
reprobado . La segunda parte debe dar el numero de alumnos que
aprobaronyelnumerodelosqueobtuvieronunpromediodealmenos
80
4. Escriba un programa pascal utilizando el ciclo FOR que permita imprimir
las letras del abecedario en forma descendente desde la 'Z' .. ' A',( el
cdigoASCIIdelaletra'A'es65).
5. Supongamosqueunjardinerotenga30mlinealesdematerial(alambrede
pa)paracercarunjardnrectangular,elreadeljardncumplelasiguiente
frmulaX*(15X).EscribirunprogramaparadeterminarelvalordeXque
produzca la mxima rea probando todos los valores enteros positivos
entre10y15,lasalidadebeser:
ValordexArea
10 50
11 44
12 .
13 .
14 .
Elreamximaes:
6. 5! ( que se lee 'factorial 5') es igual al producto 5.4.3.2.1 Escriba un
programa que calcule su factorial Cuando al correr este programa el
usuariointroduce5lasalidadebeser:factorial5es120
7. Unapersonadeberealizarunmuestreocon50personasparadeterminarel
promedio depesodelosnios,jvenes,adultosyviejosqueexistenensu
zonahabitacional.Sedeterminanlascategorasconbaseenlasig,tabla:
CATEGORIA EDAD
Nios 012
Jvenes 1329
Adultos 3059
Viejos 60enadelante
8. Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado
recibirn un 15% de descuento si compran mas de 10 kilos. Determinar
cuantopagaracadaclienteycuantopercibirlatiendaporesascompras.
9. Enuncentrodeverificacindeautomvilessedeseasaberelpromediode
puntos contaminantes de los primeros 25 automviles que lleguen.
Asimismo se desea saber los puntos contaminantes del carro que menos
contaminoydelquemascontamino.
10. Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco
kilmetros durante 10 das, para determinar si es aptoparalapruebade5
Capitulo III SentenciasdeControl
63
CuerpodelBucle
Kilmetros o debe buscar otra especialidad. Para considerarlo apto debe
cumplirporlomenosunadelassiguientescondiciones:
Queenningunadelaspruebashagauntiempomayora16minutos.
Que al menos en una de las pruebas realice un tiempo mayor a 16
minutos.
Quesupromediodetiemposseamenoroiguala15minutos.
3.6. SentenciaMientrasHacer
Unbucleolazomientrasesunsegmentodeunalgoritmocuyasinstruccionesserepiten
un nmero determinado de veces mientras la condicin sea verdadera. Se debe
establecer mecanismo para determinar las tareas repetitivas. Este mecanismo es una
condicin que puede ser verdadera o falsa y que se comprueba una vez a cada paso o
iteracindelbucle(Totaldeinstruccionesqueserepitenenelbucle)
Unbucleconstadetrespartes
Decisin
CuerpodelBucle
Salidadelbucle
MIENTRAS(CONDICION)HACER
sentencias
Fin:Mientras
La condicin (expresin lgica) se evala antes y despus de cada ejecucin de la
expresin lgica, si la condicin es verdadera se ejecuta el bucle , y se es falsa , el
control pasa alasentenciasiguiente. Mientraslacondicinseaverdaderaelbuclese
ejecutar,estosignificaqueelbucleseejecutarindefinidamenteamenosque"ALGO"
CONDICION
Sentencias

Falso
Verdadero
Capitulo III SentenciasdeControl
64
en el interior del bucle modifique la condicin haciendo que su valor pase a falso, si la
expresinnuncacambiaelvalorentoncesestamoshablandodeuncicloinfinito.
Ejemplo
imprimirlosnmerosdel1al10
AlgoritmoNmeros
Variables
numEntero
Inicio
Num0
Mientrasnum<=10Haga
Num(Num+1)
Imprimir(Num)
Fin_Mientras
Fin.
Ejemplo
Sumarlosnmerosdel1al100.
AlgoritmoSuma
Variables
suma,numEntero
Inicio
Suma0
Num0
Mientrasnum<100Haga
Num Num+1
SumaSuma+Num
Fin_Mientras
Imprimir('Lasumatotales:',Suma)
Fin.
INICIO
Num0
Num<=10
Num Num+1
FIN
No
Si
NUM
Capitulo III SentenciasdeControl
65
Ejemplo
Algoritmoparaimprimirloscuadradosdelosnmerosdel1al10
AlgoritmoNmeros
Variables
numEntero
Inicio
Cont0
Num0
MientrasCont<=10Haga
Numcont*cont
Cont Cont+1
Imprimir(cont,Num)
Fin_Mientras
Fin.
Contadores
Los proceso repetitivos necesitan normalmente contar los sucesos o acciones internas
delbucle.Unaformadecontrolarunbucleesmedianteuncontador.Uncontadoresuna
variable cuyo valor se incrementa o decrementa en una cantidad constante en cada
iteracin.Unbloquecontroladoporcontadorconstadetrespartes:
Inicializacindelavariabledecontroldelbucle
Comprobacindelvalordelavariabledecontroldelbucle
Incrementodelvalordelavariabledecontroldelbucle.
Ejemplo.Pseudocodigopararepetir50veceseimprimirsuvalor
AlgoritmoNmeros
Variables
contadorEntero
Inicio
Contador1{Inicializacindelcontador}
Mientascontador>=50Hacer{Elbucleseejecuta50veces}
Imprimir(Contador){Salidadel1,2,3,4,..50}
Contador:=Contador+1{contadorseincrementa+1}
Fin_Mientras
Acumulador
Un acumulador o totalizador es una variable cuya misin es almacenar cantidades
variablesresultantesdesumassucesivas.Realizalamismafuncinqueuncontadorcon
diferencia de que el incremento o decremento de cada suma es variable en lugar de
constantecomoeselcasodelcontador.Unbloquecontroladoporacumuladorconsta:
Inicializacindelavariabledecontroldelbucleencero
Asignacindelavariablealamismavariablemaselvalordelavariablede
controldelbucle.
Capitulo III SentenciasdeControl
66
Ejemplo
Pseudocodigoparasumarlos10primerosnmeros
AlgoritmoNmeros
Variables
Sum,contEntero
Inicio
Cont0
Suma0
Mientrascont<=10Hacer
Suma(suma+numero)
numero(numero+1)
Fin_Mientras
Imprimir(Suma)
Fin_Alg
Bucles Infinitos
Un peligro de un ciclo MIENTRAS es que la condicin nunca se satisfaga, los bucles
infinitosnointencionadossedebenevitarnormalmente.
Ejemplo
contador:=10
Mientrascontador<>20Hacer
Leer(numero){CicloInfinito}
suma:=suma+numero
contador:=contador+3
Fin_Mientras
Ejercicios Resueltos
Ejercicio1
Hacerunalgoritmoparaimprimirlosnmerosparesdel2al10
AlgoritmoPares
Variables
ParEntero
Inicio
Par2
Mientraspar<=10Hacer
Imprimir(par)
ParPar+2
Fin_Mientras
Fin_Alg
Ejercicio2
Realice un Algoritmo en que el usuario introduzca enteros positivos entre 1 y 5. El
programadebeinformaralusuariocuandohayaescritounenteroquehacequelasuma
Capitulo III SentenciasdeControl
67
de los nmeros dados pase de 21. Adems el mensaje MAS DE 21 se debeimprimirla
sumayelltimoenterointroducido.
Algoritmoent_pos
Variables
sum,numEntero
Inicio
Sum0
Mientrassum<=21Haga
Escribir('Ingreseunnumeroenteroentre1..5')
Leer(num)
Si((num>0)y(num<=5))Entonces
sum:=sum+num
CasoContrario
Escribir('ErrorIngreseotronumero')
Fin_si
Imprimir('MASDE21')
Imprimir('LaSumaes:',sum)
Imprimir('ElNumeroes:',num)
Fin.
Ejercicio3
Las potencias de 2 son 1,2,4,8,16,32,64, etc. Paraobtenerlasiguientepotenciade2se
multiplica la anterior por 2. Usando un ciclo MIENTRAS escriba un Programa que
imprimalaprimerapotenciade2quepasemsde1000
AlgoritmoPotencia
variables
potEntero
Inicio
Pot1
Mientraspot<=1000Haga
PotPot*2
Imprimir('Laprimerapotenciamayorque1000es',pot)
Fin.
Ejercicio4
Escribaunalgoritmoparacalcularlasumade:1+1/2+1/3+1/4+1/5+..+1/50
AlgoritmoSuma
Variables
x,yEntero
sum,contReal
Inicio
Suma0
Cont1
Mientrascont<=50Haga
Sumasuma+1/cont
Contcont+1
Fin_Mientras
Escribir('Lasumaes:',suma)
Fin_Alg
Capitulo III SentenciasdeControl
68
Ejercicio5
Escriba un Algoritmo para calcular el valor mximo de una serie de 10 nmeros
ingresadosporteclado.
AlgoritmoMaximo
Variables
N,max,contEntero
Inicio
Leer(n)
Cont1
Maxn
Mientrascont<10Haga
Contcont+1
Leer(n)
Sin>maxentonces
Maxn
Fin_Mientras
Escribir('ELmayores:',Max)
Fin_Alg
Ejercicios Propuestos
EjerciciosIndividuales
DesarrollelossiguientesproblemasaunlenguajealgortmicoydiagramadeFlujo
1. Obtenerelpromediodecalificacionesdeungrupodenalumnos.
2. Calcularelpromediodeedadesdehombres,mujeresydetodoungrupode
alumnos.
3. Encontrarelmenorvalordeunconjuntodennmerosdados.
4. Encontrarelmayorvalordeunconjuntodennmerosdados.
5. Determinar cuantoshombresycuantasmujeresseencuentranenungrupo
denpersonas,suponiendoquelosdatossonextradosalumnoporalumno.
6. Realice un Algoritmo que dado un cierto nmero de monedas de
5,10,20,50sucres,imprimaeltotaldelasuma.
7. Determinar la media de una lista de nmeros positivos terminado con un
nmeronegativodespusdelltimonumerovlido.
8. Calcular e imprimir la suma y el producto de los nmeros pares
comprendidosentre20y400ambosinclusive
Capitulo III SentenciasdeControl
69
9. Leer 100 nmeros. Determinar la media de los nmeros positivos y la
mediadelosnmerosnegativos
10. Averiguarsidadosdosnmerosledosdelteclado,unoesdivisordelotro.
EjerciciosGrupales
DesarrollelossiguientesproblemasaunlenguajealgortmicoydiagramadeFlujo
1. Unapersonadeseainvertirsudineroenunbanco,elcualleotorgaun2%
de inters.Cualserlacantidaddedineroqueestapersonatendralcabo
deunaosilagananciadecadamesesreinvertida?.
2. Unacompaadesegurostienecontratadosanvendedores.Cadaunohace
tresventasalasemana.Supolticadepagosesqueunvendedorrecibeun
sueldobase,yun10%extraporcomisionesdesusventas.Elgerentedesu
compaa desea saber cuantodineroobtendrenlasemanacadavendedor
por concepto de comisiones por las tres ventas realizadas, y cuanto
tomandoencuentasusueldobaseysuscomisiones.
3. Enunaempresaserequierecalcularelsalariosemanaldecadaunodelosn
obrerosquelaboranenella.Elsalarioseobtienedelasig.forma:
Sielobrerotrabaja40horasomenosselepaga$20porhora
Sitrabajamasde40horasselepaga$20porcadaunadelasprimeras
40horasy$25porcadahoraextra.
4. El Depto. de Seguridad Publica y Transito del D.F. desea saber, de los n
autosqueentranalaciudaddeMxico,cuantosentranconcalcomanade
cada color. Conociendo elultimo dgito de la placa de cada automvil se
puededeterminarelcolordelacalcomanautilizandolasig.relacin:
DGITO COLOR
1o2 amarilla
3o4 rosa
5o6 roja
7o8 verde
9o0 azul
5. En un supermercado un cajero captura los precios delosartculosquelos
clientes compran e indica a cada cliente cual es el monto de lo que deben
pagar.Alfinaldeldaleindicaasusupervisorcuantofueloquecobroen
totalatodoslosclientesquepasaronporsucaja.
6. Cinco miembros de un club contra la obesidad desean saber cuanto han
bajadoosubidodepesodesdelaultimavezquesereunieron.Paraestose
deberealizarunritualdepesajeendondecadaunosepesaendiezbsculas
Capitulo III SentenciasdeControl
70
distintas para as tener el promedio mas exacto de su peso. Si existe
diferencia positiva entre este promedio de peso y el peso de la ultima vez
que se reunieron, significa que subieron de peso. Pero si la diferencia es
negativa, significa que bajaron. Lo que el problema requiere es que por
cada persona se imprima un letrero que diga: SUBIO o BAJO y la
cantidaddekilosquesubiobajodepeso.
7. Se desea obtener el promedio de g grupos que estn en un mismo ao
escolar siendo que cada grupo puede tener n alumnos que cada alumno
puede llevar m materias y que en todas las materias se promedian tres
calificaciones para obtener el promedio de la materia. Lo que se desea
desplegar es el promedio de los grupos, el promedio de cada grupo y el
promediodecadaalumno.
8. Escriba un Algoritmo que cuente el nmero de cifras en un entero de
entrada(hasta32.000)asparaunaentradade5837lasalidadebeser:
4cifras
Asegresedequeelprogramafuncioneparalosnmeros0,1y9
paraelnmero0lasalidadebeser:
1cifra
9. Escribir un programa que pida al usuario escribir un entero diferente de
ceroydespusimprimasurecproco.UseuncicloMientrasparaforzaral
usuarioavolveraescribirelvalorcuandoescribe0porerror.
10. Escriba un programa para evaluar la funcin y = 4x2 16x + 15, donde x
tomalosvaloresde1a2enpasosde1.Paracadaxlasalidadebedarel
valor de y y el mensaje POSITIVO o el mensaje NO POSITIVO. El
formatodelasalidadebeser:
ValordeXValordeY
1.03.00 Positivo
1.12.24Postivo
...
...
.. .
2.0 1.00NoPositivo
Capitulo III SentenciasdeControl
71
3.7. SentenciaRepetir\Hasta
Un bucle o lazo REPETIR / HASTA es un segmento de un algoritmo cuyas
instrucciones se repiten un nmero determinado de veces mientras la condicin sea
FALSA,cuandolaexpresinsehagaVerdadera,saledellazo.
AsescomosedebeescribirunasentenciaRepetir.
REPETIR
Sentencia1
Sentencia2
.
.
SentenciaN
HASTA(CONDICIN)
Nota:
Debido a que HASTA delimita la sentencia, no es necesario poner Inicio y Fin.
Elbloquedeinstruccionesseejecutaalmenosunavezyluegoseevalalacondicin.
Adems si la expresin lgica o condicin es falsa, se vuelve a Repetir el bucle y se
ejecutantodaslassentenciasysevuelveachequearlacondicin.Silaexpresinlgica
esVerdadera,sesaledelcicloyseejecutanlasiguienteInstrucciones.
Ejemplo
Algoritmoparasumarlosnmerosdel1al10.
Algoritmosuma
Variables
suma,numeroEntero
Inicio
Suma0
Numero 0
REPETIR
Numero Numero+1
Suma Suma+Numero
HASTANumero=10
Escribir('Eltotales:',Suma)
Fin_Alg
CONDICION
Sentencias3
Falso
Verdadero
Sentencias2
Sentencias1
Capitulo III SentenciasdeControl
72
El bucle s repite hasta que el valor de variable Numero se igual a 10, lo que suceder
despusde10ejecucionesdelcuerpodelbucle
Ejemplo
Algoritmoparaimprimirlosnmerosdel1al100
Algoritmonumeros
Variables
numeroEntero
Inicio
Numero 1
REPETIR
Imprimir(Numero)
Numero Numero+1
HASTANumero=101
Fin_Alg
Ejercicios Resueltos
Ejercicio1
Determinar la media de una lista de nmeros positivos terminada con un nmero
negativodespusdelltimonmerovlido
Algoritmonum_Pos
variables
sum,a,nEnteros
mediareal
Inicio
sum0
a0
REPETIR
Escribir('Ingreseunnmero')
Leer(n)
Sin>0Entonces
sumsum+n
aa+1
Fin_Si
HASTAn<0
Imprimir(Mediasum/a)
Fin_Alg
Capitulo III SentenciasdeControl
73
Ejercicio2
Sedesealeerportecladounnmerocomprendidoentre1y50(inclusive),ysedesea
visualizarsielnmeroesparoimpar.
Algoritmonumero
Variables
NEntero
Inicio
Escribir('Ingreseunnmero')
Leer(n)
REPETIR
Si(nmod2)=0Entonces
Escribir('Nmeropar')
Fin_Si
Si(nmod2)<>0Entonces
Escribir('Nmeroimpar')
Fin_Si
HASTA(n>=1)y(n<=50)
Fin_alg
Ejercicio3
Algoritmoparahallarelpromediodeunalistadennmeros
Algoritmomedia
Variables
N,cont Entero
X,suma,media Real
Inicio
Cont 1
Suma 0
Leer(n)
Verdadero
INICIO
sum0 a 0
IngreseunNmero
n
N>0
N<0
sumsum+n
a a+1
FIN
Falso
Media
Capitulo III SentenciasdeControl
74
REPETIR
Leer(x)
Sumasuma+x
Contcont+1
HASTAcont>n
Mediasuma/n
Escribir(Lamediaes,media)
Fin_Alg
Ejercicio4
Algoritmoparaobtenerlasumadelosnmerospareshasta100inclusive
S=2+4+6+8,,+100
Algoritmopares
Variables
suma,Numero Reales
Inicio
Suma 0
Numero 4
REPETIR
Sumasuma+Numero
Numero Numero+1
HASTANumero>100
Escribir(Lasumaes:,suma)
Fin_Alg
Ejercicio5
Escriba un programa que cuente el nmero de cifras en un entero de entrada (hasta
32.000) as para una entrada de 5837 la salida debe ser: 4 cifras. Asegrese de que el
programa funcione para los nmeros 0,1 y 10 . Para el nmero 0 la salida debe ser: 1
cifra
Algoritmocifras
variables
aenteros
Inicio
Repetir
Escribir('Ingreseunnmerodesde1..a32000')
Leer(a)
Hasta(a>=0)y(a<=32000)
Si((a>=0)y(a<10))entonces
Imprima('1cifra')
Si((a>=10)and(a<=99))entonces
Imprima('2cifras')
Si((a>=100)and(a<=999))entonces
Imprima('3cifras')
Si((a>=1000)and(a<=9999))entonces
Imprima('4cifras')
Si((a>=10000)and(a<=32000))entonces
Imprima('5cifra')
Fin.
Capitulo III SentenciasdeControl
75
Ejercicios Propuestos
EjerciciosGrupales:
DesarrollelossiguientesproblemasaunlenguajealgortmicoydiagramadeFlujo
1. Determinar la cantidad semanal de dinero que recibir cada uno de los n
obreros de una empresa. Se sabe que cuando las horas que trabajo un
obreroexcedende40,elrestoseconvierteenhorasextrasquesepaganal
dobledeunahoranormal,cuandonoexcedende8cuandolashorasextras
exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una
horanormalyelrestoaltriple.
2. UnapersonaquevadecomprasalatiendaEnano,S.A.,decidellevarun
control sobre lo que va comprando, para saber la cantidad de dinero que
tendrquepagaralllegaralacaja.Latiendatieneunapromocindel20%
dedescuentosobreaquellosartculoscuyaetiquetasearoja.Determinarla
cantidaddedineroqueestapersonadeberpagar.
3. Un censador recopila ciertos datos aplicando encuestas para el ultimo
Censo Nacional de Poblacin y Vivienda. Desea obtener de todas las
personas que alcance a encuestar en un da, que porcentaje tiene estudios
de primaria, secundaria, carrera tcnica, estudios profesionales y estudios
deposgrado.
4. Un jefe de casilla desea determinar cuantas personas de cada una de las
secciones que componen su zona asisten el da de las votaciones. Las
secciones son: norte, sur y centro. Tambin desea determinar cual es la
seccinconmayornumerodevotantes.
5. Unnegociodecopiastieneunlimitedeproduccindiariade10000copias
si el tipo de impresin es offset y de 50 000 si el tipo es estndar. Si hay
una solicitud de un el empleado tiene que verificar que las copias
pendientes hasta el momento y las copias solicitadasnoexcedandellimite
deproduccin.Siellimitedeproduccinseexcedieraeltrabajosolicitado
nopodraseraceptado.Elempleadonecesitallevarunbuencontroldelas
copias solicitadas hasta el momento para decidir en forma rpida si los
trabajosquesesoliciteneneldasedebenaceptarono.
6. Calcularlasumasiguiente:100+98+96+94+...+0enesteorden
7. LeerporcadaalumnodeDiseoestructuradodealgoritmossunumerode
control y su calificacin en cada una de las 5 unidades de la materia. Al
final que escriba el numero de control del alumno que obtuvo mayor
promedio.Supongaquelosalumnostienendiferentespromedios.
Capitulo III SentenciasdeControl
76
8. El profesor de una materia desea conocer la cantidad de sus alumnos que
notienenderechoalexamendenivelacin.Diseeunalgoritmoquelealas
calificacionesobtenidasenlas5unidadesporcadaunodelos40alumnosy
escribalacantidaddeellosquenotienenderechoalexamendenivelacin.
9. Suponga que tiene usted una tienda y desea registrar las ventas en su
computadora. Diseeunalgoritmoqueleaporcadacliente,elmontototal
de su compra. Al final del da que escriba la cantidad total de ventas y el
numerodeclientesatendidos.
10. En un supermercado una ama de casa pone en su carrito los artculosque
vatomandodelosestantes.Laseoraquiereasegurarsedequeelcajerole
cobre bien lo que ella ha comprado, por lo que cada vez que toma un
articulo anota su precio junto con la cantidad de artculos iguales que ha
tomadoydeterminacuantodinerogastaraenesearticuloaestolesumalo
queiragastandoenlosdemsartculos,hastaquedecidequeyatomotodo
loquenecesitaba.Aydaleaestaseoraaobtenereltotaldesuscompras.
2.11. EleccinEstructurasRepetitivaAdecuada
La eleccin adecuada de estructuras repetitivasesunadelaspartesmsimportantesen
el diseo de un algoritmo. La repeticin de sentencias en el interior del bucle requiere
definir las condiciones de terminacin del bucle con sumo cuidado para evitar un bucle
incorrectooinfinito.
En un bucle Repetir Hasta , la secuencia de sentencias se ejecutar al menos una vez,
mientras que en bucle Mientras no siempre se ejecutar el proceso del bucle y en
ocasiones ( condicin falsa ) no seejecutar.Enlapractica,elbucleMientrasseutiliza
conmsfrecuenciaqueelbucleREPETIR.
ElPARAsereservaparasituacionesenqueelnmeroderepeticionessepuedepredecir
y enumerar fcilmente antes que comience el bucle. Un bucle for se puede reescribir
fcilmente(normalmenteconunbucleMIENTRAS)utilizandootrasestructuras.
Cuando no seconocenconanticipacincuntasvecessetienequeejecutarunbucle,el
usodelasestructurasMIENTRASeselmasindicado,inclusoauncuandoelbucleest
controladoporunsimpleincrementoodecrementodeuncontadorentero.
Es frecuente confundir estructuras SI ENTONCES con MIENTRAS, debido al hecho
que muchos algoritmos tienen estructuras que implican bucles dentro de los cules se
realizan estructurasdedecisinsecundarias.
En conclusin podemos decir que para seleccionar un bucle correcto se debe tener en
cuenta:
Capitulo III SentenciasdeControl
77
1. Si el nmero de interacciones se conoce por adelantado, se debe utilizar
PARA
2. Si el nmero de interacciones es indeterminado y el bucle no se debe
ejecutar cuando la condicin sea falsa la primera vez, se debe utilizar
MIENTRAS
3. Si el nmero de interacciones es indeterminada y elbuclesedebeejecutar
siemprealmenosunavez,utilizarREPETIRHASTA
4. Si el nmero de interacciones es indeterminada y debe cumplir una cierta
condicin(Decisin)yelbuclesedebeejecutarsolounavez,utilizarSI
ENTONCESCASOQUE/HAGA
Autoevaluacion Final
Diseeunalgoritmoyflujogramaconlassentenciasmasptimasqueseconsidereusted
1. Elaborar un Algoritmo que lea un carcter y almacene en una variable
entera el nmero correspondiente en la tabla ASCII. El programa debe
escribiralgunodelossiguientesmensajes:
' MAYOR ' Si la suma de los dgitos que componen el nmero
almacenadoesmayora10
' IGUAL ' Si la suma de los dgitos que componen el nmero
almacenadoesiguala10
' MENOR ' Si la suma de los dgitos que componen el nmero
almacenadoesmenora10
Si al carcter ledo le corresponde un nmero ASCII menor a 33 o
mayora126,sedebeescribirelmensaje:'CarcterdeControl'.
Independientemente del mensaje escrito, se debe escribir al final de la
ejecucindelprograma,elmensaje'FINALIZAMOS'.
2. Calcular todas las ordenadas impares de la funcin Y=f(x)= x
3
+2 . El
algoritmo debe imprimir la abscisa y la ordenada para los valores
comprendidosentre1y50
3. Escriba un algoritmo que calcule la suma de los cuadrados de los 100
enterosesdecirlaadicinS=1
2
+2
2
+3
2
+4
2
++100
2
4. Escribaunalgoritmoqueleaundatonycalculelossiguientesvaloresn
n
y
n!
Capitulo III SentenciasdeControl
78
5. Escribaunalgoritmoquelealosdatosa,nyrycalculealSumatoriade:
Suma=ar
n1
yProducto=N!*2
n
6. Supongaquetieneunatiendaydesearegistrarsusventaspormediodeuna
computadora.Diseeunpseudocdigoqueleaporcadacliente:
a).elmontodelaventa,
b).calculeeimprimaelIVA,
c).calculeeimprimaeltotalapagar,
d).lealacantidadconquepagaelcliente,
e).calculeeimprimeelcambio.
Alfinaldeldadeberimprimirlacantidaddedineroquedebehaberen
lacaja.
7. Setieneunconjuntode1,000tarjetascadaunacontienelainformacindel
censoparaunapersona:
1.Nmerodecenso,
2.Sexo
3.Edad
4.Estadocivil(a.soltero,b.Casado,c.Viudo,d.Divorciado)
Disee un pseudocdigo estructurado que lea todos estos datos, e
imprima el nmero de censo de todas las jvenes solteras que estn
entre16y21aos.
8. Disee un pseudocdigo que lea el valor de un ngulo expresado en
radianes y calcule e imprima el valor del seno de dicho ngulo. Se leer
tambinelnmerodetrminosdelaserie.SEN(X)=X( X
3
/3!)+(
X
5
/5!) (X
7
/7!)+.....
9. Calcule la suma de los trminos de la serie FIBONACCI cuyos valores se
encuentranentre100y10,000.
Capitulo IV Arreglos,VectoresyMatrices
79
Arreglos,VectoresyMatrices
4.1 Arreglos
4.2 SentenciasSecuenciales
4.3 SentenciasdeDecisinoSecuenciales
4.4 SentenciasdeSeleccinAnidada
4.1. Arreglos
UnArreglo es unaestructuradedatosquealmacenabajoelmismonombre(variable)a
unacoleccindedatosdelmismotipo.
Losarreglossecaracterizanpor:
Almacenanloselementosenposicionescontiguasdememoria
Tienenunmismonombredevariablequerepresentaatodosloselementos.Para
hacerreferenciaaesoselementosesnecesarioutilizarunndicequeespecifica
ellugarqueocupacadaelementodentrodelarchivo.
Unidimensionales(Vectores)
Tipode
Arreglos
Bidimensionales(Matrices)
4.2. Vectores
Es un arreglo de N elementos organizados en una dimensin donde N recibe el
nombredelongitudotamaodelvector.Parahacerreferenciaaunelementodelvector
se usa el nombre del mismo, seguido del ndice (entre corchetes), el cual indica una
posicinenparticulardelvector.Porejemplo:
Vec[x]
Donde:
Vec Nombredelarreglo
x Numerodedatosqueconstituyenelarreglo
CAPITULO
Capitulo IV Arreglos,VectoresyMatrices
80
Representacingrficadeunvector
7
8
9
1
0
LlenadodeunVector
HacerparaI=1a10
Leervec[I]
Finpara
HacermientrasI<=10
Leervec[I]
Finmientras
I=1
Repetir
Leervec[I]
I=I+1
HastaqueI>10
Ejercicios Propuestos
1. Calcular el promedio de 50 valoresalmacenadosenunvector.Determinar
adems cuantos son mayores que el promedio, imprimir el promedio, el
numero de datos mayores que el promedio y una lista de valores mayores
queelpromedio.
2. Llenar dos vectores A y B de 45 elementos cada uno, sumar el elemento
uno del vector A con el elemento uno del vector B y as sucesivamente
hasta 45, almacenar el resultado en un vector C, e imprimir el vector
resultante.
3. Llenar un vector de 20 elementos, imprimir la posicin y el valor del
elementomayoralmacenadoenelvector.Supongaquetodosloselementos
delvectorsondiferentes.
4. Almacenar 500 nmeros en un vector, elevar al cuadrado cada valor
almacenadoenelvector,almacenarelresultadoenotrovector.Imprimirel
vectororiginalyelvectorresultante.
5. Almacenar300nmerosenunvector,imprimircuantossonceros,cuantos
sonnegativos,cuantospositivos.Imprimirademslasumadelosnegativos
ylasumadelospositivos.
Vec[1]
Vec[2]
Vec[3]
Vec[4]
Capitulo IV Arreglos,VectoresyMatrices
81
6. Almacenar 150 nmeros en un vector, almacenarlos en otro vector en
ordeninversoalvectororiginaleimprimirelvectorresultante.
7. Se tienen almacenados en la memoria dos vectores M y N de cien
elementoscadauno.HacerunalgoritmoqueescribalapalabraIgualessi
ambosvectoressonigualesyDiferentessinoloson.
8. Sern iguales cuando en la misma posicin de ambos vectores se tenga el
mismovalorparatodosloselementos.
9. SetieneelvectorAcon100elementosalmacenados.Diseeunalgoritmo
que escriba SI si el vector esta ordenado ascendentemente o NO si el
vectornoestaordenado
10. Diseeunalgoritmoqueleaunnumerocualquieraylobusqueenelvector
X, el cual tiene almacenados 80 elementos. Escribir la posicin donde se
encuentra almacenado el numero en el vector o el mensaje NO si no lo
encuentra.Bsquedasecuencial.
11. DiseeunalgoritmoqueleadosvectoresAyBde20elementoscadauno
ymultipliqueelprimerelementodeAconelultimoelementodeByluego
el segundo elemento de A por el diecinueveavo elemento de B y as
sucesivamente hasta llegar al veinteavo elemento de A por el primer
elemento de B. El resultado de la multiplicacin almacenarlo en un vector
C.
12. Disee un algoritmoquealmaceneenunvectorllamadoFIB[100]los100
primerosnmerosdelaseriefibonacci.
5.3. Matriz
Es un arreglo de M * N elementos organizados en dos dimensiones donde M es el
numerodefilasoreglonesyNelnumerodecolumnas.
Para representar una matriz se necesita un nombre de matriz se necesita un nombre de
matrizacompaadodedosndices.
Mat[R,C]
Donde R indica el rengln y C indica la columna, donde se encuentra almacenado el
dato.
Capitulo IV Arreglos,VectoresyMatrices
82
Representacingrficadeunamatriz
Mat[R,C]
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2.4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4
Llenadodeunamatriz
Porrenglones
HacerparaR=1a5
HacerparaC=1a5
LeerMat[R,C]
Finpara
Finpara
Porcolumnas
HacerparaC=1a5
HacerparaR=1a5
LeerMat[R,C]
Finpara
Finpara
Nota
Para hacer el llenado de una matriz se deben deusardosvariablesparalosndicesyse
utilizan 2 ciclos uno para los renglones y otro para las columnas a estos ciclos se les
llamaciclosanidados(unciclodentrodeotrociclo).
Ejercicios Propuestos
1. Hacer un algoritmo que almacene nmeros en una matriz de 5 * 6.
Imprimirlasumadelosnmerosalmacenadosenlamatriz.
2. Hacerunalgoritmoquelleneunamatrizde10*10ydeterminelaposicin
[rengln ,columna] del numero mayor almacenado en la matriz. Los
nmerossondiferentes.
3. Hacerunalgoritmoquelleneunamatrizde7*7.Calcularlasumadecada
renglnyalmacenarlaenunvector,lasumadecadacolumnayalmacenarla
enotrovector.
Filao
Renglon
[R]
Columna
[C]
Capitulo IV Arreglos,VectoresyMatrices
83
4. Hacerunalgoritmoquelleneunamatrizde20*20.Sumarlascolumnase
imprimirquecolumnatuvolamximasumaylasumadeesacolumna.
5. Hacer un algoritmo que llene una matriz de 5 * 5 y que almacene la
diagonalprincipalenunvector.Imprimirelvectorresultante.
6. Hacer un algoritmo que llene una matriz de 10 * 10 y que almacene enla
diagonalprincipalunosyenlasdemsposicionesceros.
7. Hacer un algoritmo que llene una matriz de 6 * 8 y que almacene toda la
matrizenunvector.Imprimirelvectorresultante.
8. Hacerunalgoritmoquelleneunamatrizde8*8,quealmacenelasumade
los renglones y la suma de las columnas en un vector. Imprimir el vector
resultante.
9. Hacerunalgoritmoquelleneunamatrizde5*6yqueimprimacuantosde
los nmeros almacenados son ceros, cuantos son positivos y cuantos son
negativos.
10. Disee un pseudocdigo que escriba el numero delahileracuyasumasea
mayorquelasdemshileras.Supongaquetodaslashilerassumandiferente
cantidad.
84
Bibliografa
1. JEAN Paul Tremblay, B. Bunt Richard "Introduccin a la ciencias de las
computadoras(enfoquealgoritmico)"McGrawHill
2. JOYANESAguilarLuis"Metodologadelaprogramacin"McGrawHill
3. JOYANES Aguilar Luis "Problemas de metodologa de la programacin"
McGrawHill
4. CORREAUribeGuillermo"Desarrollodealgoritmosysusaplicacionesen
Basic,PascalyC(3.Edicin)"McGrawHill
5. Levine Guillermo "Introduccin a la computacin y a la programacin
estructurada"McGrawHill
6. JOYANES Aguilar Luis "Fundamentos de programacin, algoritmos y
estructuradedatos"McGrawHill
7. JOYANES Aguilar Luis, Luis Rodrguez Baena y Matilde Fernndez
Azuela"Fundamentosdeprogramacin,librodeproblemas"McgrawHill
8. Bores Rosario, Rosales Roman "Computacin. Metodologa, lgica
computacionalyprogramacin"McGrawHill
9. LOZANOLetvin"Diagramacinyprogramacinestructuradaylibre"Mc
GrawHill
10. LOPEZ Roman Leobardo "Programacin estructurada (enfoque
algoritmico)"Computec
85
Anotaciones
86
Anotaciones
87
DerechosReservados
Todoslosderechosdeestematerialseencuentranreservados,
estoimplicasancionescontracopia,plagiototaloparcial
fotocopiadoyxerografiado.
EstaobrasetermindeeditarenAbrildel2007
MatrizOriginalMicrosoftWord2003
LIC.DIEGOROLANDOREALPEB.
LIC.WASHINGTONFIERRO
Copyright2007

También podría gustarte