Anda di halaman 1dari 25

Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95

Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Programacin I

Unidad N1
Introduccin a la Programacin
Clasificacin de Software:
De Base.
Aplicativo:
Especfico.
Utilitario.
Conceptos sobre Programas. Programacin.
Lenguaje de Programacin. Conceptos. Evolucin.
Clasificacin de Lenguajes de Programacin:
De Bajo y Alto Nivel.
Orientado a la Mquina y Orientado a los Problemas del Usuarios.
Ciclo de Creacin de Programas:
Anlisis.
Diagramacin.
Codificacin: Edicin, Compilacin y Enlace.
Prueba.
Puesta en Operaciones.
Participacin del Programador. Analista Programador. Analista de Sistemas y
Usuario en las distintas etapas.
Archivos. Conceptos. Clasificacin: De datos. De Programas. Etc.

Unidad N2
Algoritmos
Algoritmos. Definicin.
Concepto de Variables. Contadores y Acumuladores. Constantes.
Definicin de un pseudolenguaje.
Tipos de Instrucciones:
Lgicas y Aritmticas.
Transferencia.
Entrada / Salida.
Repeticin.
Seleccin.
Procedimientos. Diseo Descendente. Mdulos.
Arreglos.
Vectores.
Matrices.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Unidad N3
Diagramacin Lgica
Introduccin. Fundamentacin.
Relacin entre Diagramas y funciones de computador.
Relacin entre instrucciones de Lenguajes de programacin y smbolos de
Diagramacin.
Tcnicas de Diagramacin:
Diagramacin Clsica.
Diagramacin Estructurada de Bloques.
Diagramas de Sistemas.
Simbologa:
Secuencia.
Decisin.
Iteracin.
Seleccin.
Procedimientos.

Unidad N4
Tareas del Programador
Tareas Previas.
Planeamiento.
Produccin.
Prueba y Depuracin de programas.
Documentacin.
Puesta en Marcha de una Aplicacin.
Mantenimiento.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Contenidos
Clasificacin de Software:

Software de Base

Sistema Operativo: Organiza y verifica las operaciones de todos los


componentes de la PC, los programas se ejecutan bajo su supervisin y se
comunica con el hardware directamente.
Software Traductor: Programa que permite la creacin de nuevos
programas. La PC tiene un lenguaje interno llamado lenguaje mquina.

Software de Aplicacin:

Software Especfico: Programas desarrollados para un usuario en


particular, o un grupo de usuarios con requerimientos similares.
Software Enlatados: Son creados para satisfacer las necesidades
generales de los usuarios. Permiten la resolucin de cuestiones
generales. El usuario los utiliza an cuando no se ajusta a sus reales
necesidades. Sistemas Enlatados
Software a Medida: Son aquellos creados y desarrollados para
satisfacer necesidades especficas de los usuarios. Para ese usuario en
particular.
Software Utilitarios: Son paquetes de programas que permiten el proceso
de datos o resolucin de problemas sin necesidad de desarrollar Software
Especfico.

Conceptos sobre Programas

El conjunto de datos formado por la representacin de datos utilizada y el algoritmo en


s, se conoce usualmente con el nombre de Programa. En esencia un Programa es la
descripcin de un proceso en un cierto lenguaje, o dicho de otra manera: la secuencia
de acciones entendibles por la computadora conducen a realizar una tarea
determinada y el correcto tratamiento de los datos.

Proceso

Una accin es un suceso o acontecimiento producido por un actor (ejecutante). Tiene


la caracterstica de una duracin limitada y produce un resultado bien definido y
previsto.
El tener una duracin limitada en el tiempo implica la existencia de un instante inicial
de la accin (t0) y un instante final (ti). Para poder reconocer el resultado del sistema
debe estar provisto de indicadores que tomen valores diferentes. El valor de estos
indicadores se denomina informacin. El conjunto de los valores de los distintos
indicadores es un instante dado (t) del desarrollo del acontecimiento se denomina
estado en el instante tn. El estado del sistema en t0 define los datos de la accin.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Proceso es una accin que se puede descomponer en otras ms simples, o tambin


conjunto de fenmenos organizados en el tiempo y concebidos como activos. Se
puede considerar un proceso como un conjunto de acciones elementales que forman
un acontecimiento. Procesador es el elemento capaz de ejecutar un determinado
proceso de trabajo.
Los procesos pueden ser: secuenciales y paralelos.
Es secuencial si una accin del mismo no puede empezar antes que la accin en
curso est completamente terminada; en otras palabras: dos acciones no se ejecutan
simultneamente, sino en orden secuencial.
Un proceso es paralelo si se ejecutan simultneamente dos o ms acciones.

Programacin

Se podra considerar la Programacin como el conjunto de actividades y operaciones


realizadas por el personal informtico tendentes a instruir a la mquina para que
pueda realizar las funciones previstas en el algoritmo. La programacin se manifiesta
en los Programas.
La programacin de computadoras es el proceso de planificar una secuencia de
instrucciones que ha de seguir una computadora.

Lenguaje de Programacin. Conceptos. Evolucin

Al igual que los lenguajes humanos los lenguajes de programacin poseen una
estructura (gramtica o sintaxis) y un significado (semntica). Los lenguajes de
computadora tienen menos combinaciones aceptables que los lenguajes naturales,
sin embargo, estas combinaciones deben ser utilizadas correctamente.
Un lenguaje de programacin es un conjunto de reglas, smbolos y palabras
especiales que permiten construccin o formacin de sentencias (instrucciones)
vlidas en un lenguaje. La semntica es el conjunto de reglas que proporcionan el
significado de una sentencia o instruccin del lenguaje. Solamente las sentencias
correctamente sintcticas pueden ser traducidas por un lenguaje de programacin, y
los programas que contienen errores de sintaxis son rechazados por la computadora.
Cada lenguaje de programacin posee sus propias reglas sintcticas.
El vocabulario de un lenguaje es el conjunto de smbolos. Los smbolos usuales son:
letras, dgitos, smbolos especiales (, ; &, etc.), Palabras reservadas o claves (If, Then,
etc.).
Las reglas sintcticas son los mtodos de produccin de sentencias o instrucciones
vlidas que permitirn formar un programa. Las reglas sintcticas permiten reconocer
si una cadena o serie de smbolos es correcta gramaticalmente y a su vez informan
sobre su significado o semntica.
Deben definir los conceptos de sentencia (intrusin), expresin, indicador, variables,
constantes, etc., y deben permitir de modo fcil verificar si una secuencia de smbolos
es una sentencia, expresin etc. Correcta del lenguaje.

Clasificacin de Lenguajes de Programacin:


De Bajo y Alto Nivel
Orientado a la Mquina y Orientado a los Problemas del Usuarios.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Existen centenares de lenguajes de programacin para computadoras y cada uno


tiene diferentes versiones. Cada lenguaje tiene sus ventajas e inconvenientes junto
con sus defensores y detractores. Algunos lenguajes son ideales para la
programacin de un tipo de problema (gestin, cientficos..) y otros han sido
diseados para resolver otros problemas diferentes (educacin, investigacin, etc.).
Los lenguajes se suelen clasificar en trminos de niveles que constituyen una
jerarqua de los lenguajes de programacin, relacionada con el nmero de
instrucciones necesarias para realizar una tarea especfica. Los lenguajes de
programacin se clasifican como bajo nivel y alto nivel.
Los lenguajes de bajo nivel estn ms prximos a la mquina que los lenguajes de
alto nivel prximo al usuario.
El procesador (Unidad Central del Proceso) de la computadora no puede ejecutar
directamente sentencias escritas en un lenguaje simblico (alto Nivel), basado en
smbolos; el procesador solamente puede ejecutar instrucciones ms simples,
llamadas instrucciones de mquina. Una instruccin de mquina es un conjunto de
ceros y unos, es decir el procesador solo entiende el lenguaje binario. Cada
procesador tiene un juego o conjunto de instrucciones que depender de la estructura
fsica o electrnica de la computadora, o lo que es igual cada computadora tiene solo
un lenguaje de programacin que puede ser ejecutado: el lenguaje mquina.
Evidentemente los programas escritos en lenguaje mquina son complicados, largos
y difciles de escribir. Estos programas aunque fueron los que primeros aparecieron y
por ello se denominan lenguajes de primera generacin, son difciles de interpretar o
corregir; el lenguaje mquina slo sirve para un determinado procesador y
generalmente una sola mquina, hacen que este lenguaje entendible por la mquina
no lo sea por el programador.
Para solucionar este problema en un nivel superior se disearon los lenguajes
ensambladores basados en codificacin de las instrucciones mediante
mnemotcnicos (o mnemnicos) que son un conjunto de letras y nmeros ms
simples de utilizar que el cdigo mquina.
Los lenguajes ensambladores constituyen para muchos historiadores la segunda
generacin de los lenguajes de programacin.
Los lenguajes de alto nivel permiten programar sin la necesidad de conocer el
funcionamiento interno de la mquina.
Los lenguajes de alto nivel poseen una potencia considerable en sus instrucciones, de
modo que una instruccin en lenguaje de alto nivel equivale a varias en lenguaje
mquina.
Las instrucciones o sentencias a la computadora son escritas con palabras similares
a los lenguajes humanos - en general lenguaje Ingls -, lo que facilita la escritura y la
fcil comprensin por el programador. Estos lenguajes son independientes de la
mquina.
Los programas escritos en lenguaje de alto nivel no son entendibles directamente por
la mquina. Necesitan ser traducidos a instrucciones en lenguaje mquina. Los
programas que realizan esta traduccin se llaman compiladores, y los programas
escritos en un lenguaje de alto nivel se llaman programas fuentes. El compilador
traduce el programa fuente en un programa llamado programa objeto. Este programa
objeto se utiliza en la fase de ejecucin del programa. El proceso de traduccin de un
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

programa fuente se denomina compilacin y tras la fase de enlace se obtiene un


programa ejecutable directamente por la computadora.

Ciclo de Creacin de Programas:

El proceso de resolucin de un problema con una computadora conduce a la escritura


de un programa y su ejecucin en la misma. Aunque el proceso de disear programas
es un proceso creativo, se pueden considerar una serie de fases o pasos comunes.
Las fases de resolucin de un problema son:
Anlisis del problema:

Esta fase requiere una clara definicin donde se contemple exactamente lo que debe
hacer el programa y el resultado o solucin deseada.

Diseo del Algoritmo:

En esta etapa se determina cmo hace el programa la tarea solicitada. La resolucin


de un problema complejo se realiza dividiendo el problema en subproblemas y a
continuacin dividir estos subproblemas en otros de nivel ms bajo, hasta que pueda
ser implementada una solucin en la computadora. Este mtodo se conoce
tcnicamente como Diseo Descendente (Top-Down) o Modular. El proceso de
romper el problema en cada etapa y expresar cada paso en forma ms detallada se
denomina refinamiento sucesivo.
Las dos herramientas ms utilizadas para disear algoritmos son: diagramas de flujo,
que es la representacin grfica de un algoritmo y los pseudocdigos que es una
herramienta de programacin en la que las instrucciones se escriben en palabras
similares al ingls o espaol, que facilitan tanto la escritura como la lectura de
programas.

Codificacin:

Es la escritura en lenguaje de programacin de la representacin del algoritmo


desarrollado en las etapas precedentes.

Compilacin y Ejecucin:
Una vez que el algoritmo se ha convertido en un programa fuente, es preciso
introducirlo en memoria mediante el teclado y almacenarlo en el disco. Esta operacin
se realiza con un programa editor.
El programa fuente debe ser traducido a lenguaje mquina. Este proceso se realiza
con el compilador y el sistema operativo que se encarga prcticamente de la
compilacin. Si tras la compilacin se presentan errores (errores de compilacin) en el
programa fuente, es preciso volver a editar el programa, corregir los errores y
compilar de nuevo. Este proceso se repite hasta que no se producen errores,
obtenindose el programa objeto que todava no es ejecutable directamente.
Suponiendo que no existen errores en el programa fuente, se debe instruir al sistema
operativo para que realice la fase de montaje o enlace (link), carga, del programa
objeto con las libreras del programa del compilador. El proceso de montaje produce
un programa ejecutable.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Cuando el programa ejecutable se ha creado, se puede ya ejecutar (correr o rodar)


desde el sistema operativo con solo teclear su nombre. Suponiendo que no existen
errores durante la ejecucin (llamados errores en tiempo de ejecucin), se obtendr la
salida de resultados del programa.

Verificacin y Depuracin:
La verificacin de un programa es el proceso de ejecucin del programa con una
amplia variedad de datos de entrada, llamados datos de test o prueba, que
determinarn si el programa tiene errores ("bugs"). Para realizar la verificacin se
deben desarrollar una amplia gama de datos de test: valores normales de entrada,
valores extremos de entrada que comprueben los lmites del programa y valores de
entrada que comprueben aspectos especiales del programa.
La depuracin es el proceso de encontrar los errores del programa y corregir o
eliminar dichos errores.
Cuando se ejecuta un programa, se pueden producir tres tipos de errores:

Errores de Compilacin:
Se producen por el uso incorrecto de las reglas del lenguaje de programacin y
suelen ser errores de sintaxis. La computadora no puede comprender la instruccin,
no se obtendr el programa objeto y el compilador imprimir una lista de todos los
errores encontrados durante la compilacin.
Errores de Ejecucin:
Estos errores se producen por instrucciones que la computadora puede comprender
pero no ejecutar. Ejemplos tpicos son: divisin por cero y races cuadradas de
nmeros negativos. En estos casos se detiene la ejecucin del programa y se imprime
un mensaje de error.
Errores Lgicos:
Se producen en la lgica del programa y la fuente del error suelen ser el diseo del
algoritmo. Estos errores son los ms difciles de detectar, ya que el programa puede
funcionar y no producir errores de compilacin ni de ejecucin, y solo puede advertir
el error por la obtencin de resultados incorrectos. En este caso se debe volver a la
fase de diseo del algoritmo, modificar el algoritmo, cambiar el programa fuente y
compilar y ejecutar una vez ms.

Documentacin y mantenimiento:

La documentacin de un problema consta de las descripciones de los pasos a dar en


el proceso de resolucin de un problema. La importancia de la documentacin debe
ser destacada por su decisiva influencia en el producto final. Programas pobremente
documentados son difciles de leer, ms difciles de depurar y casi imposibles de
mantener y modificar.
La documentacin de un programa puede ser interna y externa. La documentacin
interna es la contenida en lneas de comentarios dentro del programa. La
documentacin externa incluye anlisis, diagrama de flujo y/o pseudocdigos,
manuales de usuario con instrucciones para ejecutar el programa y para interpretar
los resultados.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

La documentacin es vital cuando se desea corregir posibles errores futuros o bien


cambiar el programa. Tales cambios se denomina Mantenimiento del Programa.
Despus de cada cambio la documentacin debe ser actualizada.

Participacin del Programador. Analista Programador. Analista de Sistemas y


Usuario en las distintas etapas

La realizacin de trabajos mediante computadora, como cualquier otra actividad


(ingeniera, arquitectura, etc.) requiere un mtodo que explique de un modo ordenado
y secuencial hasta los ltimos detalles a realizar por la mquina.
Una aplicacin informtica, sobre todo si tiene cierta complejidad, no debe comenzar
nunca por la codificacin del programa, sino que exige una serie de fases previas
destinadas a conocer todos los aspectos del programa planteado y estudiar las
posibles soluciones. El conjunto de todas las fases necesarias para el completo
desarrollo de una aplicacin informtica recibe el nombre de anlisis y analista se
denomina la persona encargada de realizarla.
El anlisis de sistemas es el encargado de resolver el problema. Primero fija pautas,
busca problemas, encuentra y luego los resuelve; hace esta tarea de investigacin
junto con el usuario
El anlisis de sistemas se encarga del funcionamiento de un sistema informtico,
incluyendo en l, todos los medios informticos materiales (hardware / software) y
humanos, as como la organizacin que controla su funcionamiento. El Analista de
Sistemas es la persona encargada de controlar todo el sistema informtico y estudiar
la necesidad de nuevos medios humanos o informticos, cuidando el buen
funcionamiento de los existentes. As mismo el Analista de Sistemas deber proponer
las soluciones ptimas ante cualquier problema de funcionamiento que se plantee en
el sistema informtico y sugerir el desarrollo de nuevas aplicaciones. As se puede
decir que el Analista de Sistemas es el responsable de todo el proceso informtico,
tanto en su aspecto esttico (uso del hardware / software existente y puesta al da del
sistema) como en su aspecto dinmico (adquisicin de hardware / software, nuevos
desarrollo, contratacin / formacin del personal, etc.).
El anlisis de aplicaciones es el estudio de nuevas aplicaciones en un sistema
informtico y la persona encargada de su realizacin es el Analista de Aplicaciones,
que recibir los encargos del Analista de Sistemas o en el caso de pequeos equipos
informticos) directamente del propio usuario. Es muy frecuente que el usuario
pretenda ser al mismo tiempo el analista de sus propias aplicaciones.
El analista o Programador deber recibir una descripcin clara y detallada de la
aplicacin que debe desarrollar. Trabajan con pautas fijadas, son los encargados de
codificar, as como tambin de la primer prueba que se realiza para corregir posibles
errores.
El programa se considera terminado cuando se le han realizado todas las pruebas
posibles (por los programadores y los usuarios), y ensayada su fiabilidad con los
conjuntos de datos seleccionados y otros nuevos que se quieran elegir, y no se
encuentran ya errores de ningn tipo.

Archivos. Conceptos. Clasificacin: De datos. De Programas. Etc.


Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Un archivo es una coleccin de informacin (datos relacionados entre s) localizada o


almacenada como alguna unidad en alguna parte de la computadora. Esta coleccin
de datos sirve para entrada y salida a la computadora y se manejan con un programa.
El tamao de esta coleccin no es fijo, y est limitado solo por la cantidad de memoria
secundaria (disco o cinta) disponible. Los archivos son dinmicos, no se requieren
tamaos predeterminados.
Cada archivo es referenciado por un indicador, su nombre.

Tipos de Archivos:
Los elementos de un archivo pueden ser de cualquier tipo, simple o estructurado,
excepto un tipo de archivo (file) o cualquier tipo estructurado con un componente tipo
archivo.
Los principales tipos de archivos son:
1. Archivo de Entrada: una coleccin de datos localizados en un dispositivo de
entrada.
2. Archivo de Salida: una coleccin de informacin visualizada por la computadora.
3. Archivo de Programa: un programa codificado en un lenguaje especfico y
localizado o almacenado en un dispositivo de almacenamiento.
4. Archivo de Texto: una coleccin de caracteres almacenados como una unidad en
un dispositivo de almacenamiento.

Tipos de accesos a un archivo:

Existen dos modalidades para acceder a un archivo de datos: acceso secuencial y


acceso directo o aleatorio.
El acceso secuencial exige el tratamiento elemento a elemento, es necesario una
exploracin secuencial comenzando desde el primer elemento. Dispone de sus
registros en orden, uno a continuacin de otros de forma en que fueron introducidos.
Los registros estn ordenados o en secuencia segn un campo especfico o clave.
Su lectura debe realizarse uno a uno, en el orden en que se encuentran dispuestos.
Para ubicar un registro en especial, es necesario recorrer al archivo desde el principio,
hasta el sitio en que se encuentre el registro deseado.
El acceso directo permite procesar o acceder a un elemento determinado referencia
directamente por su posicin en el soporte de almacenamiento. Se puede leer y
escribir en ellos de un modo aleatorio. Estos difieren de los archivos secuenciales en
que los tamaos o longitudes de los registros no veran en funcin de los tamaos de
los campos de cada registro.

Normas para el nombramiento de un archivo:

Son vlidas para los tres tipos de archivos: de programa, archivos de acceso directo,
y archivos secuenciales. El nombre de un archivo est compuesto bsicamente por: el
nombre real, ms una extensin, ms una palabra clave de los cuales nicamente el
nombre real es obligatorio y los dems opcionales.
El nombre real est compuesto por un mximo de ocho (8) caracteres, de los cuales
el primero debe ser una letra.
La extensin, si existe, debe estar unida al nombre y consiste de cuatro caracteres, de
los cuales el primero debe ser el punto y los tres ltimos deben ser nmeros o letras.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Puntero

a b c d e f

Elementos
(a)

acceso directo
ndice (posicin)

(b)
Acceso a un archivo: (a)Secuencial; (b)Directo.

Un archivo es un conjunto de registros que contienen informacin. Por ejemplo: se


desea generar un archivo de acceso directo que contenga la informacin de
NOMBRE, DIRECCION, TELEFONO, EMPRESA y PROFESION de cada uno de los
estudiantes. Se representa:

NOMBRE DIRECCION TELEFONO EMPRESA PROFESION


Estudiante1
Estudiante2
Etc.

Cada registro contendr informacin de cada estudiante. Al ser un archivo de acceso


directo, en cualquier momento puede consultar o modificar la informacin del
estudiante i-simo, sin necesidad para ello de pasar por los i-1 estudiantes anteriores.
Si el archivo fuese secuencial habra necesidad de pasar por todos ellos para llegar a
dicho estudiante.
Se compara muchas veces para un mejor entendimiento al archivo secuencial con un
casete y al archivo de acceso directo con un disco que sin la necesidad de escuchar
los temas anteriores podemos pasar automticamente al deseado en cambio en el
caso anterior no es posible.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

ARCHIVO:

NOMB DIREC TEL 2

1.- Estructura de registro: los nombres de las columnas.


2.- Campo de datos: cada elemento, celda.
3.- Archivo: todos los registros.
4.- Registro: todos los campos de datos que compongan a un mismo artculo.

Unidad N 2

Algoritmos Definicin

Un algoritmo es una serie de operaciones detalladas y no ambiguas, a ejecutar paso a


paso, y que conducen a la resolucin de un problema. En otras palabras, un algoritmo
es un conjunto de reglas para resolver una cierta clase de problema o una forma de
describir la solucin de un problema. Una receta de cocina para hacer "Cordero
Asado" es un algoritmo.

Caractersticas de los Algoritmos:

El nmero de operaciones que realiza un algoritmo (o programa) no se conocen de


antemano, aunque ser finito siempre que los datos sean adecuados. Por
consiguiente, el nmero de operaciones que es preciso realizar al ejecutar un
algoritmo depender de los datos del problema y solamente se conocer al ejecutar
ste.
Las caractersticas fundamentales de un algoritmo o proceso algortmico son:

a) Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.


b) Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
c) Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn
momento.
La definicin de un algoritmo debera describir tres partes: entrada, proceso y salida.
Un algoritmo implica alguna entrada (algo que existe y es utilizado por el algoritmo);
en un algoritmo de receta de cocina, la entrada son los ingredientes y los utensilios
empleados. Un algoritmo produce tambin resultados denominados salida. La salida
de la receta ser la terminacin del plato (cordero asado) Un algoritmo describe la
transformacin de la entrada en la salida.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Entrada Proceso Salida

Variables. Concepto.

Una variable es un objeto cuyo valor es variable; puede ser modificado durante la
ejecucin del programa. Adems de este valor toda variable posee dos atributos: un
nombre (invariable, denominado en ocasiones identificador) que sirve para designarla
y un tipo (invariable) que describe la posible utilizacin de la variable, la variable
puede tomar valores solo de ese tipo. Al definir una variable se ha de precisar su
nombre y su tipo. Dependiendo de los lenguajes las variables pueden ser: enteras,
reales, caracteres y lgicas.

Constantes.

Una constante es un objeto de valor invariable. Este no cambia durante el proceso, es


decir un elemento fijo de datos. Para expresar una constante se escribe
explcitamente su valor. Tipos de constantes: enteros, decimales, caracteres y
booleanos (lgicos).

Contadores.

Un contador es un campo de memoria que est destinado a contener los diferentes


valores que se van incrementando o decrementando en cada iteracin. El campo
contendr las sucesivas sumas parciales que se van realizando en la ejecucin de las
sucesivas repeticiones. El incremento en las sumas parciales es siempre constante,
pudiendo ser positivo o negativo. El contador se representar en un programa con
una variable.

Acumuladores.

Un acumulador o totalizador es un campo o zona de memoria cuya misin es


almacenar cantidades variables resultantes de sumas sucesivas. Realiza la funcin de
un contador con la diferencia que el incremento o decremento de cada suma es
variable en lugar de constante como en el caso del contador.

Definicin de un pseudolenguaje o pseudocdigo.

Otra herramienta muy til en el anlisis de programacin es el pseudocdigo. Pseudo


o Seudo, significa "falso", "imitacin" y cdigo se refiere a las instrucciones escritas en
un lenguaje de programacin; pseudocdigo no es realmente un cdigo sino una
imitacin y una versin abreviada de instrucciones reales para computadoras.
El pseudocdigo es una tcnica para expresar en lenguaje natural la lgica de un
programa, es decir, su flujo de control. No es un lenguaje de programacin sino un
modo de plantear un proceso de forma que su traduccin a un lenguaje de alto nivel
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

sea sencillo par un programador. La fase de confeccin de pseudocdigo es


inmediatamente anterior a su codificacin en el lenguaje de programacin elegido.

Tipos de Instrucciones:

Instrucciones en Archivos:
ABRIR Archivo
CERRAR Archivo
PROXIMO [Registro]
LEER [Registro]
UBICAR (n de registro)
GRABAR (campo, variable)
SIGUIENTE
EOF :Fin de archivo
TOPE: ubicar al inicio
ULTIMO: ubicar al final
AGREGAR: habilita reg. En blanco

Instrucciones Entrada / Salida:

Permite la transferencia de informacin desde los perifricos de entrada a la memoria


de la computadora y desde esta a un perifrico de salida.
Formato:
Funcin "Cadena de Caracteres"; Variable
INGRESAR [Leyenda]Variable
Ejemplo:
Ingresar " Ingrese su Nombre: "; Nom
Permite el ingreso de informacin desde el teclado en el momento de la ejecucin.

Formato:
Funcin "Cadena de Caracteres"; Variable
IMPRIMIR [Leyenda]Variable
Ejemplo:
Imprimir " Su Nombre es: "; Nom
Permite visualizar los datos en el momento de la ejecucin.

LIMPIAR
Permite limpiar la pantalla.

Instrucciones Asignacin/Movimiento:
Las instrucciones de asignacin permiten asignar valores o variables del programa.
A=5
El valor nmero cinco se le asigna a la variable A.
Las instrucciones de movimiento tienen el mismo sentido que las de asignacin y
permiten transferir la informacin o contenido de un campo o posicin de memoria a
otro, manteniendo siempre intacta la informacin en su primera posicin (emisor) y
variando el contenido de la segunda posicin (receptor).
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

M N
Mueve el contenido del campo M al campo N.

Instrucciones Repeticin:
HACER [Mientras] Condicin

[Hasta] Condicin
VOLVER

PARA VAR=A1 HASTA A3 DE A2


Instrucciones
FPARA

FOR Contador = Valor-Inicial TO Valor-Final [STEP incremento]


NEXT [Contador[,Contador]]
Permiten que una serie de instrucciones sean utilizada en forma cclica un
determinado nmero de veces.
El contador es una variable que permite controlar el nmero de ciclos que se han
ejecutado la serie de instrucciones.
El valor inicial es el valor que se le asigna en primera instancia el contador, es el valor
a partir del cual se inicia el control de nmero de ciclos.
El valor final es hasta el cual se permite que el conjunto de instrucciones que
conforman el cuerpo del FOR sea repetido.
El incremento es la cantidad en que se incrementa el contador cada vez que se lleva
a cabo un ciclo, esta parte de la instruccin es opcional, en caso de no especificar su
incremento asume el valor por defecto de uno.
El conjunto de instrucciones que se encuentran entre la instruccin FOR y la
instruccin NEXT conforman el cuerpo del FOR, este conjunto de instrucciones sern
ejecutadas reiterativamente mientras el valor del contador sea menor o igual al valor
de la cota superior. Una vez que el valor del contador sobrepase el valor de la cota
superior se pasa el control de la ejecucin a la instruccin que se encuentra a
continuacin de la instruccin NEXT.

Instrucciones Decisin:
SI Condicin ENTONCES
Instruccin A
SINO
Instruccin B
FIN SI

Instrucciones Seleccin:
SELECCIN Var
CASO VALOR Var1
Bloq. Ints. A
CASO VALOR Var2
Bloq. Ints. B
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

OTRO CASO
Bloq. Ints. C
FIN Seleccin

Instrucciones Lgicas, Aritmticas y Relacionales:

Una expresin es la combinacin de variables, constantes o valores simples por


medio de operadores. Los operadores se dividen tres categoras:

Operadores Aritmticos:
* Multiplicacin
/ Divisin
+ Suma
- Resta

Operadores Relacionales:
= igual que
> mayor que
< menor que
<> diferente de
<= menor o igual que
>= mayor o igual que
Este tipo de operadores son utilizados para comparar dos valores, su resultado ser
verdadero o falso.

Operadores Lgicos:
No =NOT
Y = AND
O = OR

Instrucciones de bifurcacin o transferencia de control:

Permite variar (romper) las secuencia de ejecucin de un programa al saltar (bifurcar)


a otra parte del mismo. Las instrucciones de este tipo se basan en una simple
comparacin o en los resultados de operaciones lgicas.
Las bifurcaciones producidas por las instrucciones de control pueden ser con salto
adelante en la secuencia normal del programa o con salto atrs. Los tipos de
bifurcaciones en cuanto a las condiciones a cumplir son: incondicionales y
condicionales; las bifurcaciones incondicionales se realizan siempre que se ejecuta la
instruccin, mientras que las bifurcaciones condicionales slo se realizarn al
cumplirse una determinada tarea.

Procedimientos

Un procedimiento es un subprograma que realiza una tarea especfica. Puede recibir


0 o ms valores del programa que llama y devolver 0 o ms valores a dicho programa
llamador.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Est compuesto de un grupo de sentencias a las que se asigna un nombre


(identificador) y constituye una unidad de programa. La tarea asignada al
procedimiento se ejecuta siempre que el programa que ejecute encuentre el nombre
del procedimiento.

Declaracin de un Procedimiento:
Se deben declarar dentro del cuerpo del programa. Esto indica a la PC cuales son
estas instrucciones y donde estn localizadas cuando sea necesario.

Llamada al Procedimiento:

Los procedimientos se llaman dentro de un programa o de otro procedimiento


directamente por su nombre.

Un Procedimiento consta de tres partes:

- Cabecera del procedimiento: proporciona el nombre del mismo y, caso de existir,


una lista de parmetros formales.
- Seccin de Declaracin: Puede contener constantes, variables e incluso otros
procedimientos.
- Seccin Ejecutable: El cuerpo del procedimiento.

Cuando se llama al procedimiento, se instruye a la computadora para ejecutar las


sentencias que constituyen el cuerpo del procedimiento.
Cuando el cuerpo del procedimiento se termina de ejecutar, se retorna al programa
principal y se ejecuta la sentencia inmediatamente a la siguiente que llam al
procedimiento.
Si hay varios procedimientos no importa el orden de escritura si no se invocan unos a
otros.
Un procedimiento es ms fcil de escribir y depurar, facilita el diseo descendente.

Diseo Descendente. Mdulos.

El sistema ms idneo para la resolucin de un problema es la descomposicin en


mdulos ms pequeos, que sern objeto de un estudio y desarrollo independiente
para posteriormente enlazar en un solo programa.
La modularizacin de un problema debe seguir un proceso arriba-abajo ("top-down"),
que consiste en abordar el problema a un nivel general y posteriormente hacer
sucesivas modularizaciones que realizarn tareas de mayor detalle. Las normas a
tener en cuenta es que el proceso de modularizacin incluir: descripcin de los
mdulos, relaciones entre ellos, entrada y salida a cada mdulo.
La metodologa de diseo descendente (top-down), conocida como arriba-abajo
consiste en establecer una serie de niveles de menor a mayor complejidad (arriba-
abajo) que den solucin al problema. Consiste en efectuar una relacin entre las
etapas de la estructuracin de forma que una etapa jerrquica y su inmediatamente
inferior se relacionen mediante entradas y salidas de informacin.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

La Programacin modular es un mtodo de diseo que tiende a dividir el problema, de


forma lgica, en partes perfectamente diferenciadas que pueden ser analizadas,
programadas y puestas a punto independientemente.
La divisin de un programa en mdulos o programas independientes exige otro
mdulo que controle y relacione a todos los dems, es el denominado mdulo base o
principal del problema.

Las ventajas:

a) Un programa modular es ms fcil escribir y depurar (ejecutar, probar y poner a


punto). Se puede profundizar en las pruebas parciales de cada mdulo mucho
ms de lo que se hace en un programa mayor.
b) Es ms fcil mantener y modificar.
c) Un programa modular es ms fcil de controlar. El desglose de un problema en
mdulos permite encomendar los mdulos ms complejos a los programadores
ms experimentados y los ms sencillos a los programadores ms noveles.
d) Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas.

Los inconvenientes se pueden resumir en:

a) No se dispone de algoritmos formales de modularidad, por lo que a veces los


programadores no tienen claras las ideas de los mdulos.
b) La programacin modular requiere ms memoria y tiempo de ejecucin.

Los objetivos son los siguientes:

a) Disminuir la complejidad.
b) Aumentar la claridad y fiabilidad.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

c) Disminuir el coste.
d) Aumentar el control del proyecto.
e) Facilitar la ampliacin del programa mediante nuevos mdulos.
f) Facilitar las modificaciones y correcciones al quedar automticamente localizadas
en un mdulo.

Un Mdulo est constituido 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:
- Un programa.
- Una funcin.
- Una subrutina (o procedimiento).

Los mdulos deben tener la mxima cohesin y el mnimo acoplamiento. Es decir,


tener la mxima independencia entre ellos.
La salida del mdulo debe ser funcin de la entrada pero no de ningn estado
interno.
En la creacin de un mdulo deben cumplirse tres aspectos bsicos: descripcin,
rendimiento y diseo.
En la descripcin se definen las funciones y objetivos del programa. Para obtener el
mximo rendimiento se ha de comprobar que el programa realice el proceso
aprovechando al mximo todos los recursos de los que dispone. En cuanto al diseo
se debe comprobar la estructura que sigue el mdulo as como la estructura de los
datos y la forma de comunicacin entre los diversos y diferentes mdulos.

Requisitos de la programacin modular:

- Establecimiento de un organigrama modular.


- Descripcin del mdulo principal.
- Descripcin de los mdulos bsicos o secundarios.
- Normas de la programacin.

El organigrama modular se realiza mediante bloques, en el que cada bloque


corresponde a un mdulo 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. Solo 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.
Los datos que forman parte de un programa modular se dividen en dos grandes
grupos:
- Variables internas o Locales: son utilizadas por un solo mdulo.
- Variables externas o Globales: Usadas por ms de un mdulo.
Los mdulos se comunican entre s por las variables externas.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Estructuras de Datos:

El programador para llegar a expresar la solucin de un problema debe expresarlo en


forma de un algoritmo; un algoritmo manipula datos y para que se pueda aplicar
correctamente necesita que esos datos estn relacionados (estructurados) de alguna
forma particular.
Estructura es la relacin que existe entre los distintos elementos de un grupo.
El programador deber analizar con mucho cuidado la estructura, almacenamiento y
recuperacin de los datos, comparndolos con la eficiencia del algoritmo elegido par a
su manipulacin.
Estas estructuras de datos se almacenarn en la memoria principal o interna o en los
soportes externos de almacenamiento de informacin.

Los Datos:

Los datos o informacin que manipula una computadora sern diferentes segn la
aplicacin en que se utilicen, y una de las caractersticas diferenciales de los
lenguajes de programacin es el tratamiento de los datos. La mayora de los
lenguajes estn diseados para manipular ciertos tipos de datos ms
adecuadamente.

Manipulacin de los Datos:

La clasificacin alfabtica por nombres de abonados de la gua telefnica es una


referencia fcil, pero no la nica. Existe otra clasificacin - tambin alfabtica - de
nombres de calles o distritos, y dentro de cada calle o distrito, listados alfabticos de
los suscriptores. Esta ultima gua o directorio se llama de dos niveles, debido a que
necesitamos aplicar nuestro proceso de bsqueda dos veces: una vez para encontrar
la calle o distrito y a continuacin nuevamente para encontrar el abonado. Existe un
tercer formato multinivel utilizado en las pginas amarillas. En esta gua, las entradas
se listan alfabticamente por actividades comerciales o profesionales y a continuacin
alfabticamente por abonado dentro de cada clase. Incluso se podra considerar un
tercer nivel, con un ndice alfabtico, que gue hacia la clasificacin correcta.
Existen casos en que el diseo de los datos tiene una estructura bsicamente de
rbol con un nmero de bifurcaciones, cada una de las cuales tiene a su vez una
estructura en rbol.
La clasificacin alfabtica de la gua telefnica permite que las entradas sean listadas
en una secuencia lgica. Las entradas en un rbol no pueden ser listadas en
secuencia adecuadamente - al menos sin destruir la estructura del rbol -.
En este caso, un diagrama o dibujo es un mejor medio de representacin de datos.
Un diagrama es tambin til para los datos que tienen estructura rectangular o
"tabular".
Un ejemplo tpico de estructura tabular es el caso de los cuadros o diagramas de
distancias tpicos de agendas, mapas, guas de carretera, etc., se pueden utilizar con
tablas de dos entradas. Las siguientes tablas de dos dimensiones y permite una fcil
lectura de arriba-abajo y de izquierda a derecha.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Tabla de dos entradas

En el cuadro anterior se muestra que:


A) Los nmeros de la diagonal son todos ceros (dado que la distancia de un lugar a s
mismo es cero).;
B) Los nmeros por debajo de la diagonal son iguales que sus simtricos del otro
lado de la diagonal central (ya que la distancia desde M a N e la misma que de N a
M).

Estructura de Datos

Una estructura de datos es una coleccin de elementos o tems de datos. El medio en


el que se relacionan unos elementos con otros determina el tipo de estructura de
datos. El valor de la estructura se determina por:

A) Los valores de los elementos.


B) La disposicin de los elementos.

En el caso de la gua telefnica, cada elemento de datos comprende en nombre,


direccin y un nmero de telfono (tal elemento se suele denominar registro o tomo).
Las estructuras de datos telefnicos son del mismo tipo, y se denominan ficheros
secuenciales.
Un elemento o tems de datos o simplemente un dato es una cantidad que toma un
nico elemento que puede cambiar de cuando en cuando (se denomina variable o
identificador). Los algoritmos de resolucin de problemas deben incluir reglas de
acceso a la estructura de datos. En el caso de la gua de telfonos tal regla puede ser
una descripcin al principio de la gua, del mtodo para buscar un nmero.
Normalmente la seleccin de una estructura de datos se har en funcin de su
contenido; tras la seleccin, se elegir la mejor disposicin de los datos y a
continuacin se colocan los valores en los datos. En consecuencia, los valores de los
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

datos pueden ser cambiados con relativa frecuencia, la disposicin de ellos se cambia
con menos frecuencia y la estructura de los datos se cambia raramente. Por ejemplo,
en una gua de telfono donde las entradas cambian anualmente (cambio de
direcciones de los abonados, altas, bajas, etc.), sin embargo, la disposicin alfabtica
no se suele variar.
En ocasiones un cambio en los valores de los datos produce un cambio en la
disposicin de los mismos.
Otro caso significativo, se produce cuando se modifica el tipo de estructura de datos,
permaneciendo constantes los valores de los datos; este es el caso de la gua
telefnica por direcciones.

Clasificacin de las Estructuras de datos:

Las estructuras de datos ms usuales son: cadenas, matrices, listas, tablas, rboles,
pilas, colas y ficheros.
Una de las primeras estructuras utilizadas y conocidas por los programadores son las
matriciales conocida por arrays o matrices (vectores - arrays unidimencionales -,
tablas o variables con subndices - arrays multidimencionales).
Las matrices se almacenan en un bloque de posiciones de memoria consecutivas.
Cada elemento de una matriz se puede recuperar o identificar por su direccin (valor
numrico nico.

0
1
2
.
.
.
.
65533
65534
65535
Direccin (valor numrico nico)

0 GARCIA
1 GOMEZ
2 LOPEZ
.
.
. .
. .
.
65533
65534
65535
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Contenido de cada posicin de memoria

Arreglos

Los arreglos son variables con un nmero finito y ordenado de posiciones en los
cuales se guardan contenidos o valores homogneos. Cada posicin del arreglo
puede referenciarse como una variable independiente, as:

VARIABLE [POSICION]

Por ejemplo si se quiere almacenar en la quinta posicin de un arreglo llamado


DATOS el nmero 10, la instruccin de asignacin es:

DATOS [5]=10 La posicin de un arreglo puede darse como una constante, una
variable o una expresin matemtica.
Al ser finito y ordenado, existe un lmite de posiciones en el arreglo y al ser ordenado,
las posiciones son consecutivas, primera, segunda,......, n-sima. El nmero de
posiciones que tiene un arreglo se denomina dimensin del arreglo. Un arreglo de
nmeros que puede almacenar diez de ellos como mximo, tiene dimensin diez.
Es muy importante distinguir perfectamente la diferencia entre el contenido del arreglo
y el ndice del mismo. El ndice permite llegar a cualquier elemento y el contenido es
el elemento en s.

Vectores

Matrices (Arrays)

Diagramacin Estructurada de Bloques: Diagrama de Nassi/Shneiderman


(N/S)
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Un diagrama N-S es como un diagrama de Flujo con flechas omitidas y cajas o bloque
contiguos. Las acciones sucesivas se escriben en cajas sucesivas. Como en un
diagrama de Flujo, diferentes acciones pueden ser escritas en una caja.
Este sistema permite tener una visin mucho ms estructurada de ellos y por
consiguiente mayor facilidad al traducirlos al lenguaje de una computadora.
Estos diagramas tratan de optimizar los programas, ya que permiten gran flexibilidad,
al permitir fciles correcciones, modificaciones o ampliaciones al diagrama original.
El diagrama se lee de arriba-abajo. Cada bloque ejecuta una operacin especfica que
se puede documentar o describir con la precisin que se desee.
Los diagramas de estructuras lgicas son las siguientes:

Secuenciales:

Accin A

Accin B
.
.
.
.
Accin B

Alternativa:

Seleccin Doble: Si la condicin es verdadera se ejecuta la accin 1 y si es falsa la


accin 2.

Condicin
Si No
If
Accin 1 Accin 2 Then
else

Simple: Si la condicin es verdadera se ejecuta la accin y si es falsa las acciones


siguientes.

Condicin
Si No
If
Accin 1.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Then

Seleccin Mltiple: Dependiendo del valor de la variable se ejecuta el proceso


especificado y en caso de que la variable no est en el rango 1 a n se ejecuta el
bucle z (vaco o no).

Ingresar OP
Caso OP
Case
.
1 2 otro c end-case
Accin1 Accin2 Accin3

Repetitivas:

While
While <exp lgica>
.
Accin .

End while
End while

Repeat Repeat
.
Accin .
Until
Until <Condicin>

Diagramas de Sistemas.

Los smbolos utilizados sirven para representar operaciones manuales y automticas


con los diferentes dispositivos del sistema informtico. Se denominan tambin
organigramas del sistema o de la mquina; no reflejan las grandes funciones que
debe desarrollar en forma automtica el sistema de proceso de datos, pero en
cambio, expresan de modo claro el nmero de dispositivos de entrada y salida que
deben estar disponibles para la ejecucin de cada programa.
Instituto Incorporado a la Enseanza Oficial por Disposicin Ministerial 0081/95
Planes de Estudios Aprobados por Resolucin Ministerial 1025/96

Proceso

Salida de Datos

Introduccin de Datos

Cinta Magntica (lectora o grabadora)

Disco Magntico (lectura o grabacin de un fichero soportado en


disco)

Almacenamiento de Datos en lnea (on-line)

Pantalla (salida de datos a travs de pantalla)

Direccin del Proceso o flujo de Datos

Ejemplo:

PROCESO SALIDA
ENTRADA

Bibliografa:

- Enciclopedia de la Micro Computacin Teora y Prctica. Compuclub e


Intermedio Editores. Bogot Colombia. 1991.
-