logica de programación manual-feb.1-2009

download logica de programación manual-feb.1-2009

of 132

Transcript of logica de programación manual-feb.1-2009

LOGICA DE PROGRAMACION

1

MANUAL DE LGICA DE PROGRAMACIN

DISEO DE ALGORITMOS

LIC. EUGENIA MEJIA DE RESTREPO MEDELLIN 2007

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

2

TABLA DE CONTENIDOPag.

Introduccin . .. UNIDAD 1. CONCEPTOS GENERALES UNIDAD 2 ENTRADA y SALIDA DE DATOS DE DATOS. UNIDAD 3 PROGRAMACION MODULAR . UNIDAD 4 INSTRUCCIONES DE DECISIN .. UNIDAD 5 ENUNCIADOS DE REPETICION (ciclos) UNIDAD 6 ARREGLOS .

3 4 31 36 45 57 88

UNIDAD 7 CONCEPTOS BSICOS DE PROGRAMACIN ORIENTADA A OBJETOS. 117 PRODUCTO FINAL GLOSARIO BIBLIOGRAFIA 124 125 132

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

3

IntroduccinEl profesional en sistemas de informacin se enfrenta permanentemente a la solucin de problemas, donde los algoritmos, las estructuras de datos y los lenguajes de alto nivel son el fundamento para la construccin del pensamiento lgico necesario que le permite disear y planificar soluciones lgicas de manera rigurosa y sistemtica. Representacin algortmica de solucin a problemas de informacin siguiendo modelos estandarizados, representacin de los datos y posibles transformaciones y conocimiento y aplicacin de un lenguaje de programacin de alto nivel bsico. Este documento pretende ser soporte para el aprendizaje de la lgica de programacin, encontraran que se trabaja la programacin modular desde el principio con el fin de familiarizar el estudiante con las funciones y procedimientos y de esta manera cuando trabajen los mtodos en los lenguajes de programacin orientados a objetos se le facilite el manejo de estos.

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

4

UNIDAD 1. CONCEPTOS GENERALESOBJETIVO: Identificar las diferentes estructuras, bsicas de diagramacin, y el manejo de los operadores lgicos y matemticos, su aplicacin y las reglas de prioridad. Objetivos especficos: Entender las diferentes estructuras para la elaboracin de algoritmos Saber manejar los diferentes operadores y sus prioridades Realizar los pasos lgicos para la solucin de un problema CONTENIDO TEMTICO Definiciones bsicas Algoritmos Diagramas y sus tipos Operadores lgicos y matemticos Reglas de prioridad Expresiones Prioridad de los operadores en las expresiones lgica y matemticas Representacin grfica de los algoritmos Pasos para resolver un problema. Competencias acadmicas a desarrollar Entender las diferentes estructuras para la elaboracin de algoritmos Saber manejar los diferentes operadores y sus prioridades Realizar los pasos lgicos para la solucin de un problema Indicadores de logro: Conceptual: Diferencia los tipos de algoritmos, Conocer los conceptos bsicos para el desarrollo de un algoritmo. Proccedimental: Aplica el manejo de los operadores y su prioridad en las expresiones matemticas Actitudinal: Reconoce los diferentes operadores y muestra inters en su aplicacin.

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

5

1. CONCEPTOS GENERALES1.1 LOGICA Procedimiento razonable y apropiado para buscar la solucin de un problema cualquiera.

1.1.1 Ejemplo 1: Escribir los pasos a seguir para sumar dos nmeros. 1 Leer nmero 1 2 Leer nmero 2 3 Sumar los nmeros 1 y 2.

1.2 EJERCICIOS

1.2.1 Ejemplo 2: Supongamos que usted necesita programar un autmata para que conduzcaun auto en un viaje por la autopista Medelln Bogot. Una condicin que debe considerara es como cambiar una llanta en caso de un pinchazo. Como persona precavida que es usted el auto tiene llanta de repuesto y las herramientas necesarias para estos casos. Describamos los pasos lgicos para realizar dicha tarea. 1 Sacar la llanta de repuesto del bal 2 Quitar la llanta pinchada 3 Poner la llanta nueva 4 Guardar la llanta pinchada y la herramienta 5 Reanudar el viaje. Hagamos el ejercicio en forma ms detallada. INICIO 1Orillar y detener el auto 2 Bajar del auto y colocar las seales 3 Abrir el bal y sacar la llanta de repuesto. 4 Si el repuesto est bueno siga el paso 7 5 Si el repuesto est malo buscar otra solucin 6 Ir al fin 7 Bloquear el carro y poner el gato 8 Aflojar tuercas y subir el carro 9 Quitar las tuercas y la llanta pinchada 10 Poner la llanta de repuesto y poner tuercas 11 Bajar el auto y apretar las tuercas 12 Recoger seales, herramientas y la llanta pinchada 13 Guardar todo y cerrar el bal 14 Reanudar el viaje. FIN

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

6

Intente escribir en forma resumida y lgica los pasos para realizar las siguientes tareas: Describa los pasos para embetunar los zapatos Describa los pasos para ir desde su casa al cine Describa los pasos para escuchar msica Describa los pasos para hacer una torta Describa los pasos para realizar una prctica deportiva. Describa los pasos para realizar una llamada desde un telfono publico. Describa los pasos para ir a una biblioteca para una consulta. Describa los pasos para hacer un trabajo de investigacin. Describa los pasos para ir a un partido de ftbol

1.3 ALGORITMO La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe Alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico. Cuando se tiene un problema para solucionar hay que entender claramente que se pide hacer y cules datos se tienen para buscar su solucin y cuales son las respuestas que se esperan. Qu se pide? Que se tiene?. La respuesta a estas preguntas son la base para plantear una posible solucin y si sta se dar por medio del computador, nuestro primer paso ser realizar un Algoritmo o sea la descripcin de esa posible solucin con palabras. Este debe cubrir la solucin del problema desde su inicio hasta su terminacin.

1.4 TIPOS DE ALGORITMOS Los algoritmos pueden ser cualitativos o cuantitativos; lgicos o matemticos

1.4.1 Algoritmo cualitativo: es la descripcin con palabras sencillas de las caractersticas o cualidades medibles ( que se pueden comprobar) de un elemento. Ejemplo: ancho, largo, corto, azul, etc. Son aquellos en los que se describen los pasos utilizando palabras. NOTA: Cualidades subjetivas de un elemento no se tiene en ejemplo: belleza, fealdad, simpata, etc. cuenta en un algoritmo por

1.4.2 Algoritmo cuantitativo Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso y hallar respuestas numricas. 1,4.3 Algoritmo matemtico: Conduce a la solucin de respuesta es nica. una expresin matemtica y su

1.4.5 Algoritmo lgico: Es la solucin a una situacin lgica; respuestas.

puede conducir a una o varias

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

7

1.5 ESTILO DE ESCRITURA DE ALGORITMOS / PROGRAMAS.

Algoritmo identificador //cabecera //seccin de declaracin var tipo_de_datos: lista_de_identificadores const lista_de_identificadores = valor inicio //cuerpo del algoritmo accin 1 accin 2 accin 3 . . . accin n fin

1.6 LENGUAJES ALGORTMICOS

Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Tipos de Lenguajes Algortmicos: Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Grficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

1.6.1 Grficos : 1.6.1.1 Diagrama de flujo: Es una tcnica de representacin de algoritmos ms antigua y a la vez mas utilizada, aunque su empleo ha disminuido considerablemente, sobre todo desde la aparicin del lenguaje estructurado. Son fciles de disear porque el flujo lgico se muestra en un dibujo (smbolos o cajas estndares) en lugar de palabras y que cada paso del algoritmo escrito en estos dibujos estar unido por flechas denominadas lneas de flujo, que indican la secuencia que se debe seguir.

Sin embargo, los diagramas de flujo tienen una limitacin grande: son difciles de actualizar y complejos de leer si ocupan varias pginas; cuando se han de modificar los diagramas de flujo resulta difciles precisamente por su carcter grafico.

Los smbolos principales son: En la siguiente tabla se explican los smbolos mas utilizados en los diagramas de flujo

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

8

SMBOLO

FUNCION Inicio y fin del algoritmo. (Sirve para indicar el comienzo y fin del diagrama de flujo, dentro de el se escriben las palabras inicio y fin) Proceso. (Dentro de el se escriben todas las actualizaciones, asignaciones y operaciones) Entrada. (Sirve para la captura de datos por medio de una lectura. Dentro de l se escribe la palabra lea precedida de la(s) variable(s), separadas por comas)

Salida. (Sirve para mostrar el contenido de una variable y/o mensajes. Dentro de l se escribe la palabra escriba precedida de la(s) variable(s), separadas por comas) Decisin. (Sirve para hacer comparaciones, es decir, para

si

evaluar un valor y escoger alternativas)

noLnea de flujo. (Sirve para indicar el seguimiento lgico del diagrama. Determina el orden de la ejecucin de las instrucciones) Mltiples. (En funcin del resultado de la comparacin se seguir uno de los diferentes caminos de acuerdo a dicho resultado)

Repetitivas. (Sirven como smbolos propios de los ciclos ya que para ellos primitivamente se utilizaba los smbolos bsicos (proceso y decisin)

Ejemplo 3 Se desea obtener el salario bsico neto de un trabajador conociendo l numero de horas, el salario hora y la tasa de impuesto que se le debe deducir. Nota: El ejemplo esta realizado en diagrama de flujo ,diagrama estructurado y en pseudo cdigo.

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

9

Diagrama de flujo

INICIOLea: horas_trabajadas, salario_hora, tasa

salario_bruto= horas_trabajadas* salario_hora total_impuesto = salario_bruto * tasa salario_neto = salario_bruto - total_impuesto

Escriba:

salario_bruto,

total impuseto, salario neto

FIN

1.6.1.2 Diagrama estructurado o Diagrama de Nassi, N-S o Chapn : Denominada as por su inventor o tambin conocido como diagrama estructurado es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se escriben en cajas y, como en el diagrama de flujo, se pueden escribir diferentes acciones en una caja. Los diagramas de N-S comienzan en un primer rectngulo que se va rellenando de arriba-abajo siguiendo la tcnica descendente.

Los procesos de entrada, salidas, operaciones, actualizaciones, inicio, fin y nombre del programa (acciones) se representan en una caja por cada proceso as: Nombre del programa Inicio < accion 1> < accion 2> | |

< accion n> Fin

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

10

Solucin ejemplo 3 en diagrama estructurado

Programa salario Inicio lea nombre, horas, precio salario = horas * precio Impuesto = 0.25 * salario SalarioNeto = salario impuesto Escriba nombre, salario, impuesto,

Salarioneto Fin 1.6.2 No Grficos o Pseudo cdigo: Es la descripcin de los pasos lgicos para la solucionar un problema en forma semejante al lenguaje de computadora utilizado, es decir un lenguaje de seudo programacin, una imitacin del cdigo de computadora. El Pseudo cdigo es una mezcla de lenguajes natural y smbolos, trminos y otras caractersticas comnmente utilizadas en uno o ms lenguajes de alto nivel. 1.6.2.1 Caractersticas del Seudocdigo: Las siguientes son las caractersticas ms importantes: Debe tener un nombre que lo identifique. Ejemplo programa inventario Todo pseudo cdigo debe tener un inicio y un fin. No puede existir un programa con infinitas instrucciones. Debe tener 0 o ms datos de entrada. Pueden existir programas que no le pidan datos de entrada al usuario. Los pseudo cdigos deben tener 1 o ms datos de salida. Un programa que no le muestre al usuario ningn resultado o respuesta, no sirve para nada. Solucin Pseudo cdigo Ejemplo 3 Programa salario_neto Inicio lea horas_trabajadas, salario_hora, tasa salario_bruto = horas_trabajadas * salario_hora total_impuesto = salario_bruto * tasa salario_neto = salario_bruto - total_impuesto escriba salario_bruto, total_impuesto, salario_neto fin

1.7 DATOS

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

11

Los algoritmos y programas de computadoras, con independencia del lenguaje en que estn escritos, estn diseados para manipular informacin o datos. La mayora de las computadoras pueden trabajar con varios tipos de datos. Y los algoritmos y los programas correspondientes operan sobre estos. Las acciones de las instrucciones ejecutables reflejan en los cambios de los valores de los datos de entrada que se transforman despus de varias etapas intermedias, dando como resultado unos datos de salida. Existen dos clases de tipos de datos: simples ( sin estructura) y compuestos (estructurados). Los datos estructurados por ahora solo veremos el tipo cadena de esta clase los dems mas adelante, y de los simples identificaremos los siguientes: Numricos, Lgicos y Carcter 1.7.1 Datos Numricos: Los datos de tipo numrico son los relativos a las diferentes clases de nmeros. enteros

Datos numricos reales

1.7.2 Enteros: Es un subconjunto finito de los numero enteros. Los enteros son nmeros complejos, no contienen componentes fraccionarios o decimales y pueden ser positivos o negativos. Ejemplos de datos numricos: 5 -15 20 1340 6 4 17 26

1.7.3 Reales: Es un subconjunto de los nmeros reales. Los reales son nmeros siempre tiene un punto decimal y pueden ser positivos o negativos. Un real consta de un entero y una parte decimal. Ejemplos de datos reales: 0.08 3.7452 -8.12 3739.41 -52.4.321 3.0

1.7.4 Datos Lgicos: Tambin denominados bolanos, es aquel dato que solo puede tomar uno de dos valores: cierto / falso

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

12

si / no v/f 0/1

1.7.5 Datos Carcter: Es el conjunto finito y ordenado de caracteres que la computadora puede interpretar. Un dato tipo carcter contiene solo uno. Los caracteres que reconoce las diferentes computadoras no son estndar, sin embargo, la mayora reconoce los siguientes caracteres alfabticos, numricos y especiales. Caracteres alfabticos: (A, B, C, D, E,..., Y, Z) (a, b, c, d, e,..., y, z) Caracteres numricos: (1, 2, 3, 4,..., 9,0) Caracteres especiales: (+ ,- ,* ,/ ,^ ,$ ,& ,...)

Los caracteres se pueden organizar en cadenas. Una cadena de caracteres es una secuencia o serie de caracteres validos encerrados entre caracteres especiales llamados delimitadores y que suelen ser las comillas doble, ya que las comillas simples son los delimitadores de caracteres individuales, ejemplos: Paris bien vale una misa 12 de octubre de 1492

TIPO DE DATO Numricos Lgicos Carcter Cadena (string)

CONTENIDO Enteros o Reales Boleanos Todos los caracteres individuales Agrupando varios caracteres

EJEMPLO 10, 3,25, -2.908, 2.35E18 Falso, verdadero A,b.c,d,.$.&,#, @, etc. Hola, Juan Daz, 2h43

1.8 CAMPO rea de trabajo que puede almacenar uno o varios datos. se almacena: "Carlos Alberto Garcia". Ejemplo: En el campo NOMBRE

1.9 REA DE TRABAJO Es un espacio de memoria con la longitud que necesita el programador. trabajo deben tener nombres diferentes y deben ser inicializadas en cero (0). Las reas de

1.10 REGISTRO Es un conjunto de campos relacionados.

1.11 ARCHIVO

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

13

Es un conjunto de registros relacionados entre si.

1.12 MEMORIA Capacidad de guardar informacin y tenerla disponible para su uso.

1.13 IDENTIFICADORES Son los nombres que se dan a los programas, constantes, variables, subprogramas y otros objetos o entidades de dgitos. La sintaxis para formar un identificador es la siguiente: Letra/_[letra / digito / _]...

Lo cual indica que un identificador consta de uno o ms caracteres (letras, dgitos y el carcter de subrayado) y que el primer carcter debe ser una letra o el carcter de subrayado.

Las letras pueden ser maysculas o minsculas. Ejemplos: SUMA Calculo_nmeros_primos Ordenar7 a123

Ejemplos de errores en declaracin de identificadores: #suma calculo nmeros primos -ordenar 12ab3 salario$base

1.14 VARIABLES Son todos aquellos valores que pueden o no cambiar en el transcurso de un programa, como existen diferentes tipos de datos las variables pueden ser numricas y alfanumricas. Las variables deben tener las siguientes caractersticas: Tienen Nombre ste debe ser nico ya que en un programa no pueden existir dos variables con el mismo nombre. Este debe empezar siempre por una letra Toda variable tiene tipo y ste no puede cambiar en el curso del programa; s! el

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

14

programador la define como entera

solamente puede recibir nmeros enteros.

Los nombres de las variables elegidas para el algoritmo o programa deben ser significativas y tener relacin con el objeto que representa. TEMP = para representar valores de temperatura NOV_ESTUD = almacenara el nombre del estudiante Nombres vlidos de variables Peso X27A SALA_BASICO Apellido P23A PLACA TELEFONO

1.14.1 Variable Numrica: Su nombre puede ser una letra o agrupacin de letras o combinacin de letras y nmeros; debiendo empezar siempre por una letra sin caracteres especiales ni espacios en blanco. El valor almacenado en ella debe ser totalmente numrico; y puede ser de tipo real o entero.

NOMBRE VARIABLEA1 = Alberto = X12BASE =

VALOR ALMACENADO500 200 33.12455

TIPOEntero Entero Real

1.14.2 Alfabtica o alfanumrica: Su nombre puede constar de una letra o agrupacin de letras o combinacin de letras y nmeros empezando siempre con una letra, no puede tener caracteres especiales, ni espacios en blanco. El valor almacenado en sta puede ser numrico, alfabtico o alfa-numrico y siempre debe estar colocado entre comillas. Este tipo de valor almacenado se denomina constante, literal, cadena o ttulo.

NOMBRE VARIABLE X12 Nombre A Y

VALOR ALMACENADO " Pedro " " Juan " " 200 " " W112 "

TIPO Carcter Carcter Carcter Carcter

NOTA: Los nombres de las variables deben ser nemotcnicos, es decir, que con solo leer el nombre de la variable se puede entender o determinar lo que contiene; estos no deben comenzar por nmeros, ni contener espacios en blanco, ni caracteres especiales ( % $ & + / * etc.). 1.14.3 Boleana o lgicas: verdadero. son aquellas que slo almacenan datos cuyo valor es: falso o

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

15

1.15 CONSTANTES

Son todos aquellos valores que no cambian en el transcurso de antes de utilizarse.

un programa y son definidos

Ejemplo 4: Se desea saber el valor de un artculo al cual se le har un descuento del 7% VAL-DESCU = Valor-artculo * 0.07

variable

variable

constante almacenar en sta el valor de la

Cada vez que se invoque la variable VAL-DESCU se operacin indicada.

Nota: Los nombres deben tener las caractersticas de los nombres de las variables.

1.16 EXPRESIONES Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales; una expresin consta de operandos y operadores. Los parntesis indican el orden de clculo. Segn el tipo de dato que manipulan se clasifican en: Aritmticas Lgicas Carcter Ejemplo 5: A + (b-c) * 3d X + (2)^2

1.16.1 Expresiones aritmticas. Las expresiones aritmticas son anlogas a las formulas matemticas. Las variables y constantes son numricas (real enteras) y las operaciones son las aritmticas. Ejemplo 6: 5 * 18 = 90 resultado de la expresin operando operador operando

1.17 OPERADORES ARITMTICOS:

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

16

OPERADOR Exponenciacin Suma Menos Multiplicacin Divisin normal Divisin entera Modulo o resto

NOTACIN ^ , ** + * / (Slash) div mod

TIPO DE OPERANDO Entero o real Entero o real Entero o real Entero o real Real Entero Entero

TIPO DE RESULTADO Entero o real Entero o real Entero o real Entero o real Real Entero Entero

NOTA 1: Operadores mod y div. El smbolo / se utiliza para la divisin real y el operador div para la divisin entera. NOTA 2: La expresin 19 div A solo se puede utilizar si A es entera, ejemplo 3, esta nos da un resultado entero de 6. Ejemplo 7: 15 3 6 2 cociente (div) residuo (mod) 15 div 6

El mod nos muestra el resto por lo tanto si la divisin anterior la expresamos 15 mod 6 el resultado ser 3 El mod y el div siempre dan un resultado entero 1.17.1 Reglas de prioridad. Las expresiones que tienen 2 ms operando requieren unas reglas matemticas que permitan determinar el orden de las operaciones, lo que se denomina reglas de prioridad o precedencia. Las operaciones que se encuentren encerradas entre parntesis se evalan primero. Si existen diferentes parntesis anidados (interiores unos a otros) se realizan primero las expresiones ms internas. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de prioridad: Operador exponencial (^ **) Operadores *, / Operadores div y mod Operadores + , En caso de que se encuentren varios operadores de igual prioridad en una expresin o subexpresin encerrada entre parntesis, el orden de prioridad en dicho caso es de izquierda a derecha. Nota: Cuando se est diseando operaciones o expresiones matemticas se debe tener en cuenta las tablas de prioridad de los operadores. Los operadores div y mod si se est utilizando el lenguaje Pascal y Modula2 son de mayor rango que el + y ; en lenguaje Basic y Fortran son de menor prioridad del + y -; en el lenguaje C no existe el div y el mod (resto) se expresa con el operador % y tiene el mismo nivel del /, *.

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

17

OPERADOR ^ + * / Div Mod

SE UTILIZA PARA: Elevar un nmero a cualquier potencia Sumar Restar Multiplicar Dividir Cociente de la divisin Residuo de la divisin

EJEMPLO 5^3 = 125 4 + 3 + 8 = 15 8 3 = 5 7 * 3 * 2 = 42 5/3 = 1.6666 7 div 3 = 2 7 mod 3 = 1

1.18 EJERCICIOS Ejemplo 8 A=5 B=3 2*3+5 = 6 + 5 = 11

A * (B+3) = 3+3 * 5 = 30 8/2 * 3/6 = 4 * 3 /6 = 2 (A*B) + 3 = 15 + 3 = 18

2 + 12 ^ 2 * 3

= 2+ 144* 3 = 434

1.19 OPERADORES DE RELACION:

OPERADORMayor que Menor que Mayor o igual que Menor o igual que Igual Diferente

NOTACION> < >= =

OPERADOR > < = >= 65 falso 36< 78 verdadero 34 = 26 falso 34 >= 32 verdadero 17 A falso C = B > A La variable C toma el valor de falso.

1.20 PROCESO

Es el conjunto de operaciones o clculos que transforman los datos en informacin, siguiendo una serie de instrucciones, escogiendo alternativas, dando resultados parciales cuando se manejan archivos etc.. Datos Procesados que le sirven al usuario para el anlisis o tomar decisiones.

1.21 ETAPAS EN LA SOLUCION DE UN PROBLEMA

Cuando se tiene un problema para solucionar hay que entender claramente qu se pide hacer y cules son los datos que se tienen para buscar la solucin y cules son los resultados esperados.

1.21.1 Definicin del problema. Qu nos pide el usuario? De qu disponemos para resolverlo? Las respuestas a stas preguntas son la base para plantear una posible solucin y si esta amerita realmente resolverla por medio del computador. El primer paso ser realizar un algoritmo en seudo-lenguaje que describa los pasos lgicos del problema 1.21.2 Anlisis: Estudiado el problema es preciso analizarlo: Todos los pasos que a continuacin se enuncian tienen por objeto la solucin a un problema cualquiera mediante un buen anlisis de este. Cada paso es de igual importancia al otro para obtener un buen resultado.

Leer el enunciado del problema hasta que se tenga claro qu se pide hacer. Aclarar cualquier duda que se tenga de alguna pregunta o condicin. Determinar los datos de entrada con que se cuenta para la solucin del problema. durante el desarrollo del

Definir qu comparaciones y/o clculos se necesitan realizar problema y para obtener el resultado final. Determinar que resultados se necesitan tanto intermedios Tener en cuenta toda clase de restricciones y condiciones solucin.

como finales. que tenga el problema para su

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

19

1.21.3 Seleccin de la mejor alternativa. Analizado el problema, posiblemente tengamos varias formas de resolverlo; lo importante es determinar cul es la mejor alternativa, que produzca los resultados esperados en el menor tiempo y al menor costo. 1.21.4 Diagramacin o Seudo-cdigo. Una vez que sabemos cmo resolver el problema, pasamos a disear grficamente la lgica de la alternativa seleccionada. Lo que llamamos un diagrama de flujo donde representamos los pasos lgicos a cumplir por el computador en la solucin del problema y obtener los resultados esperados. Resulta muy til pasar esos pasos lgicos planteados en el diagrama a frases que indiquen lo mismo; es decir hacer una codificacin del problema utilizando instrucciones en espaol, como si le estuviramos hablando al computador. Esto es lo que llamamos un seudo-cdigo. 1.21.5 Diagrama: Es una representacin grfica para la definicin, anlisis " solucin de un problema en el cual los smbolos son usados para representar una operacin, flujo de datos y equipo. Existen fundamentalmente dos tcnicas de diagramacin: libre y estructurada. Dentro de la diagramacin estructurada se distinguen: la grfica rectangular y el seudo-cdigo. Todo algoritmo se puede representar en tres estructuras condicional, Repeticin. Secuencia. Indica una operacin incondicional. bsicas: Secuencia, Bifurcacin o

Titulo del algoritmo Inicio Instruccin 1 instruccin 2 Instruccin 3 : : Fin Diagrama de N-S (Nassi-Shmeiderman) Favorecen la programacin estructurada, se trabajan de arriba abajo siguiendo la tcnica de Top dawn Tcnica de seudo-cdigo es una imitacin de las instrucciones de un lenguaje de programacin en espaol. Titulo del algoritmo Inicio Instruccin 1 Instruccin 2 Instruccin 3 Fin Bifurcacin condicional. Indica que se debe cumplir una condicin, consta de una pregunta y dos alternativas falso o verdadero. Se da un condicional simple cuando slo se ejecutan acciones por la alternativa de verdadero o (SI)

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

20

Condicin SI Acciones si se Cumple la Condicin NO No hacer nada

Seudo-cdigo Condicional simple Si condicin entonces Acciones cumple la condicin Fin si Se da un condicional compuesto cuando se ejecutan acciones por verdadero y por la de falso. la alternativa de

Condicin SI Acciones SI se Cumple la Condicin NO Acciones no NO cumple la condicin

Seudo-cdigo Condicional compuesto Si condicin entonces Acciones SI cumple la condicin Sino Acciones NO se cumple la condicin Fin si

Repeticin o ciclo. Indica la iteracin o repeticin de una o varias dependiendo de una condicin verdadera. CICLO MIENTRAS

instrucciones

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

21

Mientras CondicinAcciones Repite tantas veces mientras no se cumpla la condicin

En seudo-cdigo seria : Haga mientras no se cumpla la condicin Acciones Fin ciclo 1.21.6 Prueba de escritorio. Para cerciorarse de que el diagrama y/o seudo-cdigo est bien y que el programa que codifiquemos en el lenguaje de programacin funcione correctamente debemos someterlo a una prueba de escritorio. Esta prueba consiste en que le damos diferentes datos de entrada al programa y le seguimos la secuencia indicada en el diagrama o seudo-cdigo , hasta obtener los resultados. Al analizar los resultados obtenidos se podr ver si el diagrama o seudo-cdigo est correcto o hay que realizar correcciones o ajustes. 1.21.7 Codificacin. Una vez hayamos verificado el diagrama mediante las pruebas de escritorio, codificamos el programa en el lenguaje de computador seleccionado. Esto es: cada paso del diagrama se convierte en una instruccin con la sintaxis propia del lenguaje seleccionado para que el computador la reconozca. 1.21.8 Compilacin. Utilizamos ahora el programa de computador llamado compilador o traductor, el cual analiza todo el programa codificado y detecta los errores de sintaxis ocasionados por los errores en la codificacin. Ningn compilador detecta los errores de lgica. 1.21-9 Prueba de computador. Una vez el programa termine de ser compilado y no existan errores de sintaxis, le ordenamos al computador que lo ejecute; para ello le suministramos algunos datos de prueba tal como se realizo en la prueba de escritorio. 1.21.10 Documentacin externa. Una vez est el programa listo para su ejecucin, es conveniente documentarlo, siguiendo las normas establecidas por la empresa. Una buena documentacin incluye siempre : Enunciado del problema. Diagrama o seudo-cdigo Descripcin de la solucin Relacin de variables o campos utilizados en el programa, cada uno con su respectiva funcin. Listado de la ltima compilacin Resultados de la prueba de ejecucin Si observas claramente estos pasos tienen una secuencia lgica para la solucin de un problema, no tiene ambigedades y entregan un resultado. Con ello podemos disear un seudo-cdigo que seria:

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

22

INICIO Definicin del problema Anlisis del problema Seleccin de la mejor alternativa Diagrama o seudo-cdigo Prueba de escritorio Codificacin en el lenguaje deseado. Compilacin Si hay errores vaya al paso 6 Pruebas Si hay errores vaya al paso 4 Documentacin externa FIN

1.22 ELEMENTOS BSICOS DE UN PROGRAMA Hay que separar lo que es el diseo del algoritmo y su implementacin en un lenguaje de programacin especifico. Por eso es importante la diferenciacin de los conceptos de programacin y el medio en que se implementan en un lenguaje especifico. Todos los lenguajes de programacin al igual que cualquier lenguaje tienen sus elementos bsicos y las reglas para utilizarlos. Estas reglas son la sintaxis propias de cada lenguaje. Solamente las instrucciones que estn correctamente escritas sern procesadas por el computador. Los elementos bsicos de un algoritmo o programa son: Palabras reservadas identificadores Caracteres especiales Constantes y variables Expresiones e instrucciones Adems existen otros elementos que forman parte de los programas cuya comprensin ser vital `para el correcto diseo de los algoritmos Bucles o ciclos Contadores y acumuladores Interruptores Estructuras: Secuenciales Selectivas Repetitivas. Todo programa est compuesto por una entrada de datos, un proceso de estos y una(s) respuesta(s) que constituye la salida.

1-23 ASIGNACIN DE INFORMACIN

Accin de sustitucin de la informacin contenida en una variable de memoria o un campo de un

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

23

archivo . Se puede simbolizar por los signos = y su funcin es asignar el valor que est a la derecha del smbolo igual la flecha a la variable que est a la izquierda de la misma.

Ejemplos: Variable Pago rea = nota_final = Variable total resultado promedio

VariableRetencin IVA Resultado Descuento =

Constante125000 16% = Aprob = 0.08

VariableSalario_neto = Promedio Nota-final = Valoreps =

Expresinsalario deducciones ( Nota1 + nota2 +nota3) /3 suma/5 salariobruto * 0.08

NOTA: Observe que siempre en la expresin el miembro de la izquierda es una variable. La operacin de asignar es destructiva ya que el valor que tuviere la variable antes de la asignacin se pierde, para tomar el nuevo valor. Ejemplo 10: A A N N 2 5 + 7 El valor de A ser 12 4 3 + N el valor de N ser 7

Asignacin aritmtica: las expresiones de asignacin son aritmticas.

Ejemplo 11:Suma 14 + 16 + 7 El valor que toma suma ser 37 Radio 1.5 Pi 3.1416 Areacirculo Radio * Pi / 2 El valor de la variable Areacirculo ser el resultado de la operacin indicada Asignacin lgica. La expresin que se evala es de tipo lgico.

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

24

Ejemplo 12P

M

8 y > z. No hay empates. En total, Antonio acumul 20 puntos, Berta 10 puntos y Carlos 9 puntos. Antonio qued el segundo en el examen de lgebra. Quin qued segundo en el examen de geometra?

1.26 TALLER LOGICA 2 MANEJO DE LOS OPERADORESResolver los siguientes ejercicios aplicando las reglas de prioridad de los operadores ( 5 * (75mod12) + 4 * 4 (4-1)+ 2 * (7*4)) 3 + 2 * (18 div4) + 7^2 16+3^3-15mod4*(6+14)/8 46 4^ 2 + 7*10div3+15/5-18/3 16+5^3 +(10mod 3 ) +15/(7-5) -18div7-5 *8

Esp. Eugenia Meja de Restrepo

E-mail eugeniamejia@une. net.co

LOGICA DE PROGRAMACION

28

24 - 5^2* 16mod3+14*(8/2+5) + 87

Qu valor toma X en las siguientes expresiones? Si A = 5 B = 25 C = 10

X= A+B*C X= ABC X =B/A*C X = A + B mod C X = A^3 / 25 * C X = A + A * B/C Evaluar las siguientes expresiones 3+ 6 * 14 12 + 3 * 7 + 5 * 4 7 * 8 mod 3 * 7 + 9 7 * ((10 5 ) mod 3) * 5 + 7 12 * 4/2 + (15-3) * 5 + 7 -16+3*6+14*8 4+7*10+15/5-18 18div 6 * 9 + 16 6 25 / 5 * 12 + 4^2 16 (7^2 + 12) * (48 (12 * 3)) * 2

A = 4 B = 3 ENTONCES : A B * 3 A + B > B^2 X = 3 ENTONCES ( X < 6.5) Y 3 = 3Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION29X>=8Decir cual es el valor final de A,B,C en las siguientes expresiones: 1) A 3 B 4 C A +B /2 B B+C C C *A A C-B 3) A B C B C A 3 4 A+B B + C +A C *A+3 C *5 - B 2) A B C A B A 7 A+2 A*B+5 B^2 + 8/3 17 (A 17) * C 84) A 7 B A+2 C A*B+18 A B^2 + 13/3 B 19 A (A 7) * (C 8)Cuales son los valores de P; Q; R despus de las siguientes operaciones 5) P Q R P Q R 3 6 P +Q /3 P+R+2 Q *P P-Q 6) P 7 Q P+2 R P*Q+7 P Q^2 + 8/3 Q 17 R (Q 7) * P 81. Deducir los resultados que se obtienen del siguiente algoritmo: Variables X, Y, Z: enteras Inicio X = 15 div 4 Y = 30 mod 7 Z = Y ** X Imprima (X, Y) Imprima (Z) Fin 2. Encontrar el valor de la variable VALOR despus de la ejecucin de las siguientes operaciones. VALOR 4.0 * 5 X 3.0 y 2.0 VALOR X + Y- Y VALOR 5 X 3 VALOR VALOR * XDeterminar los valores de A, B,C y D despus de la ejecucin de las siguientes instrucciones. Variables A, B, C, D: enteras INICIOEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION30A1:B 4 C:A+ B D:A-B A:C+2 *8 B:C+B C:A*B D:B +D A:D+C Si C = D Entonces C= A - D sino C= B - D Fin si FinEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION31UNIDAD 2 ENTRADA y SALIDA DE DATOS DE DATOSOBJETIVO: Conocer los diferentes tipos de datos y las entradas y salidas de los mismos. Los conceptos de las reas de almacenamiento de datos. Identificar la diferencia entre variables y constantes. Objetivos especficos:Saber el manejo de los diferentes tipos de datos en la entrada, proceso y salida de informacin. Hacer ejercicios donde identifica los diferencias entre variables y constantes Realizar ejercicios donde utiliza instrucciones de asignacin.CONTENIDO TEMTICO Definicin de dato y sus tipos. Definicin de variables y constantes. Entradas y salidas de informacin. Instrucciones de asignacin. El concepto de variable y constanteCompetencias acadmicas a desarrollarSaber el manejo de los diferentes tipos de datos en la entrada, proceso y salida de informacin. Hacer ejercicios donde identifica los diferencias entre variables y constantes Realizar ejercicios donde utiliza instrucciones de asignacin.Indicadores de logro: Conceptual: Conoce los diferentes tipos de datos, y elementos bsicos para realizar un algoritmo. Procedimental: Realiza solucin de problemas sencillos que le permiten entrar datos, procesarlos y dar respuestas. Actitudinal: Demuestra inters por conseguir una respuesta correcta.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION322. ENTRADA Y SALIDA DE DATOS DE DATOS2.1 LECTURA O ENTRADA DE DATOSLa entrada de datos generalmente se realiza por teclado, mediante instrucciones que permiten capturar datos. Para la entrada de informacin se usar la orden LEERFORMATO O SINTAXIS LEER mensaje variable1. LEER mensaje variable2. LEER mensaje variablen. LEER : mensaje variable1, mensaje variable2,.... mensaje variableN. Ejemplo de cada formato: LEER: Nombre NOMB LEER: Cdigo COD LEER: Salario bsico hora SBH LEER: Numero de horas trabajadas NHT LEER: Retencin en la fuente RTF LEER: Nombre NOMB ; Cdigo COD; Salario bsico hora SBH; Numero de horas trabajadas NHT; Retencin en la fuente RTFINSTRUCCIN Lea(A) Lea: A, B Lea (sueldo) Lea: Nombre, sueldoEFECTO La variable A recibe el valor entrado por teclado. Lee dos valores por teclado, el primero lo asigna a la variable A y el segundo a la variable B La variable sueldo recibe el valor introducido por teclado. Las variables Nombre y sueldo toman los valores introducidos por teclado.2.2 SALIDA DE INFORMACIONSe utilizar la palabra IMP (Imprima) para indicar la salida palabra MOSTRAR para la salida por pantalla.de informacin por impresora y laFORMATO O SINTAXIS:Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION33IMP mensaje ; variable IMP mensaje ; variable de trabajo IMP mensaje ; variable, mensaje ; variable de trabajo Mostrar mensaje ; variable Mostrar mensaje ; variable de trabajo Mostrar:: mensaje variable1, mensaje variable2, mensaje variable de trabajo , mensaje variable de trabajoN.INSTRUCCIN IMP(A) MOSTRAR: A, BEFECTO El contenido de la variable A es impreso. Los valores de las variables A y B son mostrados por pantalla IMP Sueldo La palabra sueldo es impresa. MOSTRAR: El Nombre es: Muestra : la frase El Nombre es: seguido del Nomb contenido de la variable Nomb.Ejemplo 14: Se lee un valor de temperatura en grados Fahrenheit, Centgrados.convertirla en gradosQu pide realizar el enunciado del problema? Convertir en grados centgrados una cantidad de grados Fahrenheit Qu datos tengo? El valor de la temperatura en grados Fahrenheit Qu clculos debo realizar? Para poder hacer los clculos debo conocer la formula de la conversin de temperaturas de grados Fahrenheit a grados centgrados. La formula es : C = 5/9 * ( GF 32) Conocidos los datos de entrada y la formula que se aplicar, estamos en condiciones de realizar el algoritmo. PROGRAMA GRADOS FAHRENHEIT ANALISIS DATOS DE ENTRADA Temp_gf = temperatura en grados Fahrenheit DATO DE SALIDA Temp_gc = temperatura en grados centgrados C = 5/9 * (Temp_gf 32) Inicio Asignar tipo a las variables ENT: Temp_gf ; Temp_gc Inicializar las variables de trabajo Temp_gc = 0 Leer los datos de entrada Leer Temperatura grados Fahrenheit Temp_gf Realizar los clculos Temp_gc 5/9 * (Temp_gf 32) Mostrar los resultadosEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION34IMP : La Temperatura en grados centgrados es Temp_gc Fin Prueba de escritorio Temp_gf Temp_gc 350 0 177 75 24clculos 5/9 * (350 32) 5/9 * (75 32)2.3 MODELO GENERAL DE UN DIAGRAMA ENTRADA Y SALIDA DE DATOS INICIO ( Nombre del programa) ( 1) ASIGNAR TIPO A VARIABLES Y CONSTANTES ( todas las variables y constantes que se definieron en la lista de variables) ( 2) INICIAR VARIABLES DE TRABAJO Y CONSTANTES (3)LEER DATOS DE ENTRADA PROCESAR DATOS LEIDOS Clculos necesarios para solucionar el problema Los clculos pueden ser una(s) funcin(es) o un(os) procedimiento(s)(5) MOSTRAR RESULTADOS OBTENIDOS FIN DEL INICIO2.4 ACTIVIDADES TRABAJO INDEPENDIENTEConsulte acerca de los siguientes trminos, interiorice su significado Variable Constante Variable de trabajo Dato Registro Archivo Diferencia qu es una entrada y una salida de datos?; Identifica los conceptos sobre; Variable de trabajo, un registro, un dato de entrada. Analiza que hace parte del proceso de datos? Los pasos lgicos para procesar los datos Elabore el taller de lgica 3, Entradas y salidas de datos, que hace parte de tu trabajo independiente. Consulta la pagina http//espanol.geocities.com/evmejia_362.5 TALLER UNIDAD 2 ENTRADA Y SALIDA DE DATOSEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION351. Escriba Un algoritmo que imprima el siguiente mensaje Buenos Dias. 2. Escriba un algoritmo que imprima el mensaje Mi nombre es : y a continuacin mi nombre. 3. Escriba un algoritmo que imprima la fecha del da. 4. Escriba un algoritmo que imprima el nmero 4135.801. 5. Escriba un algoritmo que muestre su nombre completo, direccin, fecha de nacimiento ynmero de telfono. Cada uno de estos datos precdalo de un titulo, ejemplo: Telfono : 4424444 Ext. 181.6. Desarrolle un algoritmo que lea un nmero negativo e imprima un numero y el positivo delmismo.7. Desarrolle un algoritmo que para leer de un mismo registro el nombre de un empleado, susalario bsico por hora y el numero de horas trabajadas en el mes. Calcular su salario mensual y obtener tanto el nombre como su salario mensual,8. Realizar un algoritmo que permita intercambiar entre si los valores de dos variables A y B. 9. Lea un nmero NRO e imprima el nmero y el resultado de restarle 2387. 10. Lea un nmero y calcular el 5% del nmero ledo. Imprima tanto el nmero como elporcentaje calculado.11. Lea el nombre de un empleado, su salario bsico por hora, el nmero de horas trabajadas enel perodo y el porcentaje de retencin en la fuente. Calcular el salario bruto, el valor de la retencin y su salario neto.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION36UNIDAD 3 PROGRAMACION MODULAROBJETIVO: Solucionar los problemas, aplicando la tcnica de dividir en subprogramas o mdulos, que le facilitan el trabajo y la identificacin de errores.CONTENIDO TEMTICODefinicin de programacin modular Funciones y procedimientos Funcin recursivaCompetencias acadmicas a desarrollar Aprender a dividir problemas en subproblemas Conocer la diferencia entre funcin y procedimiento, variables globales y locales.Indicadores de logro: Conceptual: Identificar la diferencia entre procedimiento y funcin. Procedimental: Soluciona los problemas planteados, por medio de algoritmos que utilicen subprogramas. Actitudinal: Muestra inters en aplicar la tcnica modular y habilidad para aplicar las diferentes estructuras.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION373. PROGRAMACION MODULAR3.1 PROGRAMACIN MODULARLa programacin modular es un mtodo flexible para mejorar la productividad de los programas. En esta los programas se dividen en mdulos independientes que ejecutan las diferentes tareas del programa. Hay un modulo principal que controla todo lo que sucede, y transfiere el control a los diferentes mdulos. Cada modulo es independiente de los otros en el sentido que ninguno puede acceder directamente a otro. La programacin modular permite resolver un problema mediante su descomposicin en varios problemas mas simples llamados mdulos, que se codifican y procesan independientemente. Un problema complejo se puede dividir en pequeos subproblemas ms sencillos. Estos subproblemas se conocen como Mdulos y su complementacin en un lenguaje se llama subprograma (procedimientos y funciones). Un subprograma realiza las mismas acciones que un programa, sin embargo, un subprograma lo utiliza solamente un programa para un propsito especifico. Un subprograma recibe datos de un programa y le devuelve resultados (el programa llama o invoca al subprograma, este ejecuta una tarea especifica y devuelve el control al programa que lo llamo). Funciones Tipos de Mdulos Procedimientos Un programa modular se compone de un programa principal y subprogramas. El programa principal debe contener operaciones fundamentales y las llamadas a los subprogramas. La mayora de los lenguajes de programacin permiten la lenguaje reciben diferentes nombres: programacin modular y segn elNOMBRE PROCEDIMIENTOS SUBRUTINAS SECCIONES MODULOS PAQUETESLENGUAJE DE PROGRAMACION PASCAL FORTRAN BASIC COBOL MODULA-2 ADAEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION383.2 SUBALGORITMOS O SUBPROGRAMASUn mtodo de solucionar un problema complejo como ya lo hemos dicho es subproblemas (mas sencillos) , y estos a su vez en otros mas simples.dividirlo enUn subprograma es programa independiente que resuelve una funcin definida por los mdulos. Estos pueden representar tareas que se ejecutan una sola vez o tareas repetitivas; utiliza datos provenientes del programa principal o de otro subprograma y produce resultados para el programa principal o el otro subalgoritmo que lo utiliza o invoca.Cuando el programa principal o un subprograma invoca o llama un subprograma este comienza ejecutarse hasta llegar a la ltima instruccin. Cuando se termina de ejecutar el subalgoritmo este debe regresar al punto del programa desde donde fue llamado.La comunicacin entre los mdulos se realiza por medio de datos que se desean pasar al mdulo llamado.parmetros que contendrn losLa utilizacin de los algoritmos consta de dos etapas: Declaracin: Proceso en el cual se escribe el subalgoritmo. Activacin: es proceso en el cual se utiliza un subalgoritmo dentro de un algoritmo.3.3 EJEMPLO GENERAL PARA UN ALGORITMO EN SUBPROGRAMASPrograma principal Inicio Prueba Llamar a subprograma 1 Llamar a subprograma2 fin. Subprograma 1 Inicio Retorna a prueba y realiza acciones Subprograma2 Inicio Retorna prueba y realiza accionesEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION393.4 FUNCIONES Es un subprograma que proporciona un valor o entrada. resultado segn sean sus parmetros deFuncin: Una funcin en matemticas, es una operacin que toma un o mas valores (argumentos) y devuelve un resultado (valor de la funcin para los argumentos dados). Por ejemplo: F(X) = X / (1+X2) Donde: F .. X .Nombre de la funcin Es el argumento (tambin conocido como parmetro formal)Definicin de funciones: Una definicin de funcin se presenta de la siguiente manera: Funcin nombre_funcion (p1, p2, , pn) Inicio Bloque de instrucciones Fin Donde: Funcin Es la palabra clave que nos indica una definicin de funcin. Nombre_funcion .. Es el identificador con el cual se reconoce a la funcin en el cuerpo del algoritmo principal. P1,p2,,pn ... Es el grupo de parmetros que define a la funcin.Llamado a una funcin: Cuando definimos una funcin solo indicamos al algoritmo que esta funcin existe, pero una definicin de funcin no implica la realizacin de las instrucciones que la constituyen. Para hacer uso de una funcin, el algoritmo principal la debe llamar. Por ejemplo: Funcin F(X) Inicio F = X /(1 + X^2) Fin Inicio Imprimir Este es el algoritmo principal Leer N R = F(N) llamado de la funcin Imprimir El resultado de la funcin es:,R FinResumen. Una funcin se f Nombre de la funcin p son los parmetros.representa: f (p1, p2......,pn) donde:Una funcin se invoca cuando se le hace referencia mediante su nombre y la lista de los parmetros actuales en cualquier instruccin donde se pueda usar una constante o variable.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION40Las funciones pueden ser internas o externas.3.4.1 Funciones internas: Conjunto de operaciones predefinidas por la mayora de los lenguajes de programacin. Ejemplo: Funcin Abs(x) Cos(x)generalmente incorporadasDescripcin Tipo de argumento Tipo de resultado valor absoluto de x entero o real igual argumento coseno de x (radianes) entero o real real3.4.2 Funciones externas: Son aquellas definidas por el usuario. Las funciones deben ser declaradas dentro del los programas con un subprograma o subalgoritmo que en general se define con una serie de instrucciones similares a un programa. FORMATO O SINTAXIS: Funcin nombre (lista de parmetros): resultado VARIABLES LOCALES A LA FUNCION IFUNCacciones> " nombre < expresin fin funcin.Ejemplo 15: Funcin Tangente de X (generalmente las funciones trigonomtricas son funciones internas) Real Funcin tan (real: X) x es el `parmetro de entrada funcin tan es igual a sen (x) / cos(x), ngulo x en radianes Inicio Devolver (sen(x) / cos(x)) Fin-funcin3.5 PROCEDIMIENTOS Un subprograma que necesita cero, uno definidos en su formato. o varios valores en funcin de los parmetrosUn procedimiento se llama con una instruccin llamar- a con el nombre del procedimiento. Al ejecutarse la llamada la rutina que la efecta se detiene momentneamente y el control pasa al procedimiento llamado. Despus de que se termina de ejecutar el procedimiento el control se devuelve a la rutina que lo llamo y continua con la instruccin siguiente a llamar. Los valores que devuelve el procedimiento se envan a travs de una lista de parmetros. Los parmetros de entrada reciben valores del programa llamador y los de salida devuelven valores al programa llamador. NOTA: Parmetros son los datos mediante los cuales un procedimiento se comunica con la unidad del programa que llama. Pueden ser de entrada comunican valores alEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION41procedimiento; de salida envan valores desde el procedimiento entrada / salida que sirve para ambos propsitos. Formato: Procedimiento nombre (lista de parmetros): resultado VARIABLES LOCALES AL PROCEDIMIENTO IPROC Instrucciones para realizar el procedimiento resultados FIN PROC.al programa que llama; de3.6 DIFERENCIAS ENTRE LOS PROCEDIMIENTOS Y LAS FUNCIONES.Un procedimiento es llamado desde el programa principal mediante su nombre y una lista de parmetros, o bien con la instruccin llamar a. Al ser llamado el procedimiento el programa principal se detiene momentneamente y el control pasa al procedimiento llamado, una vez se ejecuta el procedimiento, se regresa a la instruccin siguiente a la que llam al procedimiento. Las funciones devuelven un valor, los procedimientos pueden devolver 0, 1 varios valores y en forma de lista de parmetros. El procedimiento se declara igual que la funcin por un nombre pero este no est asociado al resultado y en la funcin si.3.7 VARIABLESLas variables que se utilizan en programas y subprogramas sedefinen como globales y locales.3.7.1 Variables globales: son las que se utilizan en todo el programa y tienen actuacin tanto en el programa principal como en los subprogramas. Su definicin se realiza en el programa principal. 3.7.2 Variables locales; son las que se utilizan en la definicin de un subprograma (incluyendo parmetros). Solo tiene actuacin o significado dentro del subprograma donde se definen y no son conocidas fuera de el. Su definicin debe ser dentro del subprograma. A las variables locales slo se accede desde el programa donde se declaran y a las globales se tiene acceso desde cualquier parte del programa ( sea programa principal, subprograma, etc.). Ejemplo 16; Realice una funcin para sumar 2 nmeros enteros FUNSUMAR (VALOR a,b : entero) : resulta entero VAR SUM: ENTERO INICIO FUNC SUM = a + b SUMAR = SUMEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION42RETORNE (SUMA) FIN-FUNC Ejemplo 17: Se tiene el nombre del artculo, nmero de artculos vendidos, el valor de cada artculo. Calcule el valor de la venta. Mostrar el nombre, el total de la venta. Realice una funcin ANALISIS DATOS DE ENTRADA NOMART= nombre del artculo NOARTV = nmero de artculos vendidos VRART = valor de cada articulo DATOS DE SALIDA V_VRVTA = valor de la venta V_VRVTA = NOARTV *VRART INICIO P_PPAL CARAC = NOMART ENT = NOARTV REAL = VRART, V_VRVTA LEER : Nombre del artculo NOMART, nmero de artculos vendidos NOARTV valor de cada articulo VRART MOSTRAR : Nombre del artculo NOMART Total de la venta REAL V_VRVTA (ENT:NOARTV ,REALVRART) FIN P_PPAL FUNC REAL: V_VRVTA(ENT:NOARTV ,REALVRART) V_VRVTA = NOARTV *VRART RETORNE (V_VRVTA) FIN FUNC. PRUEBA DE ESCRITORIO NOARTV 15 40 VRART 20 25 V_VRVTA 0 300 0 1000 Calculos 15 * 20 40 * 253.8 RECURSIVIDADTrmino recursividad es un concepto amplio, difcil de precisar. Ejemplo una fotografa de otra fotografa, en un noticiero de TV un periodista transfiere el control a otro que est en otra ciudad y este a su vez puede transferirlo a otro. En programacin podemos decir que es un programa que se llama a si mismo y puede ser directa e indirecta. Directa: cuando un programa se llama a si mismo Indirecta: cuando el programa llama a otro programa y este a su vez llama al primero.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION43En general, cuando se escriben algoritmos usando recursividad, lo usual es que sea muy obvia cul es la modificacin que hay que hacerles a los argumentos que recibe el procedimiento antes de hacer el llamado recursivo. De esta forma se evita que haya ciclos recursivos infinitos. En resumen, la recursividad se basa en el hecho de que cuando un procedimiento es invocado, obtiene una copia nueva de todas sus variables locales, que generalmente estn en la pila de ejecucin del programa; ah es donde queda tambin registrado el lugar de retorno para la rutina. Cuando el procedimiento recursivo trabaja sobre sus variables, est usando las que estn en el nuevo registro de activacin, por lo que, cuando termina su trabajo, regresa al punto de invocacin que le corresponde. En realidad la recursividad existe porque el llamado entre procedimientos se implementa usando registros de activacin organizados en una pila de ejecucin para el programa.Ejemplo 18: Realice una funcin que calcule el termino n de la serie Fibonaci. NOTA : La serie Fibonaci es 0 1 1 2 3 5 8 13............n Funcin Fibonaci (entero::n) { Funcin general}l Ent. I, Ultimo, Penltimo, Suma Inicio Func Suma 1 Penltimo 1 Ultimo 1 Para I = 2, n haga Penltimo Ultimo Ultimo Suma Suma Penltimo + Ultimo Fin para Devolver : Suma Finfunc. Ejemplo 19: Ahora realizamos un algoritmo recursivo. Por definicin : Fib(0) = 0 Fib(1) = 1 Fib(2) = Fib(1) + Fib(0) 1+0=1 Fib(3) = Fib(2) + Fib(1) 1+1=2 Fib(4) = Fib(3) + Fib(2) 2+1=3 Fib(5) = Fib(4) + Fib(3) 3+2=5 La funcin recursiva dado que Fib(n) = Fib (n-1) + Fib(n-2) seria: Funcin fib entero Inicio Si n = 0 o n = 1 entonces Devolver 1 Sino Devolver Fib (n-1) + Fib(n-2) Finsi Fin funcin .Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION443.9 ACTIVIDADES TRABAJO INDEPENDIENTEFrmese una opinin acerca de qu programacin modular?; Haga la diferencia entre los conceptos: funcin, procedimiento, parmetros. Elabore el taller de unidad 3, funciones y procedimientos, que hace parte de tu trabajo independiente y los ejercicios del taller de la unidad 2, realcelo en programacin modular Consulta la pagina http//espanol.geocities.com/evmejia_363.10 TALLER UNIDAD 3 FUNCIONES y PROCEDIMIENTOS1. Realice un procedimiento que permita intercambiar el valor de dos variables 2. Realizar una funcin que permita obtener el trmino n de la serie de Fibonacci. 3. Realizar una funcin que permita obtener el valor absoluto de un nmero 4. Realice un procedimiento que permita convertir coordenadas polares (ngulo, radio) encartesianas( (x,y). X = radio * cos(ngulo) Y = radio * Sen(ngulo)5. Realice un procedimiento que permita obtener la divisin entera y el resto de la mismautilizando nicamente operadores de suma y resta.6. Realizar una funcin que permita obtener el mayor valor de tres parmetros de entrada A, B, yC; los tres valores son diferentes.7. Realice un procedimiento que permita verificar si una fecha es vlida o no. 8. Realice un procedimiento que permita calcular el valor de Pi. 9. Realizar una funcin que permita obtener mximo comn divisor de dos nmeros mediante elalgoritmo de Eucldes.10. Realice un procedimiento que permita verificar si un nmero ledo es primo o no.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION45UNIDAD 4 INSTRUCCIONES DE DECISINOBJETIVO: Reconocer, diferenciar y manejar apropiadamente los tipos de datos, los operadores lgicos y matemticos, los conceptos de variables y constantes; las instrucciones de entrada y salida de datos y manejo de seleccin doble, anidada y mltiple. Aplicar las diferentes estructuras de decisin de acuerdo a los requerimientos del problema Objetivos especficos: Aprender el manejo de las instrucciones de decisin Adquirir destreza en el anlisis del problema planteado y utilizando mltiples decisiones. Hacer algoritmos con el manejo de los datos realizando las operaciones con una secuencia lgica. CONTENIDO TEMTICO Alternativas: Simples Dobles En bloque Anidadas Mltiples Competencias acadmicas a desarrollar Aprender el manejo de las instrucciones de decisin Adquirir destreza en el anlisis del problema planteado y utilizando mltiples decisiones. Hacer algoritmos con el manejo de los datos realizando las operaciones con una secuencia lgica.Indicadores de logro: Conceptual: Identifica las instrucciones de entrada y salida de informacin, el proceso de los datos. Procedimental: Implementacin eficaz de soluciones utilizando las estructuras ms adecuadas de acuerdo al caso. Escogiendo la alternativa que la solucin del problema requiera. Actitudinal: Reconoce cual es la estructura mas adecuada.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION464. ENUNCIADOS DE DECISIN O ALTERNATIVOS4.1 CONDICIONAL En el desarrollo de un algoritmo la mayora de las veces se ver abocado a tomar una decisin o realizar comparaciones o agrupacin, para que ste sea general y flexible se deben tener en cuenta las alternativas que se puedan presentar en un momento dado. Se utilizarn para hacer preguntas, comparaciones y tomar decisiones. Por medio de preguntas de exclusin, excepcin, y comparacin se puede tomar una decisin o conocer alguna situacin.FORMATO O SINTAXISDecisin Compuesta SI Condicin o condiciones unidas por operadores lgicos ENTONCES Bloque de instrucciones que deben ejecutarse cuando si se cumple la condicin. SINO (De lo contrario o de otro modo) Bloque de instrucciones que deben ejecutarse cuando no se cumple la condicin. FINSI (Fin de las preguntas).Decisin con operadores lgicos SI Condicin o condiciones (unidas por operadores lgicos) ENTONCESBloque de instrucciones cuando se cumple la(s) condicin(es) FINSI (Fin de las preguntas).Ejemplo 20: Elaborar programa en seudo cdigo (EPES) que lea o entre cdigo, nombre, salario bsico horas, nmero de horas trabajadas, retencin y aos en la empresa de un empleado. S, el empleado lleva ms de 10 aos en la empresa adicionarle salario neto. una bonificacin de $100.000 alSi el empleado lleva ms de 5 aos en la empresa y menos de 10 aos y su salario neto es menor de $60.000 entonces imprimir Tendr aumento de sueldo. S el empleado lleva menos de un ao en la empresa imprimir Bienvenido. Adems imprimir cdigo, nombre y Salario Neto del empleado. ANALISIS DATOS ENTRADAEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION47CODEMP : Cdigo del empleado NOMEMP : Nombre del empleado SALBH : Salario Bsico Hora NHT : Nmero de Horas Trabajadas RET : Retencin AEMP: Aos en la empresa DATOS DE SALIDA ? SALBR : Salario Bruto SALN : Salario Neto.PROGRAMA SALARIOS INICIO PROG.PPAL. PASO 1 ASIGNACION DE TIPO A LAS VARIABLES CARAC: CODEMP ; NOM EMP REAL: SALBH ; RET; SALBR ; SALN ENT :AEMP ; NHT Se agruparon varias variables en una sola lnea separadas por punto y coma. Tambin se colocan las variables y constantes con su tipo en cada lnea. PASO 2 INICIALIZACION DE LAS VARIABLES DE TRABAJO SALBR ; SALN 0 PASO 3 ENTRADA DE DATOS Mostrar entre cdigo Lea CODEMP Mostrar entre Nombre Lea NOMEMP Mostrar entre Salario Bsico Hora Lea SALBH Mostrar entre Horas Trabajadas Lea NHT mostrar entre Retencin Lea RET mostrar Entre aos en la Empresa Lea AEMP Los ttulos Mostrar entre Cdigo, etc. se utilizan para que informacin acerca del dato que debe digitar. el usuario tengaPASO 4 CALCULOS Y COMPARACIONES CON IMPRESIONES INTERMEDIAS CALCULOS (REAL:SBR:SBH:SN; ENT: NHT:AEMP) PASO 5 SALIDA DE INFORMACIN MOSTRAR Cdigo=;COD,Nombre: NOM,Salario Neto= SN La salida de informacin se hizo en una sola lnea combinando separadas por comas y punto y coma. FIN PROG.PPAL INPROC CALCULOS (REAL:SBR:SBH:SN; ENT: NHT:AEMP) ttulos y variablesEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION48SBR = SBH * NHT (Calcula el salario bruto) SN = SBR RT (conocido el salario bruto puede calcular el salario neto) SI AEMP > 10 ENTONCES SN = SN + 100.000 ( le suma la bonificacin a los empleados con mas de 10 aos) FINSI SI (AEMP > 5) ^ ( AEMP < 10 ) ^ (SN < 60000) ENTONCES MOSTRAR Tendr aumento de sueldo FINSI SI AEMP < 1 ENTONCES MOSTRAR Bienvenido FINSI RETORNE FIN PROC.. Ntese que no se utiliza la sentencia SINO (de lo contrario o de otro modo) porque ninguna de las condiciones expuestas especificaba que hacer en caso de que no se cumpliera la condicin. PRUEBA DE ESCRITORIO CODEMP 1234 NOMEMP Luis SALBH 7000 NHT 40 AEMP RET 6 28.400 SALBR 280.000 SALN 257.6004.2 ESTRUCTURA SEGUN/ CASOCon frecuencia, es necesario que existan mas de dos elecciones posibles. Este problema como s vera mas adelante, se podra resolver por estructuras alternativas, anidadas o en cascada; Sin embargo, este mtodo si l nmero de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente la legibilidad. La estructura caso es una alternativa mltiple.La estructura de decisin mltiple evaluar una expresin que podra tomar n valores distintos, 1, 2, 3,..., n. Segn que elija uno de los de estos valores en la condicin, se realizara una de las n acciones, o lo que es igual, el flujo del algoritmo seguir un determinado camino entre los n posibles.FORMATO O SINTAXIS Segn opcin hacer V1 : accin 1 V2 : accin 2 V3 : accin 3 : Vn : accin n Sino Accin no se cumple Fin segn. En caso de V1 : accin 1 V2 : accin 2 V3 : accin 3 : Vn : accin n Sino Accin no se cumple Fin casoEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION49FORMATO O SINTAXIS Caso_de expresin hacer e1 : {conjunto de instrucciones} e2 : {conjunto de instrucciones} otro_caso: {conjunto de instrucciones} fin_casoEjemplo 21 : Se desea disear un algoritmo que escriba los nombres de los das de la semana en funcin del valor de una variable DIA introducida por teclado, que representa su posicin dentro de la semana. Los das de la semana son 7; por consiguiente el rango de valores de DIA ser 1... 7, y caso de que da tome un valor fuera de este rango se deber producir un mensaje de error advirtiendo la situacin anmala. Programa nombre_dia INICIO lea DIA . . . . . . . . . . . fin Caso_de DIA hacer 1: 2: 3: 4: 5: 6: 7: escriba LUNES escriba MARTES escriba MIRCOLES escriba JUEVES escriba VIERNES escriba SABADO escriba DOMINGO escriba "ERRORotro_caso: fin_caso4.3 CONDICIONALES ANIDADOSLas estructuras de condicin no solo implican la seleccin de una de las dos alternativas. Es posible tambin utilizar la instruccin si para que contengan mas de dos alternativas. UnaEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION50estructura si - entonces puede contener otra si entonces y esta a su vez puede contener otra, dndose lo que llaman condicionales anidados.Caso 1. Se tienen tres posibles valores para una variable. SI Condicin1 (Entonces) Bloque de instrucciones que deben ejecutarse cuando cumple la condicin1. SINO (De lo contrario o de otro modo) SI Condicin2 (Entonces) Bloque de instrucciones si la condicin2 SINO (De lo contrario o de otro modo) Bloque de instrucciones que deben ejecutarse cuando no se cumplen la condicin1 y la condicin 2 FINSI (fin condicin 2) FINSI (Fin de la condicin 1).Ejemplo 22: Se tiene el nombre de un vendedor, el valor de la venta y el cdigo del producto. La comisin de este vendedor se le liquida de acuerdo al cdigo del producto que vende: si el cdigo del producto es 1 la comisin es del 5% sobre el valor de sus ventas; si el cdigo del producto es 2 la comisin es del 7.5% sobre el valor de sus ventas; si el cdigo del producto es 3 la comisin es del 6% sobre el valor de sus ventas. Imprima el nombre del vendedor y su comisin. SOLUCION ANALISIS DATOS DE ENTRADA Nom_vend = nombre del vendedor Cod_prod = Cdigo del producto que vende el vendedor Val-vta = valor de la venta del vendedor DATOS DE SALIDA Com_ven = Comisin que recibe el vendedorCom_vend = Val-vta * % ( formula para calcular la comisin . el % toma el valor de acuerdo al codigo del producto)( PROGRAMA COMISIONES) INICIO PROG. PPAL. Asignar tipo de valores que tendrn las variables CARAC: Nom_vend; Cod_prod REAL: Val-vta ; Com_ven Inicializar variables en que se almacenan los clculos Com_ven = 0 Lectura de los datos de entrada LEER; Nombre del vendedor Nom_vend;Codigo del producto; cod_prod;Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION51Valor de la venta Val-vta MOSTRAR Nombre del vendedor Nom_vend MOSTRAR: La comisin del vendedor Com_ven (REAL:Val-vta, CARAC:cod_prod) Se invoca una funcin que realiza los clculos para hallar la comisin de acuerdo al l cdigo del producto FIN PROG- PPAL. INFUNC REAL Com_ven (REAL: Val-vta; CARAC:cod_prod) SI Cod_prod = 1 (Entonces) Com_vend = Val-vta * 0.05 SINO (De lo contrario o de otro modo) SI Cod_prod = 2 (Entonces) Com_vend = Val-vta * 0.075 SINO (De lo contrario o de otro modo) Com_vend = Val-vta * 0.06 FINSI FINSI RETORNE Com_vend FIN FUNC.PRUEBA DE ESCRITORIO Nom_vend Juan Vlez Ana Medina Cod_prod 2 3 Val-vta 10000.000 8000.000 Com_ven 750.000 480.000Caso 2. Se tienen VARIAS CONDICIONES para unas variables. SI Condicin1 (Entonces) Bloque de instrucciones que deben ejecutarse cuando si cumple condicin1. SINO (De lo contrario o de otro modo) SI Condicin2 (Entonces) Bloque de instrucciones si cumple la condicin2 y niega la condicin 1 SINO (De lo contrario o de otro modo) SI Condicin 3 (Entonces) Bloque de instrucciones si cumple la condicin3 y niega las condiciones 1 y 2 SINO (De lo contrario o de otro modo) Bloque de instrucciones que deben ejecutarse cuando no se cumplen las Condiciones 1, 2 y 3 FINSI (fin condicin 3)Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION52FINSI (fin condicin 2) FINSI (DE LA CONDICIN 1). NOTA: Observe que el ltimo condicional que se abre es el primero que se cierra. Ejemplo 23 Se tiene el nombre, la nota parcial 1 y parcial 2, el seguimiento y el examen final, calcular la nota definitiva ( seguimiento 40%) , mostrarla con su nombre y decir si gan, perdi o habilita definitiva. ANALISIS DATOS DE ENTRADA NOMEST = nombre del estudiante CODEST = cdigo de estudiante NPAR1 = Nota del parcial 1 NPAR2 = Nota del parcial 2 NSGTO = Nota del Seguimiento NEXFIN = Nota del examen final DATO DE SALIDA NDEF = nota definitiva.( de acuerdo al enunciado la formula es: NDEF = NPAR1*0.20+ NPAR2* 0.20+ NSGTO * 0.40+ NEXFIN* 0.20) PROGRAMA NOTAS INICIO PROG- PPAL. ASIGNAR TIPO A LOS IDENTIFICADORES CARAC: CODEST, NOMEST REAL_ NDEF, NPAR1, NPAR2, NSGTO, NEXFIN INICIAR VARIABLE DE TRABAJO NDEF = 0 LEER: Cdigo del estudiante CODEST, Nombre del estudiante NOMEST, Nota del parcial 1 NPAR1, Nota del parcial 2 NPAR2, Nota del seguimiento NSGTO, Nota del examen final NEXFIN CALCULARNOTA( REAL: NDEF: NPAR1: NPAR2:: NSGTO:NEXFIN) MOSTRAR NOMBRE ESTUDIANTE NOMEST CODIGO ESTUDIANTE CODEST SU NOTA DEFINITIVA NDEF FIN PROG.PPAL. IN PROC. CALCULARNOTA( REAL: NDEF: NPAR1: NPAR2:: NSGTO:NEXFIN) NDEF = NPAR1*.20+ NPAR2*. 20+ NSGTO * .40+ NEXFIN* .20 SI NDEF >= 3.0 ENTONCES MOSTRAR GANO SINO SI NDEF >= 2.0 ENTONCES MOSTRAR: HABILITA SINO MOSTRAR PERDIOEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION53FINSI FINSI RETORNE (NDEF) FINPROC. PRUEBA DE ESCRITORIO NOMEST Juan Diaz CODEST 2345 NPAR1 3.0 NPAR2 2.5 NSGTO 3.0 NEXFIN 2,0 NDEF 0 2.7HABILITAJuan Daz 356723452.7 4.0 3.0 5.0 3.6 0 4.1Luisa JaramilloGANO Luisa Jaramillo35674.14.4 MODELO GENERAL DE UN DIAGRAMA USANDO CONDICIONALESINICIO ( Nombre del programa) ( 1) ASIGNAR TIPO A VARIABLES Y CONSTANTES ( todas las variables y constantes que se definieron en la lista de variables) ( 2) INICIAR VARIABLES DE TRABAJO Y (3)LEER DATOS DE ENTRADA (4) PROCESAR DATOS LEIDOS Clculos necesarios para solucionar el problema Los clculos pueden ser una(s) funcin(es) o un(os) procedimiento(s)(ver nota) Evaluar condiciones Realizar los clculos necesarios para solucionar el problema (5) MOSTRAR RESULTADOS OBTENIDOS FIN DEL INICIO CONSTANTESNota: El orden de los clculos y el proceso se realizan segn sea el enunciado. Los clculos pueden ser antes, dentro o despus del condicional.4.5 ACTIVIDADES TRABAJO INDEPENDIENTEIdentifique claramente los conceptos de; qu es un condicional?; Que es una instruccin de control. ? Frmese una opinin acerca de; qu es un condicional anidado? Cul es la verntaja de utilizar una estructura caso cuando una variable puede tomar varios valores ? Practique los condicionales anidados y condicionales mltiplesEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION54Elabora el taller de la unidad 4, condicionales simples, compuestos y mltiples: prctica el anidamiento de los condicionales compuestos- Todo esto hace parte de tu trabajo independiente. Consulta la pagina http//espanol.geocities.com/evmejia_364.6TALLER UNIDAD 4 CONDICIONALESPracticar alternativas compuestas y condicionales anidados. Realice los algoritmos utilizando funciones y procedimientos1. Leer 2 nmeros para realizar una divisin. Si el segundo nmero es Cero (0) imprima"divisin no posible"2. Leer un nmero e imprimir su raz cuadrada. Si el nmero esun mensaje "Raz imaginaria"menor que Cero(0) imprimir3. De 3 nmeros cualquiera. Imprimirlos en orden ascendente de menor a mayor.4) Leer 4 nmeros e imprimir el mayor de ellos.4. Leer x, y, z compararlos y si al menos dos son iguales imprima un mensaje que diga: 'Hacenpareja".5. Leer a, b, c imprimir el que sea mltiplo de 7 de lo contrariodivisible por 7".Imprima un mensaje "No es6. Leer un nmero si este es > 0 sumarle 10 y poner el resultado en una variable SUM, delo contrario si el nmero es < 0 multiplquelo por su positivo.7. Imprima el nombre y la edad de una persona, si esta es mayor de edad, mujer y casada. Sies hombre y soltero imprima slo su nombre, si no cumple alguno de los requisitos, imprimir un mensaje "No cumple con lo pedido ".8. Se desea seleccionar un atleta para una maratn internacional, para seleccionarlo estedebe haber terminado el maratn anterior, en un tiempo determinado. Los tiempos son 150 minutos para hombres menores de 40 aos; 175 minutos para hombres con una edad mayor o igual a 40 aos y 180 minutos para mujeres. Los datos a introducir (leer) son: Sexo, Edad y tiempo efectuado en su maratn anterior.9. Leer un nmero si es par imprimir su cubo, si es impar imprimir su cuarta. 10. Deducir si un nmero ledo desde el teclado es positivo, negativo o igual a Cero (0). 11. Realice un seudo cdigo para saber si un ao ledo es bisiesto o no. Es bisiesto si el ao/4 yel residuo es = 0 y adems que sea mltiplo de 100 y de 400 mayor de 1000.12. Comparar 3 nmeros entre s y determinar cual es menor.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION5513. Imprimir el mayor entre tres nmeros. 14. Leer tres nmeros imprimirlos en orden descendente. 15. Leer dos Nmeros e imprimirlos solo si son los dos positivos. 16. Se tiene la siguiente informacin:1 Suma 2 Resta 3 Producto 4 Divisin 5 Exponenciacin Escoger una opcin y realizar la operacin indicada con 2 nmeros que sern ledos luego de escoger la opcin.17. Hacer un programa el cual indique si un nmero es negativo y convertirlo a positivo; si espositivo a negativo.18. Hacer un programa que imprima el nmero medio de tres nmeros.es aquel que no es ni el menor ni el mayor.El nmero medio19. Leer A, B, C Imprimir un mensaje diciendo si forman Tringulo, Escaleno, Equiltero oIssceles. N ota : A, B, C son los lados del tringulo Un tringulo es equiltero, si todos sus lados son iguales. Issceles, si al menos dos de sus lados son iguales. Escaleno, cuando todos sus lados sean desiguales.20. Una agencia de alquiler de autos cobra la hora de uso del vehculo a un valor determinadode acuerdo a la temporada, si el cliente usa el carro por ms de 10 horas le hacen un descuento del 20% por cada hora de ms. Haga un programa que lea horas de uso, valor hora, y determine el total a pagar.21. Una empresa requiere de un celador que cumpla los siguientes requisitos: Hombre casado,mayor de 30 aos y menor de 45.22. Se tienen los datos de una persona (Nombre, Edad, Sexo, Estado Civil). Imprimir un mensajede "Aceptado" siempre y cuando cumpla con los requisitos. Sexo = M Masculino Estado Civil =1 Casado(a)23. Leer de un registro el nombre, el valor de la hora y el nmero de horas trabajadas en lasemana. Calcule el salario semanal teniendo en cuenta que si trabaja mas de 48 Horas le debe pagar un 35% de recargo en la hora.24. Segn las teoras de Sigmound Freud, el hombre se desarrolla en las siguientes etapas deacuerdo a su edad nio 13-17 adolescente 18-25 joven 26-55 adulto y mayor de 55 anciano.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION56Si tenemos la lectura de una edad de persona imprimir en cual etapa se encuentra esta persona.25. Una tienda de libros vende sus libros de acuerdo a las siguientes especificaciones:Valor del IVA 16% Precio base 1.000 Si nmero de pginas es mayor de 201 el precio del libro se incrementa en 10%. Se leen los siguientes datos: nombre del libro, nmero de pginas.26. Una tienda de libros vende sus libros de acuerdo a las siguientes especificaciones: Preciobase de $ 5000, si el si el nmero de hojas es mas 100 y menos de 200 $7 por cada hoja, entre 200 y 300 hojas $8 de recargo; $9 de recargo por cada hoja si el nmero de hojas es mayor de 300. Realizar un algoritmo que calcule el precio del libro y lo imprima con su nombre. Se lee el nombre del libro y el nmero de pginas.27. Escribir un programa que pregunte si Ud fuma. Si fuma siguiente:1 Malboro 2 Royal 3 Derby 4 Pielroja 5 Kool Permita adems de escoger la opcin imprimir la marca demuestre locigarrillos que fuma.28. Leer un nmero de mes y decir cuntos das tiene este. Si es mes dos verificar si el ao esbisiesto y decir que este mes tiene 29 das , de lo contrario tiene 28. Nota: Meses 4, 6, 9, 11 tienen 30 das. Meses 1, 3, 5, 7, 8, 10, 12 tienen 31 das. Mes 2 tiene 28 o 29 das.29. Un cliente que tiene en inversin en el banco. El decidir reinvertir con los intereses siempre ycuando estos excedan a $100.000 sino solo dejara el capital . Desea saber cuanto dinero tendr finalmente en su cuenta. Se lee el valor invertido y la tasa de inters.30. Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera:Si trabaja 40 horas o menos se le paga $ 5000 por hora Si trabaja mas de 40 horas se le paga $ 5000 por cada una de las primeras 40 horas y $6000 por cada hora extra.31. Se tienen el rea y el valor del metro cuadrado de una propiedad y la forma de pago de lacuota inicial.. Se pide calcular el precio de venta, el valor de la cuota inicial que es el 45% del valor del terreno.. Si la forma de pago es = 1 el recibe un descuento del 10% sobre la cuota inicial y si forma de pago es = 2 se le recarga un 8% sobre su valor. Mostrar el valor de la propiedad y el valor a pagar de la cuota inicial. (solo hay 2 formas de pago) NOTA : Recuerde que la prueba de escritorio es una herramienta muy til para saber si el algoritmo que diseo si funciona o no funciona.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION57UNIDAD 5 ENUNCIADOS DE REPETICION (ciclos)OBJETIVO: Aplicar y manejar eficazmente las estructuras tipo ciclo para la formulacin de instrucciones repetitivas en el manejo de varios registros ubicando adecuadamente los elementos que van incluidos dentro de la estructura. Recurrir al manejo de los ciclos aplicando las diferentes modalidades de acuerdo al tipo de registro. Objetivos especficos: Utilizar contadores y acumuladores en la solucin de un problema con varios registros. Reconocer los diferentes ciclos y saber aplicarlos de acuerdo a la situacin. Utilizar datos centinelas en el manejo de los ciclos. Desarrollar algoritmos con suiches y variables de rompimiento. Asimilar el concepto de los ciclos anidados, variables de grupo y variables generalesCONTENIDO TEMTICODefinicin de contadores y acumuladores Definicin de suiches o banderas Definicin de registro centinela Definicin de registro identificador Instrucciones repetitivas: Ciclo Mientras Ciclo Haga Para o Desde Ciclo Repita Hasta Ciclos anidados Rompimiento de controlCompetencias acadmicas a desarrollar Utilizar contadores y acumuladores en la solucin de un problema con varios registros. Reconocer los diferentes ciclos y saber aplicarlos de acuerdo a la situacin. Utilizar datos centinelas en el manejo de los ciclos. Desarrollar algoritmos con suiches y variables de rompimiento. Asimilar el concepto de los ciclos anidados, variables de grupo y variables generales Indicadores de logro: Conceptual: Diferencia los conceptos de: acumulador y contador; registro centinela y registro identificador. Procedimental: Soluciona problemas, con mas de un registro, aplicando las estructuras de ciclos y las seales de fin de archivo Implementa soluciones para datos organizados, por grupos. Actitudinal: Demuestra inters en resolucin de problemas simples mediante algoritmos basados en estructuras de control alternativas e iterativas.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION585. ENUNCIADOS DE REPETICION 5.1 CONTADORrea de trabajo cuyo incremento o decremento es definido. El trmino contador est asociado con la accin de contar. Ejemplo: la registradora de un bus cuenta el nmero de pasajeros que suben a ste durante un determinado tiempo o recorrido.5.2 ACUMULADORrea de trabajo donde se almacena un valor que puede ser variable. El trmino acumulador iene de acumular (sumar cantidades). Por ejemplo: la caja registradora de un almacn suma cantidades diferentes de pagos, al final de la jornada muestra un acumulado o suma de los valores registrados.5.3 PROMEDIOResultado de la divisin de la suma de unas variables (acumulador) dividida por el nmero de variables sumadas (contador). ( PROMEDIO = ACUMULADOR/CONTADOR). Cuando el ejercicio pide un promedio se debe inicializar un Acumulador y un Contador. Generalmente la operacin del promedio se realiza por fuera del ciclo.5.4 REGISTRO CENTINELAEs el ltimo registro que contiene una seal de fin de archivo, no se procesa. Cuando se utiliza el registro centinela se debe leer antes del ciclo el primer registro; una vez se procese ste se realiza la lectura del siguiente (antes del fin del ciclo). No hay que utilizar contador para controlar el final del ciclo.5.5 REGISTRO IDENTIFICADORIndica el nmero de iteraciones que deben realizarse en un ciclo. Se lee antes del ciclo, necesita de un contador para controlar cuando se terminan de procesar todos los registros indicados en el registro identificador.5.6 CICLOSLos computadores estn diseados para que las operaciones o el conjunto de ellas se puedan repetir muchas veces.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION59Para poder implementar acciones que deben ejecutarse repetidamente se utilizan los ciclos o bucles y se llama iteracin el hecho de repetir la ejecucin de unas determinadas acciones. Estos se utilizan en un programa cuando se necesita repetir varias veces una serie de acciones o instrucciones.Las dos principales preguntas que se deben hacer al disear un bucle son: Que contiene el bucle? Cuntas veces hay que repetir.Generalmente por medio de contadores se controla el nmero de Las tres estructuras repetitivas o iterativas son: Haga mientras Repetir hasta Desde o Pararepeticiones.La decisin de detener un proceso repetitivo tiene que estar al principio o al final del ciclo, como sucede en el ciclo mientras y el repita hasta; en el ciclo desde o para se realizan un nmero fijo de veces.5.7 CICLO HACER MIENTRASSe utiliza para ejecutar repetitivamente un conjunto o bloque cumple una condicin especfica. de instrucciones mientras sePermite ejecutar repetitivamente el conjunto de instrucciones llegue a su valor lmite.hasta que una variable, contadorFORMATO O SINTAXIS Variable = Valor inicial HAGA MIENTRAS condicin Bloque de instrucciones Variable = Variable + i FIN - MIENTRAS Ejemplo 24: Generar e imprimir los nmeros de 0 al 500 Lista de variables X = Contador generador de los nmeros INICIO (PROGRAMA GENERAR NUMEROS) ENT: XEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION60Solucin: X 0 HAGA MIENTRAS X < 500 IMPRIMA: Numero X X=X+1 FIN - MIENTRAS FINPRUEBA DE ESCRITORIO ( Se realiza con 5 nmeros si funciona para estos funciona para 500) X 0 0+1=1 1+ 1 =2 2+ 1 =3 3+1=4 4 +1 = 5Ejemplo 25 : Leer o entrar 10 nmeros e imprimir slo los nmerospares.ANALISIS : Datos entrada NUM = nmero Datos salida CONT = contador de nmeros CONT = CONT +1 RES = residuo RES = NUM mod 2 (utiliza el operador mod ) INICIO (PROGRAMA NUMEROS PARES) Asignar tipo a las variables ENT: NUM, RES, CONT Inicializar variables de trabajo CONT, RES = 0 HAGA MIENTRAS CONT < 10 MOSTRAR "Entre nmero" LEA Valor del numero NUM RES = NUM mod 2 SI RES = 0 ENTONCES MOSTRAR :Numer par NUM FIN - SI CONT = CONT +1 FIN MIENTRAS FIN DEL PROGRMA PRUEBA DE ESCRITORIO ( Se realiza con 5 nmeros ) CONT NUM 3 6 14 17 9Ejemplo 26: Un ciclo mientras controlado con un registro identificador Se tiene un archivo con losEsp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION61datos de los N trabajadores de la empresa XY cada registro tiene: el nombre, horas trabajadas y valor hora. Calcular el salario neto e imprimirlo con el nombre del trabajador, teniendo en cuenta que si el salario mensual es >= $800.000 la retencin para impuestos es del 4.5% y para seguridad social el 2.5%; si es menor retenerle para seguridad social el 2% y darle un auxilio de 60.000 para transporte. Calcule el total de aportes de los trabajadores para impuestos y para seguridad social, el total de salarios pagados por la empresa. ANALISIS DATOS DE ENTRADA (registro) NOMT= nombre del trabajador SALBH = salario bsico hora pagado al Trabajador NHTRAB = nmero de horas trabajadas por el trabajador DATOS DE SALIDA TAPORS = Total de los aportes para seguridad social TAPORS TAPORS + RETSS TIMPT = Total aportes de los trabajadores para impuestos TIMPT = TIMPT + RETIMP SALNPT = salario neto que recibe el trabajador SALNPT = SALB RETIMP RETSS + AUXTRASP SALB = salario bruto que se le paga al trabajador SALB = SALBH * NHTRAB TSALPE = total de salarios pagados por la empresa TSALPE = TSALPE + SALB RETSS = Retencin para seguridad social RETSS = SALB * % RETIMP = Retencin para impuestos RETIMP = SALB * % AUXTRASP = auxilio para transporte CONT = contador de trabajadores controla el ciclo CONT CONT + 1 Nota: el % toma el valor de acuerdo al monto del salario (PROGRAMA SALARIOS) INICIO PROG-PPAL. ASIGNAR TIPO CARAC: NOMTREAL: SALNPT,RETSS,RETIMP,AUXTRASP REAL: TSALPE,TIMPT,TAPORS,TSALPE,SALBH,SALBENT:NHTRAB ; CONT INICIAR VARIABLES DE TRABAJO TSALPE,TIMPT,TAPORS,; CONT = 0 LEER N ( N : es el nmero de trabajadores de la fbrica) HAGA M. Q CONT < N (controla el ciclo con un contador que debe llegar a N) LEER : Nombre del trabajador NOMT, salario basico horaSALBH, Numero de horas trabajadas NHTRAB (lee los datos de entrada del problema) CAL-SALARIO (REAL:SALBH; ENT: NHTRAB: REAL:SALNPT) Se llama un procedimiento donde se calcula el salario neto de acuerdo al monto del salario bruto TOTALES (REAL: RETSS, RETIMP : REAL TSALPE,TIMPT,TAPORS) Se llama un procedimiento donde se calculan los totales con datos que recibe del procedimiento MOSTRAR: Nombre del trabajador: NOMT Salario neto : SALNPT CONT CONT + 1 ( contador que permite saber cuado se llega a N) FIN MQ. MOSTRAR: El total de Salarios pagados por la empresa TSALPE El total de deducciones para impuestos TIMPT El total de aportes para Seguridad Social: TAPORS FIN PROG-PPAL.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION62IN-PROC CAL-SALARIO (REAL:SALBH; ENT: NHTRAB: REAL:SALNPT) SALB = SALBH * NHTRAB (se empieza el proceso de los datos ledos ) SI SALB > 800.000 ENTONCES RETIMP = SALB * 0.045 RETSS = SALB * 0.025 AUXTRASP = 0 SINO RETIMP = 0 RETSS = SALB * 0.02 AUXTRASP = 60.000 FIN SI SALNPT = SALB RETIMP RETSS + AUXTRASP RETORNE ( SALNPT, RETIMP. RETSS, SALB) FIN PROC. IN-PROC TOTALES (REAL: RETSS, RETIMP : REAL TSALPE,TIMPT,TAPORS) TIMPT = TIMPT + RETIMP TSALPE = TSALPE + SALB TAPORS = TAPORS + RETSS RETORNE ( TAPORS, TSALPE, TIMPT FIN PROC.PRUEBA DE ESCRITORIO NOMT Elas Prez Pedro Duran Carmen Gmez TAPORS 0 24.000 29.760 33.600 RETSS 0 24.000 5.760 3.840 TIMPT 0 43.200 NHTRAB 48 48 48 SALBH 20.000 6.000 4.000 SALNPT 0 892.800 342.000 248.160 AUXTRASP 0 0 60.000 60.000 SALBH 0 960.000 288.000 192.000 CONT 0 1 2 3 TSALPE 0 960.000 1248.000 1440.000RETIMP 0 43.200 0 0Ejemplo 27 : Un ciclo mientras controlado por un registro centinela: Se tiene un archivo con: valor de las ventas, el nombre y el cdigo de los vendedores de una compaa. A cada vendedor se le liquida la comisin de acuerdo a la siguiente: Si el valor de las ventas: 5`000.000 ENTONCES (empieza el proceso del registro ledo) COMV = VRVTAS * 0.05 + 8.000 SINO SI VRVTAS > 3000.000 ENTONCES COMV = VRVTAS * 0.045 + 10.000 SINO0Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION64COMV = VRVTAS * 0.035 + 15.000 FINSI FINSI RETORNE (COMV) FIN FUNC. IN-PROC TOTALES (REAL:VRVTAS, COMV, ENT: CONTVEND : REAL : TVTASVEND, TCOMPE) TVTASVEND TVTASVEND + VRVTAS TCOMPE TCOMPE + COMV CONTVEND CONTVEND + 1 RETORNE (CONTVEND, TVTASVEND, TCOMPE) FIN PROC. IN- PROC MAYOR-VTA ( REAL MAYVTA : REAL:VRVTAS: CARAC: NOMVMV, NOMV) SI VRVTAS > MAYVTA ENTONCES MAYVTA VRVTAS NOMVMV NOMV FINSI RETORNE (MAYVTA. NOMVMV) FIN-PROC. FUNC REAL PROMVTAS(REAL: TVTASVEND ENT: CONTVEND) PROMVTAS = TVTASVEND/ CONTVEND RETORNE(PROMVTAS) FIN-FUNC. PRUEBA DE ESCRITORIO CODV 222333 222433 223569 224678 00000 NOMV Amanda Garca Carlos Cardona Evelio Duran Rubn Jaramillo VRTAS 5000.000 3000.000 7000.000 4000.000COMV 0 235.000 120.000 358.000 190.0000TCOMPE 0 235.000 355.000 678.000 868.000TVTASVEND 0 5000.000 8000.000 15000.000 19000.000PROMVTAS CONTVEND 0 0 1 2 19000.000/4 3 4750.000 4NOMVMV Amanda Garca Evelio DuranMAYVTA 0 5000.000 7000.000Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION655.8 CICLO REPITA HASTAEjecuta repetitivamente un conjunto o bloque de instrucciones hasta que se cumpla una condicin determinada que puede verificarse al principio o la final del ciclo. Se ejecuta mientras el valor de la condicin es falso, justo lo contrario al ciclo mientras. La estructura repetir se ejecuta al menos una vez, ya que cuando la instruccin repetir se ejecuta solo se evala despus de ejecutar la las instrucciones que hay en el bucle. FORMATO O SINTAXIS: Variable = valor inicial REPITA Bloque de instrucciones HASTA condicin = verdadera ( fin ciclo) Ejemplo 28: Generar los nmeros pares del 2 al 10 e imprimirlos. Lista de identificadores: cn = contador que genera los nmeros pares INICIO ( PROGRAMA GENERAR NUMEROS PARES) Asignar tipo ENT:cn Solucin: Inicializar variables cn = 2 REPETIR MOSTRAR numero par cn cn = cn + 2 HASTA cn = 10 FIN PROGRAMA. PRUEBA DE ESCRITORIO Cn +2 =2 2+ 2 = 4 4+2=6 6+2=8 8 + 2 = 105.9 DIFERENCIAS ENTRE EL CICLO MIENTRAS Y EL REPITA HASTA.La estructura mientras termina cuando la condicin es falsa y la repita hasta cuando la instruccin es verdadera. En la instruccin repetir el cuerpo del bucle se ejecuta siempre una vez, por el contrario en la mientras es mas general y existe la posibilidad de que el bucle no sea ejecutado.Esp. Eugenia Meja de RestrepoE-mail eugeniamejia@une. net.coLOGICA DE PROGRAMACION665.10 CICLO DESDE o PARAEjecuta repetitivamente un conjunto o bloque de instrucciones que se conoce de antemano y que por lo tanto no requiere de condicin de salida; el contador para contar el nmero de iteraciones se incrementa o decrementa de modo automtico.FORMATO O SINTAXIS: HAGA PARA vi = vi HASTA vn , con incremento de 1 hacer Bloque de instrucciones FIN PARANOTA: El incremento cuando es de 1, no es necesario indicarlo si es mayor se debe indicar; cuando es decremento se indica el valor de ste acompaado del signo (-). Si el valor inicial es mayor que el final se dar un decremento (-) y si el valor inicial es menor que el valor final se dar un incremento (+).Ejemplo 29: Calcular los cuadrados de los 10 primeros nmeros e ANALISIS: J = contador automtico que controla el ciclo Cuad = cuadrado de los nmeros generados Cuad = J * J INICIO ( PROGRAMA CUADRADOS) Asignar tipo a las variables ENT :J, Cuad Inicializar variables Cuad = 0 HAGA PARA J = 1 HASTA 10, 1 Cuad = J * J MOSTRAR El cuadra