You are on page 1of 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

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 problemasparticularesenlas
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.
EstemdulodeAlgoritmosyFlujogramasleservirdeapoyoalmaestro,ensulabor
cotidiana de aprendizaje y al estudiante le facilitar desarrollar su capacidad analtica y
creadora, para de esta manera mejorar su destreza en la elaboracindealgoritmosque
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.

ObjetivosdelModulo
ObjetivosGenerales
Comprenderlanaturalezadelosalgoritmosyflujogramasysuaplicacinenla
programacinsobrecomputadoras.

ObjetivosEspecficos
Crearenelestudiantelanecesidadyagilidadparapensarenformalgicay
ordenadaconelfinderesolverproblemasenformaeficiente.
Despertarenelestudianteelespritudeprogramar
Darlasbasesfundamentalesparaeldesarrollodecualquiertipode
programacinsimple,estructuradayorientadaaObjetoscomoPascal,C++,
Visual.Net

MetodologadeTrabajoy
Evaluacin
Lapropuestametodolgicasebasaenunmodeloeducativocentradoenelalumnoyen
losgruposcolaborativos.Enestesentidoelparticipanteeselresponsabledesuproceso
deaprendizajedebeinteractuarconloscontenidosdelmdulomedianteelsistemade
estudio a distancia, desarrollar su juicio crtico y tener la iniciativa de aprender
continuamentetodoaquelloqueleseaesencialduranteelprocesoparacumplirconlas
intencionesdelmdulodeAlgoritmosyflujogramas.
Asmismo,elparticipantedeberealizaractividadesconotroscompaeros,detalforma
que entre ellos, construyen diferentes experiencias de aprendizaje que enriquezcan los
contenidos y el desarrollo de distintas habilidades, por ejemplo, uso de lastecnologas,
trabajo cooperativo,espaciosdiscusindeideas,sntesisyanlisis,juiciocrtico,entre
otras.
Duranteeldesarrollodeestemdulo,tienenespecialimportanciaactividadescomo:
Laentregadetrabajosindividualesygrupalesporescrito,queseindicaranen
losencuentrosestablecidosdeclasespresenciales.
Exposicindelostrabajosgrupalesydelostrabajosdeinvestigacin
utilizandoherramientastecnolgicasopedaggicasqueustedconozcay
domine.
LaelaboracindelasAutoevaluacionesyseleccindetemasparainvestigacin
yautoestudioporpartedelosalumnos,yaplicacindeevaluacionesprcticas
parareforzarelconocimientoadquiridoporelalumno.
Ampliacindelostemasporpartedelfacilitador.

Capitulo I

IntroduccinalosAlgoritmos

CAPITULO

Introduccina losAlgoritmos
1.1
1.2
1.3
1.4
1.5

Fundamentos
MetodologaparalaSolucindeAlgoritmos
Tiposdealgoritmos
TcnicasparalaformulacindeAlgoritmos
EjerciciosPrcticos

1.1. Fundamentos
UnelementobsicoparaelfuncionamientodelcomputadoreselSoftware,elcualest
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.
PROBLEMA

ALGORITMO

PROGRAMA

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.
4

Capitulo I

IntroduccinalosAlgoritmos

Enlaedadmedia,losabacistasutilizabanelbacoparahacersusclculos,mientrasque
losalgoristaslohacanconlosalgorismos.Paraestapoca,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.

Datos
Entrada

Proceso

Datos
Salida

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:

Capitulo I

IntroduccinalosAlgoritmos

Seralgoritmo: Tienequeconsistirenunasecuenciadeinstruccionesclarasyfinitas,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 : Lacodificacineslaoperacindeescribirlasolucindelproblema(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. Elprocesodeidentificaryeliminarerrores,paradarpasoaunasolucinsin
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
sequiereexplicaraunapersona,laubicacindeunacasaoedificio,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

Algoritmos Cualitativos:
Son aquellos enlosquesedescribencualquier 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,
racionalesenelordendedichasacciones,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

Yapuedeustednotarquenuestroalgoritmohacambiadounpocoyporlotantoahora
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/
HastaoRepetir/Hasta,bloquesqueestableceenrelacinconunacondicineliniciode
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

Estealgoritmoinformalestnexpresadotalcomodesprevenidamentecualquierpersona
los expresara y puede entonces suponer usted que la variabilidad de algoritmos que
cumplanlosmismosobjetivosserainmensasinoexistieranunastcnicasuniformespara
facilitarlaexpresindeestasideas,particularmenteenalgoritmoscomputacionales.

Capitulo I

IntroduccinalosAlgoritmos

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.
Ahorasupngasequeleproporcionaestasinstruccionesaunapersonaquejamsensu
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, elprocesoantesdescritoestunpoco
lejosdeserunalgoritmoefectivoparausaruntelfonopblico.
Ahora procedemos a refinar el proceso anterior. Para esto,hayqueespecificarciertos
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

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

10

Capitulo I

IntroduccinalosAlgoritmos
INICIO

Descolgarlabocina

Seoyeun
tono
Marcarelnmero

Colgarlabocina

FIN

Oyenvarios
tonoscortos
seguidos
Colgarlabocina

Eltelfono
repica
alguien
contesta

Recogerlasmonedas

FIN
Hablar

nadie
contesta

Cadavezque
seescuche un
Recogerlasmonedasno
usadas
Introducirmonedas

Colgarlabocina
FIN
FIN

Seguirhablando

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
Lacapacidaddedecisinpermiteseleccionaralternativasdeaccionesaseguirobienla
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.
11

Capitulo I

IntroduccinalosAlgoritmos

Otro aspecto, tambin importante es el mtodo por medio del cual se desarrolla un
algoritmo.Secomienzaconunenunciadomuygeneralysecontinahastaencontrarel
algoritmofinal incrementandosistemticamentelosdetalles.

Algoritmos Cuantitativos:
Sonaquellosenlosqueseutilizanclculosnumricosparadefinirlospasosdelproceso.
Deigualformaestostiposdealgoritmosdescriben trespartesesenciales:

Entrada

Proceso

Salida

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 esunalocalizacinenla
memoriaquetieneunnombreycuyocontenidopuedecambiaralolargodelaejecucin
deunprograma.Asnumero1,numero2ynumero3sonvariables.EltrminoIMPRIMIR
significamostrarelvalordeunavariableenalgndispositivodesalida,comolapantalla

12

Capitulo I

IntroduccinalosAlgoritmos

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

Inicio

IngresarN

Suma=N(N1)/2

EscribirSuma

Fin

13

Capitulo I

IntroduccinalosAlgoritmos

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.

14

Capitulo I

IntroduccinalosAlgoritmos

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.

TECLA
DO

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.

15

Capitulo I

IntroduccinalosAlgoritmos

Ejemplo:
DiagramadeFlujoparacambiarunfocoquemandoporunonuevo.

INICIO

Situarunaescalerabajoelfoco
quemado

Elegirunnuevofoco

Potencia foco
quemado

Descartarelfocoelegido

Elegirunnuevofoco

Potencia=foco
quemado

Nose
alcanceel

Girarelfocoensentido
antihorario

Subirlaescalera,peldaotras
peldao

Focohaya
salido
Colocarelfoconuevoenel
mismo lugar

Girarelfocoensentidohorario

Foco
apretado

Bajarlaescalera

FIN

16

Capitulo I

IntroduccinalosAlgoritmos

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.

17

Capitulo II

EstructurasAlgortmicas

CAPITULO

Estructuras Algortmicas
2.1
2.2
2.3

Variables,Constantesy Operadores
TiposdeDatos
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.

Algoritmo<Nombre>

CabeceradelAlgoritmo

Constantes

Variables

Inicio
Expresionesy
Sentencias

Fin_Alg

Cabecera
Comienza con la palabra ALGORITMO, la cual est seguida por el nombre del
programacompleto,Ejemplo:Algoritmosuma

18

Capitulo II

EstructurasAlgortmicas

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
Edad
numero_hijos
DIA

Sueldobrutodeunempleado
Edaddeunapersona
Nmerodehijosdeunempleado
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 identificador yun 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.
19

Capitulo II

EstructurasAlgortmicas

Edad
Descuento

301
23.57

Segneltipodedatodelavariablepodemostenervariables:

Numricas
PorsuContenido Lgicas
Alfanumricas(String)
Variables

PorsuUso

DeTrabajo
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

20

Capitulo II

EstructurasAlgortmicas

VariablesporsuUso

VariablesdeTrabajo:
Variablesquerecibenelresultadodeunaoperacinmatemticacompletayqueseusan
normalmentedentrodeunprograma.Ejemplo:
suma=a+b/c

Contadores
Seutilizanparallevarelcontroldelnumerodeocasionesenqueserealizaunaoperacin
osecumpleunacondicin.Conlosincrementosgeneralmentedeunoenuno.

Acumuladores
Formaquetomaunavariableyquesirveparallevarlasumaacumulativadeunaseriede
valoresquesevanleyendoocalculandoprogresivamente.

2.1. Tipos deDatos


Elprimerobjetivodelacomputadoraseselmanejodelainformacinodatos.Todos
losAlgoritmosyprogramasoperansobredatos.Todoslosdatostienenuntipoasociado
conellos.Undatopuedeserunsimplecarcter,talcomob,unvalorenterotalcomo
35.Eltipodedatodeterminalanaturalezadelconjuntodevaloresquepuedetomaruna
variable.

21

Capitulo II

EstructurasAlgortmicas

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
positivosEj.

negativos

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
(verdaderoofalsoSioNo)yaquerepresentanelresultadodeunacomparacinentre
otrosdatos(numricosoalfanumricos).
Porejemplo:Cuandosepidesiunvalorenteroespar,larespuestaserverdaderao
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

22

Capitulo II

EstructurasAlgortmicas

OperacionesdeAsignacin
Eselmododedarlevalorestipodedatoaunavariable.Laasignacindeunvalora
unaVariableserepresentaconel smbolo
NOMBREDELAVARIABLE

EXPRESIN

Ejemplos:
A,B,C,D Entero
valoresenteros

SignificaquealavariableA,B,C,Dselehaasignadoelsoportede

A
B
C
D

SignificaquealavariableAselehaasignadoelvalor5
LavariableBselehaasignadoelvalor16
LavariableCselehaasignadoelvalorde80
LavariableDselehaasignadoelvalor8

5
5+3+8
B*A
B/2

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 delasvariablesy
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 matemticasconlos
valores(variablesyconstantes).
Losoperadoresaritmticospuedenserutilizadoscontiposdedatosenterosoreales.Si
ambossonenteros,elresultadoesenterosialgunodeellosesreal,elresultadoesreal.
23

Capitulo II

EstructurasAlgortmicas

+Suma
Resta
*Multiplicacin
/Divisin

^,**Exponenciacin
divDivisinEntera
modModulo(Residuo)

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).
Tienenelmismoniveldeprioridadensuevaluacin.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

24

EstructurasAlgortmicas

Capitulo II

Ejemplo:
3<6
0>1
4=2
(42)<(34)

Verdadero
Falso
Falso
Falso

OperadoresLgicos
Losoperadoreslgicosobooleanosbsicosson

OPERADORSIGNIFICADO
no(not)

negacinde

Y(and)

interseccinde

O(Or)

Uninde

Tabladeverdad:
PQPyQPoQnoP
v
v
f
f

v
f
v
f

vv
f
fvf
fvv
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

25

Capitulo II

EstructurasAlgortmicas

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 ))
26

Capitulo II
F

EstructurasAlgortmicas

F
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)

Valor absoluto de x

Entero o Real

Igual que
argumento

Arctan
(X)

Arco tangente de x

Entero o real

Real

Coseno de x (radianes)

Entero o real

Real

Calcula e x

Entero o real

Real

Redondea el valor de x al
entero ms prximo

Real

Entero

Calcula el cuadrado de x

Entero o real

Igual que x

Calcula la raz cuadrada


de x

Entero o real

Real

Cos (x)
Exp (x)
Round(x)

sqr (X)
Sqrt(X)

Real

Entero

Chr(x)

Suprime la parte decimal


de x

Entero o real

Carcter

Ord(x)

Devuelve el carcter de un
entero x

Carcter

Entero

Pred(x)

Devuelve un entero de un
carcter

Entero carcter o
booleano

Igual que x

Trunc(X)

Succ(x)

Devuelve el predecesor de
x

Igual que x
Entero carcter o
booleano

Devuelve el sucesor de x

Ejemplo
Chr(65)=AOrd(A)=65
Chr(112)=pOrd(p)=112
Chr(53)=5Ord(5)=53

round(2.3)=2
round(3.7)=4
Sin(30)=0.5

Trunc(2.3)=2
trunc(3.7)=3
sqrt(16)=4

27

Capitulo II
Pred(3)=2
Succ(e)=f

EstructurasAlgortmicas
Succ(3)=4

Sqr(3)=9

Pred(e)=d

28

Capitulo II

EstructurasAlgortmicas

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
b.Altura
c.Valor1
d.Ventas95
e.POSICION_ACTUAL

f.1valor
g.Costoneto
h.REA
i.Nombreydireccin
j.123456789

29

Capitulo III

SentenciasdeControl

CAPITULO

SentenciasdeControl
3.1
3.2
3.3
3.4
3.5
3.6

SentenciasdeControl
SentenciasSecuenciales
SentenciasdeDecisinoSecuenciales
SentenciasdeSeleccinAnidada
SentenciasdeBuclesoLazosRepetitivos
EleccindeEstructurasRepetitivas

3.1. SentenciasdeControl
LasSentenciasalgortmicassonungrupodeformasdetrabajo,quepermiten,mediante
la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la
solucindeproblemas.Estassentenciasseclasificandeacuerdoconsucomplejidaden:

Secuenciales

Tiposde
Sentencias

Condicionales

Cclicas

Asignacin
Entrada
Salida

Simples
Mltiples

Hacerpara
Hacermientras
Repetirhasta

30

Capitulo III

SentenciasdeControl

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

Accin1

Accin2

Accin3

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 operacinde
salidasedenominaescritura(write)

Lectura
31

Capitulo III

SentenciasdeControl

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:esunmensajequesedeseaaparezcayResunavariableque


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

32

Capitulo III

SentenciasdeControl

Ejercicios Resueltos
Ejercicio1
Algoritmoparasumardosnmeros

AnlisisdelProblema

INICIO

Entradas:

valor1(VariableA)
valor2(VariableB)

Salidas:

Lasumadelvalor1msvalor2(VariableResult)

Variables:

A,B,Resultdetiposdedatosenteros

Ingresedos#s

ALGORITMOSUMA
Variables
A,B,Result ENTEROS
INICIO
Escribir(Ingresedos#s)
Leer(A,B)
Result (A+B)
Escribir(Result)
FINALG

PruebadeEscritorio
A B
RESULT
5 6
11

A,B

Result (A+B)

Result

FIN

SALIDA

Ejercicio2
RealizarunalgoritmoyDiagramadeFlujoparacalcularelreadeunrectngulocuyos
datosbaseyalturaseleendesdetecladoyelresultadosevisualizaraenlapantalla.

INICIO

AlgoritmoRectngulo
Variables
area,base,altura enteros
Inicio
Escribir(Ingreselabaseyalturadeunarectngulo)
Leer(base)
Leer(altura)
area (base*altura)
Imprimir(rea)
Fin_Alg

Ingreselabasey
alturadeun
rectngulo
base
altura

area (base*altura)

rea

Fin

33

Capitulo III

SentenciasdeControl

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

INICIO

Ingresedos
nmeros

A,B

b a*b
a bdiva
b bdiva

a,b

FIN

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

Ingrese tres
valoresa,x,y
x,y,a

z((5*(x+y))+(a*a))

Elresultadodelaexpresin
es:,z

FIN

34

Capitulo III

SentenciasdeControl

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)

35

Capitulo III

SentenciasdeControl

comision(tot_ventas*0.10)
totalpago(sueldob+comision)
Imprimir(totalpago,commission)
Fin

Ejercicio8
Una tiendaofreceundescuentodel15%sobreeltotaldelacomprayunclientedesea
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 uncantidadenpesos,obtenerlaequivalenciaendlares,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
Ginecologa
Traumatologia
Pediatra

Porcentajedelpresupuesto
40%
30%
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%.

36

Capitulo III

SentenciasdeControl

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 sabercualsersupromediogeneralenlastresmaterias
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).
37

Capitulo III

SentenciasdeControl

Silacondicinesfalsa,nosehacenada.
Lacondicinpuedeserelaboradamediantelautilizacindeoperadoresde
relacinascomooperadoreslgicosobooleanos

FLUJ ODECONTROLDEUNASENTENCIASIENTONCES

V
Condicin

AccinA
F

Nota:
Enelcasodeinstruccionescompuestas,estasserndelimitadasporinicioyfin.
Pseudocdigo(accinsimple)
SI(condicin)entonces
instruccinA
Pseudocdigo(accincompuesta)
SI(condicin)entonces
inicio
instruccinA1
instruccinA2
.
.
.
instruccinAn
fin_si

38

Capitulo III

SentenciasdeControl

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

N>0
Nmero
Positivo

N<0
Nmero
Negativo

Fueunplacer
servirlo

FIN

39

Capitulo III

SentenciasdeControl

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
F

V
Condicin

AccinA

AccinB

Pseudocdigo(acciones
compuestas)
SI(condicin)entonces
inicio
accinA1
accinA2
.
.
.
accinAn
fin_si
CASOCONTRARIO
inicio
accinB1
accinB2
.
.
.
accinBn
fin_caso_contrario

40

Capitulo III

SentenciasdeControl

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.

INICIO

Ingreselaedaddeuna
persona

Edad

Edad>=18

Menorde
edad

Mayorde
edad

FIN

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

Calif>=7
Aprobado

Reprobado

FIN

41

Capitulo III

SentenciasdeControl

3.4. SentenciasdeSeleccinAnidadasSI
SedicequeunaestructuraSI(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

42

Capitulo III

SentenciasdeControl

Sib>cEntonces
mayorb
CasoContrario
mayorc
Fin_caso_contrario.
Escribir('Elnmeromayores:',mayor)
Fin_Si

INICIO
Ingrese tres nmeros
enteros
a,b,c
si

Casocontrario

Casocontrario

mayor c

a>b

si

Casocontrario

b>c

mayor b

mayor c

si
a>c

Mayor a

Elnmeromayor
es:, mayor

FIN

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).

43

Capitulo III

SentenciasdeControl

EnlaFigurasemuestraelpseudocdigodelaestructuradeseleccinmltiple.

Nota:
Enelcasodeaccionescompuestas,estasnonecesitanestarencerradasentrellaves.
SEGUN(selector)HACER
INICIO
CASOC1:accinA1
CASOC2:accinA2
CASOC3:accinA3
CASOCn:accinAn
CASOCONTARIO
accinDf
FIN_SEGUN_SEA

SELECTOR

Sentencia1

Sentencia1

Sentencia1

Sentencia1

Sentencia1

SentenciaN

Ejemplo
Elabore un Algoritmo que en la variable result=10realicenlasrespectivasoperaciones.
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

44

Capitulo III

SentenciasdeControl

Fin_Caso
ESCRIBIR(result)
Fin_Alg
Inicio

result 10

Ingreseun Operador
Operador

OPERADOR
+

result
result+5

result
result 5

result
result*5

result
result/5

Result

FIN

Ejercicios Resueltos
Ejercicio1
Realizarunalgoritmoparadeterminarsiunnmeroingresadoportecladoesmltiplode
otro.
INICIO

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

Ingresedos
nmeros

SI

amodb=0
bmoda=0

Siesmltiplo

NO

Noes
mltiplo

FIN

45

Capitulo III

SentenciasdeControl

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

INICIO
Ingrese tresladosde
untriangulo

Casocontrario

si
l1=l2
y

Casocontrario

si
l1=l2
l2=l3

Escaleno

Issceles

Equiltero

FIN

Ejercicio3
Diseeunalgoritmoquedeterminesiunnmeroesnegativo,positivoocero.
Algoritmo(Formato1)
INICIO
REALn
LEERn
SI(n>0)
IMPRIMIR"Positivo"

46

Capitulo III

SentenciasdeControl

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

47

Capitulo III

SentenciasdeControl

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 lacategora
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
Diseeunalgoritmoqueleatreslongitudesydeterminesiformanonountringulo.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

48

Capitulo III

SentenciasdeControl

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')

49

Capitulo III

SentenciasdeControl

'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 Algoritmoparainvertirunacifraalmacenadaenunavariable
A de tal manera si ingresa 834 debe darle como salida 438 , el dato
ingresadodebeestarenunrangode1y999.
50

Capitulo III

SentenciasdeControl

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 pagaraelcargomximode
$750.EscribaunAlgoritmoenelquelaentradaeselnmerodematerias
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
51

Capitulo III

SentenciasdeControl

de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener


cuantodineroseledescuenta.
3. Calcularelnumerodepulsacionesquedebetenerunapersonaporcada10
segundosdeejercicioaerbicolaformulaqueseaplicacuandoelsexoes
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 porunalumnoenel
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
cantidadtotaldedineroqueestardepositadoaesacuentacadames,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
quesembrarenelbosque,sisesabequeen10metroscuadradoscaben8
pinos, en 15 metros cuadrados caben 15 oyameles y en 18 metros
52

Capitulo III

SentenciasdeControl

cuadrados caben 10 cedros. Tambin se sabe que una hectrea equivale a


10milmetroscuadrados.
7. Una fbrica ha sido sometida a un programa de controldecontaminacin
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.

53

Capitulo III

SentenciasdeControl
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

54

Capitulo III

SentenciasdeControl

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

FijarlaVariableIndiceal
ValorInicial

VardeControl
LmiteInferior
LmiteSuperior

No

Si
Sentencias

Al ejecutarse una sentencia PARA por primera vez, el valor inicial seasignaavariable
quesedenominavariabledecontrol,yacontinuacinseejecutalasentenciadelinterior
delbuclehastaquesecumplaelvalordellimitesuperior.

Ejemplo
EscribaunAlgoritmoparaimprimirlosnmerosdel1al100
Algoritmosuma
Variables
IndiceEntero
Inicio
ParairdesdeIndice1hasta100hacer
Escribir(Indice)
Fin_Para
Fin_Alg.

INICIO

Indice1
hasta100

FIN
Indice

55

Capitulo III

SentenciasdeControl

Ejemplo
EscribaunAlgoritmoparacalcularlasumade1+1/2+...+1/50
Algoritmosuma
Variables
IndiceEntero
SumReal
Inicio
Sum0
ParairdesdeIndice1hasta50hacer
Sum(sum+(1/Indice))
Fin_Para
Escribir('LASUMATOTALES=',SUM)
Fin_Alg.

INICIO
Sum 0

Indice1
hasta50

Sum (sum+
(1/Indice))

Lasumatotal
es=
SUM

FIN

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.

56

Capitulo III

SentenciasdeControl

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

57

Capitulo III

SentenciasdeControl

Ejercicio2
Algoritmoquepermiteimprimirlasletrasdelabecedario(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(ab).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

58

Capitulo III

SentenciasdeControl

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

59

Capitulo III

SentenciasdeControl

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

60

Capitulo III

SentenciasdeControl

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.
2.
3.
4.
5.
6.

Calcularlasumadeloscuadradosdelos100primerosnmerosnaturales.
Calcularlasumadecuatronmerosintroducidosporteclado.
Calcularlasumadennmerosintroducidosporteclado.
Calculareimprimirloscuadradosdel20al50
Calcularlamediaaritmticadennmerosingresadosporteclado
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 flujoquecalculetodaslasordenadasparesdela
funcinY=f(x)=x3 +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 5t2 ( 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 de10alumnos
.el programa debe leer el nombre y sus tres calificaciones para cada
61

Capitulo III

SentenciasdeControl

alumno,debecalcularelpromedioparacadaunoydespusdeterminarsi
el alumno es aprobado o reprobado se requiere un promedio de almenos
60 para aprobar. Laprimerapartedelasalidadebeserelnombredel
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
promediodepesodelosnios,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
kilmetrosdurante10das,paradeterminarsiesaptoparalapruebade5
62

Capitulo III

SentenciasdeControl

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 serverdaderaofalsayquesecompruebaunavezacadapasoo
iteracindelbucle(Totaldeinstruccionesqueserepitenenelbucle)
Unbucleconstadetrespartes
Decisin
CuerpodelBucle
Salidadelbucle
MIENTRAS(CONDICION)HACER
sentencias
CuerpodelBucle
Fin:Mientras

CONDICION

Falso

Verdadero
Sentencias

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
controlpasaalasentenciasiguiente.Mientraslacondicinseaverdaderaelbuclese
ejecutar,estosignificaqueelbucleseejecutarindefinidamenteamenosque"ALGO"
63

Capitulo III

SentenciasdeControl

enel interior del bucle modifique la condicin haciendo quesuvalorpaseafalso,sila


expresinnuncacambiaelvalorentoncesestamoshablandodeuncicloinfinito.

Ejemplo
imprimirlosnmerosdel1al10
AlgoritmoNmeros
Variables
numEntero
Inicio
Num0
Mientrasnum<=10Haga
Num(Num+1)
Imprimir(Num)
Fin_Mientras
Fin.

INICIO
Num 0

No
Num<=10

Si
Num Num+1

FIN

NUM

Ejemplo
Sumarlosnmerosdel1al100.
AlgoritmoSuma
Variables
suma,numEntero
Inicio
Suma0
Num0
Mientrasnum<100Haga
Num Num+1
SumaSuma+Num
Fin_Mientras
Imprimir('Lasumatotales:',Suma)
Fin.

64

Capitulo III

SentenciasdeControl

Ejemplo
Algoritmoparaimprimirloscuadradosdelosnmerosdel1al10
AlgoritmoNmeros
Variables
numEntero
Inicio
Cont0
Num0
MientrasCont<=10Haga
Numcont*cont
Cont Cont+1
Imprimir(cont,Num)
Fin_Mientras
Fin.

Contadores
Los proceso repetitivosnecesitannormalmentecontarlossucesosoaccionesinternas
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.
65

Capitulo III

SentenciasdeControl

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
66

Capitulo III

SentenciasdeControl

delosnmerosdadospasede21.AdemselmensajeMASDE21sedebeimprimirla
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
Laspotenciasde2son1,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

67

Capitulo III

SentenciasdeControl

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. Determinarcuantoshombresycuantasmujeresseencuentranenungrupo
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
68

Capitulo III

SentenciasdeControl

9. Leer 100 nmeros. Determinar la media de los nmeros positivos y la


mediadelosnmerosnegativos
10. Averiguarsidadosdosnmerosledosdelteclado,unoesdivisordelotro.

EjerciciosGrupales
DesarrollelossiguientesproblemasaunlenguajealgortmicoydiagramadeFlujo
1. Unapersonadeseainvertirsudineroenunbanco,elcualleotorgaun2%
deinters.Cualserlacantidaddedineroqueestapersonatendralcabo
deunaosilagananciadecadamesesreinvertida?.
2. Unacompaadesegurostienecontratadosanvendedores.Cadaunohace
tresventasalasemana.Supolticadepagosesqueunvendedorrecibeun
sueldobase,yun10%extraporcomisionesdesusventas.Elgerentedesu
compaadeseasabercuantodineroobtendrenlasemanacadavendedor
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
1o2
3o4
5o6
7o8
9o0

COLOR
amarilla
rosa
roja
verde
azul

5. Enunsupermercadouncajerocapturalospreciosdelosartculosquelos
clientes compran e indica a cada clientecualeselmontodeloquedeben
pagar.Alfinaldeldaleindicaasusupervisorcuantofueloquecobroen
totalatodoslosclientesquepasaronporsucaja.
6. Cinco miembros de un club contra la obesidad desean saber cuanto han
bajadoosubidodepesodesdelaultimavezquesereunieron.Paraestose
deberealizarunritualdepesajeendondecadaunosepesaendiezbsculas
69

Capitulo III

SentenciasdeControl

distintas para as tener el promedio mas exacto de su peso. Si existe


diferencia positiva entre este promedio de peso yelpesodelaultimavez
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

70

Capitulo III

SentenciasdeControl

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)

Sentencias1

Sentencias2

Sentencias3

Falso

CONDICION

Verdadero

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

71

Capitulo III

SentenciasdeControl

El bucle s repite hasta que elvalordevariableNumeroseiguala10,loquesuceder


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

72

Capitulo III

SentenciasdeControl

INICIO
sum0 a 0

IngreseunNmero
n

N>0

sumsum+n
a a+1

Falso
N<0
Verdadero
Media

FIN

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)

73

Capitulo III

SentenciasdeControl

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.Paraelnmero0lasalidadebeser: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.

74

Capitulo III

SentenciasdeControl

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 sieltipoesestndar.Sihay
una solicitud de un el empleado tiene que verificar que las copias
pendienteshastaelmomentoylascopiassolicitadasnoexcedandellimite
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.

75

Capitulo III

SentenciasdeControl

8. El profesor de una materia desea conocer la cantidaddesusalumnosque


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. Enunsupermercadounaamadecasaponeensucarritolosartculosque
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
Laeleccinadecuadadeestructurasrepetitivasesunadelaspartesmsimportantesen
el diseo de un algoritmo. La repeticin de sentencias en el interior del bucle requiere
definir las condiciones de terminacin delbucleconsumocuidadoparaevitarunbucle
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(condicinfalsa)no seejecutar.Enlapractica,elbucleMientrasseutiliza
conmsfrecuenciaqueelbucleREPETIR.
ElPARAsereservaparasituacionesenqueelnmeroderepeticionessepuedepredecir
y enumerar fcilmente antes que comience el bucle. Un bucle for se puede reescribir
fcilmente(normalmenteconunbucleMIENTRAS)utilizandootrasestructuras.
Cuandonoseconocenconanticipacincuntasvecessetienequeejecutarunbucle,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:

76

Capitulo III

SentenciasdeControl

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. Sielnmerodeinteraccionesesindeterminadayelbuclesedebeejecutar
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
SialcarcterledolecorrespondeunnmeroASCIImenora33o
mayora126,sedebeescribirelmensaje:'CarcterdeControl'.
Independientemente del mensaje escrito, se debe escribiralfinaldela
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=12 +22+32+42 ++1002
4. Escribaunalgoritmoqueleaundatonycalculelossiguientesvaloresnn y
n!

77

Capitulo III

SentenciasdeControl

5. Escribaunalgoritmoquelealosdatosa,nyrycalculealSumatoriade:
Suma=arn1
yProducto=N!*2n
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( X3 /3!)+(
X 5 /5!) (X7/7!)+.....
9. Calcule lasumadelostrminosdelaserieFIBONACCIcuyosvaloresse
encuentranentre100y10,000.

78

Capitulo IV

Arreglos,VectoresyMatrices

CAPITULO

Arreglos,VectoresyMatrices
4.1
4.2
4.3
4.4

Arreglos
SentenciasSecuenciales
SentenciasdeDecisinoSecuenciales
SentenciasdeSeleccinAnidada

4.1. Arreglos
UnArregloesunaestructuradedatosquealmacenabajoelmismonombre(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
x

Nombredelarreglo
Numerodedatosqueconstituyenelarreglo
79

Capitulo IV

Arreglos,VectoresyMatrices

Representacingrficadeunvector
Vec[1]
Vec[2]
Vec[3]
Vec[4]

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. Calcularelpromediode50valoresalmacenadosenunvector.Determinar
adems cuantos son mayores que el promedio, imprimir el promedio, el
numero de datos mayores queelpromedioyunalistadevaloresmayores
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.
80

Capitulo IV

Arreglos,VectoresyMatrices

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 ambosvectoressetengael
mismovalorparatodosloselementos.
9. SetieneelvectorAcon100elementosalmacenados.Diseeunalgoritmo
que escriba SI sielvectorestaordenadoascendentementeoNOsiel
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
elementodeB.Elresultado delamultiplicacinalmacenarloenunvector
C.
12. DiseeunalgoritmoquealmaceneenunvectorllamadoFIB[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 unnombrede
matrizacompaadodedosndices.
Mat[R,C]
Donde R indica el rengln y C indica la columna, donde se encuentra almacenado el
dato.

81

Capitulo IV

Arreglos,VectoresyMatrices

Representacingrficadeunamatriz
Mat[R,C]

Filao
Renglon
[R]

1,1
2,1
3,1
4,1

1,2
2,2
3,2
4,2

1,3
2,3
3,3
4,3

1,4
2.4
3,4
4,4

Columna
[C]

Llenadodeunamatriz
Porrenglones
HacerparaR=1a5
HacerparaC=1a5
LeerMat[R,C]
Finpara
Finpara
Porcolumnas
HacerparaC=1a5
HacerparaR=1a5
LeerMat[R,C]
Finpara
Finpara

Nota
Parahacerelllenadodeunamatrizsedebendeusardosvariablesparalosndicesyse
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.
82

Capitulo IV

Arreglos,VectoresyMatrices

4. Hacerunalgoritmoquelleneunamatrizde20*20.Sumarlascolumnase
imprimirquecolumnatuvolamximasumaylasumadeesacolumna.
5. Hacer un algoritmo que llene una matriz de 5 * 5 y que almacene la
diagonalprincipalenunvector.Imprimirelvectorresultante.
6. Hacerunalgoritmoquelleneunamatrizde10*10yquealmaceneenla
diagonalprincipalunosyenlasdemsposicionesceros.
7. Hacer un algoritmo que llene una matriz de6*8yquealmacenetodala
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. Diseeunpseudocdigoqueescribaelnumerodelahileracuyasumasea
mayorquelasdemshileras.Supongaquetodaslashilerassumandiferente
cantidad.

83

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"Problemasdemetodologadelaprogramacin"
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

84

Anotaciones

85

Anotaciones

86

DerechosReservados

Todoslosderechosdeestematerialseencuentranreservados,
estoimplicasancionescontracopia,plagiototaloparcial
fotocopiadoyxerografiado.

EstaobrasetermindeeditarenAbrildel2007
MatrizOriginalMicrosoftWord2003
LIC.DIEGOROLANDOREALPEB.
LIC.WASHINGTONFIERRO
Copyright2007

87

You might also like