Está en la página 1de 42

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

1. FUNDAMENTOS DE ALGORITMO
La palabra "algoritmo" proviene del gran matemtico rabe Mohamed Al Kho Warizmi, quien escribi entre los aos 800 y 825 la obra Quitab Al Jabr Al Mugabala, donde se recoga el sistema de numeracin hind y el concepto del cero, alcanz gran reputacin por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir nmeros decimales; la traduccin al latn del apellido en la palabra algorismus deriv posteriormente en algoritmo. Segn, Brassard y Bratley(2000), algoritmo, es sencillamente un conjunto de reglas para efectuar algn clculo, bien sea a mano o, ms frecuentemente, en una mquina, segn Joyanes(2003), es un mtodo para resolver problemas y segn Torrealba(2004), Un algoritmo es una descripcin de los pasos bsicos a seguir para cumplir determinada tarea,.., Para que una computadora realice una tarea es necesario definir previamente un algoritmo.

Ejercicio: Segn los conceptos arriba mencionados, defina con sus propias palabras el concepto de algoritmo Del estudio anterior de los autores descritos podemos decir, que un algoritmo es un conjunto de pasos precisos, definidos y finitos que conducen a la solucin de un problema. Por ejemplo, el desarrollo de las actividades diarias en nuestra vida cotidiana, corresponde a un algoritmo, as como tambin 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. 1. 2. 3. 4. Inicio Seleccionar la pelcula Llegar al lugar de proyeccin de la pelcula Revisar la cartelera

5.
6. 7.

Hacer la cola de pago Esperar el turno Solicitar la pelcula. Si la hay 8. Entregar el dinero 9. Esperar por los boletos y la diferencia de pago 10. Retirarse Si no hay la pelcula 11. Escoger otra pelcula o retirarse 12. Fin Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ampliacin. Algoritmo computacional y no computacional. Toda actividad que realiza el ser humano, responde a un algoritmo, existen dos tipos, los que se realizan para ser ejecutados por una computadora, llamados algoritmos computacionales, y los que son ejecutados por el ser humano, algoritmos no computacionales, como el ejemplo de la compra de boletos del cine.

Cuando un algoritmo deba ser ejecutado por una computadora, se necesita expresar el algoritmo en instrucciones comprensibles por la computadora; para esto ltimo, se utilizan los lenguajes de programacin. Al algoritmo expresado en un determinado lenguaje de programacin, se le denomina programa. Esto ndica que de un determinado problema o situacin dada, se elabora un algoritmo con los pasos necesarios para su solucin, y si se requiere sea ejecutado por un computador, se traduce el algoritmo a instrucciones editadas en un lenguaje de programacin. Vemoslo a travs del presente ejemplo: Algoritmo para resolver la sumatoria de dos nmeros.

Problema

Algoritmo

Programa

Sumar dos nmeros

Inicio Declarar variable Suma= 0, Leer Primer Nmero Asignarlo a la variable A Leer Segundo Nmero Asignarlo a la variable B Asignar el valor de A + B a la variable Suma Suma= A + B Imprimir valor de Suma

Int numero1, numero2, suma=0; Printf ( Ingrese numero1: ); Scanf (&numero1, ); Printf (Ingrese numero2:); Scanf (&numero2, ); Scanf (Suma= numero1+numero2);

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

1.1. PARTES DE UN ALGORITMO Todo algoritmo debe obedecer a la estructura bsica de un sistema, es decir: entrada, proceso y salida. ENTRADA PROCESO SALIDA

Donde:
ENTRADA PROCESO Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados. Pasos necesarios para obtener la solucin del problema o la situacin planteada. Resultados arrojados por el proceso como solucin.

SALIDA

En el ejemplo del algoritmo de la sumatoria de los dos nmeros, tenemos:


ENTRADA PROCESO SALIDA Valores de de las variables A y B. Asignar a la variable Suma, el valor de A mas el valor de B. Impresin del valor de la variable Suma, que contiene la sumatoria de los valores de A y B.

1.2. CARACTERSTICAS DE LOS ALGORITMOS Las caractersticas fundamentales que debe cumplir un algoritmo son:
PRECISIN DEFINICION Indica el orden de realizacin de cada paso dentro del proceso. Indica la exactitud y consistencia de los pasos descritos en el proceso, si el algoritmo se prueba dos veces, en estas dos pruebas, se debe obtener el mismo resultado. Indica el nmero razonable de pasos, los cuales deben conllevar a la finalizacin del proceso y producir un resultado en un tiempo finito.

FINITUD

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Al disear un algoritmo se debe tener presente las caractersticas de precisin, definicin y finitud. Visualicemos estas caractersticas a travs del siguiente ejemplo:
Ejemplo: Algoritmo para hacer una torta Entrada: Proceso: Harina de trigo, mantequilla, huevos, sal, azcar 1.- Unir la mantequilla con el azcar 2.- Batir hasta lograr consistencia cremosa 3.- Agregar harina de trigo, huevos, sal y azcar 4.- Batir hasta que esponje 5.- Precalentar el horno, en 250 , y enmantequillar tortera 6.- Una vez logre la consistencia de esponjado, colocar en la tortera 7.- Introducir en el horno por espacio de 45 minutos Torta

Salida:

Ejercicio: Realice un algoritmo para la elaboracin de pan

Siguiendo el ejemplo recuerde determinar las instrucciones de Entrada, Proceso y Salida.

Segn el ejercicio anterior, se puede determinar que el algoritmo para hacer torta, cumple con las caractersticas fundamentales de los algoritmos. Es decir, Es preciso?, Es definido?, Es finito?, razona tus respuestas.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

10

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

1.3. ELEMENTOS PARA LA CONSTRUCCIN DE UN ALGORITMO Definamos algoritmo como un conjunto 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 junten dos o ms pasos. Aprender a realizar un algoritmo se fundamenta en lo que se persigue lograr con su desarrollo; debido a que no existe un mtodo nico para resolver problemas se estudian diferentes mtodos de resolucin o modelos de construccin para lograr la generacin del resultado deseado. Esto nos lleva a reestructurar el concepto de algoritmo, como un conjunto de instrucciones o pasos en los que se describe su inicio, desarrollo o proceso y salida o resultado del algoritmo; elaborados para lograr resolver un problema. Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver un problema, a continuacin se describen los elementos que se utilizan en la construccin de una instruccin.

Instruccin o sentencia Dependiendo del origen del material instruccional se habla de instruccin o sentencia; sta, define una accin o un mandato que se debe realizar, esa accin o mandato se representa a travs de un comando o lo que es lo mismo palabras reservadas de un lenguaje de programacin en particular. Una instruccin esta compuesta por uno o ms comandos (accin), datos, smbolos, variables o constantes y expresiones, que en conjunto representan una instruccin o sentencia.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

11

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ejemplo de instruccin: En la construccin de los programas se estila utilizar una


instruccin por lnea. 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 y fin de cada bloque de instrucciones. Si ASISTIO =SI Entonces Leer Sueldo, Asignar Sueldo = Sueldo + HoraExtra Fin Si Donde: SI ASISTIO Representa una estructura condicional utilizada para establecer preguntas o programar ciertas condiciones Nombre de una Variable lgica que puede obtener slo dos valores SI o NO. En el ejemplo se programa la condicin de la variables cuando es SI Parte de la instruccin o estructura condicional Instruccin utilizando el comando cuya accin es la lectura de un campo o dato Instruccin de asignacin, permite asignar o calcular el valor que adquirir una variable Cierra la estructura condicional Si Entonces Fin Si

ENTONCES LEER SUELDO Asignar SUELDO= SUELDO+HORAEXTRA

Fin SI

Comandos o palabras reservadas Todos los lenguajes, naturales o computacionales, tienen palabras que denotan una accin. Los comandos no son ms que acciones que debe interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada, es decir la forma de utilizarlo. Los lenguajes computacionales tienen en su repertorio comandos dirigidos al procesamiento de archivos y datos, entre ellos: Leer, Calcular, Asignar, Clasificar, Imprimir.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

12

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Datos Los datos son smbolos que se convierten en condiciones, hechos, situaciones o valores. Un dato puede significar un nmero, una letra, un signo ortogrfico o cualquier smbolo que represente una cantidad, una medida, una palabra o una descripcin. La importancia de los datos est en su capacidad de asociarse dentro de un contexto para convertirse en informacin. Es decir, por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser tiles, los datos deben convertirse en informacin que ofrezca un significado, conocimiento, ideas o conclusiones. TIPOS DE DATOS Como se describi anteriormente, un dato es un campo que puede convertirse en informacin. Existen datos simples (sin estructura) y compuestos (estructurados). Los datos simples son los siguientes Numricos (Reales, Enteros) Lgicos Carcter (Char, String)

Los tipos de datos simples son:

Tipos de datos

Numricos

Lgicos

Carcter

Reales

Enteros

Char

String

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

13

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ejemplo. Ejemplos de tipos de datos simples Tipo de datos Numricos Enteros Caractersticas Los nmeros enteros son los nmeros naturales positivos y negativos que conocemos. Ejemplos 1 2 25 146 -456 0.56 1.00 25.13 148.45 -456.23 Nacionalidad = Venezolano (S/N)?

Numricos Reales

Los nmeros reales, son los nmeros que tienen parte decimal.

Lgicos o bolanos

Son aquellos datos cuyos nicos valores slo pueden ser: Verdadero (V) o Falso (F), puede encontrarse, Verdadero (True) o Falso (False). Se utiliza para representar las opciones (si/no) a determinadas condiciones. Su valor lo comprenden todos los caracteres alfabticos, maysculas y minsculas (A Z), numricos (0 9) y smbolos especiales (#,@,%,&). Su valor esta representado por un conjunto de caracteres.

Carcter o Char

Carcter String o cadena

Abril Reporte Anual de Fallas Tcnicas 1 de mayo, Da del Trabajador

Ejercicio. Identifique en la tabla a continuacin los tipos de datos simples (numricos, lgicos y carcter) Dato V 2005 -4.25 % MIL5008 Estado Bolvar DXLVII VENEZUELA A SUCRE1826 Respuesta Dato 3,147114 0,50 10.000.000,00 3 Venezuela F 1038 CAR/$$22 @ -39,78 Repuesta

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

14

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

VARIABLES Y CONSTANTES Son espacios de memoria creados para contener valores que de acuerdo a su naturaleza deseen mantenerse (Constantes) o que puedan variar (Variables).

Constante

Es 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 ejecucin del programa. Se utiliza cuando necesitamos que el valor de determinada variable se mantenga durante la ejecucin del programa o hasta tanto se requiera su cambio.

Variable

Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en el transcurso de la ejecucin del programa. Una variable descrita o declarada de un tipo determinado, slo podr contener, valores de ese tipo. Una variable declarada numrica entera, no podr contener nmeros reales. Se utiliza cuando el dato que contiene sufrir cambios o variar en la medida que cambien los valores que maneje.

Las variables y constantes tienen bsicamente, dos atributos:


Nombre Se le asigna un nombre, en principio, para determinar que existe la variable. Este nombre debe obedecer a la naturaleza del contenido que se almacenar en ella. Por lo tanto debe orientar en relacin a su contenido. Los nombres de las variables en especificaciones generales deben ser de ocho caracteres, no deben iniciarse con nmeros ni smbolos, ni espacios en blanco. Ejemplo de nombres de variables: NOMBRE, EDAD, TOTAL, SUELDO, NACIONALIDAD Ejemplo de nombres para constantes: ISR=16.5, AOFISCAL=2005, PAIS=VENEZUELA, PI = 3,1416

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

15

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Tipo

Es la naturaleza del dato: alfabticos o caracteres; numricos: enteros o reales; alfanumricos y Lgicos. Siguiendo el ejemplo, se determina la naturaleza de las variables arriba mencionadas. NOMBRE EDAD TOTAL SUELDO NACIONALIDAD CHARACTER (30) ALFANUMERICO NUMERICO REAL NUMERICO REAL LGICO

Descritos los conceptos de instruccin o sentencia, datos, tipos de datos, constantes y variables como parte de los elementos que intervienen en la construccin del conjunto de instrucciones que contiene un algoritmo, seguidamente estudiaremos las expresiones y operadores: aritmticos, relacionales y lgicos; contadores y acumuladores como elementos que tambin son utilizados en la conformacin de las instrucciones o sentencias. Es decir, una instruccin o sentencia se construye con: comandos (acciones), datos, constantes, variables, contadores, acumuladores y expresiones y operadores aritmticos, relacionales y lgicos.

EXPRESIONES Y OPERADORES Las expresiones son combinaciones de constantes, variables, smbolos de operacin (matemticos, lgicos y relacionales) y nombres de funciones que se utilizan en el cuerpo del algoritmo. Las expresiones pueden ser simples o compuestas, Las expresiones simples, son asignaciones directas a una variable o constante de un valor numrico o carcter, vase el siguiente ejemplo:

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

16

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica


Ejemplos de expresiones simples Nombre de la Expresin Valor asignado A =6 B = DEFINITIVO FECHA = dd/mm/aa DLAR =2120 PAIS =VENEZUELA

Explicacin o anlisis A la variable A se le asigna el valor de 6 A la variable B se le asigna por valor DEFINITIVO A la variable FECHA se le asigna una fecha dada. A la constante DLAR se le asigna el valor de 2120 A la constante PAIS se le asigna por valor VENEZUELA

Una expresin compuesta es la asignacin a una variable o constante que surge de la unin de valores numricos, operadores aritmticos, de comparacin o lgicos. Por ejemplo:
Ejemplos de expresiones compuestas Nombre de la Expresin Valor asignado A =6*2 C EDAD SUELDO =A+B = AOACTUAL - AONAC = DIASTRAB * SDIARIO

Explicacin o anlisis A la variable A se le asigna el valor 12, que resulta de multiplicar 6 por 2. A la variable C se le asigna el valor de sumar A + B La variable EDAD obtendr el resultado de restarle a la constante AOACTUAL el valor de la variable AONAC La variable SUELDO tomar el valor de multiplicar los das trabajados contenidos en la variable DIASTRAB por el valor de salario diario contenido en SDIARIO.

Ampliacin. Las asignaciones se utilizan cuando:


a) b) Se requiere que una variable contenga un valor especfico Se requiere asignar a una variable el valor de otra variable Dlar = 4.30 Antes= 10 Ahora = Antes

c) Obtenemos el resultado de una expresin La forma de escribir una asignacin, es:

Salario = Sueldo_Diario * Numero_Dias

A = 20

Donde la variable que esta a la izquierda toma el valor que se le asigna. Esto tambin indica que pierde el valor que hasta ahora tena.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

17

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Expresiones Aritmticas Son utilizadas para construir formulas matemticas. Las variables y constantes utilizadas son de naturaleza numrica, es decir nmeros enteros o reales, y las operaciones a efectuar son de orden aritmtico.

Operadores aritmticos

Sumar

Si A =10 y B = 13

El Resultado es: 23

* **

Restar Multiplicar Exponenciacin

A-B A*B A ** B

-3 130 100.000.000.000.000

Divisin

A/B

0,76

A los operadores aritmticos podemos darles caractersticas de autoincremento (++) y autodecremento (--). El operador de incremento o decremento puede ir delante o detrs de la variable, teniendo diferente significado. Si el operador ++ se coloca despus de la variable se denomina postincremento, haciendo que primero se tome el valor y despus se incremente la variable. Ejemplo: NT=T2++, donde NT toma el valor de T2 y luego se incrementa. Cuando el operador ++ se sita despus de la variable, sucede lo contrario, primero se incremente la variable y despus se toma el valor, y se denomina preincremento. Ejemplo: NT = ++T2, donde NT primero se incrementa y luego se asigna a NT.
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

18

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Existe el operador de predecremento y postdecremento, el cual acta de forma anloga. Por ejemplo, supongamos que en una empresa requieren disear un programa de incentivo a los jvenes empleados, entre los que se encuentran los aprendices que tienen una edad por debajo de los 18 aos y los empleados que tienen 18 y ms aos; de acuerdo a su edad se les brinda la oportunidad de un bono, para los empleados fijos equivale al 50 % de su salario y para los aprendices el 40 %. El algoritmo se desarrolla realizando la lectura de los datos hasta que sea fin de archivo, calcular el incentivo correspondiente e imprimir cdula, nombre, sueldo anterior, incentivo y sueldo nuevo.
Ejemplo. Clculo de bonificacin.
Inicio Declaracin de variables Leer Datos hasta fin_ archivo Cdula, Nombre, Edad Si Edad >= 18 INCENTIVO = SUELDO * 0,50 De lo contrario INCENTIVO = SUELDO * 0,40 Fin si MONTOTOTAL = SUELDO + INCENTIVO IMPRIMIR RESULTADOS Fin Se cierra la estructura Se calcula el monto total y se imprimen los resultados es decir cdula, nombre, sueldo anterior, incentivo, sueldo nuevo. Fin del algoritmo Inicio Declaracin de variables que se requieren Lectura de los datos de entrada Evala el tipo de empleado, Si ya cumpli 18 aos, pertenece a los empleados fijos, y se calcula el monto del incentivo en base al 50%. De ser ese el caso, se ejecutan las dos instrucciones que se encuentran dentro del primer bloque. De lo contrario, no se cumple la condicin anterior, se trata de un aprendiz. Se calcula lo previsto para estos (40%).

En este algoritmo se utiliza la denominada estructura de control selectivas: Si(If), Entonces(Then), Si no(Else). Esta estructura responde a la necesidad de contar con una instruccin que permita evaluar dada una condicin, se realice una serie de actividades, de no cumplirse, es decir, de lo contrario (Else), se desarrollarn otra serie de actividades. Este proceso deber incluirse dentro de un ciclo de repeticin para que se ejecute tantas veces como registros de empleados tenga. Estas estructuras se explicarn mas adelante.
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

19

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Expresiones Relacionales Se construyen a partir de los operadores relacionales (de relacin o comparacin, = , > , < , >=, <=, <>. Los operadores relacionales sirven para expresar las condiciones en los algoritmos. Las variables y constantes utilizadas son de distinta naturaleza, el resultado de una expresin lgica y relacional es de tipo lgico. El conjunto de operaciones relacionales se muestran en la siguiente tabla

Operadores de relacin Se utilizan para expresar condiciones y describen una relacin entre 2 variables.

Operadores

Significado

Ejemplo

Interpretacin

>

Mayor que

Si A =10 y B = 13 A>B

El Resultado es: FALSO

<

Menor que

A<B

VERDADERO

>=

Mayor igual

A> = B

FALSO

<=

Menor igual

A <= B

VERDADERO

Igual

A=B

FALSO

<>

Diferente

A <> B

VERDADERO

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

20

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Expresiones Lgicas Las expresiones lgicas se utilizan en los programas cuando se requiere conocer o evaluar si los valores de variables o constantes determinadas cumplen con ciertas condiciones. De cumplirse o no, permiten un conjunto de instrucciones que pueden o no ejecutarse. Una expresin lgica puede ser verdadera o falsa.
Ejemplo de expresin lgica. Parte del Algoritmo diseado para preseleccionar a posibles candidatos presidenciales, tomando como requisito de seleccin slo aquellos que, simultneamente, sean venezolanos y mayores de treinta aos. Una expresin lgica Y (AND) es verdadera, si y slo s, se cumplen las dos condiciones simples. Como se describe ms adelante. Lectura de datos Si Nacionalidad = V y Edad > 30 Entonces Status = Aspirante Grabar en archivo de Aspirantes Fin Si

Ampliacin. Expresiones lgicas, son expresiones que slo pueden tomar uno de dos valores posibles: Verdadero o Falso. Estas expresiones se forman combinando constantes lgicas, variables lgicas y otras expresiones utilizando los operadores Y (AND), O (OR) y NO (NOT). El resultado de una expresin lgica es tambin un valor de tipo lgico: verdadero o falso.

EVALUACIN DE EXPRESIONES Cuando en una expresin concurre ms de una operacin, los parntesis indicarn prioridad, es decir, la operacin encerrada entre parntesis se realizar en primer lugar. Asimismo, algunos operadores tendrn prioridad sobre otros.
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

21

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Las operaciones aritmticas son efectuadas en el siguiente orden: 1. Menos unario o negacin 2. Exponenciacin 3. Multiplicacin, divisin y divisin entera 4. Suma y resta
Ampliacin. En la expresin: Primero se realiza b/c, y luego al resultado de esto, se le sumar el valor de a Si se requiere que se sume a + b y el resultado dividirlo entre c, se deber escribir la frmula, como sigue: (a

a + b / c,

+ b) / c,

En una expresin donde los operadores tienen la misma prioridad, la operacin se har de izquierda a derecha. Si la operacin tiene exponenciales el orden ser de derecha a izquierda

Qu es un contador?, Qu es un acumulador? Antes de iniciar con los tipos de representacin de un algoritmo y de las estructuras bsicas utilizadas en el diseo de instrucciones, se requiere conocer Qu es un contador? y Qu es un acumulador? Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante, cada vez que se produce un determinado suceso, accin o iteracin. Los contadores se utilizan con la finalidad de contar sucesos, acciones o iteraciones internas en un bucle, proceso, subrutina o donde se requiera cuantificar; deben ser inicializados antes del ciclo o proceso, e incrementados o decrementados dentro del ciclo. La inicializacin consiste en asignarle al contador un valor inicial, es decir el nmero desde el cual necesitamos se inicie el conteo.
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

22

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

En conclusin un contador representa: Cuntas veces se realiza el proceso como tal?, Cuntas veces sucede la aparicin de un dato o un evento?, cuantifica tratamientos determinados de informacin. En su conformacin se utiliza, por lo general, una constante como incremento.
Ampliacin. Para incluir un contador en un proceso deber seguirse los siguientes pasos: Inicializar antes del ciclo Incrementar dentro del ciclo Si se requiere puede imprimirse el valor con el cual finaliza el contador. Un contador se construye colocando el nombre del contador = nombre del contador + el valor del incremento. Se lee de la siguiente manera: A la variable Cuentaprimo (el contador en este caso) se le asigna el valor que trae y se incrementa en uno, en la primera iteracin o lectura de datos, el valor que trae, es 0, al ejecutarse la instruccin del contador se incrementa en uno, y as sucesivamente hasta que se finalice el ciclo. Este contador se incrementar cada vez que la formula determine que el nmero en proceso es primo. Ejemplo: Se requiere obtener cuantos nmeros primos existen del nmero 1 hasta el 100. Inicio Cuentaprimo= 0 Numero = 1 Leer Numero Mientras Nmero <= 100 Aplicar frmula primo Si es primo Entonces Cuentaprimo = Cuentaprimo + 1 Imprimir Nmero Fin Si Numero = Numero + 1 Fin Mientras Imprimir Cuentaprimo Fin

Un acumulador es una variable que como su nombre lo indica, suma sobre s misma un conjunto de valores, al finalizar con el ciclo contendr, en una sola variable, la sumatoria de todos los valores, que cumplen una determinada condicin,. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando en una cantidad fija preestablecida, el acumulador va aumentando en una cantidad o valor variable. Representacin: <Nombre del acumulador> = <Nombre del acumulador> + <Valor variable>.
Ampliacin. Para incluir un acumulador en un proceso se deben seguir los siguientes pasos: Ejemplo: Se requiere obtener cuantos nmeros primos existen del 1 hasta el 100, pero adems se requiere su sumatoria. Inicio

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

23

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica


Cuentaprimo= 0, Sumaprimo = 0 Numero = 1 Leer Numero Incrementar dentro del ciclo Por lo general se requiere la impresin de su valor. Un acumulador se construye colocando el nombre del acumulador = nombre del acumulador + el valor variable. Ej: Sumaprimo Se lee de la siguiente manera: A la variable Sumaprimo se le asigna el valor que trae, que en su inicio es cero, ms el valor que contiene la variable Nmero. De esta manera Sumaprimo contiene el valor del primer nmero. Cuando ocurre el encuentro del siguiente nmero primo y deba incrementarse el acumulador Sumaprimo, la instruccin dice que Sumaprimo, es igual al valor que trae o tiene actualmente, que en esta segunda iteracin corresponde al primer nmero primo, ms el valor del siguiente nmero primo encontrado, este proceso se realizar cada vez que se encuentre un nmero primo, acumulando la sumatoria de todos los nmeros primos hasta llegar al nmero 100. Mientras Nmero <= 100 Aplicar frmula primo Si es primo Entonces Cuentaprimo = Cuentaprimo + 1 Sumaprimo = Sumaprimo + Nmero Fin Si Imprimir Numero Numero = Numero + 1 Fin Mientras Imprimir Cuentaprimo, Sumaprimo Fin

Inicializar antes del ciclo

Ejercicios. Utilizando las expresiones numricas, relacionales y lgicas, contadores y acumuladores escribe el conjunto de instrucciones que son necesarias para las situaciones dadas: a) De un archivo de datos cuantificar los hombres y mujeres, segn los siguientes datos de entrada. CI, Nombre, Sexo b) Calcular la sumatoria de los mltiplos de 5 hasta el 1000. c) De un archivo de datos slo se seleccionen: Menores de edad (<18), Sobresalientes acadmicos (>= 18 puntos), Altos (1.70 cm), Deportistas (Si). Los nombre de las variables son: CI, Nombre, Sexo, Promedio-calificaciones, Edad, Estatura, Deportista, Nacionalidad.

2. FORMAS DE REPRESENTAR UN ALGORITMO


Un algoritmo se puede representar por medio de dos formas, a travs de Pseudocdigo o de Diagramas de Flujo. Para la presentacin de los algoritmos que hasta ahora se han utilizado en el texto se han representado a travs de pseudocdigos. 2.1 Pseudocdigo, significa escribir las instrucciones del algoritmo en lenguaje natural, tal y como lo expresamos de manera cotidiana, este procedimiento facilita su escritura

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

24

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

en los lenguajes de programacin. Segn Joyanes (2003): El pseudocdigo es un lenguaje de especificacin (descripcin) de algoritmos, pg 68.
Ampliacin. Ejemplo: Algoritmo diseado para el clculo de la hipotenusa de un tringulo, utilizando pseudocdigo, Nota: Como se observa se utiliza el mtodo Entrada-Proceso-Salida La escritura del algoritmo consta de: -Identificacin o cabecera -Declaracin de variables -Cuerpo o seccin de acciones Inicio Declaracin de variables Lectura de los datos A, B y C Aplicar formula Imprimir resultado Fin

2.2. Diagramas de flujo o flujogramas: son representaciones grficas de los pasos necesarios que conllevan a la solucin algortmica de un problema. Para disearlos se utilizan determinados smbolos o figuras que representan una accin dentro del procedimiento. Estos smbolos se han normalizado o estandarizado para representar los pasos del algoritmo. Cada paso se representa a travs del smbolo adecuado, que se van uniendo con flechas, denominadas lneas de flujo, que a su vez indican el orden en que los pasos deben ser ejecutados.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

25

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ampliacin. Ejemplo: Algoritmo diseado para el clculo de la hipotenusa de un triangulo utilizando la tcnica del diagrama de flujo
Inicio

A, B, C

Aplicar formula

Resultado

Fin

Para su elaboracin se deben seguir ciertas reglas: 1. Se escribe de arriba hacia abajo y de izquierda a derecha. 2. Siempre se usan flechas verticales u horizontales, jams curvas, se debe evitar el cruce de flujos. 3. Cada paso expresa una accin concreta. Para su secuencia de flujo normal se debe cumplir con: 1. Un inicio 2. Una lectura o entrada de datos 3. Procesamiento de datos 4. Una salida de informacin 5. Un final Simbologa para disear flujogramas.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

26

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Salida a pantalla

Direccin del
flujo de datos

Inicio/Fin

Cone ctor

Decisi n
Conector Fuera de pgina

Proceso

Salida por Impresor

Ventajas de usar flujogramas 1. Rpida comprensin de las relaciones. 2. Anlisis de las diferentes secciones del programa 3. Pueden usarse como modelos de trabajo en el diseo de nuevos programas o sistemas. 4. Enriquece la comunicacin con el usuario. 5. Permite la documentacin adecuada de los programas. 6. Mejor codificacin de los programas. 7. Depuracin y pruebas ordenadas de programas

Desventajas de los flujogramas


Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

27

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

1. Cuando estamos en presencia de diagramas complejos y detallados pueden resultar laboriosos en su planteamiento y diseo. 2. Las acciones a seguir tras la salida de un smbolo de decisin, pueden ser difciles de seguir si existen ms caminos de los contemplados. 3. No existen normas fijas para su elaboracin, por lo tanto incluir todos los detalles que se deseen considerar queda a criterio del diseador. Su diseo al igual que el algoritmo en pseudocodificacin debe estar centrado en el cumplimiento de los pasos necesarios para obtener el resultado que se quiere. en Diagrama Nassi Schneiderman
Esta forma de representar un Algoritmo se caracteriza por representar los pasos como cajas, es simple, siempre y cuando ya se tenga la experiencia del desarrollo de algoritmos. Joyanes (2003): Es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas., pg 69. Ampliacin. Representacin

2.3. Traza de un algoritmo Llamada tambin corrida o simplemente probar un algoritmo en papel, significa razonar cmo lo hara un computador, ejecutando cado uno de los pasos o instrucciones, asignndole valores a las variables, registrar el comportamiento de los valores y comprobar que efectivamente cumple el tratamiento o proceso al cual se someten los datos segn el objetivo del algoritmo.

3.

ESTRUCTURAS BASICAS O DE CONTROL UTILIZADAS EN EL DISEO DE INSTRUCCIONES Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica 28

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

En la elaboracin de algoritmos nos vamos a encontrar con estructuras bsicas o de control ya prediseadas para el tratamiento de informacin, estas estructuras bsicas traducen acciones que se realizan de acuerdo al requerimiento o al proceso necesario al cual deba someterse la informacin. Estas estructuras son: a) Secuenciales: cuando se requiere que una instruccin siga despus de otra. b) Seleccin o decisin: se utiliza cuando se requiere tomar decisiones lgicas, la ejecucin de las instrucciones depender de que se cumplan o no, una o varias condiciones. c) Repeticin o Iteracin: se utiliza cuando un proceso debe repetirse un nmero determinado o no de veces, una vez se haya establecido cierta condicin para finalizar el proceso de repeticin. Asimismo dentro de las estructuras bsicas existen acciones o procesos a los cuales son sometidos los datos, entre ellos, tenemos: a. Asignacin b. Condicionado (a travs de las expresiones lgicas) c. Alternativas (estructura condicional) d. Iterativas e. De entrada y salida 3.1. Estructuras Secuenciales. En esta estructura una accin o instruccin se ejecuta detrs de otra en orden y secuencia. Las tareas se realizan de tal manera que debe cumplirse en estricto orden secuencial, porque la salida de una, es la entrada de la siguiente y as sucesivamente hasta el fin del proceso.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

29

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

ESTRUCTURA SECUENCIAL Esta estructura obedece a operaciones dadas en el siguiente orden: Contiene operaciones de:

a) Inicio
ASIGNACIN CLCULO SUMARIZACIN

b) Definicin e Inicializacin de variables


c) Lectura de Datos d) Operaciones de asignacin e) Clculo f) Sumarizacin o totalizacin g) Fin

Posee una entrada y una salida, la representacin de una estructura secuencial en Pseudocdigo, se realiza, de la siguiente manera:

Sigamos con el ejemplo de realizar la suma de dos nmeros:

Entrada Instrucciones de declaracin inicializacin de variables (Asignacin) y de lectura de los datos de entrada Proceso Instrucciones de Clculo / Sumarizacin Asignacin

Entrada SUMA = 0, A = 0, B = O Leer A y B Proceso (Asignar a SUMA el valor de A ms el valor de B) SUMA = A + B

Salida Instrucciones de totalizacin e Impresin

Salida Imprimir valor de SUMA

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

30

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Decisiones en secuencia Se 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 objetivo de la decisin.

Ejemplo: Realizar un algoritmo que permita seleccionar slo aquellas participantes del concurso Mis Venezuela que cumplan ciertas condiciones en una primera ronda de seleccin. Estructura Si Condicin 1 se cumple Entonces Instrucciones a ejecutar en caso de que la condicin1 sea verdadera Si Condicin 2 se cumple Entonces Instrucciones a ejecutar en caso de que la condicin2 sea verdadera Si Condicin 3 se cumple Entonces Instrucciones a ejecutar en caso de que la condicin3 sea verdadera Si Condicin 4 se cumple Entonces Instrucciones a ejecutar en caso de que la condicin4 sea verdadera Fin Si Fin Si Fin Si Fin Si Imprimir resultados Fin Slo si cumplen estas cuatro primeras condiciones pasaran a la segunda ronda. Si Rostro = HERMOSO Entonces Sumar 1 a Puntaje Si Estatura >= 1.80 Entonces Sumar 1 a Puntaje Si Medidas = 90-60-90 Entonces Sumar 1 a Puntaje Si EstudiosUniversitarios = SI Entonces Sumar 1 a Puntaje Fin Si Fin Si Fin Si Fin Si Imprimir slo las que Puntaje = 4 Fin

La estructura secuencial es til para aquellos procesos en los que se requiere que se cumplan con estricto orden un nmero determinado de instrucciones, siempre y cuando se cumpla la anterior, por lo general, la primera decisin corresponde al aspecto ms determinante o general. En el caso de las postuladas la ms general o determinante debera ser, la nacionalidad, si la participante es venezolana, entra a la primera seleccin, de lo contrario, no entra al concurso.
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

31

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

3.2. Estructura de seleccin o decisin. Un algoritmo se realiza para resolver un problema. Por ello, al elaborar la solucin de un problema se trazan ciertas condiciones. Estas condiciones se describen a travs de una estructura selectiva, tambin llamada de decisin o condicin. Una estructura selectiva esta compuesta por una expresin lgica, si al evaluar esta expresin lgica, el resultado es Verdadero, es decir se cumple la condicin, se realizar una secuencia de instrucciones; pero si el resultado es falso, se ejecutar otra secuencia de instrucciones. Las estructuras selectivas, de decisin o condicionales, pueden ser: Simples, Dobles y Anidadas o Mltiples. Estructura condicional simple (Si-Entonces / If-Then) La estructura condicional simple, Si-Entonces (o IF-THEN, en ingls), permite evaluar una condicin determinada y si se cumple la condicin ejecuta una o varias instrucciones. Si la condicin es falsa, entonces no se realizar ninguna accin.
Pseudocdigo en Espaol Pseudocdigo en Ingls Diagrama N-S

Si <Condicin> Entonces <Accin N> Fin_si

If <Condicin> then <Accin N> end_if

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

32

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica


ESTRUCTURAS DE DECISIN Se utiliza cuando se requiere tomar decisiones lgicas

Pueden ser de instrucciones:


SIMPLES DOBLES COMPUESTAS MULTIPLES (Case)

Ejemplo: De acuerdo al ejercicio de la asignacin del bono a


empleados y aprendices, utilizando la estructura simple, tenemos:

Bono: 0 Si Edad >= 18 Entonces (Calcular Bono de empleado) Bono = Salario * 0.50 Fin_si Total Salario = Salario + Bono

La estructura simple obedece a evaluar una condicin, si se cumple se realizar una o un conjunto de instrucciones, y finalizar la ejecucin del programa. If <Condicin> Then Endif

Condici n? Verdadero

Falso

Accin

Si la instruccin se disea slo para evaluar la condicin de verdadero cuando se cumpla que el empleado es fijo, se estara realizando el clculo slo para el personal fijo, si se requiere realizar el clculo incluyendo a los aprendices se debe utilizar la estructura doble.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

33

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Estructura condicional doble o Alternativa (Si-Entonces-Si no / If-Then-Else) 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, y cuando no se cumple. Si se cumple, se realizar una o un conjunto de instrucciones A, si no se cumple, se realizar una o un conjunto de instrucciones B.
ESTRUCTURA CONDICIONAL DOBLE O ALTERNATIVA

Esta estructura obedece a evaluar una condicin y en funcin del resultado, se realiza un conjunto de instrucciones u otras. (Pseudocdigo Ingls) If Condicin Then <Instrucciones> Else <Instrucciones> Endif Nota: En la data slo estn registrados empleados y aprendices

Ejemplo: De acuerdo al ejercicio de la asignacin del bono a


empleados y aprendices, tenemos:

(Pseudocdigo Espaol) Si Edad >= 18 Entonces (Calcular Bono de empleado) Bono = Salario * 0.50 Si no (Calcular Bono de aprendiz) Bono = Salario * 0.40 Fin_si Total Salario = Salario + Bono

Su Diagrama de Flujo se representara de la forma siguiente:


NO Edad>= 18 SI

Bono Aprendiz

Bono Empleado

Condiciones compuestas
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

34

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Las estructuras de condiciones compuestas, algunos autores las refieren como dobles, permiten disear las instrucciones utilizando dos y ms estructuras simples unidas por los conectores lgicos Y (AND), O (OR) y NO (NOT).
Ejemplo de Condiciones Compuestas o Dobles, utilizando la unin de dos expresiones simples a travs de los conectores lgicos: Y (And), O (OR) y NO (NOT). A. Se requiere determinar el nmero de empleados de sexo femenino mayores de 40 aos. Tabla de verdad de Y (And) Tabla de verdad(Pseudocdigo Espaol)Tabla de verdad de NOT de O (OR) (Pseudocdigo Ingls)
Valor de X Valor de X X And Y Falso Falso Falso If Falso =F And Edad >=40 Then Sexo Verdadero Falso Verdadero Falso Falso Verdadero Verdadero Verdadero <Instrucciones> Valor de X Falso Falso Verdadero Verdadero Valor de X X OR Y Falso Falso <Instrucciones> Verdadero Verdadero Falso Verdadero Verdadero Verdadero

Si Sexo= F y Edad >= 40 Entonces


X Falso Verdadero

NOT X Verdadero Falso

Fin Si

End If

B. Al evaluar la tabla de la verdad, para el conector And, en la elaboracin de una instruccin en la cual Se requiere escribir las instrucciones que permitan elegir profesionales del rea de deben cumplirse dos condiciones mnimas, como por ejemplo, en el caso del Miss Venezuela, se exige sistemas. que la participante sea venezolana y mayor de edad como requisitos de inscripcin, suponiendo sea el caso de manera estricta, la instruccin sera: IF PROFESION = Ingeniero en Sistemas OR Si PROFESION = Ingeniero en Sistemas O PROFESION=Licenciado en Computacin Then Then If Nacionalidad = Venezolana And Edad>=18 PROFESION=Licenciado en Computacin Inscribir Entonces End If Imprimir Datos Imprimir Datos El conector And se utiliza cuando se requiere que se cumplan las dos expresiones simples que se Incrementar contador establecen. Incrementar contador Por lo tanto en las opciones, donde: End If Fin Si Es extranjera y menor de edad es decir: falso y falso, el resultado ser falso C. Se requiere seleccionar slo las personas que no Es extranjera y mayor de edad es decir: falso y verdadero, el resultado ser falso estn casadas. CASADO = SI CASADO = SI y menor de edad es decir: verdadero y falso, el resultado es falso Es venezolana Si NOT CASADO Entonces IF NOT CASADO Then Es venezolana y mayor de edad es decir: verdadero y verdadero, el resultado es verdadero Imprimir datos Imprimir datos Fin Si End If

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

35

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica


Ejercicios. Construye un ejemplo para los conectores O (OR) y NO (NOT), segn las situaciones dadas: a) De un archivo de datos se requiere seleccionar slo empresas que se encuentren ubicadas en los estados Trujillo y Mrida.

b) De un archivo de datos seleccionar mobiliario que no sea amarillo.

Ejemplo: Leer tres nmeros e imprimir el ms grande de ellos Utilicemos el pensamiento sistmico para resolver el problema: 1. Cul es el resultado que se desea obtener? 2. Cules deberan ser los datos de entrada? 3. Cul es el proceso al que debe someter los datos? 4. Qu resultado se espera obtener? Algoritmo Inicio Entrada: Proceso Se determina el mayor valor Salida Se imprime al valor ms grande Fin If C > A And C > B Then MAX = C End If Imprimir El valor ms grande es: , MAX Fin If B > A And B > C Then MAX = B End If Respondiendo a las preguntas que se encuentran a la derecha, tenemos:

1.
2.

3.
4.

El mayor de tres nmeros distintos dados Los tres nmeros: A, B y C Comparacin El mayor de los tres nmeros

Inicio Leer A, B, C If A > B And A > C Then MAX = A End If

Ampliacin. La unidad aritmtica y lgica, uno de los componentes de una computadora, se encarga del manejo de las operaciones aritmticas y a la porcin lgica de la computadora le corresponde procesar la
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

36

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

capacidad de tomar decisiones. La estructura de construccin algortmica if-then-else (si-entonces-de lo contrario) permitir la seleccin de acciones alternativas permitiendo realizar procesos lgicos.

3.3. Estructuras de Repeticin o Iteracin. Esta estructura se utiliza cuando se debe ejecutar un conjunto de instrucciones un nmero repetido de veces. Al conjunto de instrucciones que se ejecutan repetidamente, un nmero de veces, se le llama tambin ciclo, bucle o lazo. El nmero de veces que se ejecuta se denomina Iteraciones; por consiguiente, una iteracin, es una de las veces en las cuales se efectan todas las instrucciones contenidas en el ciclo. Pasos de una estructura anidada o cclica: 1. Entrada de datos e instrucciones previas 2. Lazo o bucle 3. Instrucciones finales o resto del proceso 4. Salida de resultado Las repeticiones deben ser finitas, no obstante puede ser que en momentos determinados no nos demos cuenta y construimos un ciclo o bucle infinito, esto lo explicaremos ms adelante, en principio estudiaremos los ciclos finitos:

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

37

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Estructura de ciclos finitos:

Se requiere calcular bono vacacional para todos los empleados, de acuerdo a su salario. La empresa tiene un total de 75 empleados. Desde su inicio se define el nmero de iteraciones o se crea la condicin necesaria para darle fin al ciclo. Inicio NoEmpleados= 0 Si NoEmpleados <76 Entonces Calcular bono Imprimir bono Incrementar en uno al contador (NoEmpleados) Fin Si Imprimir Resultados Fin Si

Inicio NoEmpleados=0 Datos

NoEmplead os <=75

No

Calcular Bono

Bono

NoEmpleados = NoEmpleados + 1

Retonar

Resultados

Estructura de ciclos infinitos:


Fin

Se requiere calcular el bono Leer datos vacacional para todos los empleados, de acuerdo a su Calcular bono salario, al tiempo de vacaciones colectivas (15 das). La empresa Imprimir bono tiene un totalMisin Sucre y la Municipalizacin del Programa de 75 empleados.

Nacional en Sistemas e Informtica

38

Nota: El proceso se realizar una sola vez porque no existe una instruccin de condicin que indique cuando debe finalizar.

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Bucles Repetitivos Se pueden dar en tres condiciones: a) Estructura cclica independiente, es cuando los bucles se realizan uno primero hasta que se cumple la condicin, y slo una vez que cumple con el primer ciclo, entra al siguiente o a instrucciones de finalizacin. b) Los ciclos anidados son aquellos en los que al entrar a una estructura de repeticin, dentro de ella se encuentra otra, se inicia el proceso de la estructura ms interna hasta que se termine y luego se contina con la externa hasta que la condicin se cumpla. c) Existen los bucles cruzados, lo cual no se recomienda, debido a que se tiene que interrumpir, es decir no finalizamos un ciclo e iniciamos el otro. Esto puede ocasionar la prdida de control debido a que el programa podra no reconocer cual proceso se esta cumpliendo.
A) Ciclo Independiente

Se debe cumplir un primer ciclo y luego continuar con el siguiente. En el ejemplo de la seleccin de las candidatas al Miss Venezuela, se debe cumplir con el primer ciclo completo con todas las aspirantes y las seleccionadas pasarn al segundo proceso de seleccin.

Inicio Realizar primer proceso de seleccin Realizar segundo proceso de seleccin Imprimir las 25 finalistas Fin

Inicio

Primera seleccin

Segunda seleccin Imprimir Resultados Fin

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

39

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica


B) Ciclo Anidados

Se incluye un C) Ciclo Cruzados ciclo dentro del otro, se debe completar el ciclo ms interno y luego el ms externo. No es recomendable; sucede cuando en un ciclo iniciado se inicia otro ciclo de instrucciones; puede ocasionar que no se reconozca el ciclo donde suceda el proceso, o se distorsione la informacin.

Inicio

Primer Bucle Segundo Bucle Fin

INSTRUCCIN SELECTIVA (Case). Se utiliza cuando existen ms de dos opciones posibles; se conoce tambin como opciones mltiples. La estructura de decisin mltiple o selectiva evaluar una expresin que podr tomar un conjunto de valores distintos 1, 2, 3, 4, n, es decir hasta n valores. Segn la eleccin del valor de la condicin establecida, se realizar un conjunto de instrucciones.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

40

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica


Estructura de instruccin selectiva Se requiere evaluar o ejecutar en distintas condiciones una serie de instrucciones. Entre En Caso y Fin Caso, se pueden incluir todas las alternativas que se considere puedan presentarse. Algoritmo Leer datos (Empleados, Da-Semana, Actividades

En caso:
Da-semana = Lunes Realizar actividades 1 Da-semana = Martes Realizar actividades 2 Da-semana = Mircoles Realizar actividades 3 Da-semana = Jueves

En Ingls, se utiliza: Case Da-semana expresin Of


[Lunes]: actividades 1 [Martes]: actividades 2 :

Realizar actividades 4 [Domingo]: Salir del proceso de actividades Realizar actividades 5 Da-semana = Viernes

Else
Imprimir resultados

Da-semana = Sbado Realizar actividades 6 Da-semana = Domingo Salir del proceso de actividades

End_case

Fin Casos

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

41

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Son estructuras diseadas para que repitan una secuencia de instrucciones un nmero determinado de veces, tambin son llamadas bucles o lazos. El nmero de veces que realiza el proceso se denomina iteraciones, e iteracin al hecho de repetir la ejecucin de una secuencia. Entre las estructuras repetitivas se encuentran:
Ingls While Repeat For Espaol Mientras Repetir Para Evaluacin y acciones Mientras se cumpla la condicin que desencadena el proceso, las instrucciones que se encuentran dentro del ciclo While se realizarn. Se realizar la ejecucin de una o ms instrucciones Hasta que el resultado de la expresin lgica evaluada sea verdadero. Se realizar una secuencia de acciones un nmero predeterminado de veces.

Formas de terminar con bucles o ciclos de repeticin a partir de los datos de entrada
a. Preguntando antes de la iteracin. Antes de iniciar el ciclo, se comienza preguntando si existen ms datos, se realiza el proceso y dentro del ciclo se vuelve a preguntar Existen ms datos?, de existir, sigue el ciclo, de no existir ms datos culmina el ciclo, este mtodo es tedioso si se trabaja 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. Se realizar la ejecucin de una o ms instrucciones Hasta que el resultado de la expresin lgica evaluada sea verdadero. Se comprueba que no existen ms datos de entrada.

b. Encabezar la lista de datos con su tamao.

c.

Finalizar la lista con su valor de entrada.

d. Agotar los datos de entrada.

Estructura Mientras (While)

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

42

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

La estructura repetitiva While, segn Joyanes (2003): es aqulla en que el cuerpo del bucle se repite mientras se cumple una determinada condicin, al cambiar la condicin se interrumpe o se culmina con la ejecucin del ciclo de instrucciones que se encuentran dentro de la estructura o el ciclo While. Esta estructura es muy til cuando dada una condicin, se requiere asegurar se realice un conjunto de instrucciones.
Ejemplo en Ingls: While ExistenDatos = Si Ejemplo en Espaol: Mientras ExistenDatos = Si Descripcin: Mientras la variable que contiene la condicin de verificacin de existencia de datos, en este caso, se cumpla se realizarn las instrucciones que contiene el ciclo Mientras. Mientras el nmero que se ingrese sea distinto de cero, se realizar el conjunto de instrucciones que contiene la estructura Mientras. El ciclo culmina al introducir un 0.

Wend While Nmero <> 0

Fin Mientras Mientras Nmero <> 0

Wend

Fin Mientras

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

43

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ampliacin. La estructura repetitiva Mientras se realizar si y slo si se cumple la condicin evaluada, de lo contrario el programa no entra en el ciclo, y continua en la siguiente instruccin fuera del bucle. La condicin evaluada debe programarse efectivamente fuera del ciclo, si se requiere realizar el bloque de instrucciones y luego cambiar su condicin dentro del bucle, cuando sea necesario finalizar el proceso, de lo contrario se estara programando un ciclo infinito.

ESTRUCTURA WHILE (Ingls) While <condicin>do Acciones Wend (Espaol) Mientras <condicin> hacer Acciones Fin Mientras Inicio Ejemplo: Realizar un algoritmo que sume los primeros nmeros hasta encontrar un nmero negativo. Contador = 0 Suma = 0 Leer (Nmero) Mientras Nmero > 0 hacer Contador = Contador + 1 Suma = Suma + Nmero Leer (Nmero) Fin_Mientras Escribir 'El nmero de enteros positivos es : Contador La sumatoria es: Suma Fin (Diagrama de Flujo)

Diagrama N-S

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

44

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ejercicios. Construya utilizando la estructura Mientras (While) el segmento del algoritmo que permita resolver situaciones dadas: a) Se requiere realizar sumatoria de nmeros pares positivos hasta llegar a 1000. b) De un archivo de datos realizar distintos procesos hasta que no existan ms datos.

Estructura Repetir (REPEAT)

Esta estructura permite realizar una o mas instrucciones, un nmero de veces hasta que se cumpla con una condicin programada para que finalice el ciclo; es decir, hasta que el resultado de la expresin lgica evaluada sea Verdadero. Utilizar esta estructura permite que el ciclo se realice al menos una vez, debido a que la expresin lgica que debe evaluar su finalizacin se encuentra despus del conjunto de instrucciones que contiene el ciclo.
ESTRUCTURA REPETIR (REPEAT) (Ingls) Repeat <Instrucciones> To expresin lgica (Espaol) Repetir <Instrucciones> Hasta expresin lgica
Repeti r Instrucciones Hasta expresin lgica

(Diagrama de Flujo)

La palabra Repetir indica el inicio de la secuencia de acciones que se repetirn, con la expresin lgica; indica, el fin del ciclo y hasta cuando se repetir la secuencia.
Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

45

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ampliacin. La diferencia entre la estructura repetitiva Mientras y la estructura Repeat es que la estructura Mientras termina cuando la condicin se hace falsa, por el contrario la estructura Repeat finaliza cuando la condicin es verdadera. La estructura Mientras puede ser que no se ejecute, pero la estructura Repeat se realiza al menos una vez.

Estructura Para (FOR)

Al disear algoritmos se presentan oportunidades donde es necesario repetir un conjunto de instrucciones un nmero predeterminado de veces, para esto se utiliza la estructura Para (For), donde la secuencia se repite bajo el control de un elemento variable que se incrementar o disminuir cada vez que se ejecute el ciclo completo.
ESTRUCTURA PARA (FOR) (Ingls) For variable_contador = inic inc fin instrucciones End For i = 1 to 20 Cuenta=1 Para Cuenta =1 hasta 20 hacer <Instrucciones> Fin Para (Espaol) Para <elemento de control>:= valor inicial hasta valor final hacer <Instrucciones> FinPara Representaciones Grficas

<Instrucciones> End

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

46

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

Ejercicios. a. Realice la traza del algoritmo siguiente. Determine su resultado segn los datos proporcionados y escriba su enunciado. Pseudocdigo Inicio Declaracin de variables: M = 0 Leer N Asignar a M el valor de N Mientras N <> 0 hacer Si M<=N Entonces M=N Fin_Si Leer siguiente N 10. Retorno del Mientras 11. Imprime valor de M 12. Fin Corrida de datos

Lectura No. 1 2 3 4 5

Para N = 4 5 20 11 3

M toma el valor?

- Cul es el resultado de M? - Realice una siguiente corrida con los siguientes datos: 8, 1, 0, 3, 4 - Disee el diagrama de flujo.

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

47

Repblica Bolivariana de Venezuela Ministerio de Educacin Superior Fundacin Misin Sucre

Programa Nacional de Formacin en Sistemas e Informtica

b) Qu valores obtienen las variables A, B y C despus de finalizar la ejecucin de las siguientes instrucciones?

1. A= 5 B= 18 C= A + B B= A + B A= B - C

2.

A = 30 B = 15 A=B B=A

3.

A=3 B = A + 15 A=A+1 B=A-5

4.

A = 30 B=A B=A-3

Misin Sucre y la Municipalizacin del Programa Nacional en Sistemas e Informtica

48