Sunteți pe pagina 1din 41

LGICA COMPUTACIONAL

Hnicken, Helvia E.

1. RESOLUCIN DE UN PROBLEMA
Qu es la programacin lgica? Lgica: Es el arte de razonar. Programacin lgica: Es el tipo de programacin en la cual las sentencias son sentencias lgicas, tales como implicaciones lgicas, proposiciones lgicas, etc. Ninguna computadora por s sola puede realizar las tareas que se le encomiendan; para que la mquina pueda trabajar es necesario que alguien le indique qu debe hacer y cmo tiene que hacerlo. El conjunto de instrucciones que componen un programa debe codificarse en un lenguaje entendible por la mquina(lenguaje o cdigo de mquina); como han ido evolucionando los lenguajes, hoy es posible hacerlo con un lenguaje de alto nivel, lo ms prximo al lenguaje humano. Si queremos que una computadora lleve a cabo un proceso, antes que nada habr que programarla para ello. Tendremos que construir un programa que le indique qu pasos ha de seguir para efectuar dicho proceso de un modo totalmente correcto. Se desprende que, una computadora no tiene inteligencia por s sola, no olvidemos que la computadora es una mquina creada por el hombre y, por tanto, no podr realizar una tarea que no haya sido previamente determinada por l. El objetivo es, que frente a un problema dado, diseemos una solucin que pueda ser realizada por un computador. Para ello necesitamos: 1. Un lenguaje o notacin para expresar la solucin obtenida. 2. Escribirla en un lenguaje comprensible por la mquina, por ejemplo: BASIC, COBOL, Pascal, C, etc.

1.1 Sistemas de procesamiento de informacin


Haremos una distincin entre lo que es dato e informacin. Los datos son hechos, conceptos o entidad real; la materia prima de la informacin. Los datos pueden tomar diferentes formas; por ejemplo, palabras escritas, nmeros y dibujos, pero slo pueden considerarse como informacin en un sentido muy limitado. En la forma en que el trmino se utiliza en el procesamiento de datos, la informacin consta de datos organizados en una forma que es til para las personas que la reciben. En otras palabras, la informacin consiste en conocimientos procesados y organizados, producidos como resultado de las operaciones de procesamiento de datos. El proceso convierte los datos en informacin. Toda la informacin consta de datos, pero no todos los datos producen informacin especfica o inteligible. La interpretacin de estos datos requiere un criterio humano. Un sistema en general es definido como conjunto de componentes conectados e interactivos, que tienen un propsito y una unidad total. Sistema de procesamiento de informacin es un sistema que transforma datos brutos en informacin organizada, significativa y til.

Entrada = datos

procesador

Salida = informacin

Sistema de procesamiento de informacin

La figura muestra los componentes de un sistema de proceso de la informacin: entrada, salida y procesador. El procesador, que puede ser bastante complicado, se representa por una simple caja y puede aceptar datos llamados entrada y esta entrada se transforma entonces para producir una informacin denominada salida o resultados.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

Basados en este esquema, muchos dispositivos u organismos pueden ser considerados sistemas de procesamiento de la informacin. Un termostato que controla la temperatura de un edificio es un ejemplo, la entrada es la temperatura media y la salida es una seal que controla la caldera del aire acondicionado. El corazn, es un sistema complejo de informacin. El conjunto de instrucciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un sistema especfico o clase de problemas, se denomina algoritmo. Cuando el procesador es una computadora, el algoritmo se expresar en forma de programa escrito en un lenguaje de programacin.

1.2 Nocin de programa


[Ensaye una definicin de programa]

La idea es, dado un problema determinado, disear una solucin que pueda ser realizada por una computadora: Partes de un programa Entrada de datos. La constituyen todas aquellas instrucciones que toman datos de un dispositivo externo, almacenndolos en la memoria central para que puedan ser procesados. Proceso. Est formado por las instrucciones que modifican los objetos a partir de su estado inicial hasta el estado final, dejando stos disponibles en la memoria central. Salida de resultados. Conjunto de instrucciones que toman los datos finales de la memoria central y los envan a los dispositivos externos.

MEMORIA CENTRAL
ENTRADA PROCESO SALIDA

Datos
Desarrollo de un programa

Datos Requeridos

El objeto de un programa es resolver un problema, si es muy complejo y extenso, no se podra programar en una sola etapa, entonces, el estudio se hace por etapas y para su programacin se divide en varias unidades y/o programas. A un problema de esta magnitud se lo denomina aplicacin y consta de un nmero ms o menos grande de programas. Desarrollo de una aplicacin Todo comienza cuando surge la necesidad de la automatizacin de un conjunto de tareas, y finaliza cuando esa necesidad es satisfecha con una solucin informatizada. Mientras que, en el traspaso problemasolucin se fue desarrollando lo que se da en llamar: ciclo de vida de un sistema o desarrollo de aplicaciones.

1.3 Desarrollo de un programa

LGICA COMPUTACIONAL

Hnicken, Helvia E.

El desarrollo de un programa comprende el conjunto de etapas que van desde el planteamiento del problema inicial en la fase de anlisis hasta su solucin informatizada a un costo razonable. Etapas:

A. Planteamiento de un Problema
construccin del programa

A1. Anlisis del Problema

A2. Diseo del Algoritmo A3. Codificacin del Programa B. Edicin y Puesta a Punto C. Documentacin

D. Explotacin
Fase de construccin de un programa Esta fase va desde el planteamiento de un problema hasta la obtencin de un algoritmo que lo resuelve codificado en un lenguaje de programacin. Se compone a su vez en: Definicin del problema Anlisis del problema Programacin de la solucin del problema Diseo del algoritmo Codificacin del programa Estas etapas generan una documentacin que se engloba en lo que se llama: cuaderno de carga.

A. Definicin o planteamiento del problema


El estudio y definicin del problema dan lugar al planteamiento del problema que se escribir en la documentacin del programa. Si no se sabe lo que se busca, no se lo reconoce si se lo encuentra . Es decir que, si no sabemos con claridad qu es lo que tenemos que resolver, no podremos encontrar una solucin. Aqu se declara cul es la situacin de partida y el entorno de datos de entrada, los resultados deseados, dnde deben registrarse y cul ser la situacin final a la que debe conducir el problema despus de ser implementado (procesado por el computador).

A1. Anlisis del problema


Teniendo en claro el problema a resolver, se hace un anlisis detallado de los datos, condiciones del problema y dems. El objetivo es, entonces, ayudar a comprender la naturaleza del problema, el cual debe estar bien definido si se desea llegar a una solucin satisfactoria. Para poder definir un problema con precisin se requiere que las especificaciones de entrada y salida sean descritas en detalle. Podemos enunciar pasos generales para realizar el anlisis del problema: a) Lectura previa: para obtener una idea general de lo que se solicita. b) Lectura detallada: para responder a las preguntas: Qu informacin debe proporcionar la solucin del problema? (Salida)

LGICA COMPUTACIONAL

Hnicken, Helvia E.

Qu datos se necesitan para resolver el problema? (Entradas) En esta etapa, bsicamente, se identifica el problema y se decide qu tipo de solucin se requiere y si ello implica software, se definirn los requerimientos a cubrir. Si esa solucin requiere software, el analista definir las condiciones que debe cumplir: Definicin de salida Contenido: es el tipo de informacin que se proporcionar y a qu nivel de detalle. Formato: cmo mostrar la informacin, por impresora, pantalla o grfico. Tiempo: periodicidad del informe; es decir, cundo necesita la informacin el usuario, por ejemplo diaria, semanalmente o mensualmente. Flexibilidad: los programas no deben ser rgidos, al punto de que no puedan ser modificados para adaptarse a condiciones cambiantes. Definicin de entrada Datos necesarios. Disponibilidad de los datos. Procedimientos para obtener informacin. Introduccin de los datos: cmo se ingresarn al sistema. Definicin de tareas de procesamiento Restricciones de personas: el software debe estar diseado de modo que el sistema d avisos claros a los usuarios acerca de lo que deben hacer, cundo hacerlo y cmo; para que los usuarios no deban estar especializados al hacer uso del sistema. Restricciones del equipo: el software debe estar diseado para trabajar en computadora, equipo perifrico y software de sistema que se encuentren a disposicin o sean factibles de adquirir.

A2. El diseo del algoritmo


En esta etapa del ciclo de vida de desarrollo de programas, los analistas trabajan con los requerimientos del software desarrollados en la etapa de anlisis, hasta la explicacin de la naturaleza de la solucin de programacin. Se determinan todas las tareas que cada programa realiza, como as tambin, la forma en que se organizarn estas tareas cuando se codifique el programa. Los problemas cuando son complejos, se pueden resolver ms eficientemente con la computadora cuando se descomponen en subproblemas que sean ms fciles de solucionar que el original. Este mtodo se denomina divide y vencers (divide and conquer), y consiste en dividir un problema complejo en otros ms simples que resulten de fcil visualizacin y comprensin, independizndose del resto del problema y sin ignorar la forma en que dichas partes interactan entre s. La descomposicin del problema original en subproblemas ms simples y a continuacin dividir estos subproblemas en otros ms simples que pueden ser implementados para su solucin en la computadora se denomina diseo descendente (top-down design). Las ventajas ms importantes del diseo descendente son: El problema se comprende ms fcilmente al dividirse en partes ms simples denominadas mdulos. Las modificaciones en los mdulos son ms fciles. La comprobacin del problema se puede verificar fcilmente. En esta etapa adems, se utilizan auxiliares de diseo, que son diagramas y tablas que facilitan la delineacin de las tareas o pasos que seguir el programa, por ejemplo: diagramas de flujo, seudocdigo, diagramas de Nassi-Schneiderman, etc.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

Slo cuando se complete el diseo se podr dar inicio a la siguiente etapa: la codificacin real de los programas. Y es en esta fase en donde se hace la eleccin del lenguaje de programacin que mejor se adapte.

A3. Codificacin del programa


En esta fase, se convierte el algoritmo en programa, escrito en un lenguaje de programacin de alto nivel como C, Pascal, Basic, etc. La codificacin del programa suele ser una tarea pesada que requiere un conocimiento completo de las caractersticas del lenguaje elegido para conseguir un programa eficaz. Sin embargo, si el diseo del algoritmo se ha realizado en detalle con acciones simples y con buena legibilidad, el proceso de codificacin puede reducirse a una simple tarea mecnica. Las reglas de sintaxis que regulan la codificacin variarn de un lenguaje a otro y el programador deber conocer en profundidad dichas reglas para poder disear buenos programas. El programa se codifica en hojas preparadas a tal fin. Una vez codificado, se teclea en la computadora. Para aumentar la productividad, es necesario adoptar una serie de normas, como ser: Estructuras aceptables (programacin estructurada) Convenciones de nominacin: maneras uniformes de designacin de archivos y variables.

Convenciones de comentarios. B. Fase de edicin y puesta a punto


Edicin: consiste en grabar el programa ya codificado en un archivo, mediante un editor de texto (utilidad suministrada generalmente con el sistema), almacenndolo en el disco y otro dispositivo externo. El resultado es el programa programa fuente compilador e intrprete Compilacin programa objeto montador (linker) Montaje fuente. Una vez obtenido el programa fuente, es necesaria su traduccin al cdigo mquina, ya que los programas escritos en un lenguaje de alto nivel no son directamente ejecutables por el computador .

editor

Edicin

Segn el tipo de traductor que se utilice, los lenguajes de alto nivel se clasifican en lenguajes interpretados y lenguajes compilados. programa Son lenguajes interpretados aquellos en los que ejecutable el sistema traduce una instruccin y la ejecuta, y as sucesivamente con las restantes.

Ejecucin

Son lenguajes compilados aquellos en los que, primero se traduce el programa fuente completo, obtenindose un cdigo intermedio o mdulo objeto (programa objeto); despus, se fusiona ste con rutinas o libreras necesarias para su ejecucin en un proceso llamado linkado y que obtiene como resultado un mdulo ejecutable (programa ejecutable). La ventaja de los lenguajes compilados, frente a los interpretados, son su rpida ejecucin y, en caso de necesitar posteriores ejecuciones del mismo programas ejecutable almacenado. La puesta a punto del programa hace referencia a la localizacin, verificacin y correccin de errores de programacin para obtener un programa que funcione correctamente. La puesta a punto consta de las siguientes etapas: Deteccin de errores;

LGICA COMPUTACIONAL

Hnicken, Helvia E.

Depuracin de errores; Localizacin; Eliminacin;

Prueba del programa. Todo esto se hace para prevenir tantos errores como sea posible detectar a la hora de ejecutar el programa, tambin sirve para facilitar la deteccin y correccin de errores. Los errores tpicos que se presentan son: Errores de sintaxis Errores de lgica Errores de sintaxis. Se originan en el momento de compilacin/interpretacin del programa y se deben a causas propias de la sintaxis del lenguaje como escrituras incorrectas de instrucciones, omisin de signo, etc. Estos errores se descubren con facilidad, pero puede suceder que, un error de este tipo, no sea tal, sino que pone de manifiesto otro tipo de error diferente. Ejemplo: SUMA = SUMA + B En la mayora de los lenguajes compilados puede dar error durante la ejecucin si la variable SUMA no ha sido declarada.

Errores de lgica. Los errores en la lgica del programa pueden ser producidos en la fase de compilacin o ejecucin. Los que suceden durante la ejecucin de un programa, normalmente, son ms difciles de detectar. Se pueden observar dos categoras: los que detienen la ejecucin del programa y los que no la detienen, pero que producen resultados errneos. Ejemplo: R = S/C Si C es cero, muchos de los errores lgicos slo se manifiestan en el momento de la ejecucin; por ello se denomina tambin errores de ejecucin.

Si se omite el segundo smbolo del producto (*) y la instruccin se convierte en L L = 2 * P * R= 2 * PR, la omisin de este smbolo no se reconoce como error de sintaxis en la fase de compilacin o interpretacin, pero dara resultados errneos al ejecutarse.

C. Fase de documentacin del programa


Aadiendo al contenido incluido hasta ahora en la documentacin del programa, los formularios de datos especficos del programa, y las instrucciones de operacin y grabacin de datos relativos a ste, se habr completado la documentacin y con ello el ciclo de construccin del programa. En el futuro, estos programas debern sufrir mantenimientos, actualizaciones y, para la explotacin del mismo es imprescindible la documentacin del mismo: A nivel usuario, se provee un manual con instrucciones de cmo ejecutar el programa, descripcin de los comandos a utilizar, ejemplos de situaciones y una gua de cmo eliminar problemas que puedan surgir. A nivel programador, consta de ayudas que puedan simplificar el mantenimiento , incluyen descripcin del programa, herramientas de diseo utilizada, descripciones de entrada-salida, etc. Tambin se incluyen los procedimientos para probar el programa. Ayuda mucho que en el mismo programa fuente se agreguen comentarios sobre lo que se intenta hacer en cada bloque. A nivel operador, se dan instrucciones sobre qu unidades deben activarse, tamaos de papel, cintas, etc. Resulta beneficioso hacer y preparar la documentacin a lo largo de cada etapa de desarrollo.

D. Fase de explotacin del programa


Consiste en el normal funcionamiento del programa para cumplir el objetivo para el que fue destinado. Esta fase es llevada a cabo por el usuario a lo largo del ciclo de vida del programa y corre a cargo de los usuarios de la entidad para la que ha sido desarrollada la aplicacin a la que pertenece el programa.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

En sntesis, un programa de computadora es un conjunto de instrucciones -rdenes dada a la mquina- que producirn la ejecucin de una determinada tarea. En esencia, un programa es un medio para conseguir un fin, ese fin es definido como la informacin necesaria para solucionar un problema. Una solucin a un problema puede no ser la nica, pueden haber varias. Estas soluciones, luego de ser formuladas y analizadas, permiten inferir en cul es la mejor solucin de todas las planteadas, con esto queremos afirmar que, en circunstancias bien determinadas se considerar una nica como la ms eficaz y eficiente.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

Actividades 1
Conteste los siguientes puntos. 1. Busca el significado de las siguientes palabras: a) Algoritmo b) Aplicacin c) Archivo d) Cdigo e) Documentacin f) Lenguaje de alto nivel

g) Lenguaje de programacin. Ejemplos. h) Mdulo i) j) Proceso Programa fuente

k) Programa objeto l) Programacin

m) Programador n) Usuario 2. En qu etapa se debe documentar el programa? 3. En qu momento -etapa-, estoy en condiciones de elegir el lenguaje de programacin que mejor se adapte a la solucin del problema? 4. En qu etapa se termina de definir el problema a solucionar? 5. Los datos de qu etapa necesito para realizar, por ejemplo, un diagrama de flujo? 6. En qu etapa se clarifica qu entradas, qu procesos y qu salidas va a tener el programa? 7. En qu etapa me doy cuenta si mi programa no funciona correctamente debido a que tiene errores (bugs)? 8. Por qu le parece a usted que puede resultar el paso del algoritmo al cdigo -instrucciones dadas a la computadora- una tarea compleja? 9. Qu diferencias ve entre el grfico de un sistema de procesamiento de informacin y el grfico de las partes del programa? 10. Para qu se programa?

LGICA COMPUTACIONAL

Hnicken, Helvia E.

2. OBJETOS DE UN PROGRAMA 2.1 Objetos


Son objetos de un programa todos aquellos manipulados por las instrucciones. Mediante ellos, en un programa podremos realizar el almacenamiento de los datos y de los resultados de las distintas operaciones que intervienen en la solucin del problema.

[Ensaye un concepto de constantes y variables a nivel de programa] CONSTANTES: OBJETOS VARIABLES:

Todo objeto tiene sus atributos: Nombre: Es con el cual se identifica al mismo. Para identificarlo se utiliza una secuencia de uno o ms caracteres en donde el primer caracter es una letra, los siguientes pueden ser letras , dgitos o algunos caracteres especiales (depende del lenguaje). No puede usarse un espacio como caracter de la secuencia. El espacio determina el fin de la secuencia. Es preferible que dicho nombre indique algo sobre el propsito para el cual se emplea. Nombres bien elegidos, no solo hacen los algoritmos ms fciles de leer y entender, sino tambin de modificar los ya escritos antes. Tipo: Es el conjunto de valores vlidos que puede tomar. Conjunto de caractersticas comunes que identifican todos los posibles estados que el objeto de ese tipo puede tomar. Valor: Es el elemento del tipo que se le asigna. El cual puede variar al pasar de un estado a otro, otros sin embargo no cambian nunca su valor. Por tanto los objetos de un programa son como cajas con tapas en donde aparece adherida una etiqueta (nombre), sta caja tiene una forma determinada (tipo) y dentro de ellas hay almacenada informacin (valor).

2.1.1. Constante
Es un objeto de valor invariable a lo largo de la ejecucin de un programa, es decir que tiene un valor concreto. Ejemplos: El signo = es transferir (mover o asignar) lo que se halla a la derecha del smbolo hacia la variable de la izquierda.

PI = 3.141592 e = 2.718281

LGICA COMPUTACIONAL

Hnicken, Helvia E.

10

2.1.2. Variable
Es un objeto cuyo valor puede ser modificado a lo largo de la ejecucin de un programa. Ejemplos:

X=0 X=X+1 donde X es una variable tipo numrico

[Resuelve la siguiente tabla]:

N 1 2 3 4 5 6 N=2 Z=0 Z=Z+N Z=Z+N Z=Z+N Z= Z + N

[Tache lo que no corresponda y fundamente su eleccin] La constante aqu es: N Z

Porque ...

La variable aqu es: N Z

Porque ...

LGICA COMPUTACIONAL

Hnicken, Helvia E.

11

Lo mismo dicho en otros trminos es: Campo: Un campo es un rea de almacenamiento principal que contiene datos y resultados intermedios de los clculos o resultados finales. entero numricos real Los campos pueden contener caracteres alfabticos alfanumricos Ejemplo de nombres de campo: NOMBRE MATRICULA DNI CAL1 CAL2

Al mencionar un campo por su nombre, lo que en realidad se hace es extraer el contenido de dicho campo, sirviendo el nombre slo para indicar una posicin determinada en la memoria de la mquina. Como se dijo, los campos pueden contener caracteres slo numricos, slo alfabticos o una combinacin de ambos. Ejemplo: PEREZ NOMBRE 160114 MATRICULA 8 CAL1 9 CAL2

En este ejemplo NOMBRE es un campo alfabtico, su contenido es PEREZ; MATRICULA es un campo numrico que contiene 160114 y CAL1, CAL2 son campos numricos que contienen 8 y 9 respectivamente. [Realizar las siguientes operaciones entre campos e indicar el contenido final de los mismos, si el contenido inicial es]: 1. 4 A 2 B A a b c d e f g A=B C=A B = (A + B + C )/ 2 A=A+C C=B-A C=C-A A=A*B B 3 C C

LGICA COMPUTACIONAL

Hnicken, Helvia E.

12

2.

10 X

20 Y

60 Z

X a b c d e f g X=X+Y Y=X+Y Y = X + 20 Z=Y-X X = Z / 20 Y=Y/5 Z = X + Y - 10

2.2. Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operacin y nombres de funciones especiales. Una expresin consta de: Operandos Operadores Ejemplo: 5 + 3 Donde 5 y 3 son operandos y el signo + es el operador

Segn el resultado de evaluar la expresin sea un nmero, una serie alfanumrica o uno de los valores lgicos (Verdadero o Falso), es decir, segn el tipo de objetos que manejan, las expresiones se clasifican en: Expresiones aritmticas: anlogas a frmulas matemticas, en donde se utilizan: a) operadores tipo aritmticos y b) variables y constantes numricas (reales o enteras). Ejemplo: -8*2+4/2-3 PI * SQR(X)

Expresiones alfanumricas: se utilizan operadores alfanumricos y producen resultados de tipo alfanumricos. Ejemplo: Lic. + NOM

Expresiones relacionales: Se utilizan operadores relacionales. Se compara entre dos valores del mismo tipo, es decir que los operandos son ambos numricos, ambos carcter o ambos del tipo lgico. El resultado de la evaluacin de una expresin relacional es de tipo lgico: Falso o Verdader. Ejemplo: A+B <= A*B Expresiones lgicas: Se utilizan operadores lgicos. El resultado de este tipo de expresin es un valor lgico: Falso o Verdadero, el cual se deduce de analizar la tabla de verdad correspondiente a los conectores lgicos. Ejemplo: A > 10 AND A < 20

LGICA COMPUTACIONAL

Hnicken, Helvia E.

13

2.2.1. Operadores
Clasificacin de los operadores que conectan los objetos en las expresiones, segn su tipo: TIPO Parntesis Aritmticos SMBOLO () ** ^ *, / +, Alfanumricos Relacionales + = < <= > >= <> Lgicos NOT AND OR Potencia Producto, divisin Suma, diferencia Concatenacin Igual a Menor que Menor o igual que Mayor que Mayor o igual que Distinto a Negacin Conjuncin Disyuncin Conectan expresiones de tipo lgico. Su evaluacin da como resultado Verdadero o Falso. Conectan campos alfanumricos Conectan objetos, campos o expresiones de cualquier tipo. Su evaluacin da como resultado Verdadero o Falso. NOMBRE FUNCIN Anida expresiones Conectan objetos o campos numricos

Los operadores lgicos NOT, AND y OR se evalan segn las tablas de verdad, siendo X e Y expresiones booleanas cuyo resultado de las operaciones lgicas viene determinado por dichas tablas: Operador NOT X F V NOT X V F Operador AND X F F V V Y F V F V X AND Y F F F V Operador OR X F F V V Y F V F V F V V V X OR Y

Todos los operadores de una expresin siguen el siguiente orden al evalluarlos: 1 2 3 4 5 6 7 8 Parntesis Potencias Productos y divisiones Sumas y Restas Concatenacin Relacionales Negacin Conjuncin (Comenzando por los ms internos)

9 Disyuncin Cuando en una expresin aparece ms de un operador de cualquier tipo, el orden de evaluacin comienza por el operador de mayor prioridad; si dos o ms operadores son de la misma prioridad se evalan de izquierda a derecha. Ejemplo:

LGICA COMPUTACIONAL

Hnicken, Helvia E.

14

a.

(5+3)*(2+7)*3 8 *(2+7)*3 8 * 9 *3 72 *3 216

b.

( ( 10 / 5 )^4 > 15 AND (8 + 4 ) = 12 VERDADERO AND VERDADERO

VERDADERO

c.

LOGICA + COMPUTACIONAL = LOGICA COMPUTACIONAL LOGICACOMPUTACIONAL = LOGICA COMPUTACIONAL FALSO

2.3. Tipos elementales de datos


Numrico. Es el conjunto de los valores numricos que el procesador sabe tratar. Pueden ser con o sin signo; enteros o reales. Ejemplo: 100 -100 2.718 3.14 Caracter. Es cuando se almacena uno y slo uno del conjunto de caracteres (letras, cifras y signos especiales). Las comillas no forman parte del caracter. Ejemplo: # H 7 Cadena. Es el conjunto de las cadenas de caracteres que se pueden formar a partir de los elementos del conjunto de caracteres (letras, cifras y signos especiales) que el procesador reconoce. Lo representaremos entre dos apstrofes, delimitando as la cadena. Ejemplo: a. JUAN PEREZ b. Mtate estudiando y solo sers un cadver culto

Dentro de la cadena si hay espacios se los cuenta como caracter.


Lgico. Es el conjunto de dos valores lgicos, CIERTO y FALSO. Una variable (constante y varriable) de tipo lgico siempre posee uno de estos dos valores.

2.4. Componentes de un programa


Constantes Objetos Variables Numricas Alfabticas Alfanumricas Numricas Alfanumricas

Componentes De un Programa

Expresiones

Aritmticas Alfanumricas Lgicas De declaracin

Acciones O Instrucciones

Primitivas (*) Compuestas (**) De control

De asignacin De entrada De salida Alternativa Iteracin o repeticin

(*) Tambin llamadas acciones elementales, son aquellas que pueden ser interpretadas por el procesador sin informacin adicional. (**) Son aquellas que pueden subdividirse en acciones menos complejas.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

15

Actividades 2
1. [Responder]: a. El tiempo crea hroes y destruye celebridades b. La elegancia de la honestidad no necesita adornos Cuntos caracteres tiene la cadena a? ... Cuntos caracteres tiene la cadena b? ... 2. Un campo puede ser de tipo alfanumrico y numrico a la vez? 3. [Tache lo que no corresponda, indicando si el nombre de campo correspondiente es correcto ]: Nombre de un Campo IVA 160114 1APELLIDO NOMBRE2 HORARIO CLASE Resultado Falso Falso Falso Falso Falso Verdadero Verdadero Verdadero Verdadero Verdadero

4. [Tache lo que no corresponda]: A 7 -3 8 9 5 B 7 3 10 9 1 Expresin Relacional A<>B A = B A>=B A<=B A < B Resultado Falso Falso Falso Falso Falso Verdadero Verdadero Verdadero Verdadero Verdadero

5. [Evaluar las siguientes expresiones paso a paso, teniendo en cuenta los valores iniciales de las siguientes variables y constantes]: 3.141592 PI a. 2.718281 E 1 U 5 V 2 W

E^ ( V - 5 ) / ( V * W ) ( / U / 10 ) NOT PROGRAMACION + LOGICA = LOGICA + PROGRAMACION PI + 1.858408 < V OR 2 * PI * U >= E

b. ( U^ ( V + W ) + 3 * ( V / U )) / W c. d.

e. E = e OR NOT METODO + LOGIA = METODOLOGIA

LGICA COMPUTACIONAL

Hnicken, Helvia E.

16

3. ALGORITMO
Algoritmo: Es una descripcin paso a paso de algn proceso . La palabra algoritmo deriva del matemtico rabe AL -KUHARITMI, quien describi mtodos para solucionar problemas aritmticos. Los algoritmos son independientes tanto del lenguaje de programacin en que se expresan como de la computadora que los ejecuta. Es decir que, un lenguaje de programacin es tan slo un medio para expresar un algoritmo y que una computadora es slo un procesador para ejecutarlo. Cabe destacar la importancia de la fase de diseo del algoritmo, la cual requiere creatividad y conocimientos profundos de la metodologa de la programacin (metodologa necesaria para resolver problemas mediante programas).

3.1. Caractersticas de los algoritmos


Las caractersticas fundamentales que debe cumplir todo algoritmo son: a) Ser preciso e indicar el orden de realizacin de cada paso. b) Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. c) Ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o sea debe tener un nmero finito de pasos.

Para aclarar este concepto de algoritmo, veremos como ejemplo el caso que ocurre a menudo, el cambio de un neumtico pinchado.

Algoritmo de cambio de neumtico.


[Usted deber colocar los siguientes pasos en orden lgico] 1. SACAR LA RUEDA. 2. BAJAR EL GATO. 3. QUITAR TUERCAS. 4. LEVANTAR EL COCHE CON EL GATO. 5. COLOCAR LAS TUERCAS. 6. COLOCAR LA RUEDA DE REPUESTO. Solucin:

1 ... 2 ... 3 ...

4 ...
5 ... 6 ...
Nota: A este algoritmo se le podran agregar muchos detalles ms.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

17

Un algoritmo debe reunir las siguientes caractersticas generales: de estar escrito de tal forma que facilite su lectura y comprensin.

Legibilidad. Ha

Portabilidad. Su diseo debe permitir la codificacin en diferentes lenguajes de programacin, as como su instalacin en diferentes sistemas -que se pueda ejecutar en diferentes plataformas hardware-. Modificabilidad. La de facilitar su mantenimiento, esto es, las modificaciones y actualizaciones necesarias para adaptarlo a una nueva situacin. Eficiencia. Se deben aprovechar al mximo los recursos del computador, minimizando la memoria utilizada y el tiempo de proceso o ejecucin.

Modularidad. Ha de estar subdividido en bloques o mdulos, cada uno de los cuales realizar una parte del conjunto del trabajo. Estructuracin. Debe cumplir las reglas de la programacin estructurada para facilitar la verificacin, depuracin y mantenimiento del programa.

Para representar un algoritmo se debe utilizar algn mtodo que permita independizar dicho algoritmo de un lenguaje de programacin en particular, lo que significa que permitira que ese algoritmo pueda ser codificado indistintamente en cualquier lenguaje. Para lograrlo, es necesario que ese algoritmo se pueda representar grficamente o numricamente. Algunos de los mtodos para representar un algoritmo son: Diagrama de flujo Diagrama N-S (Nassi-Schneiderman) Seudocdigo Lenguaje espaol Frmulas

Nota: Ms adelante desarrollaremos los mtodos de Seudocdigo y Diagrama de Flujo. Para mayor informacin sobre el resto de los mtodos consulte bibliografa referente a los mismos.

3.2. Metodologa de la programacin


Es el conjunto de mtodos y tcnicas disciplinadas que ayudan al desarrollo de unos programas que cumplan con los requisitos anteriormente expuestos.

Programacin modular
El programa consta de mdulos; cada uno de los cuales realiza una tarea concreta.

Programacin Estructurada
El programa es estructurado, es decir que utiliza lo que se llama: estructuras de control

LGICA COMPUTACIONAL

Hnicken, Helvia E.

18

3.2.1. Programacin Modular


Consiste en dividir el programa en mdulos. El problema se dividir en forma lgica, en partes perfectamente diferenciadas que pueden ser analizadas, diseadas, programadas y puestas a punto independientemente. La programacin modular se basa en el diseo descendente (top-down) que permite comprobar el funcionamiento de cada mdulo mediante mdulos ya comprobados Mdulo raz

Mdulo 1

Mdulo 2

Mdulo 3

Mdulo 4

Mdulo 5

Mdulo 6

Mdulo 7

Mdulo 8

Mdulo 9

Mdulo 10

El montaje de la red se hace en modo ascendente (botton -up), por lo que un programador puede estar escribiendo el mdulo 8 mientras otro el mdulo 9. Una vez terminados ambos se puede comprobar su funcionamiento con un ficticio 4 que llama a ambos. El mdulo est constitudo por una o varias instrucciones fsicamente contiguas y lgicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos de un programa. Un mdulo puede ser: a) Un programa, b) Una funcin, c) Una subrutina (o procedimiento). Cada mdulo slo puede tener una entrada y una salida que lo enlazan con el mdulo principal, incluso habiendo estructuras repetitivas y alternativas dentro de un mdulo. Caractersticas de un mdulo: pueden tener la mxima cohesin y el mnimo de acoplamiento (mxima independencia entre ellos). La salida del mdulo debe ser funcin de la entrada, pero no de ningn estado interno. En esencia, el mdulo ha de ser una caja negra que facilite unos valores de entradas y suministre unos valores de salida que sean funcin de las entradas. Requisitos de la programacin modular: a) Establecimiento de un organigrama modular, b) Descripcin del mdulo principal, c) Descripcin de los mdulos bsicos o secundarios y, d) Normas de la programacin. El organigrama modular se realiza mediante bloques, en el que cada uno corresponde a un mduo y muestra grficamente la comunicacin entre el mdulo principal y los secundarios. El mdulo principal debe ser claro y conciso, reflejando los puntos fundamentales del programa. Los mdulos bsicos deben resolver partes bien definidas del problema. Slo pueden tener un punto de entrada y un punto de salida. Si un mdulo es complejo de resolver, conviene se subdivida en submdulos. Ningn mdulo puede ser llamado desde distintos puntos del mdulo principal. Las normas de programacin dependern del anlisis de cada problema y de las normas generales o particulares que haya recibido el programador. Criterios de modularizacin. La divisin de un programa en mdulos debe cumplir los siguientes criterios: Cada mdulo debe corresponder a una funcin lgica perfectamente diferenciada. El tamao de cada mdulo es variable. Deben ser pequeos para que sean claros y de poca complejidad. Evitar variables externas. Procurar no utilizar demasiados niveles de modularizacin para evitar la complejidad de la red. Estructura de caja negra para cada mdulo (la salida debe ser funcin exclusiva de la entrada). Las tcnicas de programacin modular aportan un mtodo o filosofa para la descomposicin eficaz de un problema en problemas o mdulos ms sencillos. Se pueden utilizar criterios de programacin

LGICA COMPUTACIONAL

Hnicken, Helvia E.

19

modular y posteriormente utilizar mtodos de programacin estructurada dentro de cada mdulo independientemente. Una vez terminado el diseo de los programas de cada mdulo, realizar el montaje del programa completo mediante un diseo ascendente.

3.2.2. Programacin Estructurada


La programacin estructurada fue desarrollada en sus principios por Dijkstra, al que siguieron una gran lista de nombres que realizaron lenguajes de programacin adaptados a la aplicacin directa de estas tcnicas. La programacin estructurada es una forma de programar con la cual la estructura de un programa (relaciones entre sus partes) resulta muy clara. Existen diversas definiciones de la programacin estructurada que giran sobre el denominado Teorema de la estructura.

Teorema de la estructura. Se basa en el concepto de diagrama o programa propio que consiste en que toda estructura tenga un solo punto de entrada y un solo punto de salida. Todo diagrama o programa propio, cualquiera que sea el trabajo que tenga que realizar, se puede hacer utilizando tres nicas estructuras de control que son la secuencia, alternativa y repetitiva.
Un programa estructurado es entonces: Fcil de leer y comprender. Fcil de codificar en una amplia gama de lenguajes y en diferentes sistemas. Fcil de mantener. Eficiente, aprovechando al mximo los recursos del computador. Modularizable. En sntesis, se debe realizar un programa siguiendo tcnicas o mtodos estandarizados, los ms empleados son: la programacin modular y la programacin estructurada. Estas tcnicas suelen ser complementarias, ya que el anlisis de un problema puede utilizar criterios de programacin modular para dividirlo en partes independientes y utilizar mtodos de estructuracin en la programacin de cada mdulo. Todo ello, para evitar: a)Programas muy rgidos con problemas de adaptacin a nuevas configuraciones, b) Prdida de tiempo en la correccin de errores, c) Difcil comunicacin entre los programadores, d) Evitar que el programa tenga una relacin estrecha con el programador que lo realiz, e)Modificaciones difciles de hacer, implicando mucho tiempo y elevado coste de mantenimiento, lo que conduce a colocar parches que complican el diseo inicial o que el programa caiga en desuso, frente al elevado coste de actualizacin que al final se optar por crear una nueva aplicacin que sustituya a la existente y, f) Deficiencias en la documentacin.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

20

Actividades 3
1. [Coloque los siguientes pasos en orden lgico] Algoritmo para preparar el mate.
1. LLENAR EL MATE. 2. PONERLA A CALENTAR. 3. CEBAR EL MATE. 4. BUSCAR EL MATE. 5. RETIRARLA DEL FUEGO. 6. LLENAR LA PAVA DE AGUA. 7. VIGILAR EL AGUA. 8. BUSCAR LA BOMBILLA, LA YERBA Y EL AZUCAR. 9. PRENDER EL FUEGO. Solucin:

1 ... 2 ... 3 ... 4 ... 5 ...

6 ...
7 ... 8 9
2. [Enuncie algn otro ejemplo de algoritmo]

[Enuncie los pasos generales necesarios que llevara a cabo con el ejemplo de algoritmo que acaba de mencionar]

1.

2.
3. 4. 5. 6.
[Tmese unos segundos y vuelva a leer el concepto de algoritmo...]

LGICA COMPUTACIONAL

Hnicken, Helvia E.

21

4. DIAGRAMA DE FLUJO
[Ver anexo de smbolos]

Diagramas de flujo (FLOWCHART)

4.1. Diagramas de flujo del sistema


Tambin se denominan organigrams Representan grficamente el flujo de datos e informacin que maneja un programa.

4.2. Diagramas de flujo del programa


Tambin se denominan ordinogramas Representa grficamente la secuencia lgica de las operaciones en la resolucin de un problema, por medio de un programa de computador. Dicho de otra manera, es un esquema para representar grficamente el algoritmo. Aplicable en la fase de diseo del algoritmo. Elementos:

Aplicable en la fase de anlisis. Elementos:

En la parte superior: soportes que suministran En la parte superior: smbolo de comienzo del los datos de entrada. (Smbolos de soporte de programa. (1). Entrada). Smbolo de operaciones. (2). En el centro: el programa y su identificacin. De arriba abajo, de izquierda a derecha: la (rectngulo central: smbolo de proceso). secuencia en que se realizan. (3). En la parte inferior: soporte para los Al final: smbolo de fin del programa. (4). resultados. (Smbolos de soporte que reciben los datos de Salida). A la derecha e izquierda: los soportes de datos de Entrada/Salida. El flujo de los datos. (lneas de flujo).
Ejemplo: Ejemplo:

Entrada de datos

(1)

Inicio

(3)

Actualizacin

Archivo

(2)

Listado de incidentes

Visualizacin de datos

(3)

(3) (4)

Fin

LGICA COMPUTACIONAL

Hnicken, Helvia E.

22

[Complete los espacios del diagrama de flujo que correspondera al algoritmo de cambio de un neumtico]

En la representacin de ordinogramas, es conveniente seguir las siguientes reglas: El comienzo del programa figurar en la parte superior del ordinograma. Los smbolos de comienzo y fin debern aparecer una nica vez, utilizando el smbolo de parada (STOP) para representar cualquier otro tipo de interrupcin o finalizacin. El flujo de las operaciones ser, siempre que sea posible, de arriba a abajo y de izquierda a derecha, en cuyo caso pueden omitirse las puntas de flecha.

Se debe guardar una cierta simetra en la representacin de bifurcaciones y bucles, as como en el conjunto total del ordinograma. Se evitarn siempre los cruces de lneas de flujo utilizando conectores. El uso de comentarios estar restringido al mnimo imprescindible; al contrario que en la codificacin, en la que son mucho ms recomendables. Si en un ordinograma se ha separado una parte de otra por medio de un conector, las posibles conexiones que puedan aparecer desde esta ltima a la anterior, se harn igualmente con conectores, evitando el uso de lneas de flujo directas.

Los smbolos que se utilizan para la representacin grfica en los diagramas de flujo son establecidos por las Normas IRAM 36002 y 36003 correspondientes al INSTITUTO ARGENTINO de RACIONALIZACION de MATERIALES.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

23

Ejemplo: Programa que lee un nmero del dispositivo estndar de entrada y comprueba e imprime en el dispositivo estndar de salida si dicho nmero es nulo, positivo o negativo.

Tabla de verificacin o prueba de escritorio C 0 1 2 3 4 5 paso realizado [C = 0] [C = C + 1] [C = C + 1] [C = C + 1] [C = C + 1] [C = C + 1] 39 -175 74 0 82 [Leer N] [Leer N] [Leer N] [Leer N] [Leer N] POSITIVO NEGATIVO POSITIVO NULO POSITIVO N paso realizado SALIDA

[Grafique por lo menos un smbolo (de sistema) que representara cada parte de un programa ] ENTRADA PROCESO SALIDA

LGICA COMPUTACIONAL

Hnicken, Helvia E.

24

4.3. Elementos auxiliares de una programa


Son variables que realizan funciones especficas dentro de un programa. Las ms importantes son los contadores, acumuladores e interruptores.

4.3.1. Contadores.
Un contador es un campo de memoria cuyo valor se incrementa en una cantidad fija, positiva o negativa, generalmente asociado a un bucle. Es un caso particular del acumulador. Se utiliza en los siguientes casos: Para contabilizar el nmero de veces que es necesario repetir una accin (variable de control del bucle). Para contar un suceso particular solicitado por el enunciado de problema (asociado a un bucle o independientemente). CONT CONT + 1

4.3.2. Acumuladores.
Un acumulador es un campo de memoria cuyo valor se incrementa sucesivas veces en cantidades variables. Se utiliza en aquellos casos en que se desea obtener el total acumulado de un conjunto de cantidades, siendo preciso inicializarlo con el valor 0. Tambin en las situaciones en que hay que obtener un total como producto de distintas cantidades se utiliza un acumulador, debindose inicializar con el valor 1. ACUM ACUM + NOTA

4.3.3. Interruptores.
Tambin se denominan SWITCHES, BANDERAS, CONMUTADORES. Un interruptor es un campo de memoria que puede tomar dos valores exclusivos (0 y 1, -1 y 1, FALSO y VERDADERO, etc.). Se utiliza para: Recordar en un determinado punto de un programa la ocurrencia o no de un suceso anterior, para salir de un bucle o para decidir en una instruccin alternativa qu acciones realizar. Para hacer que dos acciones diferentes se ejecuten alternativamente dentro de un bucle.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

25

Actividades 4
1. [Tache lo que no corresponda y fundamente su eleccin] Supone usted que un diagrama de flujo deba reflejar: El comienzo del programa. SI NO

Porque ...

Las operaciones. S I NO

Porque ...

La secuencia en que se realizan. S I NO

Porque ...

El final del programa. S I NO

Porque ...

2. Cada operacin lgica se identifica con un smbolo distinto. [Usted deber rellenar la lnea punteada con el grfico del smbolo correspondiente a cada punto ] Utilizamos la caja ... finaliza (FIN). .. para indicar donde comienza el diagrama (INICIO) y donde

Utilizamos la caja ... .. llamada caja de asignacin, para encerrar instrucciones de ejecucin de ciertas acciones como por ejemplo sumar nmeros, calcular la raz cuadrada de un nmero, etc. Utilizamos ... .. para encerrar una pregunta. Esta caja se denomina caja de decisin, pues la respuesta a la pregunta nos seala qu debe hacerse a continuacin. Se utilizan ... Utilizamos ...

.. para indicar el flujo del procedimiento desde un paso al siguiente.

... para conectar caminos, tras roturas previas del flujo del algoritmo.

Utilizamos ... ... para representar cualquier tipo de entrada o salida desde el programa o sistema; por ejemplo, entrada de teclado, salida en impresora o pantalla, etc.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

26

5. SEUDOCDIGO
Es una herramienta para disear algoritmos -diseo de la solucin de un problema por computadoraNo depende de un lenguaje de programacin particular. Utiliza palabras y frases del lenguaje natural (en este caso: el espaol), y sujetas a determinadas reglas. El seudocdigo es utilizado en la fase de diseo del programa, por ser, la utilizacin de un lenguaje, debido a su rigidez, no aconsejable.

6. ESTRUCTURAS BSICAS
Como versa el Teorema de la estructura, decimos que toda accin se puede realizar utilizando tres estructuras bsicas de control, la estructura secuencial, alternativa y repetitiva.

Secuencial

ESTRUCTURAS BASICAS

Alternativa (IF)

Alternativa Simple (IF) Alternativa Doble (IF) Alternativa Mltiple (CASE) Para (FOR)

Repetitiva

Mientras (WHILE) Hasta (UNTIL)

6.1. Estructura secuencial.


Es una estructura con una entrada y una salida en la cual figuran una serie de acciones cuya ejecucin es lineal y en el orden que aparecen. A su vez todas las acciones tienen una nica entrada y una nica salida. ORDINOGRAMA PSEUDOCODIGO

I1; I2; ... In

LGICA COMPUTACIONAL

Hnicken, Helvia E.

27

6.2. Estructura alternativa.


Es una estructura con una sola entrada y una sola salida en la cual se realiza una accin de entre varias segn una condicin o se realiza una accin segn el cumplimiento o no de una determinada condicin. Estas pueden ser:

6.2.1. Alternativa simple.


Es la ejecucin condicional de una accin. Esta composicin permite expresar que un acontecimiento suceder bajo cierta condicin.

Si CONDICION entonces I1; ....; In finsi

6.2.2. Alternativa doble.


Es la ejecucin alternativa de una entre dos acciones. Permite expresar que debe provocarse un acontecimiento bajo cierta condicin contraria.

Si CONDICION entonces I1; ... .; In sino J1; ...; Jk finsi

6.2.3. Alternativa multiple.


Se adoptan cuando la condicin puede tomar n valores enteros distintos: 1; 2; 3; ...; n. Segn se elija uno de estos valores en la condicin, se realizar una de las n acciones (cada vez slo se ejecuta una accin). Esta estructura fue propuesta por HOARE. En castellano se llama segn, Segn_sea, Caso de, Opcin.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

28

expresin

V1 Proceso 1

V2 Proceso 2

Vn Proceso N

Opcin EXPRESION de: V1 hacer I1; I2; ...; Ip V2 hacer J1; J2; ...; Jq Otros Vn hacer K1; K2; ...; Kr Otro hacer L1; L2; ...; Ls Proceso Finopcin

6.3. Estructuras repetitivas.


Es una estructura con una entrada y una salida en la cual se repite una accin un nmero determinado o indeterminado de veces, dependiendo en este caso del cumplimiento de una condicin. Las estructuras repetitivas pueden ser: + Estructura para (FOR) + Estructura mientras (WHILE) + Estructura hasta (UNTIL)

6.3.1. Estructura para (for).


En esta estructura se repite una accin o un grupo de ellas, un nmero fijo de veces respetado normalmente por N, este valor es un nmero que est determinado a priori por lo que el esquema de resolucin ser:

Para Vc de Vi a Vf con incremento In hacer I1; I2; ... In finpara

Se repiten las instrucciones I1, I2, ...In, un nmero fijo de veces, tantas como sucesivos valores toma la variable de control del bucle Vc desde, inicialmente Vi, incrementndose a cada repeticin en In, hasta que el valor de Vc supera Vf. Si el incremento es +1 no hace falta expresarlo.

6.3.2. Estructura mientras (while).

LGICA COMPUTACIONAL

Hnicken, Helvia E.

29

En esta estructura se repite una accin mientras se cumpla la condicin que controla el bucle. El nmero de iteraciones oscila entre 0 e infinito dependiendo de la evaluacin de la condicin, esta condicin a evaluar es una expresin lgica ya que devuelve verdadero o falso. Mientras la condicin sea verdadera el ciclo continuar ejecutndose y la primera vez que sea falso el ciclo finaliza. A diferencia del for no dispone del paso de incrementacin por lo tanto este debe estar incluido dentro del cuerpo de sentencias.

mientras CONDICION hacer I1; I2; ...In finmientras

6.3.3. Estructura hasta (until).


En esta estructura se repite una accin hasta que se cumpla la condicin que controla el bucle, la cual se evala despus de cada ejecucin del mismo. El nmero de repeticiones oscila entre 1 e infinito dependiendo de la evaluacin de la condicin, cuyos argumentos en los casos de repeticin al menos dos veces debern modificarse dentro del bucle, pues de no ser as, el nmero de repeticiones ser infinito y nos encontramos en un bucle sin salida.

repetir I1; ... In hasta CONDICION

LGICA COMPUTACIONAL

Hnicken, Helvia E.

30

7. LENGUAJE DE PROGRAMACIN BASIC


El nombre de BASIC responde a las siglas de Beginners All-purpose Symbolic Instruction Code (cdigo de instruccin simblica para todo propsito, dirigido a principiantes), fue desarrollado por John G. Kemeny y Thomas E. Kurtz en el Darmouth College en 1969. Su propsito original fue el de ensear a programar usando un lenguaje sencillo y fcil de comprender, pero prob ser tan til que fue adoptado por los constructores de computadoras y gradualmente se fue convirtiendo en un lenguaje de programacin ms que en un mtodo de enseanza. Hoy el BASIC ha madurado y se convirti en uno de los lenguajes de programacin estndar. La encarnacin ms moderna de BASIC de Microsoft , denominada Visual Basic, soporta las caractersticas y mtodos orientados a objetos. Principales caractersticas que lo hacen diferente de los dems lenguajes: Se puede dar un nombre muy corto a las variables del BASIC. Las variables pueden ser numricas (A = 1) y alfanumricas (A$ = PEPE). Los nombres de tales variables pueden empezar por cualquier letra del alfabeto. El BASIC permite programar de una forma convencional. Gracias a que es un lenguaje intrprete, es decir que no necesita compilacin (ya que cada instruccin se traduce inmediatamente antes de ejecutarse), se puede cargar un programa escrito en BASIC en memoria, ejecutarlo, corregirlo directamente si tiene algn error y volverlo a salvar en el dispositivo donde se tuviera almacenado. Los mensajes de error generados por el BASIC son explcitos y numerosos. En un lenguaje de programacin, la cantidad de mensajes de error que ste puede generar y la calidad de estos mensajes constituyen una caracterstica importante de cara a poder medir la potencia de tal lenguaje. Los mensajes son muy tiles para el programador, ya que le indican, en el momento de producirse, el tipo de error de que se trata y a veces el por qu se ha producido. En el caso del BASIC, la informacin que el lenguaje da cuando se produce un error es muy completa; incluso, en caso de producirse uno, BASIC adems del mensaje de error, indica la lnea de programa donde se ha producido tal error. Este lenguaje, a pesar de tener 300 palabras, es muy poderoso si se lo usa correctamente. Con BASIC, es posible programar virtualmente todo lo que la mente puede concebir. La gracia y las posibilidades de la programacin consisten en tener una idea, expresarla lgica y precisamente en un programa y luego mejorarla y pulirla, hasta que el programa haga exactamente lo que t le propones. Cabe recordar que este punto marca el comienzo de la fase de programacin y finaliza con la edicin y puesta a punto, en donde, estas fases se caracterizan por la utilizacin de un lenguaje de programacin (para el caso ponemos de ejemplo al lenguaje BASIC).

Instrucciones bsicas del BASIC


Identificaremos las instrucciones del lenguaje segn su funcin: Instruccin de definicin de matrices La instruccin DIM DIM Nombre(Valor del ndice) DIM: nombre de la instruccin. Nombre: nombre que se le va a dar a la matriz. Valor del ndice: mximo valor que tomar cada uno de los ndices. Con esta instruccin se define el nombre de una matriz o vector, el nmero de dimensiones de que constar y el valor mximo del ndice de cada dimensin. Las matrices pueden ser numricas o alfanumricas. Ejemplo: DIM V(5) DIM M$(3, 3) DIM MA(5, 2) DIM V$(5) Instrucciones de asignacin

LGICA COMPUTACIONAL

Hnicken, Helvia E.

31

La instruccin LET LET Variable = Expresin LET: nombre de la instruccin, que puede omitirse. Variable: nombre de la variable numrica o alfanumrica a la que se quiere asignar un valor Expresin: puede ser una expresin numrica o alfanumrica. Nunca se puede realizar una asignacin del valor de una expresin alfanumrica a una variable numrica, ni viceversa. Esta instruccin permite asignar un valor a una variable, ya sea numrica o alfanumrica. Ejemplo: LET A = 2 A = 2 D = (B + C) / 2 LET A$ = PENTIUM D$ = B$ + C$ La instruccin SWAP SWAP Variable1, Variable2 SWAP: nombre de la instruccin. Variable1: nombre de la primera variable. Variable2: nombre de la segunda variable. Esta instruccin permite intercambiar los valores de dos variables, es decir, asignar a la primera el valor de la segunda y a sta el valor de la primera. Ejemplo: SWAP A, B SWAP A$, B$ Instrucciones READ/DATA READ Variable DATA Constante READ: nombre de la instruccin. DATA: nombre de la instruccin. Variable: nombre de cada una de las variables donde se irn asignando las constantes almacenadas en el fichero interno. Constante: cada uno de los valores que se almacenar en el fichero interno que se crear. Estas dos instrucciones se complementan. El hecho de especificar instrucciones DATA en un programa BASIC hace que se cree un fichero interno con los datos de tales instrucciones, datos que posteriormente pueden leerse y asignarse a variables mediante instrucciones READ. Ejemplo: 10 READ A, B, C, D 20 DATA 5, 10, 15, 20 30 PRINT A, B, C, D Instruccin de entrada de datos En la variable A se almacenar el valor 5, en la B el 10, en la C el 15 y en la D el 20; por lo tanto al ejecutar la instruccin de la lnea 30, se imprimirn los valores 5, 10, 15, 20.

La instruccin INPUT INPUT Mensaje; Variable INPUT: nombre de la instruccin. Mensaje: literal que aparece en pantalla para avisar al operador que debe digitar algn dato, que puede omitirse. Variable: cada uno de los nombres de variable en las que se irn almacenando los datos entrados desde teclado. La funcin de esta instruccin consiste en leer datos que se entran desde teclado y asignarlo a una o ms variables especificadas en la instruccin. Ejemplo: INPUT A INPUT Lado ; B INPUT Lado , C INPUT Datos: ; A, B, C

LGICA COMPUTACIONAL

Hnicken, Helvia E.

32

Instrucciones de salida de datos La instruccin PRINT PRINT Expresin PRINT: nombre de la instruccin. Expresin: Cualquier expresin, ya sea numrica o alfanumrica. Es la instruccin utilizada para visualizar informacin en la pantalla de la computadora. Ejemplo: PRINT PEPE PRINT AREA = ; A PRINT TAB(10); AREA = ; A En este caso, tal mensaje, en lugar de visualizarse a partir de la primera posicin de la lnea, se visualizara a partir de la 10. La instruccin LPRINT LPRINT Expresin Esta instruccin realiza lo mismo que la instruccin PRINT, pero, en lugar de visualizar informacin en pantalla, la imprime en la impresora. Instrucciones de control La instruccin GOTO GOTO N de lnea GOTO: nombre de la instruccin. N de lnea: nmero de la lnea de programa a la que se le va a ceder el control de ejecucin. Ejemplo: 10 REM Aqu se irn ejecutando las instrucciones secuenciales a partir 20 A = 5 de la lnea de programa 10, hasta llegar a la lnea 70, en la 30 B = 10 cual encontramos una instruccin GOTO que cede el control 40 PRINT A, B de la ejecucin a la lnea 40. 50 A = A + 5 Para el caso citado se observa que el programa no terminar 60 B = B + 10 nunca. 70 GOTO 40 La instruccin IF...THEN...ELSE IF Condicin THEN Instruccin ELSE Instruccin END IF IF: palabra que forma parte del nombre de la instruccin. Condicin: puede ser una expresin numrica, de comparacin o lgica. THEN: palabra que forma parte del nombre de la instruccin. Instruccin: puede ser una instruccin cualquiera. ELSE: palabra que forma parte del nombre de la instruccin. END IF: cierra la instruccin IF, por lo tanto es su ltima palabra. Es til para realizar un tratamiento diferente de un proceso, segn se cumpla o no una determinada condicin. Ejemplo: IF A > B THEN PRINT B, A ELSE PRINT A, B END IF

LGICA COMPUTACIONAL

Hnicken, Helvia E.

33

La instruccin WHILE WHILE Condicin Instruccin WEND WHILE: palabra que forma parte del nombre de la instruccin. Condicin: puede ser una expresin numrica, de comparacin o lgica. Instruccin: puede ser una instruccin cualquiera. WEND: es la ltima palabra que forma parte de la instruccin y es la encargada de cerrar el bucle WHILE. Ejemplo: WHILE N > 0 A = A + N AM = AM * N WEND La instruccin DO-WHILE DO WHILE Condicin Instruccin LOOP Ejemplo: DO WHILE N > 0 A = A + N AM = AM * N LOOP

A este formato se lo utiliza indistintamente con el anteriormente expuesto, ya que realiza lo mismo.

La instruccin DO-UNTIL DO Instruccin LOOP UNTIL Condicin Ejemplo: DO S=S+N M=M*N LOOP UNTIL N > 0 La instruccin FOR FOR Variable de control = Valor inicial TO Valor final STEP Incremento Instruccin NEXT Variable de control FOR: palabra que forma parte del nombre de la instruccin. Variable de control: nombre de una variable entera o de simple precisin. Valor inicial: valor inicial que tomar la variable de control. TO: palabra que forma parte del nombre de la instruccin. Valor final: es el valor que tomar la variable de control por encima del cual el bucle llegar a su final. STEP: palabra que puede formar parte del nombre de la instruccin o no, es decir, es opcional. Incremento: tambin es opcional, pero, si se especifica, indica el valor que se le ir sumando al valor de la variable de control hasta llegar a su valor final. NEXT: nombre de la instruccin ltima de FOR, es la que cierra el bucle. Variable de control: nombre de la variable de control especificada en la primera instruccin del bucle. Cada vez que se pasa por la instruccin NEXT, se aumenta el valor de esta variable en un valor igual al especificado en el parmetro incremento de la instruccin FOR. Este parmetro es variable, ya que con la palabra NEXT es suficiente. El BASIC asocia el primer NEXT que encuentra con el ltimo FOR que ha encontrado. Ejemplo: FOR J = 1 TO 5 INPUT N A = A + N AM = AM * N NEXT I

LGICA COMPUTACIONAL

Hnicken, Helvia E.

34

Instruccin CASE SELECT CASE expresin a probar CASE expresin-1 Instruccin-1 CASE expresin-2 Instruccin-2 CASE expresin-n Instruccin-n END SELECT SELECT CASE: nombre de la instruccin. expresin: cualquier expresin numrica o de cadena a probar. CASE: palabra que forma parte del nombre de la instruccin que, si coincide con el estado de la expresin se proceder a una accin acorde al evento. expresin-1/-2/-n: es la expresin para comparar con la expresin a probar. Instruccin-1/-2/-n: puede ser una instruccin cualquiera. END SELECT: palabra que forma parte de la instruccin. Es la que cierra la misma, por tanto es la ltima.

Algunas funciones BASIC


Funciones propias del BASIC Las funciones propias del lenguaje BASIC representan una parte muy importante, tanto en cantidad como en calidad, de tal lenguaje. Mediante estas funciones pueden efectuarse operaciones de tipo numrico o alfanumrico. Funciones numricas ABS: calcula el valor absoluto de una expresin numrica. Ejemplo: A = ABS(7 * (-2)) COS: calcula el coseno del argumento. Ejemplo: A = COS(0.5) FIX: calcula la parte entera de una expresin numrica. Ejemplo: PRINT FIX(60.78); visualizar 60. INT: calcula el entero ms grande, inferior o igual a la expresin numrica especificada. Ejemplo: PRINT INT(65.75); visualizar 65. LOG: calcula el logaritmo natural de una expresin numrica positiva. Ejemplo: A = LOG(40 / 6) SGN: retorna un 1 si la expresin numrica es positiva y un 0 si es negativa. Ejemplo: A = SGN(-5); en A se almacenar un 0, porque el signo de la expresin es negativo. SIN: calcula el seno de una expresin numrica. Ejemplo: A = SIN(0.5) SQR: calcula la raz cuadrada de una expresin numrica. Ejemplo: A = SQR(25) TAN: calcula la tangente de una expresin numrica. Ejemplo: A = TAN(2 / 5) Funciones alfanumricas CHR$: transforma un cdigo decimal ASCII en su correspondiente caracter alfanumrico. Ejemplo: PRINT CHR$(84); dar como resultado T. LEFT$: toma caracteres del margen izquierdo de una serie alfanumrica original en una cantidad entera. Ejemplo: N1 $ = TERRY S1$ = LEFT$(N1$, 2) de la serie N1 $ toma los dos primeros caracteres, es decir TE y lo deja en S1 $.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

35

LEN: calcula la longitud en nmero de caracteres de una serie alfanumrica dada. Ejemplo: A$ = PENTIUM A = LEN(A$) en este caso A tomar el valor 7. MID$: realiza la extraccin de una subserie dentro de una serie de caracteres alfanumricos, empezando desde una posicin determinada. Extraemos de A$ la subserie que comienza en la Ejemplo: A$ = PEPITA JIMENEZ posicin 8 hasta el final porque no B$ = MID$(A$, 8) hemos especificado el parmetro longitud. Entonces en B$ tendremos JIMENEZ. Si B$ = MID$(A$, 1, 6) tendremos en B$ la subserie PEPITA porque hemos especificado, desde la posicin 1, 6 caracteres. RIGHT$: es similar a la funcin LEFT$ con la excepcin de que toma los caracteres desde el final (derecha). Ejemplo: PRINT RIGHT$(N3$, 2) los dos caracteres de extrema derecha de la serie alfanumrica N#$ sern representados. STR$: convierte el valor de una expresin numrica en una serie alfanumrica. Ejemplo: A$ = STR$(1560) PRINT A$ en este caso A$ ser igual a 1560. VAL: convierte una serie alfanumrica en numrica. Ejemplo: A$ = 1560 A = VAL(A$) en este caso, A ser igual a 1560. Otras funciones SLEEP: segundos SLEEP: nombre de la instruccin. segundos: el nmero de segundos durante los que se suspender temporalmente la ejecucin del programa. Ejemplo: SLEEP 10 UCASE$(expresin-cadena$) LCASE$(expresin-cadena$) expresin-cadena$: es cualquier expresin de cadena. Estas funciones convierten cadenas en letras minsculas o letras maysculas. Ejemplo: TEST$ = La cadena PRINT TEST$ PRINT LCASE$(TEST$); en minsculas PRINT UCASE$(TEST$); EN MAYUSCULAS

BIBLIOGRAFA
COMO PROGRAMAR SU COMPUTADOR PERSONAL BASIC elemental para PC. Autor: Carl Shipman. Edit.: EL ATENEO

FUNDAMENTOS DE PROGRAMACION. Autor: Luis Joyanes Aguilar. Editorial Mc Graw-Hill INFORMATICA PRESENTE Y FUTURO. Autor: Donald H. Sanders. Editorial Mc Graw-Hill METODOLOGIA DE LA PROGRAMACION. Autor: Alcalde Garca. Editorial Mc Graw-Hill PROGRAMACION COBOL. Autores: Fernando Garca; Almudena Cerro y J. Manuel Diez Perla. Editorial Mc Graw-Hill

LGICA COMPUTACIONAL

Hnicken, Helvia E.

36

Actividades 4, 5, 6, 7
1. Investigue en qu ocasiones es conveniente aplicar estructuras alternativas para la resolucin de un algoritmo estructurado. 2. De acuerdo a lo que usted entiende, cundo es conveniente utilizar estructuras repetitivas en el diseo de un algoritmo? 3. Realizar un programa que calcule la suma, resta, multiplicacin y divisin de dos nmeros ingresados. 4. Indique los pasos algortmicos que se siguen para de formatear un diskette de de 1.44MB. 5. Similar al punto anterior, identifique los pasos que lleva a cabo para colocar la mesa para comer. 6. Realice un programa en el que se intercambien los valores de dos variables numricas. Realizar tambin el seudocdigo del mismo. Anlisis: Se utiliza una variable auxiliar (por ejemplo AUX), que va a contener temporalmente a uno de los valores dados. Las variables que se utilizarn son: A B AUX, donde A es el primer valor; B es el segundo valor y AUX es la variable auxiliar. Se asigna uno de los valores de las variables a la variable auxiliar: AUX = A Se asigna el valor de la otra variable B a la primera. Luego, se asigna el valor de la variable auxiliar a la segunda variable. A=B B = AUX

7. Programa que obtenga la potencia, raz cuadrada y raz cbica de un nmero. 8. Programa que obtenga el promedio de las notas obtenidas en tres parciales. 9. Programa que resuelva la siguiente expresin: 10. Programa que resuelva la siguiente expresin: (A+B*C)/2 B2 - 4AC

11. Programa que evale la siguiente expresin, para N1 = 8 y N2 = 2: 5 * N2 - 3 * N1 ^ 2 * N2 12. Programa que resuelva la siguiente expresin: 13. Programa que resuelva la siguiente expresin:

2 r
x2
z2
-x1)2 + (y2 - y1)2 B A2

y2

14. Programa que resuelva la siguiente expresin: (x2 15. Programa que resuelva la siguiente expresin:

16. Pase el siguiente seudocdigo a diagrama de flujo (de programa), y luego, al lenguaje BASIC: inicio escribir Cul es tu nombre? leer NOMBRE escribir HOLA!, NOMBRE escribir Seamos amigos fin 17. Programa que, al ingresar un 1 imprima VERDADERO. Al ingresar un 0 imprime FALSO. 18. Programa que indique si el nmero ingresado es negativo. 19. Programa que imprima un mensaje diciendo si el nmero que se ingres es positivo, negativo o nulo. 20. Programa que indique si el nmero entero ingresado es par o impar. 21. Programa que obtenga el menor de dos nombres ingresados.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

37

22. Programa que obtenga el mayor de dos valores ingresados. 23. Pasar a ordinograma el siguiente algoritmo: a) OBTENER EL PRIMER NMERO (ENTRADA), DENOMINADO NUM1. b) OBTENER EL SEGUNDO NMERO (ENTRADA), DENOMINADO NUM2. c) COMPARA NUM1 CON NUM2 Y SELECCIONAR EL MAYOR; SI LOS DOS ENTEROS SON IGUALES, SELECCIONAR NUM1. LLAMAR ESTE NMERO MAYOR. d) OBTENER EL TERCER NMERO (ENTRADA), DEMOMINARLO NUM3. e) COMPARAR MAYOR CON NUM3 Y SELECCIONAR EL MAYOR; SI LOS DOS ENTEROS SON IGUALES, SELECCIONAR EL MAYOR, DENOMINAR A ESTE NMERO MAYOR. f) PRESENTAR EL VALOR DE MAYOR (SALIDA)

g) FIN 24. Disee un algoritmo (diagrama de flujo) que resuelva el procedimiento para enviar una carta utilizando los smbolos correspondientes que contengan: PONER LA DIRECCIN EN EL SOBRE INICIO PEGAR FRANQUEO COMN EN EL SOBRE FIN PEGAR FRANQUEO DE VA AREA EN EL SOBRE ES VA AREA? PEGAR EL SOBRE COLOCAR LA CARTA EN EL SOBRE TIRAR LA CARTA DENTRO DEL BUZN

25. Disee un algoritmo (ordinograma) que resuelva el problema de hornear una torta. EST LISTO EL HORNO? FIN ENCENDER EL HORNO APAGAR EL HORNO INICIO ESPERAR 10 MINUTOS DEJAR DESCANSAR 45 MINUTOS PREPARAR EL BATIDO DE LA TORTA RETIRAR LA TORTA DEL HORNO EST LA TORTA SUFICIENTEMENTE COCIDA? COLOCAR LA TORTA EN EL HORNO ESPERAR UN MINUTO O DOS ESPERAR UN MINUTO O DOS

26. Programa que calcule el rea de un tringulo dada la base y altura del mismo. La frmula es: S = (1 / 2) B * H Realice la tabla de verificacin para los valores de base = 4.5 y altura = 7.2 27. Disee el algoritmo que calcule el rea de un tringulo en funcin de las longitudes de sus lados.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

38

Frmula:

Area

pp a p b p c

donde p = (a + b + c) / 2 (semipermetro). 28. Programa que calcule el radio de un crculo conociendo su rea para:

r2

se puede resolver

A/

29. Programa que resuelve una ecuacin de segundo grado Ax2 + Bx + C = 0 Anlisis: Las soluciones o races son:

X1

B^ 2 2A

4 AC

X2

B^ 2 4 AC 2A

Es preciso que el discriminante sea mayor que cero. Discriminante: D = B^2 - 4AC Entonces, si: D=0

X1

B 2A

X2

B 2A

D < 0 X1 y X2 no tienen solucin real. 30. Programa que, de 10 nmeros ingresados indique cuntos de ellos fueron positivos, cuntos negativos y cuntos nulos. 31. Programa que calcule la media de las notas del parcial de una clase de 10 alumnos. 32. De 10 nmero ingresados, la salida indicar cul fue el mximo. 33. Programa que obtenga el valor mnimo de las temperaturas registradas en la semana. 34. Programa que obtenga simultneamente el mximo y el mnimo de 7 nmeros ingresados. 35. Programa que acumule los valores ingresados hasta que se introduzca uno negativo. 36. Programa que acumule nmeros mientras no se ingrese un cero. 37. Programa que multiplique los nmeros ledos hasta que el contador supere el nmero 5. 38. Programa que escriba los nombres de los das de la semana en funcin del valor de una variable numrica DIA.

Los das de la semana son 7, es decir que el rango de valores DIA ser 1..7 y si DIA toma un valor fuera de ese rango, deber indicarlo con un mensaje de error. 39. Programa que sume los nmeros pares comprendidos entre 10 y 20 inclusive. 40. Programa que ingrese 5 veces un nmero distinto cada vez e imprima la suma de todos ellos. 41. Programa que repita 3 veces a) el ingreso de dos nmeros, b) compara cul es el menor y c) imprime el menor obtenido. 42. Programa que obtenga el promedio de las notas de un curso de 10 alumnos. 43. Program que sume los nmeros impares entre 4 y 10 inclusive. Realizar la tabla de verificacin. 44. Programa que de 10 nmeros ingresados obtenga cuntos de ellos fueron negativos. 45. Programa que determine en un conjunto de 15 nmeros naturales: a)Cuntos son menores que 8?; b)Cuntos mayores que 20?; y Cuntos estn comprendidos entre 10 y 15? 46. Programa que lea 4 veces 2 nmeros y los imprima ordenados en forma descendente. 47. Algoritmo que sume independientemente los pares y los impares de los nmeros comprendidos entre 1 y 16. Utilizar un interruptor, tambin llamado switch en dicha solucin. 48. Algoritmo principal que llame a una subrutina segn corresponda. Con dos nmeros ingresados realizar una de las acciones posibles:

LGICA COMPUTACIONAL

Hnicken, Helvia E.

39

Sumar los dos nmeros ingresados Restar Multiplicar Dividir Raz cuadrada Raz cbica 49. Algoritmo que obtenga el producto de dos nmeros enteros positivos mediante sumas sucesivas. 50. Algoritmo que resuelva la siguiente ecuacin algebraica:
1/7

68 a b 2 /c c a
m

72 a / b c bn
1/3

LGICA COMPUTACIONAL

Hnicken, Helvia E.

40

ANEXO SIMBOLOS

E = Soporte de entrada S = Soporte de salida E/S = Soporte de entrada y salida

PARA DIAGRAMAS DE FLUJO DE SISTEMA (ORGANIGRAMA).


SIMBOLOS DESCRIPCION DE SOPORTE TARJETA (E/S). SIMBOLOS DE DESCRIPCION SOPORTE DISCO MAGNETICO (E/S).

CINTA DE PAPEL (E/S).

TAMBOR (E/S).

MAGNETICO

IMPRESORA (S).

CINTA MAGNETICA (E/S).

TECLADO (E). La funcin de E es introducida manualmente por medio del teclado, de posicionamientos de palancas, de pulsadores, etc. PANTALLA (S). La funcin de salida es visual, mediante indicadores, pantallas de televisin, mquinas de escribir, etc. interiores al sistema. SOPORTE MAGNETICO (E/S). Conectado al sistema. Ej.: cinta magntica, tambor magntico, disco magntico. SIMBOLOS DE PROCESO DESCRIPCION PROCESO.

DISKETTE (E/S).

CINTA (E/S).

ENCAPSULADA

OPERACIN MANUAL (E). Tratamiento exterior al sistema sin ayuda mecnica

Operacin AUXILIAR. Efectuada con un equipo que no se encuentre bajo el control directo de la unidad central de tratamiento. CLASIFICACION DE ARCHIVOS. Ordenacin de un grupo de artculos con arreglo a una secuencia particular. FUSION DE ARCHIVOS. Combinacin de dos o ms series en una nica serie. PARTICION DE ARCHIVOS. Extraccin de una o varias series particulares a partir de una sola.

SIMBOLOS DE OPERACIN

DESCRIPCION DIRECCION DEL FLUJO. Indica el sentido de ejecucin de las operaciones.

LINEAS DE TELEPROCESO. Transmisin de informacin mediante una telecomunicacin.

LGICA COMPUTACIONAL

Hnicken, Helvia E.

41

PARA DIAGRAMAS DE FLUJO DEL PROGRAMA (ORDINOGRAMA)


SIMBOLOS DE OPERACIN DESCRIPCION TERMINAL (INICIO, FIN, PARADA). Representa el comienzo inicio y el final, fin, de un programa. OPERACIN EN GENERAL. Cualquier tipo de operacin que pueda originar cambio de valor, formato o posicin de la informacin en memoria, operaciones aritmticas, de transferencia, etc. OPERACIN DE E/S EN GENERAL. Cualquier tipo de introduccin de datos en la memoria desde los perifricos, entrada, o registro de la informacin procesada en un perifrico, salida). SUBPROGRAMA. Llamada a subrutina o a un proceso predeterminado. Una subrutina es un mdulo independiente del programa principal, que recibe una entrada procedente de dicho programa, realiza una tarea determinada y regresa, al terminar, al programa principal. MODIFICACION DE DECLARACIONES. OPERACIN MANUAL PROGRAMA O INICIALIZACION DE

SIMBOLO DE COMENTARIOSDESCRIPCION COMENTARIO. Se utiliza para aadir comentarios clasificadores a otros smbolos del diagrama de flujo. Se pueden dibujar a cualquier lado del smbolo.

SIMBOLO DE DECISION

DESCRIPCION DECISION (2/3 SALIDAS). Indica operaciones lgicas o de comparacin entre datos -normalmente dos- y en funcin del resultado de la misma determina cul de los distintos caminos alternativos del programa se debe seguir; normalmente tiene dos salidas (respuestas SI o NO), pero puede tener tres o ms segn los casos.

LINEAS DE FLUJO

DESCRIPCION DIRECCION DEL FLUJO. Indica el sentido de ejecucin de las operaciones.

SIMBOLO DE CONEXION

DESCRIPCION REAGRUPAMIENTO

CONECTOR EN LA MISMA PAGINA. Sirve para enlazar dos partes cualesquiera de un ordinograma a travs de un conector en la salida y otro conector en la entrada. Se refiere a la conexin en la misma pgina del diagrama. CONECTOR EN DISTINTA PAGINA. Conexin entre dos puntos del organigrama situado en pginas diferentes.

S-ar putea să vă placă și