Analista de Sistemas
de Computacin
Materia
Programacin Lgica
Objetivos
Adquirir los elementos terico-prcticos para la resolucin de problemas tipo en el campo de
la computacin.
Delinear la estructura de un algoritmo simple para resolver problemas.
Conocer y aplicar estructuras de datos simples en la resolucin de problemas.
Manejar los trminos de diagramacin para la resolucin de problemas.
Lograr la integracin de los conceptos y los procedimientos a lo largo del desarrollo de la
asignatura
Programa de la materia
Unidad I
Generalidades sobre computadoras Definicin de algoritmo y programa Concepto de diagrama
de flujo y prueba de escritorio Lenguaje fuente y objeto Diseo de algoritmos simples y dia-
gramas de flujo.
Unidad II
Diagramacin estructurada Smbolos utilizados y su significado Variables: definicin y tipos
Operadores: de cadena, aritmticos, lgicos y relacionales Definicin de contador y acumulador
Estructuras de control Decisiones Repeticiones Estructuras combinadas - Problemas ele-
mentales que involucren el manejo de pequeos volmenes de informacin - Diseo de diagramas
de flujo que involucren la resolucin de diversos planteos.
Unidad III
Tablas: Vectores y Matrices: concepto Indices Tablas en tiempo de ejecucin y en tiempo de
compilacin Bsqueda de elementos Ordenamiento - Diseo de diagramas de flujo que involu-
cren la resolucin de diversos planteos.
Unidad IV
Introduccin a archivos Concepto de registro lgico, fsico y campo Tipos de organizacin y
acceso Operaciones bsicas con archivos Corte de Control Resolucin de problemas.
2
Bibliografa obligatoria
Mdulos elaborados especialmente para la carrera.
Bibliografa utilizada
Albarracn, M., (1996), Introduccin a la Informtica, Ed. Mc Graw Hill, Chile
Joyanes Aguilar, L.;(2008) Programacin Algoritmos, Estructuras de Datos y Objetos, Ed. Mc
Grraw Hill, Espaa
Kendall, J., (2008), Anlisis y Diseo de Sistemas, Ed. Pearson Prentice-Hall, Espaa.
3
Analista de Sistemas de Computacin
Programacin Lgica
Tema 1
4
INTRODUCCIN
Es importante tener en cuenta que una computadora no es ms que una herramienta de
trabajo creada por el hombre, y por lo tanto no tiene inteligencia ni sabe pensar por s so-
la.
Bsicamente una computadora es capaz de realizar:
Las cuatro operaciones aritmticas bsicas: suma, resta, multiplicacin y divisin.
Operaciones lgicas, es decir puede comparar dos valores lgicos para saber si
son iguales o cual es el mayor.
Almacenar y recuperar informacin.
SISTEMAS DE PROCESAMIENTO DE LA INFORMACIN
Generalmente se define sistema a un conjunto de componentes interactivos y conecta-
dos entre s, con un propsito y unidad total.
Un sistema de procesamiento de informacin es un sistema que transforma datos en
informacin organizada, til y significativa.
Entrada Salida
= PROCESADOR =
datos informacin
De esta forma podemos considerar por ejemplo un termostato que controla la temperatura
en una casa, donde la entrada es la temperatura media y la salida es una seal que con-
trola la caldera de la calefaccin.
Dentro de todo sistema de procesamiento de informacin hay que considerar dos concep-
tos importantes:
el hardware que es el conjunto de componentes fsicos de una computadora, to-
do aquello que se puede tocar; y
5
el software que es el conjunto de programas que controlan el funcionamiento de
una computadora.
DESCRIPCIN ESQUEMTICA DE UNA COMPUTADORA
Todas las computadoras estn organizadas siguiendo lneas similares. Fsicamente
(hardware) podemos describirlas en tres unidades bien diferenciadas:
1) Dispositivos o perifricos de entrada
2) Unidad Central de Proceso (CPU: Central Processing Unit)
3) Dispositivos o perifricos de salida
Grficamente se puede representar as:
MEMORIA AUXILIAR
MEMORIA CENTRAL
PERIFERICOS PERIFERICOS
DE ENTRADA DE SALIDA
UC UAL
UCP
A continuacin daremos una breve descripcin de cada una de sus partes.
Definimos como perifricos a los dispositivos que interactan entre el mundo exterior
y una CPU. Algunas de sus funciones son: cargar y/o seleccionar programas, introducir
y/o extraer datos, comunicarse con el operador, etc.
a) Dispositivos o Perifricos de Entrada: son dispositivos electromecnicos que per-
miten al usuario introducir datos en la computadora desde el exterior. Son generado-
res de informacin por lo tanto no pueden recibir ningn dato que provenga de la
computadora. Algunos de ellos pueden ser:
6
Pulsadores, llaves, teclas
Lectores de cinta de papel
Lectores de tarjetas (casi en desuso)
Teclado, mouse, lpiz ptico
Cmara web, escner, escner de barras
Lector de barras, digitalizador, etc.
b) Unidad Central de Proceso: o simplemente pro-
cesador o microprocesador, es el sistema principal
de una computadora, ya que es el elemento capaz
de interpretar las instrucciones y coordinar su eje-
cucin. Est constituida por tres subsistemas:
b.1) Unidad Aritmtico-Lgica: es el elemento
calculador del sistema, capaz de realizar operaciones lgicas y aritmticas.
b.2) Unidad de Control: es el elemento controlador del flujo de informacin (ins-
trucciones y datos) en el sistema. Bsicamente determina que operaciones y
en qu orden se deben realizar. Las funciones de esta unidad son:
Bsqueda de instrucciones en memoria
Decodificacin, interpretacin y ejecucin de instrucciones
Control de la secuencia de ejecucin
Reconocimiento de primitivas externas de control: interrupciones, peticin
de acceso a memoria, espera, inicializacin, etc.
b.3) Memoria: es el lugar donde se almacenan
los datos y las instrucciones que hacen uso
de esos datos. Podemos pensar en la me-
moria como un conjunto de celdas, cada
una de ellas identificada con una direccin.
7
A esta direccin suele llamrsele posicin de memoria.
c) Dispositivos o Perifricos de Salida: permiten extraer informacin de la CPU. Al-
gunos de ellos pueden ser:
Impresoras, monitores, fax
Tarjeta de sonido
Auriculares, etc.
Llamamos perifricos de entrada/salida a aquellos que permiten introducir informa-
cin a la CPU o extraerla de ella. Por ejemplo: lectores-grabadores de cintas magnti-
cas, disketteras, mdem, memorias flash, discos duros, etc.
El software
Todas las operaciones que debe realizar cualquier componente del hardware son especi-
ficadas por los programas o software.
Se pueden clasificar en dos grandes grupos:
Programas del sistema: llamamos as al conjunto de programas necesarios pa-
ra que la mquina funcione (sistema operativo, compiladores-intrpretes, etc.)
Programas de aplicaciones: conjunto de programas que permiten realizar ta-
reas concretas (estadsticas, controles contables, etc.)
LENGUAJES DE PROGRAMACIN
Los lenguajes de programacin permiten la comunicacin entre una persona y la
computadora. Se pueden clasificar en:
Lenguaje de mquina: instrucciones que entiende directamente la computadora.
Son conjuntos de nmeros binarios (0 y 1) que especifican operaciones.
8
Lenguajes de bajo nivel: son ms fciles de utilizar que los anteriores. Un len-
guaje tpico de bajo nivel es el lenguaje ensamblador, donde las instrucciones
se escriben usando nombres nemotcnicos: add (sumar), sto (almacenar), div
(dividir),etc. Estas palabras se recuerdan mucho ms fcilmente que la secuencia
de 0 y 1. En la tabla de la siguiente hoja se muestra una comparacin entre el
lenguaje de bajo nivel y el lenguaje de mquina.
Lenguajes de alto nivel: son los lenguajes ms utilizados por los programado-
res ya que las instrucciones se escriben con palabras similares al lenguaje hu-
mano. La ventaja fundamental de estos lenguajes sobre los dos anteriores es
que son independientes de la computadora, es decir que un programa escrito en
un lenguaje de alto nivel puede ser utilizado o ejecutado en cualquier computado-
ra (portables).
Instruccin Posicin de Posicin de Posicin de Interpretacin
nemotcnica memoria 1 memoria 2 memoria 3
ADD m n r Sumar el valor que se encuentra en la po-
sicin de memoria m al valor que se en-
Equivalente en cdigo de mquina
cuentra en la posicin de memoria n y el
resultado guardarlo en la posicin de me-
0110 1001 1010 1011
moria r
Algunas consideraciones
Cuando citamos los lenguajes de bajo nivel se hizo mencin al lenguaje ensamblador.
Este lenguaje no puede ser entendido por la computadora por lo que necesita una traduc-
cin al lenguaje de mquina; as el lenguaje original escrito en lenguaje ensamblador se
denomina programa fuente y el programa traducido en lenguaje de mquina se denomi-
na programa objeto.
Programa fuente en Programa en lenguaje de
Ensamblador
lenguaje ensamblador mquina
En los lenguajes de alto nivel los programas que llevan a cabo la traduccin se denomi-
9
nan compiladores e intrpretes.
El intrprete toma un programa fuente, lo traduce y luego lo ejecuta. El compilador tra-
duce el programa fuente a lenguaje de mquina.
Programa fuente Programa fuente
Intrprete Compilador
Traduccin y ejecucin
Programa objeto
lnea a lnea
PASOS NECESARIOS PARA LA RESOLUCION DE UN PROBLEMA
Debemos tener en cuenta que la computadora no es capaz de tomar decisiones propias sin que
se le especifique explcitamente cuales son los pasos a realizar.
Para realizar una buena tarea de programacin, adems de la codificacin de un programa en un
lenguaje de programacin determinado, es necesario pasar por todas y cada una de las siguientes
etapas:
Consiste en estudiar el problema planteado
AN LI S I S D EL P RO B LE MA para obtener una idea clara sobre los datos
de entrada, que tratamiento se les debe
realizar, y as obtener los datos de salida
deseados.
Consiste en indicar de manera clara la su-
DI S E O DE L ALG O RI T MO cesin de pasos a ejecutar y luego repre-
sentarlo grficamente a travs de los dia-
gramas de flujo.
10
Es la transcripcin del algoritmo y/o dia-
CO D IFI CA CI N grama de flujo a un lenguaje de programa-
cin, siguiendo las reglas del lenguaje que
se elija. Es lo que se conoce como pro-
grama.
Disear un buen algoritmo y realizar una
PR U EB A Y PU E ST A A buena codificacin no significa que el pro-
PU NTO grama resuelva correctamente el problema.
Esta etapa consiste en elaborar un juego de
datos, lo ms amplio posible, que permita
verificar los resultados que se obtienen.
Luego de finalizado y probado el programa,
DO C U ME N T AC I N D E L
se procede a documentarlo. La finalidad es
PR O G R A MA
que cualquier programador sea capaz de
entenderlo e incluso modificarlo en caso de
ser necesario.
11