Está en la página 1de 41

CORPORACIN IBEROAMERICANA DE ESTUDIOS

DEPARTAMENTO DE PUBLICACIONES

GUIA DE TRABAJO DE INGENIERIA DEL SOFTWARE I SEGUNDA SESIN


Elaborada por JOSE GILBERTO MOLINA

BOGOTA D.C.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

NOMBRE : ____________________________________________ C.C. : ___________________________________________ CARRERA : ____________________________________________ JORNADA : MARTES Y MIERCOLES JUEVES Y VIERNES SBADOS DOMINGOS ( ( ( ( ) AM____PM____ ) AM____PM____ ) AM____ PM____ )

NOMBRE DEL PROFESOR FECHA CALIFICACIN

: ________________________ : ________________________ : ________________________

_____________________ Fir ! D"#$%&$


Sr. D"#$%&$ : N" 'ir $ (! #!r&i((! )i %" $)&* +$,i+! $%&$ +i(i-$%#i!+! $% &"+") ).) #! /"). DERECHOS DEL ESTUDIANTE EN EL AULA DE CLASE E0i-ir $( .)" +$ (! #!r&i((! E0i-ir 'ir ! 1 )$((" +$ (! #!r&i((! /"r /!r&$ +$( +"#$%&$. E0i-ir ).) %"&!) !( 'i%!( +$( 2+.(".

NINGUNA RECLAMACIN SERA ACEPTADA SI SU CARTILLA NO EST DILIGENCIADA EN TODOS SUS CAMPOS3 CON FIRMA Y SELLO DEL DOCENTE CORRESPONDIENTE.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

MANLISIS DE SISTEMAS
GUA DE TRABAJO SESION No

OBJETI!OS Dar a conocer al estudiante las tcnicas, metodologas y herramientas que le permita realizar un apropiado anlisis de cualquier sistema de informacin. Realizar un anlisis claro y viable del nuevo sistema con base en la informacin recopilada del sistema actual.

METODOLOGA e tiene establecido durante cada semana ! horas tericas. "a #etodologa est apoyada en un $%& por una sesin de cuatro horas semanales de clase, orientadas por un docente que brinda las herramientas bsicas para el desarrollo del mdulo y un $%& est compuesto por el traba'o que el estudiante desarrolle fuera del aula de clase con los e'ercicios, lecturas e investigacin que debe realizar para la siguiente sesin. (ste proceso tiene como pilar de formacin las guas de traba'o.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

BIBLIOGRAFA )endall (dgard, )endall *ulia. +nlisis y Dise,o de (ducation. #.ico. //0. enn *ames. +nlisis y Dise,o de istemas. (d. #c 1ra2 3ill. #.ico. 4%%5. #artin, *ames y 6dell *ames. +nlisis y Dise,o 6rientado por 6b'etos. (d. -rentice 3all. #.ico. 5//$. +""(7 8(9 , #ar:. (structuras de datos y algoritmos. 8ilmington (.;.+< +ddison = 8esley 9beroamericana, 5//$. !>? p. @(A(RR+ @R+ +7B+#+RC+, Aesar. +lgoritmos conceptos bsicos. @ogot< )impres, 5//D. D/5 p. +RD E @R+B"(E. Fundamento de algoritmia. (spa,a< -renticeG+ll, 5//0. $0/ p. A+9R6 @+BB9 B;BB9, 6svaldo. #etodologa de la programacin. #.ico< +lfaomega, 5//$. 5%%/ p. A3+H( B6RR( , +nvar. +lgoritmos< pseudocdigo, diagama de flu'o y Desarrollo de algoritmos Dra ed. @ogot< diagrama 7G . -asto = Aolombia< #ultigrfico impresores, 4%%!. 4/0p. A6RR(+ ;R9@(, 1uillermo. #c1ra2G3ill, 5//>. 4!> p. 1+"H(, *avier et al. +lgoritmia. 8ilmington (.;.+< +ddison = 8esley 9beroamericana, 5//D. $%4 p. *6E+7( +1;9"+R, "uis. -rogramacin en AII algoritmos, estructuras de datos y ob'etos. (spa,a< #c1ra2G3ill. 4%%%. 05% p. istemas. (d -earson

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

CONTENIDO DE LA SESION No. "

5. Definicin de +nlisis de istemas. 4. 3erramientas para documentar procedimientos y decisiones. D. Bcnicas para +nlisis de istemas +lgoritmos -seudocdigo Diagramas de 7assiG chneiderman

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

DESARROLLO DE LA SESION No. " #. DEFINICION DE ANALISIS DE SISTEMAS (l anlisis estructurado, como todos los dems mtodos de anlisis de requisitos, es una actividad de construccin de modelos. #ediante una notacin que es Jnica de este mtodo, se crean modelos que refle'an el flu'o y el contenido de la informacin Kdatos y controlLM se parte el sistema funcionalmente y, segJn los distintos comportamientos, se establece la esencia de lo que se debe construir. "a tarea del anlisis de sistemas, conlleva ms que slo realizar anlisis de requisitos, pero es en eso donde se focalizar la discusin. ;na de las principales labores del analista es descubrir detalles y documentar la poltica de un negocio que pudiera e.istir slo en forma implcita, Ntransmitidas de generacin en generacinN por los usuarios, nunca documentadas formalmente. (l analista debe distinguir entre sntomas, problemas del usuario y causas. Aon sus conocimientos de la tecnologa de los computadores, el analista debe ayudar al usuario a e.plorar aplicaciones novedosas y ms Jtiles de stos as como nuevas formas de hacer negocios. +unque muchos de los sistemas antiguos slo se limitaban a perpetuar el negocio original del usuario, pero a velocidades electrnicas, hoy en da los analistas se enfrentan al desafo de ayudar al usuario a encontrar productos y mercados radicalmente innovadores, con la ayuda del computador.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

$%rra&'%()a*

para

do+,&%()ar

pro+%d'&'%()o*

d%+'*'o(%*.
eguir procedimientos y tomar decisiones son aspectos importantes de cualquier empresa. De hecho, la administracin misma es, esencialmente, toma de decisiones. +lgunas, como aceptar o no ofertas, afectan a todas las organizaciones. 6tras, como decidir cundo volver a pedir materiales para el almacn, de penden de pocas personas y siguen procedimientos paso a paso. in embargo, las decisiones y procedimientos son de importancia para el analista cuando ste conduce una investigacin de sistemas dentro de la empresa. K(l desarrollo de un sistema para reabastecer el inventario, por e'emplo, sin e.aminar la decisin sobre qu cantidad de un determinado artculo incluir en el pedido, puede conducir a un desastre.

3ay varias herramientas para el estudio de procedimientos de operacin y de los pasos a seguir para la toma de decisiones 'unto con los medios para documentar estos aspectos en el estudio. ;na herramienta es cualquier dispositivo, ob'eto u operacin utilizada para e'ecutar una tarea especfica. (l analista de sistema depende de las herramientas para realizar su traba'o de la misma manera que otras personas de sus actividades cotidianas. "as herramientas ayudan al analista a integrar los datos recopilados por los diversos mtodos Kencuestas, entrevistas, observacin de operaciones y revisin de documentosL.
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

(ntre las metodologas para documentar procedimientos se encuentran< +lgoritmos, -seudocdigo, Diagramas de Eourdon, Diagramas de 1ane y arson, Diagramas de 7assiG chneiderman, Diagramas de Flu'o de Datos, Diagramas de -rocesos, Diagramas 39-6, Diagramas de 8arnierG6rr, Orboles de Decisin, Bablas de Decisin, 3erramientas A+ (, #odelo (ntidadGRelacin, Diccionario de Datos. (n esta seccin daremos a conocer las tcnicas de +lgoritmos, -seudocdigo y Diagramas de 7assiG chneiderman.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

.. TECNICAS DE ANALISIS DE SISTEMAS

A. Al/or')&o*
e sabe que la palabra algoritmo se dio en honor del matemtico persa del siglo 9P, Khowrizm. Aon ste trmino se hace referencia a un con'unto de reglas, ordenadas de forma lgica, para desarrollar un clculo o para solucionar un problema, ya sea de forma manual o utilizando una mquina. +ctualmente es frecuente hablar de algoritmo como paso previo al desarrollo de un programa de computador. "os algoritmos estn, con mayor o menor comple'idad, en todas las actividades desarrolladas por el hombre y han sido utilizados por todos, infinidad de veces, sin embargo, cuando se aborda el tema como parte de la educacin formal se mitifica y se difunde el pre'uicio sobre que es un tema complicado. Desde los primeros a,os de escolaridad se traba'a con algoritmos, en especial en el campo de las matemticas. "os mtodos utilizados para sumar, restar, multiplicar y dividir son algoritmos que cumplen perfectamente las caractersticas de precisin, finitud, definicin y eficiencia. -ara que la solucin de un problema sea llevada hasta un lengua'e de programacin, los pasos e.presados en el algoritmo deben ser lo ms detallados posible, de manera que cada uno de ellos implique una operacin trivialM es decir, que los pasos no impliquen procesos que requieran de una solucin algortmica. (n caso de presentarse esta situacin, el algoritmo debe ser refinado, lo que equivale a desarrollar nuevamente el algoritmo para la tarea concreta a la que se hace mencin. i el problema que se desea solucionar es muy grande o comple'o, es recomendable dividirlo en tareas que se puedan abordar independientemente

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

CORPORACIN IBEROAMERICANA DE ESTUDIOS

y que resulten ms sencillas de solucionar. modular. Cara+)%r0*)'+a* d% ,( al/or')&o

+ esto se le llama dise,o

;n algoritmo debe tener al menos las siguientes caractersticas< S%r pr%+'*o< esto significa que las operaciones o pasos del algoritmo deben desarrollarse en un orden estricto, ya que el desarrollo de cada paso debe obedecer a un orden lgico. S%r d%1'('do. Ea que en el rea de programacin, el algoritmo se desarrolla como paso fundamental para desarrollar un programa, es necesario tener en cuenta que el computador solo desarrollar las tareas programadas y con los datos suministradosM es decir, no puede improvisar y tampoco se inventar o adivinar el dato que necesite para realizar un proceso. -or eso, el algoritmo debe estar plenamente i se e'ecuta con un mismo definidoM esto es, que cuantas veces se e'ecute, el resultado depende estrictamente de los datos suministrados. con'unto de datos de entrada, el resultado ser siempre el mismo. S%r 1'(')o< esta caracterstica implica que el nJmero de pasos de un algoritmo, por grande y complicado que sea el problema que soluciona, debe ser limitado. Bodo algoritmo, sin importar el nJmero de pasos que incluya, debe llegar a un final. -ara hacer evidente esta caracterstica, en la representacin de un algoritmo siempre se incluyen los pasos inicio y fin. Pr%*%()a+'2( 1or&al< para que el algoritmo sea entendido por cualquier persona interesada es necesario que se e.prese en alguna de las formas comJnmente aceptadasM pues, si se describe de cualquier forma puede no ser muy Jtil ya que solo lo entender quien lo dise,.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

10

CORPORACIN IBEROAMERICANA DE ESTUDIOS

"as formas de presentacin de algoritmos son< el pseudocdigo, diagrama de flu'o y diagramas de 7assiQ chneiderman, entre otras. Corr%++'2(< el algoritmo debe ser correcto, es decir debe satisfacer la necesidad o solucionar el problema para el cual fue dise,ado. -ara garantizar que el algoritmo logre el ob'etivo, es necesario ponerlo a pruebaM a esto se le llama verificacin o prueba de escritorio. E1'+'%(+'a< hablar de eficiencia o comple'idad de un algoritmo es evaluar los recursos de cmputo que requiere para almacenar datos y para e'ecutar operaciones frente al beneficio que ofrece. (n cuanto menos recursos requiere ser ms eficiente el algoritmo. "a vida cotidiana est llena de soluciones algortmicas, algunas de ellas son tan comunes que no se requiere pensar en los pasos que incluye la solucin. "a mayora de las actividades que se realizan diariamente estn compuestas por tareas ms simples que se e'ecutan en un orden determinado, lo cual genera un algoritmo. -or e'emplo, son tareas comunes, realizar una llamada telefnica, buscar un nJmero en el directorio telefnico, buscar un anuncio en las pginas amarillas del directorio, preparar caf, regar las plantas, poner en funcionamiento un automvil, cambiar una llanta, entre muchas otras. #uchos de los procedimientos utilizados para desarrollar tareas cotidianas son algortmicos, sin embargo, esto no significa que todo lo que se hace est determinado por un algoritmo. es algortmico. ;na receta de cocina para preparar un plato cualquiera puede ser un algoritmo, pero tambin puede no serlo, dependiendo de las especificaciones. i una de las instrucciones a desarrollar dice Raplicar sal al (l cumplimiento de las caractersticas mencionadas anteriormente permitir determinar si un procedimiento es o no

gustoS ya puede afirmarse que no es un algoritmo, porque contiene un elemento sub'etivo, no definido. (sta misma accin podra aparecer de la
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

11

CORPORACIN IBEROAMERICANA DE ESTUDIOS

forma Raplicar 4% gramos de salS, en cuyo caso no se requiere del gusto Ksub'etivoL de quien lo aplica y por tanto no contradice el principio de la algoritmia. (l primer paso en el dise,o de un algoritmo es conocer la temtica a tratar, el segundo ser pensar en las actividades a realizar y el orden en que deben e'ecutarse para lograr el ob'etivo, el tercero y no menos importante es la presentacin formal. +l algoritmo e.presado en un determinado lengua'e de programacin, se denomina pro/ra&a. -uesto de otra manera, podemos decir que, un programa es la implementacin o e.presin de un algoritmo en un determinado lengua'e de programacin siguiendo las reglas establecidas por el lengua'e elegido. (n la Figura 4.5 que sigue se muestra la relacin entre problema, algoritmo y programa.

F'/,ra #.# -roblema, algoritmo y programa Bodo algoritmo debe tener las siguientes caractersticas<
Debe ser pr%+'*o, es decir, cada instruccin debe indicar de forma inequvoca que se tiene que hacer. Debe ser 1'(')o, es decir, debe tener un nJmero limitado de pasos. Debe ser d%1'('do, es decir, debe producir los mismos resultados para las mismas condiciones de entrada.

Bodo algoritmo puede ser descompuesto en tres partes<


(ntrada de datos. -roceso. alida de resultados.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

12

CORPORACIN IBEROAMERICANA DE ESTUDIOS

SIMBOLOS DE UN DIAGRAMA DE FLUJO Aon la colaboracin del profesor, dibu'e y escriba el propsito de cada uno de los smbolos de un diagrama de flu'o< No&br% d%l S0&bolo 9nicio Q Fin Gra1'+o Prop2*')o

-roceso

"ectura datos

de

Reporte
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

13

CORPORACIN IBEROAMERICANA DE ESTUDIOS

No&br% d%l S0&bolo

Gra1'+o

Prop2*')o

Direccin

Aonector 9nterno

Aonector e.terno

TALLER EN CLASE Aon base en los smbolos de un diagrama de flu'o realice los algoritmos planteados<
5. "eer dos nJmeros Ka y bL, calcular su suma KcL y mostrar su resultado 4. "eer un nJmero y escribir si es mayor o menor que 5%%.
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

para

dar

solucin

los

siguientes

e'ercicios

14

CORPORACIN IBEROAMERICANA DE ESTUDIOS

D. Dado como dato la calificacin de un alumno en un e.amen, escriba RaprobadoS en caso de que la calificacin fuese mayor que D.$ o RreprobadoS en caso contrario. !. Desarrollar un algoritmo que capture un carcter y determine si es carcter numrico. $. (laborar un programa que lea un carcter y determine si es mayJscula. ?. (laborar un programa que lea un carcter y determine si es alfabtico. 0. (laborar un programa que lea un carcter y determine si esta entre TaU y TpU.

B. P*%,do+2d'/o
(l pseudocdigo o seudocdigo es una manera genrica de describir un al/or')&o. (l pseudocdigo describe un algoritmo utilizando una mezcla de frases en lengua'e comJn, instrucciones de programacin y palabras clave que definen las estructuras bsicas. (l ob'etivo del pseudocdigo es permitir que el programador se centre en los aspectos lgicos de la solucin, evitando las reglas de sinta.is de los lengua'es de programacin. (l pseudocdigo es un lengua'e de pseudoprogramacin utilizado para escribir lengua'es A, AII, etc. al/or')&o* de +o&p,)a+'o(al%*. De esta Aomo lengua'e de pseudoprogramacin, el pseudocdigo es una imitacin de uno o ms programacin. manera podemos encontrar pseudocdigos orientados a lengua'es de programacin como -ascal, *ava,

!ar'abl%*
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

15

CORPORACIN IBEROAMERICANA DE ESTUDIOS

;na variable es una localizacin o casillero en la memoria principal que almacena un valor que puede cambiar en el transcurso de la e'ecucin del programa. Auando un programa necesita almacenar un dato, necesita una variable. Boda variable tiene un (o&br%, un )'po d% da)o y un 3alor. +ntes de poder utilizar una variable es necesario declararla especificando su nombre y su tipo de dato. -ara declarar declarar variables usaremos los siguientes formatos< D%+lara+'2( d% ,(a 3ar'abl%4
tipo nombre

D%+lara+'2( d% 3ar'a* 3ar'abl%* +o( %l &'*&o )'po d% da)o4


tipo nombre5, nombre4, nombreD, ..., nombren

Donde< T'po
(s el tipo de dato de la variable que puede ser< (7B(R6 Ksi la variable almacenar un nJmero enteroL, R(+" Ksi la variable almacenar un nJmero decimalL, A+R+AB(R Ksi la variable almacenar un carcterL, A+D(7+ Ksi la variable almacenar un con'unto de caracteresL o "619A6 Ksi la variable almacenar el valor verdadero o el valor falsoL.

No&br%#5 (o&br% 5 ...5 7ombres de las variables. (l nombre de una variable debe comenzar con una letra, un smbolo de subrayado o un (o&br%(

smbolo de dlar. "os dems caracteres del nombre puede ser letras, smbolos de subrayado o smbolo de dlar. Debe considerarse tambin que una letra mayJscula se considera diferente de una letra minJscula.

E6%&plo47 Declaracin de variables. "a siguiente instruccin declara la variable d%*+,%()o de tipo R(+". ENTERO edad REAL descuento

%dad de tipo ENTERO y la variable

(sto crea los casilleros de memoria %dad y d%*+,%()o. "uego de la creacin, las variables estn indefinidas KVL. Edad d%*+,%()o
V V

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

16

CORPORACIN IBEROAMERICANA DE ESTUDIOS

"a siguiente instruccin declara las variables ENTERO. ENTERO nota5, nota4, notaD

(o)a#, (o)a

(o)a., todas de tipo

(sto crea los casilleros de memoria (o)a#, (o)a creacin, las variables estn indefinidas KVL. (o)a# (o)a (o)a.
V V V

y (o)a.. "uego de la

L')%ral%*
e denominan literales a todos aquellos 3alor%* que figuran en el pseudocdigo y pueden ser< L')%ral%* %()%ro* 54, 4%D%%, 5$, etc. L')%ral%* r%al%* D.5!5?, 4D!$.!$?, etc. L')%ral%* d% +ar8+)%r WaW, W@W, WMW, WXW, WIW, etc. L')%ral%* d% +ad%(a N3olaN, N+lgoritmos AomputacionalesN, etc. L')%ral%* l2/'+o* Herdadero, falso

I(*)r,++'o(%* Al/or0)&'+a* B8*'+a*


(.isten tres instrucciones algortmicas bsicas que son las siguientes E()rada
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

17

CORPORACIN IBEROAMERICANA DE ESTUDIOS

Aonsiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en una variable. (n general, la accin de ingresar un dato a una 3ar'abl% se e.presa en el pseudocdigo mediante la palabra LEER, de la siguiente forma< LEER variable -or e'emplo, la instruccin< LEER estatura olicita el ingreso de un valor, desde algJn dispositivo de entrada Kcomo el tecladoL, para la variable %*)a),ra. Sal'da Aonsiste en mostrar el valor de una variable en un dispositivo de salida, como la pantalla. (n general, la accin de mostrar el valor de una 3ar'abl% se e.presa en el pseudocdigo mediante la palabra IMPRIMIR de la siguiente forma< IMPRIMIR variable -or e'emplo, la instruccin< IMPRIMIR importeAompra #uestra, en algJn dispositivo de salida Kcomo la pantallaL, el valor de la variable '&por)%Co&pra. A*'/(a+'2( Aonsiste en asignar a una 3ar'abl% el valor de una %9pr%*'2(. "a e.presin puede ser una simple variable, un simple literal o una combinacin de variables, literales y operadores. "a asignacin se e.presa en el pseudocdigo de la siguiente forma< Hariable Y e.presin Donde 3ar'abl% y el valor de %9pr%*'2( deben tener el mismo tipo de dato. Auando se asigna un valor ENTERO a una variable REAL , entonces el valor ENTERO se convertir en REAL antes de almacenarse. +s, al asignar el valor (7B(R6 : a una variable R(+", se almacenar :.".
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

18

CORPORACIN IBEROAMERICANA DE ESTUDIOS

E6%&plo -seudocdigo para e.presar en centmetros y pulgadas una cantidad dada en metros. (sta es una solucin en pseudocdigo del e'emplo 5.4 utilizando conceptos computacionales de variable, entrada de datos y salida de resultados. "a solucin considera que 5 metro Y 5%% centmetros y que 5 pulgada Y 4.$! centmetros.
INICIO // Declara las variables M, C y P REAL #, A, // Solicita el ingreso de la cantidad en metros LEER # // Calcula la cantidad en centmetros y lo asigna a la variable C A Y #Z5%% // Calcula la cantidad en pulgadas y lo asigna a la variable P - Y AQ4.$! // Muestra los valores de las variables C y P IMPRIMIR A, FIN

E9pr%*'o(%* Ar')&;)'+a*
;na e.presin aritmtica es una combinacin de variables, literales y operadores aritmticos. Op%rador%* Ar')&;)'+o* (n la tabla que sigue se muestran los operadores aritmticos que vamos a utilizar. Tabla #.# 6peradores aritmticos Op%rador
I G Z Q &

S'/('1'+ado
uma Resta #ultiplicacin Divisin Residuo

E6%&plo
aIb aGb aZb aQb a&b

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

19

CORPORACIN IBEROAMERICANA DE ESTUDIOS

"os operadores aritmticos pueden utilizarse con tipos enteros y reales. i en una operacin con dos operandos, ambos operandos son enteros, el resultado es un enteroM si alguno de ellos es real, el resultado es real. +s, 5$Q! es D y no D.0$M en cambio, 5$.%Q! es D.0$. R%/la* d% 6%rar<,0a d% lo* op%rador%* ar')&;)'+o* Auando una e.presin aritmtica tiene ms de un operador aritmtico, el orden de aplicacin de los operadores sigue un orden preciso determinado por las r%/la* d% 6%rar<,0a d% lo* op%rador%* ar')&;)'+o* , que se muestran en la siguiente tabla< Tabla #. Reglas de 'erarqua de los operadores aritmticos Op%rador
KL Z, Q, & I, G

Ord%( d% %3al,a+'2(
e evalJan en primer lugar e evalJan en segundo lugar e evalJan en tercer lugar

i e.isten parntesis anidados, se evalJa primero la e.presin en el par ms interno. i varios operadores o parntesis tienen la misma 'erarqua, la evaluacin ser de izquierda a derecha.
E6%&plo47 [Aul es el equivalente en pseudocdigo de la siguiente e.presin algebraicaV

Sol,+'2(
e Y aQbQc

Aomo todos los operadores tienen la misma 'erarqua, la evaluacin ser de izquierda a derecha< -rimero, se dividir a entre b. egundo, el resultado ya obtenido de aQb se dividir entre c. 7ote que el orden de e'ecucin esta de acuerdo con la e.presin algebraica, por lo que no se requiere ninguna pare'a de parntesis.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

20

CORPORACIN IBEROAMERICANA DE ESTUDIOS

E6%&plo47 [Aul es el equivalente en pseudocdigo de la siguiente e.presin algebraicaV

Sol,+'2(
e Y aZbZcQdQe

Aomo todos los operadores tienen la misma 'erarqua, la evaluacin ser de izquierda a derecha< -rimero, se multiplicar a por b. egundo, el resultado ya obtenido de aZb se multiplicar por c. Bercero, el resultado ya obtenido de aZbZc se dividir entre d. Auarto, el resultado ya obtenido de aZbZcQd se dividir entre e. 7ote que el orden de e'ecucin esta de acuerdo con la e.presin algebraica, por lo que no se requiere ninguna pare'a de parntesis.
E6%r+'+'o G [Aul es el equivalente en pseudocdigo de la siguiente e.presin algebraicaV

Sol,+'2(
e Y !QKKaIbLQKcQdLL I vQ2Qp I $ZmZnZq

+plicando las reglas de 'erarqua de los operadores aritmticos< -rimero, se sumar a ms b. egundo, se dividir c entre d. Bercero, el resultado ya obtenido de aIb se dividir entre el resultado ya obtenido de cQd. Auarto, se dividir ! entre el resultado ya obtenido de KKaIbLQKcQdLL \uinto, se dividir v entre 2. e.to, se dividir el resultado ya obtenido de vQ2 entre p. ptimo, se multiplicar $ por m.
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

21

CORPORACIN IBEROAMERICANA DE ESTUDIOS

6ctavo, se multiplicar el resultado ya obtenido de $Zm por n. 7oveno, se multiplicar el resultado ya obtenido de $ZmZn por q. Dcimo, se sumar el resultado ya obtenido de !QKKaIbLQKcQdLL ms el resultado ya obtenido de vQ2Qp. ;ndcimo, se sumar el resultado ya obtenido de !QKKaIbLQKcQdLL I vQ2Qp ms el resultado ya obtenido de $ZmZnZq. e ha utilizado la mnima cantidad posible de parntesis. -ueden usarse parntesis adicionales, lo que no es un error. -or e'emplo, otra solucin posible que arro'a el mismo resultado final es<
e Y K!QKKaIbLQKcQdLLL I KKvQ2LQpL I K$ZmZnZqL

7ote que usando correctamente las reglas de 'erarqua, es posible usar menos pare'as de parntesis.

E9pr%*'o(%* L2/'+a*
;na e.presin lgica combina variables, literales, operadores aritmticos, operadores relacionales y operadores lgicos. "os operadores relacionales y los operadores lgicos se muestran en las tablas D.5 y D.4.

Tabla #.. 6peradores relacionales Op%rador


] ]Y X XY YY ^Y

S'/('1'+ado
mayor que mayor o igual que menor que menor o igual que igual a diferente de

E6%&plo
a]b a ]Y b aXb a XY b a YY b a ^Y b

Tabla #.= 6peradores lgicos Op%rador


^ __

S'/('1'+ado
no y

E6%&plo
^a a __ b

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

22

CORPORACIN IBEROAMERICANA DE ESTUDIOS

``

a `` b

E6%&plo* d% P*%,do+2d'/o4 5. Determinar la comisin pagada a un vendedor de la compa,a P, sabiendo que si las ventas son menores a 5%%%% la comisin es del 4&, en caso contrario la comisin es del $&. pro/ra&a comisin 3ar'abl%* comi5, comi4, venta, sion < real nombreaD%b < cadena '('+'o comi5Y%.%$ comi4Y%.%4 %*+r'b'r Rprograma para determinar comisionesS %*+r'b'r Rdigite el nombre del vendedor< S l%%r nombre %*+r'b'r Rdigite el valor de la venta< S l%%r venta *' Kventa ]Y 5%%%%L %()o(+%* sion Y venta Z comi5 *'(o sion Y venta Z comi4 1'( *' %*+r'b'r Rel nombre del vendedor es< S, nombre %*+r'b'r Rel valor pagado por la comisin es< S, sion 1'(

4. "eer un nJmero y determinar su cubo si l positivo.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

23

CORPORACIN IBEROAMERICANA DE ESTUDIOS

pro/ra&a cubo 3ar'abl%* numero, cubo< entero '('+'o %*+r'b'r Rdigite un numeroS l%%r numero *' Knumero XY %L %()o(+%* %*+r'b'r Rnumero menor o igual que %S *'(o cubo Y numero Z numero Z numero %*+r'b'r Rel cubo de R,numero, Res S,cubo 1'( *' 1'( D. Aonstruir un programa para determinar el valor absoluto de un nJmero. pro/ra&a valor 3ar'abl%* numero < real '('+'o %*+r'b'r Rprograma para hallar el valor absolutoS %*+r'b'r Rdigite el nJmeroS l%%r numero *' Knumero X %L %()o(+%* %*+r'b'r Rel valor absoluto de R, numero, ResS, Gnumero *'(o %*+r'b'r Rel valor absoluto de R, numero, ResS, numero 1'( *' 1'( !. (laborar un programa que lea dos nJmeros y determine el nJmero mayor. pro/ra&a mayor 3ar'abl%* a, b < real '('+'o %*+r'b'r Rdigite el primer nJmeroS l%%r a %*+r'b'r Rdigite el segundo nJmeroS l%%r b *' K a X bL %()o(+%*
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

24

CORPORACIN IBEROAMERICANA DE ESTUDIOS

%*+r'b'r Rel nJmero mayor es< R, b *'(o %*+r'b'r Rel nJmero mayor es S, a 1'( *' 1'( $. "a liga de baloncesto es seleccionando personal para sus categoras, por cada uno se lee el nombre y estatura. Determinar si la persona no tiene una estatura mayor a 5.0% mts inclusive. pro/ra&a estatu 3ar'abl%* nombreaD%b < caracter estatura < real '('+'o %*+r'b'r Rdigite el nombreS l%%r nombre %*+r'b'r Rdigite la estatura en mtsS l%%r estatura *' Kestatura X 5,0%L %()o(+%* %*+r'b'r nombre, Rno es aceptadoS *'(o %*+r'b'r nombre, Res aceptadoS 1'( *' 1'(

C. D'a/ra&a* d% Na**'7S+>(%'d%r&a(
D%1'('+'2(. (l diagrama 7G o tambin conocido como diagrama de Ahapin es una tcnica de especificacin de algoritmos que combina la descripcin te.tual, propia del pseudocdigo, con la representacin grfica del diagrama de flu'o. (l diagrama 7G cuenta con un con'unto limitado de smbolos para representar los pasos del algoritmo, por ello se apoya en e.presiones del lengua'e naturalM sin embargo, dado que el lengua'e natural es muy e.tenso y se presta para la ambigcedad, solo se utiliza un con'unto

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

25

CORPORACIN IBEROAMERICANA DE ESTUDIOS

de palabras, a las que se denomina palabras reservadas. "as palabras reservadas ms utilizadas son< 9nicio #ientras 9ncrementar (ntero "gico Fin Repita Decrementar Real Retornar "eer 3asta 3acer Aaracter (scribir -ara Funcin Aadena

"os smbolos utilizados en el diagrama de Ahapin son corresponden a cada tipo de estructura. Dado que se tienen tres tipos de estructuras, se utilizan tres smbolos. (sto hace que los procesos del algoritmo sean ms fciles de representar y de interpretar. E*)r,+),ra* *%+,%(+'al%* on aquellas que se e'ecutan una despus de otra. e tienen tres tipos de instrucciones secuenciales< la declaracin de variables, asignacin, instruccin Leer e instruccin Escribir. "a mayora de algoritmos actJan sobre un con'unto de datos suministrados por el usuario y se espera que a partir de dichos valores y desarrollando los procesos programados se genere informacin de salida o resultados. D%+lara+'2( d% 3ar'abl%* Beniendo en cuenta la compatibilidad con la mayora de los lengua'es, se recomienda que desde el dise,o del programa se utilice una forma determinada para la declaracin de las variables. (sta consiste en escribir el tipo de datos y la lista de identificadores que se tendrn de dicho tipo, separando cada identificador por medio de comas K,L. -ara me'orar la claridad de la declaracin se puede colocar dos puntos K<L para separar el tipo de datos de la lista de identificadores. ('emplo< (ntero< edad Real< estatura, peso, sueldo Aadena< nombre, direccin +unque algunos lengua'es de programacin permiten declarar las variables en el momento en que se las necesita, es aconse'able, en favor de los buenos hbitos de programacin, siempre declarar las variables antes de utilizarlas y el sitio ms adecuado es el inicio del programa o de la funcin. A*'/(a+'2( +signar un valor a una variable equivale a decir que se guarda dicho valor en la posicin de memoria reservado para la variable en mencin. -or lo tanto, para poder realizar una asignacin es necesario primero haber declarado una variable, con lo cual se reserva un espacio de memoria suficiente para guardar un dato del tipo especificado. ;na e.presin de asignacin tiene la forma< Hariable Y e.presin Donde la e.presin puede estar formada por un valor, por un con'unto de valores y operadores o por una funcin. ('emplos<
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

26

CORPORACIN IBEROAMERICANA DE ESTUDIOS

(dad Y 5% (statura Y 5.>% Resultado Y 4ZD Donde edad y resultado son variables de tipo entero y estatura de tipo real que se supone declaradas previamente. ;na asignacin tiene tres partes, una variable, el signo igual y la e.presin cuyo valor se asigna a la variable. "a variable siempre va a la izquierda del igual, mientras que la e.presin siempre estar a la derecha. ('emplos< (ntero< P, E P Y 5% EYPZ4I> (n este e'emplo, la variable E contendr el valor 4>. nstruccin Leer "a instruccin "((R se utiliza para enviar informacin desde un dispositivo de entrada de datos hacia la memoria. (n la memoria los datos son ubicados mediante el identificador Knombre de variableL utilizado como complemento de la instruccin "((R. (n diagrama 7G la instruccin de entrada se representa as< L%%r ?l'*)a d% 'd%()'1'+ador%* d% 3ar'abl%*@ ('emplo< L%%r a5 b Donde RaS y RbS son las variables que recibirn los valores y que deben haberse declarado previamente. I(*)r,++'2( E*+r'b'r (sta instruccin permite enviar datos desde la memoria hacia un dispositivo de salida como la pantalla o la impresora. "a informacin que se enva puede ser constante o tambin el contenido de variables. E*+r'b'r ?l'*)a d% +o(*)a()%* - 3ar'abl%*@ ('emplo< E*+r'b'r a5 b Auando se escriben ms de una variable es necesario separarlas con comas K,L y los mensa'es se escriben entre comillas dobles N N. i una variable es escrita entre comillas se mostrar el identificador y no el contenido. ('emplos< 5. Dise,ar un algoritmo para calcular el rea y el permetro de un rectngulo D%1'('+'2( d%l probl%&a Aalcular rea y permetro de un rectngulo A(8l'*'* d%l probl%&a
-ara desarrollar este problema es necesario conocer las frmulas para obtener tanto el rea como el permetro de un rectngulo.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

27

CORPORACIN IBEROAMERICANA DE ESTUDIOS h b ea b Y base y h Y altura, las frmulas a utilizar son< +rea Y b Z h -ermetro Y 4 Z Kb I hL Datos de entrada< b y h Kbase y alturaL Datos de salida< rea y permetro -rocesos< rea Y b Z h -ermetro Y 4 Z Kb I hL D'*%Ao d% la *ol,+'2( 9nicio (ntero< b, h, a, p "eer b, h aYbZh p Y 4 Kb I hL (scribir Rrea<S, a (scribir Rpermetro<S, p Fin algoritmo

4. ;n maestro desea saber que porcenta'e de hombres y que porcenta'e de mu'eres hay en un grupo de estudiantes. D%1'('+'2( d%l probl%&a Aalcular porcenta'e de hombres y mu'eres en un grupo A(8l'*'* d%l probl%&a Datos a tener en cuenta< 7Jmero hombres 7Jmero mu'eres Botal estudiantes -orcenta'e hombres -orcenta'e mu'eres Datos de entrada< nJmero hombres, nJmero mu'eres Datos salida< porcenta'e hombres, porcenta'e mu'eres -rocesos< tot estudiantes Y nJm. hombres I nJm. #u'eres
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

28

CORPORACIN IBEROAMERICANA DE ESTUDIOS

-orc.hombres Y nJm. 3ombres Q tot estudiantesZ5%% -orc.hombres Y nJm. mu'eres Q tot estudiantesZ5%% D'*%Ao d% la *ol,+'2( 9nicio (ntero< numm, numh, totest Real< porch, porcm "eer numm, numh totest Y numm I numh porcm Y numm Q totest Z 5%% porch Y numh Q totest Z 5%% (scribir Rporcenta'e mu'eres<S, porcm (scribir Rporcenta'e hombres<S, porch Fin algoritmo .. ;n profesor prepara tres cuestionarios para una evaluacin final< +, @ y A. e sabe que se tarda $ minutos en revisar el cuestionario +, > en revisar el cuestionario @ y ? en el A. "a cantidad de e.menes de cada tipo se entran por teclado. [Auntas horas y cuntos minutos se tardar en revisar todas las evaluacionesV D%1'('+'2( d%l probl%&a Aalcular el tiempo, en horas y minutos, requerido para calificar e.menes. A(8l'*'* d%l probl%&a e tienen tres tipos de e.amen +, @, A y el tiempo en minutos requerido para cada tipo son< +Y$ @Y> AY? (l tiempo en minutos debe ser convertido a horas, 5 hora Y ?% minutos -ara pasar de minutos a horas se realiza operacin divisin entera, para conocer los minutos e.cedentes se utiliza la operacin mdulo. Datos de entrada< nJmero e.menes tipo +, @ y A Datos de salida< horas y minutos requeridos -rocesos< Botal + Y nJmero tipo + Z $ Botal @ Y nJmero tipo @ Z > Botal A Y nJmero tipo A Z ? Biempo total Y total + I total @ I total A 3oras Y tiempo total Q ?% #inutos Y tiempo total mod ?% D'*%Ao d% la *ol,+'2( 9nicio (ntero< numa, numb, num, tota,totb, totc, totmin, horas, minutos "eer numa, numb, numc tota Y numa Z $ totb Y numb Z > totc Y numc Z ?
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

29

CORPORACIN IBEROAMERICANA DE ESTUDIOS

totmin Y tota I totb I totc horas Y totmin Q ?% minutos Y totmin #od ?% (scribir Rtardar<S,horas, RminutosS Fin algoritmo

Rhoras

yS,

minutos,

E*)r,+),ra* d% d%+'*'2( "as estructuras de decisin o tambin llamadas de seleccin permiten que el algoritmo tome decisiones y e'ecute u omita algunos procesos dependiendo del cumplimiento de una condicin. e pueden mane'ar tres tipos de decisiones< simple, doble y mJltiple. D%+'*'2( *'&pl% - dobl% ;na decisin es simple, cuando solo se tiene determinado los pasos a seguir si el resultado de la condicin es verdadero, mientras que si es !also, la e'ecucin del algoritmo continJa despus de la estructura condicional. ;na decisin cuando se tiene un curso de accin para el caso que el resultado de la comparacin sea verdadero y otro para cuando sea falso. (n diagrama de Ahapin el smbolo para representar una decisin es el siguiente< Condicin Si Conjunto de instrucciones 1 No Conjunto de instrucciones 2

6bsrvese que en la parte inferior se tienen los cuadros que indican dos posibilidades de accin, el con'unto de instrucciones 5 o el con'unto de instrucciones 4, solo uno de los dos. i se tratase de una decisin simple, solo se tendr instrucciones en las ca'as que se ubican deba'o de la clusula "i, mientras que las que estn ba'o #o estarn vacas. ('emplos< 5. e desea un algoritmo para obtener el valor absoluto de un nJmero

D%1'('+'2( d%l probl%&a (ncontrar el valor absoluto de un nJmero A(8l'*'* d%l probl%&a -ara encontrar el valor absoluto del nJmero es necesario recordar que para los enteros positivos el valor es el mismo, mientras que para los enteros negativos es necesario cambiarlos de signo. Datos de entrada< nJmero Datos de salida< valor absoluto -roceso< nJmero Y nJmero Z KG5L

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

30

CORPORACIN IBEROAMERICANA DE ESTUDIOS

D'*%Ao d% la *ol,+'2(

9nicio (ntero< num, absnum "eer num i absnum Y num Z KG5L (scribir NHalor absoluto< N, absnum Fin algoritmo num X % 7o absnum Y num

4. Dados dos nJmeros [cul es mayorV y [cul es menorV D%1'('+'2( d%l probl%&a 9dentificar el mayor y menor de dos nJmeros A(8l'*'* d%l probl%&a Datos de entrada< num5, num4 Datos salida< mayor, menor -roceso< comparacin

D'*%Ao d% la *ol,+'2(

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

31

CORPORACIN IBEROAMERICANA DE ESTUDIOS

9nicio (ntero< n5, n4 "eer n5, n4 n5 Y n4 i 7o n5 ] n4 i (scribir N7Jmeros igualesN (scribir n5, N#ayorN (scribir n4, N#enorN 7o (scribir n4, N#ayorN (scribir n5, N#enorN

Fin algoritmo

D. ;na empresa desea calcular los nuevos salarios de sus empleados de la siguiente forma< quienes ganan hasta d $%%.%%% tendrn un incremento del 5%&, quienes devengan ms de d $%%.%%% y hasta >%%.%%% recibirn un aumento del >& y los dems del $&. [Aul ser el valor del aumentoV [Aul ser el valor del nuevo sueldoV D%1'('+'2( d%l probl%&a Aalcular el valor a incrementar y el valor del nuevo sueldo de los empleados. A(8l'*'* d%l probl%&a (l porcenta'e de incremento en el sueldo depende del valor del sueldo actual, los sueldos ms ba'os tienen un mayor incremento< 5%& para sueldo XY d $%%.%%% >& para d $%%.%%% X sueldo XY d >%%.%%% $& para sueldo ] >%%.%%% Datos de entrada< sueldo Datos de salida< aumento, nuevo sueldo -roceso< aumento Y sueldo Z porcenta'e donde porcenta'e Y $, > o 5%& nuevo sueldo Y sueldo I aumento

D'*%Ao d% la *ol,+'2(

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

32

CORPORACIN IBEROAMERICANA DE ESTUDIOS

9nicio Real< sue, por, aum, nsue "eer sue i por Y 5% sue XY $%%%%% 7o i por Y > aum Y sue Z por Q5%% nsue Y sue I aum (scribir N+umento<N, aum (scribir N7uevo sueldo<N, nsue Fin algoritmo sue XY >%%%%% 7o por Y $

D%+'*'2( &Bl)'pl% #uchas decisiones deben tomarse, no solo entre dos alternativas, sino de un con'unto mayor. (stos casos bien pueden solucionarse utilizando condicionales dobles anidadosM sin embargo, en favor de la claridad del algoritmo y la facilidad para el programador, es me'or utilizar una estructura de decisin mJltiple, la cual es fcil de llevar a un lengua'e de programacin, ya que stos incluyen alguna instruccin con este fin. "a decisin mJltiple determina el valor de una variable y dependiendo de ste sigue un curso de accin. (s importante tener en cuenta que solo se verifica la condicin de igualdad entre la variable y la constante. (n diagrama 7G la estructura de seleccin mJltiple tiene la forma<
variable

5
+ccin 5

D ...
+ccin 4

otro
+ccin D +ccin n +ccin m

('emplo<
_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

33

CORPORACIN IBEROAMERICANA DE ESTUDIOS

;na distribuidora de motocicletas tiene una promocin de fin de a,o que consiste en los siguiente. "as motos marca 367D+ tienen un descuento del $&, las de marca Eamaha del >& y las uzu:i el 5%&, las de otras marcas el 4& D%1'('+'2( d%l probl%&a Aalcular el valor del descuento y el valor a pagar por la motocicleta. A(8l'*'* d%l probl%&a -orcenta'e descuento Y $& para motos 3onda -orcenta'e descuento Y >& para motos Eamaha -orcenta'e descuento Y 5%& para motos uzu:i -orcenta'e descuento Y 4& para motos otras marcas Datos de entrada< marca, valor Datos de salida< descuento, valor a pagar -roceso< Descuento Y valor Z porcenta'e Halor neto Y valor G descuento D'*%Ao d% la *ol,+'2(
9nicio Aadena< marca Real< valor, pordes, valdes, valneto "eer marca, valor marca Y

N3ondaN pordes Y $

NEamahaN pordes Y >

N uzu:iN pordes Y 5%

6tro pordes Y 4

valdes Y valor Z pordes Q5%% valneto Y valor G valdes (scribir N#arca Y N, marca (scribir NHalor Y N, valor (scribir NDescuento Y N, valdes (scribir NHalor neto Y N, valneto Fin algoritmo

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

34

CORPORACIN IBEROAMERICANA DE ESTUDIOS

E*)r,+),ra* d% r%p%)'+'2( (n la solucin de algunos problemas es necesario e'ecutar repetidas veces una instruccin o un con'unto de instrucciones. (n algunos casos, el nJmero de repeticiones se conoce con anterioridad, mientras que en otras depende de clculos o estados de variables que se dan dentro de la solucin del problema. -ara solucionar este tipo de problemas se utiliza un tipo de estructuras a las que se conocen como %*)r,+),ra* d% r%p%)'+'2(, bucles o ciclos. ;n +'+lo consiste en un grupo de acciones que se e'ecutan repetidas veces dependiendo del cumplimiento de una condicin. C'+lo M'%()ra* (ste ciclo consiste en un con'unto de instrucciones que se repiten mientras se cumpla una condicin. De igual manera que en los condicionales, la condicin es evaluada y retorna un valor lgico, que puede ser verdadero o falso. (n el caso del ciclo &'%()ra* las instrucciones contenidas en la estructura de repeticin se e'ecutarn solamente si al evaluar la condicin se genera un valor verdaderoM es decir, si la condicin se cumpleM en caso contrario, se e'ecutar la instruccin que aparece despus de F'( &'%()ra*. + diferencia de otros ciclos, el ciclo mientras comienza evaluando la e.presin condicional, si el resultado es verdadero se e'ecutarn las instrucciones que estn entre el &'%()ra* y el 1'( &'%()ra*, al encontrarse la lnea fin mientras se volver a evaluar la condicin, si se cumple se e'ecutarn nuevamente las instrucciones y as sucesivamente hasta que la condicin de'e de cumplirse, en cuyo caso, el control del programa pasa a la lnea que aparece despus de 1'( &'%()ra*. i en la primera pasada por el ciclo mientras la condicin no se cumple las instrucciones que estn dentro del ciclo no se e'ecutarn ni una sola vez. (n diagrama de Ahapin K7G L, esta estructura tiene la presentacin<

M'%()ra*

condicin

>a+%r

9nstrucciones que se repiten F'( &'%()ra*


('emplos< 5. ;n algoritmo para mostrar los nJmeros del 5 al 5%. D%1'('+'2( d%l probl%&a #ostrar listado de nJmeros de 5 a 5%. A(8l'*'* d%l probl%&a Datos de entrada< ninguno Datos de salida< nJmero -roceso< ninguno D'*%Ao d% la *ol,+'2(

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

35

CORPORACIN IBEROAMERICANA DE ESTUDIOS

9nicio (ntero< num Y 5 M'%()ra* num XY 5% (scribir num num Y num I 5 F'( &'%()ra* Fin algoritmo >a+%r

(ste es un algoritmo muy trivial pero permite revisar la aplicacin de la estructura de repeticin M'%()ra*. "o primero a tener en cuenta es la declaracin e inicializacin de la variable< num Y 5. (n este caso no solo se est declarando una variable de tipo entero, sino tambin se est asignando un valor inicial, que ser el primer nJmero mostrado. "a condicin o e.presin relacional con la cual se implementa el ciclo es num XY 5%, dado que num. inicia en 5, la primera vez que se encuentra la instruccin mientras, la e.presin es verdadera, por tanto se e'ecutan las instrucciones que aparecen al interior del ciclo. Despus de haber mostrado el contenido de la variable num, ste cambia, se incrementa en 5. 4. "eer n nJmeros y encontrar el valor promedio, el mayor y el menor D%1'('+'2( d%l probl%&a (ncontrar el promedio, el mayor y el menor de varios nJmeros A(8l'*'* d%l probl%&a -ara solucionar este problema, lo primero que hay que plantear es cmo se sabr cuando terminar la lectura de datos, ya que no se especifica la cantidad de nJmeros que sern ingresados y en el planteamiento del problema no se da ninguna condicin que permita saber cuando terminar el ciclo. (ste tipo de problemas es muy comJn. 3ay dos formas de abordar este e'ercicio, la primera consiste en preguntar al usuario con cuantos nJmeros desea traba'ar y guardar dicho valor en una variable que se utilizar para establecer el ciclo. "a segunda consiste en preguntar despus de leer cada dato, si se desea ingresar otro. (n este e'ercicio se utilizar la primera estrategia. Datos de entrada< cantidad de nJmeros, nJmero Datos de salida< promedio, mayor y menor -rocesos< uma Y suma I nJmero -romedio Y suma Q cantidad de nJmeros

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

36

CORPORACIN IBEROAMERICANA DE ESTUDIOS D'*%Ao d% la *ol,+'2(


9nicio (ntero< can, num, sumaY%, menor, mayor, cont Y % Real< prom "eer can M'%()ra* "eer num cont Y % i mayor Y num 7o i menor Y num menor Y num cont Y cont I 5 F'( &'%()ra* prom Y suma Q can (scribir N7Jmero menor<N, menor (scribir N-romedio<N, prom (scribir N7Jmero mayor<N, mayor Fin algoritmo i mayor Y num num ] mayor 7o num X menor 7o cont X can >a+%r

D. "a serie Fibonacci comienza con los nJmeros< %, 5, 5, 4, D, $, >, 5D, 45, ... e requiere un algoritmo para generar los primeros 5% nJmeros. D%1'('+'2( d%l probl%&a 1enerar los 5% primeros nJmeros de la serie fibonacci A(8l'*'* d%l probl%&a "a serie fibonacci se genera a partir de dos valores iniciales que son el % y el 5, que al sumarse dan como resultado 5. (l siguiente nJmero se obtiene sumando el Jltimo nJmero obtenido con el anterior, en este caso 5 I 5 Y 4, luego ser 4 I 5 Y D y as sucesivamente. Datos de entrada< ninguno Datos de salida< serie fibonacci -rocesos< aY% bY5 fYaIb

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

37

CORPORACIN IBEROAMERICANA DE ESTUDIOS D'*%Ao d% la *ol,+'2(

9nicio (ntero< a Y %, b Y 5, f Y %, con Y % M'%()ra* (scribir f aYb bYf fYa I b F'( &'%()ra* Fin algoritmo
C'+lo Para (ste ciclo, al igual que los dems, permite e'ecutar repetidas veces una instruccin o un grupo de ellas, pero a diferencia de otras instrucciones de repeticin, sta mane'a el valor inicial, el valor de incremento o decremento y el valor final de la variable de control como parte de la instruccin. Auando al e'ecutarse un algoritmo se encuentra una instruccin para la variable de control KcontadorL toma el valor inicial, se verifica que el valor inicial no sobrepase el valor final y luego se e'ecutan las instrucciones del ciclo. +l encontrar la instruccin 1'( para, se produce el incremento y se vuelve a verificar que la variable de control no haya superado el lmite admitido, y se vuelven a e'ecutar las instrucciones que estn dentro del ciclo, y as sucesivamente tantas veces como sea necesario hasta que se supere el valor final establecido. (l ciclo para termina en el momento en que la variable de control KcontadorL sobrepasa el valor finalM es decir, que la igualdad est permitida y las instrucciones se e'ecutan cuando el contador es igual al valor final. (ste ciclo puede presentarse de tres maneras< la primera es la ms comJn, cuando se produce un incremento de 5 en cada iteracin, en cuyo caso no es necesario escribir e.plcitamente. (n diagrama 7G <

con X 5%

>a+%r

Para

variable Y valoreinicial 9nstrucciones

>a*)a

valorefinal

>a+%r

F'( para

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

38

CORPORACIN IBEROAMERICANA DE ESTUDIOS

(l segundo caso de utilizacin del ciclo Para es cuando el incremento es diferente de 5, en cuyo caso se escribir la palabra '(+r%&%()ar seguida del valor a sumar en cada iteracin.

Para

variable Y valoreinicial 9nstrucciones

>a*)a

valorefinal

'(+r%&%()ar

valor

>a+%r

Fin para
(n tercer lugar, el ciclo para no siempre se incrementa desde un valor inicial hasta un valor mayor, puede suceder que se requiera que se disminuya desde un valor inicial alto, hasta un valor menor. (n este caso ser suficiente con escribir d%+r%&%()ar en vez de '(+r%&%()ar. ('emplos< 5. 9mprimir los nJmeros del 5 al 5% D%1'('+'2( d%l probl%&a 9mprimir nJmeros del 5 al 5% A(8l'*'* d%l probl%&a Datos de entrada< ninguno Datos de salida< nJmeros K5 ... 5%L -roceso< ninguno D'*%Ao d% la *ol,+'2(

9nicio (ntero< con Para con Y 5 (scribir con F'( para Fin algoritmo
4. 9mprimir los nJmeros del $ al $% con intervalos de $. D%1'('+'2( d%l probl%&a 9mprimir nJmeros de cinco en cinco A(8l'*'* d%l probl%&a Datos de entrada< ninguno Datos de salida< nJmeros -roceso< ninguno D'*%Ao d% la *ol,+'2(

>a*)a

5%

>a+%r

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

39

CORPORACIN IBEROAMERICANA DE ESTUDIOS

9nicio (ntero< num Para num Y $ (scribir num F'( para Fin algoritmo
D. Dado un nJmero n mostrar los nJmeros menores o igual a ste, en orden descendente D%1'('+'2( d%l probl%&a 9mprimir nJmeros en orden descendente A(8l'*'* d%l probl%&a Datos de entrada< nJmero Datos de salida< nJmeros -roceso< ninguno D'*%Ao d% la *ol,+'2(

>a*)a

$%

'(+r%&%()ar : >a+%r

9nicio (ntero< con, num "eer num Para con Y num (scribir con F'( para Fin algoritmo
!. un algoritmo que lee 5% nJmeros y muestra la sumatoria, el promedio, el nJmero mayor y el nJmero menor. D%1'('+'2( d%l probl%&a "eer 5% nJmeros y sumarlos, determinar el promedio, el nJmero menor y el nJmero mayor. A(8l'*'* d%l probl%&a Datos de entrada< nJmero Datos de salida< sumatoria, promedio, nJmero menor y nJmero mayor -roceso< uma Y suma I nJmero -romedio Y suma Q 5%

>a*)a

5 d%+r%&%()ar # >a+%r

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

40

CORPORACIN IBEROAMERICANA DE ESTUDIOS

D'*%Ao d% la *ol,+'2(

9nicio (ntero< num, con, menor, mayor, suma Y % Real< prom Para con Y 5 "eer num suma Y suma I num con Y 5 i menor Y num i mayor Y num 7o num ] mayor 7o i menor Y num F'( para (scribir N umatoria<N, suma (scribir N-romedio<N, prom (scribir N7Jmero menor<N, menor (scribir N7Jmero mayor<N, mayor Fin algoritmo num X menor 7o >a*)a 5% >a+%r

mayor Y num

"a utilizacin adecuada e ingeniosa de las estructuras presentadas permite el dise,o de algoritmos de aceptable nivel de comple'idad, como se ha mostrado en los e'emplos. 6bsrvese que cada estructura permite incluir las anteriores, en el Jltimo e'emplo se ha utilizado todos los conceptos presentados en este documento. "os diagramas 7G permiten representar de forma sencilla los pasos que conforman un algoritmo y por su combinacin de te.to e imagen son muy fciles de interpretarM no obstante, es recomendable que quien se inicia en el dise,o de algoritmos conozca otras tcnicas como el pseudocdigo y el diagrama de flu'o. Finalmente, es menester anotar que el dise,o de algoritmos no solo requiere conocer metodologas de representacin, sino tambin desarrollar el pensamiento lgico para generar soluciones y esto se consigue mediante el desarrollo de e'ercicios.

_____________________________________________________________________ _____________________________________________________________________ Programas Capacitacin Tcnica y Empresarial Por una Bogot ms Productiva

41

También podría gustarte