Professional Documents
Culture Documents
Ejer ! !o# +eg(n los conceptos arriba mencionados, de1ina con sus propias palabras el concepto de algoritmo :el estudio anterior de los autores descritos podemos decir, que un algoritmo es un con0unto de pasos precisos, de1inidos " 1initos que conducen a la solucin de un problema* 9or e0emplo, el desarrollo de las actividades diarias en nuestra vida cotidiana, corresponde a un algoritmo, as' como tambi4n la realizacin del clculo de la ecuacin de segundo grado, la emisin de una nmina de pago de empleados, entre otros*
Ejemplo. Algoritmo para comprar los boleto de entrada al cine* ;* #* 3* 6* $* ?* A* <nicio +eleccionar la pel'cula Llegar al lugar de pro"eccin de la pel'cula =evisar la cartelera >acer la cola de pago @sperar el turno +olicitar la pel'cula*
Duando un algoritmo deba ser e0ecutado por una computadora, se necesita eEpresar el algoritmo en instrucciones comprensibles por la computadora) para esto (ltimo, se utilizan los lengua0es de programacin* Al algoritmo eEpresado en un determinado lengua0e de programacin, se le denomina programa* @sto 'ndica que de un determinado problema o situacin dada, se elabora un algoritmo con los pasos necesarios para su solucin, " si se requiere sea e0ecutado por un computador, se traduce el algoritmo a instrucciones editadas en un lengua0e de programacin* Femoslo a trav4s del presente e0emploG Algoritmo para resolver la sumatoria de dos n(meros*
9roblema
Algoritmo
9rograma
<nicio :eclarar variable +umaH !, Leer 9rimer I(mero Asignarlo a la variable A Leer +egundo I(mero Asignarlo a la variable , Asignar el valor de A J , a la variable +uma +umaH A J , <mprimir valor de +uma
Int numero1, numero2, suma=0; Printf ( Ingrese numero1: ); Scanf (&numero1, ); Printf (Ingrese numero2:); Scanf (&numero2, ); Scanf (Suma= numero1+numero2);
1.1. PARTES DE UN ALGORITMO 5odo algoritmo debe obedecer a la estructura bsica de un sistema, es decirG entrada, proceso " salida*
:ondeG
ENTRADA PRO$ESO Dorresponde al insumo, a los datos necesarios que requiere el proceso para o1recer los resultados esperados* 9asos necesarios para obtener la solucin del problema o la situacin planteada* =esultados arro0ados por el proceso como solucin*
SALIDA
1.%. ELEMENTOS PARA LA $ONSTRU$$I&N DE UN ALGORITMO :e1in'amos algoritmo como un con0unto de pasos conducentes a resolver un problema, cada uno de esos pasos, corresponde a lo que se denomina en el programa, una instruccin, aunque pudiera darse que, en una instruccin se 0unten dos o ms pasos* Aprender a realizar un algoritmo se 1undamenta en lo que se persigue lograr con su desarrollo ) debido a que no eEiste un m4todo (nico para resolver problemas se estudian di1erentes m4todos de resolucin o modelos de construccin para lograr la generacin del resultado deseado*
In'tru
!"n o 'enten !a
:ependiendo del origen del material instruccional se habla de instruccin o sentencia) 4sta, de1ine una accin o un mandato que se debe realizar, esa accin o mandato se representa a trav4s de un comando o lo que es lo mismo palabras reservadas de un lengua0e de programacin en particular* 7na instruccin est compuesta por uno o ms comandos -accin., datos, s'mbolos, variables o constantes " eEpresiones, que en con0unto representan una instruccin o sentencia*
Ejemplo de !n'tru
!"n# @n la construccin de los programas se estila utilizar una instruccin por l'nea* As' mismo, se utiliza la identacin, que no es ms que la alineacin de aquellas instrucciones dentro de las estructuras que las contienen de manera ordenada que permita visualizar el inicio " 1in de cada bloque de instrucciones*
Si A+<+5<K H2+<2 Entonces <mprimir-/<ntroduzca el sueldo2. Leer +ueldo, Asignar+ueldo H +ueldo J >ora@Etra <mprimir -/@l sueldo asignado es2, Asignar+ueldo. Fin Si :ondeG SI ASISTIO =epresenta una estructura condicional utilizada para establecer preguntas o programar ciertas condiciones Iombre de una Fariable lgica que puede obtener slo dos valores /+<2 o /IK2* @n el e0emplo se programa la condicin de la variables cuando es /+<2
F!n SI
$omando' o pala,ra' re'er-ada' 5odos los lengua0es, naturales o computacionales, tienen palabras que denotan una accin* Los comandos no son ms que acciones que debe interpretar " e0ecutar el computador* Dada comando conserva una sintaEis determinada, es decir la 1orma de utilizarlo* Los lengua0es computacionales tienen en su repertorio comandos dirigidos al procesamiento de archivos " datos, entre ellosG Leer, Dalcular, Asignar, Dlasi1icar, <mprimir* Dato' Los datos son s'mbolos que se convierten en condiciones, hechos, situaciones o -alore'* 7n dato puede signi1icar un n(mero, una letra, un signo ortogr1ico o cualquier s'mbolo que represente una cantidad, una medida, una palabra o una de' r!p !"n* La importancia de los datos est en su capacidad de asociarse dentro de un conteEto para convertirse en in1ormacin* @s decir, por si mismos los datos no tienen capacidad de comunicar un signi1icado " por tanto no pueden a1ectar el omportam!ento de quien los recibe* 9ara ser (tiles, los datos deben convertirse en in1ormacin que o1rezca un signi1icado, ono !m!ento, ideas o conclusiones* TIPOS DE DATOS Domo se describi anteriormente, un dato es un campo que puede convertirse en in1ormacin* @Eisten datos simples -sin estructura. " compuestos -estructurados.*
Los datos simples son los siguientes L L L Ium4ricos -=eales, @nteros. Lgicos Darcter -Dhar, +tring.
T!po' de dato'
Num/r! o'
L"g! o'
$ar7 ter
Reale'
Entero'
$8ar
Str!ng
Ejemplo. @0emplos de tipos de datos simples T!po de dato' Num/r! o' Entero' $ara ter.'t! a' Los n(meros enteros son los n(meros naturales positivos " negativos que conocemos* Ejemplo' 1 % %0 112 3102 4.02 1.44 %0.15 116.10 3102.%5 Iacionalidad H /Fenezolano2 -+MI.N
Los n(meros reales, son los n(meros que tienen parte decimal*
+on aquellos datos cu"os (nicos valores slo pueden serG Ferdadero -F. o Calso -C., puede
VARIABLES Y CONSTANTES +on espacios de memoria creados para contener valores que de acuerdo a su naturaleza deseen mantenerse -Donstantes. o que puedan variar -Fariables.*
$on'tante
@s un dato que permanece con un valor, sin cambios, es decir constante, a lo largo del desarrollo del algoritmo o a lo largo de la e0ecucin del programa* +e utiliza cuando necesitamos que el valor de determinada variable se mantenga durante la e0ecucin del programa o hasta tanto se requiera su cambio*
9ar!a,le
@s un dato cu"o valor puede variar a lo largo del desarrollo del algoritmo o en el transcurso de la e0ecucin del programa* 7na variable descrita o declarada de un tipo determinado, slo podr contener, valores de ese tipo* 7na variable declarada num4rica entera, no podr contener n(meros reales* +e utiliza cuando el dato que contiene su1rir cambios o variar en la medida que cambien los valores que mane0e*
T!po
@s la naturaleza del datoG al1ab4ticos o caracteres) num4ricosG enteros o reales) al1anum4ricos " Lgicos* +iguiendo el e0emplo, se determina la naturaleza de las variables arriba mencionadas* IKM,=@ @:A: 5K5AL +7@L:K IAD<KIAL<:A: D>A=AD5@= -3!. ALCAI7M@=<DK I7M@=<DK =@AL I7M@=<DK =@AL LVW<DK
E+PRESIONES : OPERADORES Las eEpresiones son combinaciones de constantes, variables, s'mbolos de operacin -matemticos, lgicos " relacionales. " nombres de 1unciones que se utilizan en el cuerpo del algoritmo* Las eEpresiones pueden ser simples o compuestas, Las eEpresiones simples, son asignaciones directas a una variable o constante de un valor num4rico o carcter, v4ase el siguiente e0emploG
Ejemplo' de e;pre'!one' '!mple' Nom,re de la E;pre'!"n 9alor a'!gnado A H? , H /:@C<I<5<FK2 C@D>A H ddMmmMaa :VLA= H#;#! 9A<+ H2F@I@P7@LA2
E;pl! a !"n o an7l!'!' A la variable A se le asigna el valor de ? A la variable , se le asigna por valor /:@C<I<5<FK2 A la variable C@D>A se le asigna una 1echa dada* A la constante :VLA= se le asigna el valor de #;#! A la constante 9A<+ se le asigna por valor /F@I@P7@LA2
Ejemplo' de e;pre'!one' ompue'ta' Nom,re de la E;pre'!"n 9alor a'!gnado A H?X# D @:A: +7@L:K HAJ, H AUKAD57AL L AUKIAD H :<A+5=A, X +:<A=<K
E;pl! a !"n o an7l!'!' A la variable A se le asigna el valor ;#, que resulta de multiplicar ? por #* A la variable D se le asigna el valor de sumar A J , La variable @:A: obtendr el resultado de restarle a la constante AUKAD57AL el valor de la variable AUKIAD La variable +7@L:K tomar el valor de multiplicar los d'as traba0ados contenidos en la variable :<A+5=A, por el valor de salario diario contenido en +:<A=<K*
A H #!
:onde la variable que est a la izquierda toma el valor que se le asigna* @sto tambi4n indica que pierde el valor que hasta ahora ten'a*
E;pre'!one' Ar!tm/t! a' +on utilizadas para construir 1ormulas matemticas* Las variables " constantes utilizadas son de naturaleza num4rica, es decir n(meros enteros o reales, " las operaciones a e1ectuar son de orden aritm4tico*
+umar
+i A H;! " , H ;3
@l =esultado esG #3
L X XX
AL, AX, A XX ,
L3 ;3! ;!!*!!!*!!!*!!!*!!!
:ivisin
AM,
!,A?
A los operadores aritm4ticos podemos darles caracter'sticas de autoincremento (++) " autodecremento (--)* @l operador de incremento o decremento puede ir delante o detrs de la variable, teniendo di1erente signi1icado* +i el operador !! se coloca despu4s de la variable se denomina postincremento, haciendo que primero se tome el valor " despu4s se incremente la variable* @0emploG I5H5#JJ, donde I5 toma el valor de 5# " luego se incrementa* Duando el operador JJ se sit(a despu4s de la variable, sucede lo contrario, primero se incremente la variable " despu4s se toma el valor, " se denomina preincremento" @0emploG I5 H JJ5#, donde I5 primero se incrementa " luego se asigna a I5* @Eiste el operador de predecremento " postdecremento, el cual act(a de 1orma anloga* 9or e0emplo, supongamos que en una empresa requieren disear un programa de incentivo a los 0venes empleados, entre los que se encuentran los aprendices que tienen una edad por deba0o de los ; aos " los empleados que tienen ; " ms aos) de acuerdo a su
E;pre'!one' Rela !onale' +e constru"en a partir de los operadores relacionales -de relacin o comparacin, H , Z , [ , ZH, [H, [Z o \H* Los operadores relacionales sirven para eEpresar las condiciones en los algoritmos* Las variables " constantes utilizadas son de distinta naturaleza, el resultado de una eEpresin lgica " relacional es de tipo lgico* @l con0unto de operaciones relacionales se muestran en la siguiente tabla
Operadore'
S!gn!?! ado
Ejemplo
Interpreta !"n
Menor que
A[,
F@=:A:@=K
ZH
Ma"or igual
AZ H ,
CAL+K
[H
Menor igual
A [H ,
F@=:A:@=K
HH
<gual
A HH ,
CAL+K
[Z \H
:i1erente
A [Z , A \H ,
F@=:A:@=K
E;pre'!one' L"g! a' Las eEpresiones lgicas se utilizan en los programas cuando se requiere conocer o evaluar si los valores de variables o constantes determinadas cumplen con ciertas condiciones* :e cumplirse o no, permiten un con0unto de instrucciones que pueden o no e0ecutarse* 7na eEpresin lgica puede ser verdadera o 1alsa*
E;pre'!one' l"g! a'< son eEpresiones que slo pueden tomar uno de dos valores posiblesG Ferdadero o Calso* @stas eEpresiones se 1orman combinando constantes lgicas, variables lgicas " otras eEpresiones utilizando los operadores /]2 -AI:., /K2 -K=. " /IK2 -IK5.* @l resultado de una eEpresin lgica es tambi4n un valor de tipo lgicoG verdadero o 1also*
E9ALUA$I&N DE E+PRESIONES Duando en una eEpresin concurre ms de una operacin, los par4ntesis indicarn prioridad, es decir, la operacin encerrada entre par4ntesis se realizar en primer lugar* Asimismo, algunos operadores tendrn prioridad sobre otros* Las operaciones aritm4ticas son e1ectuadas en el siguiente ordenG ;* Menos unario o negacin #* @Eponenciacin 3* Multiplicacin, divisin " divisin entera 6* +uma " resta
Ampl!a !"n* @n la eEpresinG 9rimero se realiza bMc, " luego al resultado de esto, se le sumar el valor de a
) ,> B ,
@n una eEpresin donde los operadores tienen la misma prioridad, la operacin se har de izquierda a derecha* +i la operacin tiene eEponenciales el orden ser de derecha a izquierda
%.%.
necesarios que conllevan a la solucin algor'tmica de un problema* 9ara disearlos se utilizan determinados s'mbolos o 1iguras que representan una accin dentro del procedimiento* @stos s'mbolos se han normalizado o estandarizado para representar los pasos del algoritmo* Dada paso se representa a trav4s del s'mbolo adecuado, que se van uniendo con 1lechas, denominadas l'neas de 1lu0o, que a su vez indican el orden en que los pasos deben ser e0ecutados* Para 'u ela,ora !"n 'e de,en 'egu!r !erta' regla'# ;* +e escribe de arriba hacia aba0o " de izquierda a derecha* #* +iempre se usan 1lechas verticales u horizontales, 0ams curvas, se debe evitar el cruce de 1lu0os* 3* Dada paso eEpresa una accin concreta* Para 'u 'e uen !a de ?lujo normal 'e de,e umpl!r on# ;* 7n inicio #* 7na lectura o entrada de datos 3* 9rocesamiento de datos 6* 7na salida de in1ormacin $* 7n 1inal S!m,olog.a para d!'eCar ?lujograma'.
+alida a pantalla
:ireccin del
1lu0o de datos
<nicioMCin
Done ctor
:ecisi n
Donector Cuera de pgina
9roceso
Entrada
9entaja' de u'ar ?lujograma' ;* =pida comprensin de las relaciones* #* Anlisis de las di1erentes secciones del programa 3* 9ueden usarse como modelos de traba0o en el diseo de nuevos programas o sistemas* 6* @nriquece la comunicacin con el usuario* $* 9ermite la documentacin adecuada de los programas* ?* Me0or codi1icacin de los programas* A* :epuracin " pruebas ordenadas de programas
De'-entaja' de lo' ?lujograma' ;* Duando estamos en presencia de diagramas comple0os " detallados pueden resultar laboriosos en su planteamiento " diseo*
5.
ESTRU$TURAS DASI$AS O DE $ONTROL UTILIEADAS EN EL DISEFO DE INSTRU$$IONES @n la elaboracin de algoritmos nos vamos a encontrar con estructuras bsicas o de control "a prediseadas para el tratamiento de in1ormacin, estas estructuras bsicas traducen acciones que se realizan de acuerdo al requerimiento o al proceso necesario al cual deba someterse la in1ormacin* @stas estructuras sonG a. Se uen !ale'# cuando se requiere que una instruccin siga despu4s de otra* b. Sele !"n o de !'!"n# se utiliza cuando se requiere tomar decisiones lgicas, la e0ecucin de las instrucciones depender de que se cumplan o no, una o varias condiciones* c. Repet! !"n o Itera !"nG se utiliza cuando un proceso debe repetirse un n(mero determinado o no de veces, una vez se ha"a establecido cierta condicin para 1inalizar el proceso de repeticin* Asimismo dentro de las estructuras bsicas eEisten acciones o procesos a los cuales son sometidos los datos, entre ellos, tenemosG a* Asignacin b* Dondicionado -a trav4s de las eEpresiones lgicas. c* Alternativas -estructura condicional. d* <terativas e* :e entrada " salida 1*
9osee una entrada " una salida, la representacin de una estructura secuencial en 9seudocdigo, se realiza, de la siguiente maneraG
Entrada Entrada <nstrucciones de declaracin inicializacin de variables -Asignacin. " de lectura de los datos de entrada Pro e'o <nstrucciones de Dlculo M +umarizacin Asignacin Sal!da Sal!da <nstrucciones de totalizacin e <mpresin <mprimir valor de +7MA +7MA H !, A H !, , H K Leer A " , Pro e'o =Asignar a +7MA el valor de A ms el valor de ,. +7MA H A J ,
De !'!one' en 'e uen !a +e utiliza cuando se deben realizar preguntas sin que se tome en cuenta lo contrario a la condicin, es decir las dems condiciones no son importantes para el ob0etivo de la decisin*
Ejemplo# =ealizar un algoritmo que permita seleccionar slo aquellas participantes del concurso Mis Fenezuela que cumplan ciertas condiciones en una primera ronda de seleccin* E'tru tura S! Dondicin ; se cumple Enton e' <nstrucciones a e0ecutar en caso de que la condicin; sea verdadera S! Dondicin # se cumple Enton e' <nstrucciones a e0ecutar en caso de que la condicin# sea verdadera S! Dondicin 3 se cumple Enton e' <nstrucciones a e0ecutar en caso de que la condicin3 sea verdadera S! Dondicin 6 se cumple Enton e' <nstrucciones a e0ecutar en caso de que la condicin6 sea verdadera F!n S! F!n S! F!n S! F!n S! <mprimir resultados F!n /+lo si cumplen estas cuatro primeras condiciones pasaran a la segunda ronda2* S! =ostro H />@=MK+K2 Enton e' +umar ; a 9unta0e S! @statura ZH ;* ! Enton e' +umar ; a 9unta0e S! Medidas H /B!L?!LB!2 Enton e' +umar ; a 9unta0e S! @studios7niversitarios H /+<2 Enton e' +umar ; a 9unta0e F!n S! F!n S! F!n S! F!n S! <mprimir slo las que 9unta0e H 6 F!n
La estructura secuencial es (til para aquellos procesos en los que se requiere que se cumplan con estricto orden un n(mero determinado de instrucciones, siempre " cuando se cumpla la anterior, por lo general, la primera decisin corresponde al aspecto ms determinante o general* @n el caso de las postuladas la ms general o determinante deber'a ser, la nacionalidad, si la participante es venezolana, entra a la primera seleccin, de lo contrario, no entra al concurso*
!"n o de !'!"n.
7n algoritmo se realiza para resolver un problema* 9or ello, al elaborar la solucin de un problema se trazan ciertas condiciones* @stas condiciones se describen a trav4s de una estructura selectiva, tambi4n llamada de decisin o condicin* 7na estructura selectiva esta
+e utiliza cuando se requiere tomar decisiones lgicas ESTRU$TURAS DE DE$ISI&N 9ueden ser de instruccionesG
+<M9L@+ :K,L@+ DKM97@+5A+ M7L5<9L@+ -Dase.
,onoG ! S! @dad ZH ; Enton e' -Dalcular ,ono de empleado. ,ono H +alario X !*$! F!n@'! 5otal +alario H +alario J ,ono
La estructura simple obedece a evaluar una condicin, si se cumple se realizar una o un con0unto de instrucciones, " 1inalizar la e0ecucin del programa* I? GDondicinZ T8en End!?
Calso
+i la instruccin se disea slo para evaluar la condicin de verdadero cuando se cumpla que el empleado es /1i0o2, se estar'a realizando el clculo slo para el personal 1i0o, si se requiere realizar el clculo inclu"endo a los aprendices se debe utilizar la estructura doble*
E'tru tura ond! !onal do,le o Alternat!-a =S!3Enton e'3S! no B I?3T8en3El'e> La estructura condicional simple es limitada porque permite la evaluacin de una sola condicin a la vez, la estructura condicional doble o alternativa permite evaluar una condicin, la cual puede tener dos acciones, cuando se cumple, " cuando no se cumple* +i se cumple, se realizar una o un con0unto de instrucciones A, si no se cumple, se realizar una o un con0unto de instrucciones ,*
@sta estructura obedece a evaluar una condicin " en 1uncin del resultado, se realiza un con0unto de instrucciones u otras* -9seudocdigo <ngl4s. I? Dondicin T8en &'nstrucciones( El'e &'nstrucciones( End!? IotaG @n la data slo estn registrados empleados " aprendices
-9seudocdigo @spaol. S! @dad ZH ; Enton e' -Dalcular ,ono de empleado. ,ono H +alario X !*$! S! no -Dalcular ,ono de aprendiz. ,ono H +alario X !*6! F!n@'! 5otal +alario H +alario J ,ono
,ono Aprendiz
,ono @mpleado
$ond! !one' ompue'ta' Las estructuras de condiciones compuestas, algunos autores las re1ieren como dobles, permiten disear las instrucciones utilizando dos " ms estructuras simples unidas por los conectores lgicos /]2 -AI:., /K2 -K=. " /IK2 -IK5.*
D. Se reKu!ere e' r!,!r la' !n'tru !one' Kue perm!tan eleg!r pro?e'!onale' del 7rea de '!'tema'. IF 9=KC@+<KI H /<ngeniero en +istemas2 OR 9=KC@+<KIH2Licenciado en Domputacin2 T8en Impr!m!r :atos Impr!m!r :atos <ncrementar contador <ncrementar contador End I? F!n S! $. +e requiere seleccionar slo las personas que no est4n casadas* DA+A:K H /+<2 DA+A:K H /+<2 S! IK5 DA+A:K Enton e' IF IK5 DA+A:K T8en <mprimir datos <mprimir datos F!n S! End I? S! 9=KC@+<KI H /<ngeniero en +istemas2 O 9=KC@+<KIH2Licenciado en Domputacin2 Enton e'
@l uso " signi1icado de los operadores lgicos /]2 -And., describiremos a trav4s de tablas de la verdadG
5abla de verdad de /]2 -And. 5abla de verdad de /K2 -K=.
+ Calso Ferdadero
Al evaluar la tabla de la verdad, para el conector And< en la elaboracin de una instruccin en la cual deben cumplirse dos condiciones m'nimas, como por e0emplo, en el caso del Miss Fenezuela, se eEige que la participante sea venezolana " ma"or de edad como requisitos de inscripcin, suponiendo sea el caso de manera estricta, la instruccin ser'aG I? Iacionalidad H 2Fenezolana2 And @dadZH; <nscribir End I? T8en
@l conector And se utiliza cuando se requiere que se cumplan las dos eEpresiones simples que se establecen* 9or lo tanto en las opciones, dondeG @s eEtran0era " menor de edad es decirG 1also " 1also, el resultado ser 1also @s eEtran0era " ma"or de edad es decirG 1also " verdadero, el resultado ser 1also @s venezolana " menor de edad es decirG verdadero " 1also, el resultado es 1also @s venezolana " ma"or de edad es decirG verdadero " verdadero, el resultado es verdadero
Ejer ! !o'. Donstru"e un e0emplo para los conectores /K2 -K=. " /IK2 -IK5., seg(n las situaciones dadasG a. :e un archivo de datos se requiere seleccionar slo empresas que se encuentren ubicadas en los estados 5ru0illo " M4rida* b. :e un archivo de datos seleccionar mobiliario que no sea amarillo*
Ejemplo# Leer tre' nLmero' e !mpr!m!r el m7' grande de ello' 7tilicemos el pensamiento sist4mico para resolver =espondiendo a las preguntas que se encuentran el problemaG a la derecha, tenemosG ;* @l ma"or de tres n(meros distintos dados #* Los tres n(merosG A, , " D ;* _Dul es el resultado que se desea obtenerN 3* Domparacin #* _Dules deber'an ser los datos de entradaN 6* @l ma"or de los tres n(meros 3* _Dul es el proceso al que debe someter los datosN 6* _%u4 resultado se espera obtenerN Algoritmo In! !o EntradaG Pro e'o +e determina el ma"or valor Sal!da +e imprime al valor ms grande F!n I? , Z A And , Z D T8en MA` H , End I? I? D Z A And D Z , T8en MA` H D End I? Impr!m!r /@l valor ms grande esG /, MA` F!n
Ampl!a !"n* La unidad aritm4tica " lgica, uno de los componentes de una computadora, se encarga del mane0o de las operaciones aritm4ticas " a la porcin lgica de la computadora le corresponde procesar la capacidad de tomar decisiones* La estructura de construccin algor'tmica !?3t8en3el'e -'!3enton e'3de
5.5. E'tru tura' de Repet! !"n o Itera !"n. @sta estructura se utiliza cuando se debe e0ecutar un con0unto de instrucciones un n(mero repetido de veces* Al con0unto de instrucciones que se e0ecutan repetidamente, un n(mero de veces, se le llama tambi4n ciclo, bucle o lazo* @l n(mero de veces que se e0ecuta se denomina Iteraciones; por consiguiente, una iteracin, es una de las veces en las cuales se e1ect(an todas las instrucciones contenidas en el ciclo* Pa'o' de una e'tru tura an!dada o . l! a# ;* @ntrada de datos e instrucciones previas #* Lazo o bucle 3* <nstrucciones 1inales o resto del proceso 6* +alida de resultado Las repeticiones deben ser 1initas, no obstante puede ser que en momentos determinados no nos demos cuenta " construimos un ciclo o bucle in1inito, esto lo eEplicaremos ms adelante, en principio estudiaremos los ciclos 1initosG
+e requiere calcular bono vacacional para todos los empleados, de acuerdo a su salario* La empresa tiene un total de A$ empleados* :esde su inicio se de1ine el n(mero de iteraciones o se crea la condicin necesaria para darle 1in al ciclo* In! !o Io@mpleadosH ! S! Io@mpleados [A? Enton e' Dalcular bono <mprimir bono <ncrementar en uno al contador -Io@mpleados. F!n S! <mprimir =esultados F!n
,ono
NoEmpleados = NoEmpleados # $
Retonar
=esultad o
%&"
INSTRU$$I&N SELE$TI9A =$a'e>. +e utiliza cuando eEisten ms de dos opciones posibles) se conoce tambi4n como opciones m(ltiples* La estructura de decisin m(ltiple o selectiva evaluar una eEpresin que podr tomar un con0unto de valores distintos ;, #, 3, 6, n, es decir hasta n valores* +eg(n la eleccin del valor de la condicin establecida, se realizar un con0unto de instrucciones*
El'e
<ngl4s M8!le
@spaol Mientras
@valuacin " acciones Mientras se cumpla la condicin que desencadena el proceso, las instrucciones que se encuentran dentro del ciclo While se realizarn* +e realizar la e0ecucin de una o ms instrucciones />asta2 que el resultado de la eEpresin lgica evaluada sea /verdadero2* +e realizar una secuencia predeterminado de veces* de acciones un n(mero
Repeat
=epetir
For
9ara
Forma' de term!nar on ,u le' o ! lo' de repet! !"n a part!r de lo' dato' de entrada
a* 9reguntando antes de la iteracin* Antes de iniciar el ciclo, se comienza preguntando si eEisten ms datos, se realiza el proceso " dentro del ciclo se vuelve a preguntar /_@Eisten ms datosN2, de eEistir, sigue el ciclo, de no eEistir ms datos culmina el ciclo, este m4todo es tedioso si se traba0a con grandes listas de datos* Mientras se cumpla la condicin que desencadena el proceso, las instrucciones que se encuentran dentro del ciclo While se realizarn* +e realizar la e0ecucin de una o ms instrucciones />asta2 que el resultado de la eEpresin lgica evaluada sea /verdadero2* +e comprueba que no eEisten ms datos de entrada*
b* @ncabezar la lista de datos con su tamao* c* Cinalizar la lista con su valor de entrada*
E'tru tura IM!entra'J =M8!le> La estructura repetitiva While, seg(n &o"anes -#!!3.G /es aqu4lla en que el cuerpo del bucle se repite mientras se cumple una determinada condicin2, al cambiar la condicin se interrumpe o se culmina con la e0ecucin del ciclo de instrucciones que se encuentran dentro de la estructura o el ciclo While* @sta estructura es mu" (til cuando dada una condicin, se requiere asegurar se realice un con0unto de instrucciones*
Ejemplo en Ingl/'# While )*istenDatos + ,i Ejemplo en E'paCol# Mientras )*istenDatos + ,i De' r!p !"n# Mientras la variable que contiene la condicin de veri1icacin de eEistencia de datos, en este caso, se cumpla se realizarn las instrucciones que contiene el ciclo Mientras* Mientras el n(mero que se ingrese sea distinto de cero, se realizar el con0unto de instrucciones que contiene la estructura Mientras* @l ciclo culmina al introducir un !*
Wend
Fin -ientras
Ampl!a !"n* La estructura repetitiva Mientras se realizar si " slo si se cumple la condicin evaluada, de lo contrario el programa no entra en el ciclo, " continua en la siguiente instruccin 1uera del bucle* La condicin evaluada debe programarse e1ectivamente 1uera del ciclo, si se requiere realizar el bloque de instrucciones " luego cambiar su condicin dentro del bucle, cuando sea necesario 1inalizar el proceso, de lo contrario se estar'a programando un ciclo in1inito*
ESTRU$TURA M*ILE =Ingl/'> While <condici n!do "cciones Wend =E'paCol> Mientras <condici n! hacer "cciones Fin Mientras In! !o E#emplo$ =ealizar un algoritmo que sume los primeros n(meros hasta encontrar un n(mero negativo* Dontador H ! +uma H ! Leer -I(mero. M!entra' I(mero Z ! 8a er Dontador H Dontador J ; +uma H +uma J I(mero Leer -I(mero. F!n@M!entra' E' r!,!r c@l n(mero de enteros positivos es G2 Dontador /La sumatoria esG 2 +uma F!n =D!agrama de Flujo>
D!agrama N3S
Ejer ! !o'. Donstru"a utilizando la estructura Mientras -While. el segmento del algoritmo que permita resolver situaciones dadasG a. +e requiere realizar sumatoria de n(meros pares positivos hasta llegar a ;!!!* b. :e un archivo de datos realizar distintos procesos hasta que no eEistan ms datos*
@sta estructura permite realizar una o ms instrucciones, un n(mero de veces hasta que se cumpla con una condicin programada para que 1inalice el ciclo) es decir, hasta que el resultado de la eEpresin lgica evaluada sea /Ferdadero2* 7tilizar esta estructura permite que el ciclo se realice al menos una vez, debido a que la eEpresin lgica que debe evaluar su 1inalizacin se encuentra despu4s del con0unto de instrucciones que contiene el ciclo*
ESTRU$TURA REPETIR =REPEAT> =Ingl/'> =E'paCol> Repeat ['nstrucciones( To e*presi$n l$gica %epetir <'nstrucciones( &asta e*presi$n l$gica
'D&a(!ama de %l )o*
La palabra /=epetir2 indica el inicio de la secuencia de acciones que se repetirn, con la /e*presi$n l$gica) indica, el 1in del ciclo " hasta cuando se repetir la secuencia*
Ampl!a !"n* La di1erencia entre la estructura repetitiva Mientras " la estructura %epeat es que la estructura Mientras termina cuando la condicin se hace 1alsa, por el contrario la estructura Repeat 1inaliza cuando la condicin es verdadera* La estructura Mientras puede ser que no se e0ecute, pero la estructura Repeat se realiza al menos una vez*
Al disear algoritmos se presentan oportunidades donde es necesario repetir un con0unto de instrucciones un n(mero predeterminado de veces, para esto se utiliza la estructura 'ara -For., donde la secuencia se repite ba0o el control de un elemento variable que se incrementar o disminuir cada vez que se e0ecute el ciclo completo*
['nstrucciones( End
7n acumulador es una variable que como su nombre lo indica, suma sobre s' misma un con0unto de valores, al 1inalizar con el ciclo contendr, en una sola variable, la sumatoria de todos los valores, que cumplen una determinada condicin,* La di1erencia entre un contador "
Ejer ! !o'. 7tilizando las eEpresiones num4ricas, relacionales " lgicas, contadores " acumuladores escribe el con0unto de instrucciones que son necesarias para las situaciones dadasG a. :e un archivo de datos cuanti1icar los hombres " mu0eres, seg(n los siguientes datos de entrada* D<, Iombre, +eEo b. Dalcular la sumatoria de los m(ltiplos de $ hasta el ;!!!* c. :e un archivo de datos slo se seleccionenG Menores de edad -[; ., +obresalientes acad4micos -ZH ; puntos., Altos -;*A! cm., :eportistas -+i.* Los nombre de las variables sonG D<, Iombre, +eEo, 9romedioLcali1icaciones, @dad, @statura, :eportista, Iacionalidad*