Sei sulla pagina 1di 17

Facultad de Ciencia

Departamento de Matemtica y Ciencia de la Computacin.


Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
1

INDICE DE CONTENIDOS

1. Definicin de Software 2
2. Conceptos Generales 3
3. Tipos de Softwares 4
4. Sistema Operativo 6
a. Funciones Bsicas del S.O. 7
b. Carga Inicial 7
5. Traductores, Compiladores e Interpretes 8
6. Lenguajes 10
a. Lenguajes de Programacin 10
b. Caractersticas de la programacin 10
c. Generaciones de lenguajes 12
7. Programas 14
a. Programacin estructurada 14
b. Pasos en el Desarrollo de Programas 15
c. Errores en la programacin 16
8. Multiprogramacin Multitarea 16
9. Multiprocesamiento. 17



Coordinacin Computacin 2009

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
2

DEFINICIN DE SOFTWARE
Es el conjunto de los programas de cmputo, procedimientos, reglas,
documentacin y datos asociados que forman parte de las operaciones de un
sistema de computacin.
Bajo esta definicin, el concepto de software va ms all de los programas en
sus distintos estados: cdigo fuente, archivo binario o cdigo ejecutable
EL CDIGO FUENTE: es un conjunto de lneas de texto correspondiente a las
instrucciones que debe seguir el computador para ejecutar dicho programa. Por
tanto, en el cdigo fuente de un programa est descrito su funcionamiento. El
cdigo fuente de un programa est escrito por un programador en algn
lenguaje de programacin, pero en este primer estado no es ejecutable por la
computadora, sino que debe ser traducido a lenguaje mquina o cdigo objeto
que es la salida del proceso de compilacin y que s puede ser ejecutado por el
hardware de la computadora. Todos los programas fuente deben compilarse o
traducirse antes que el sistema los pueda ejecutar. Para esta traduccin se
usan los llamados compiladores, ensambladores, intrpretes y otros sistemas
de traduccin.
UN ARCHIVO BINARIO: Es un archivo informtico que contiene informacin de
cualquier tipo, codificada en forma binaria para el propsito de almacenamiento
y procesamiento en computadores, por ejemplo los archivos informticos que
almacenan texto formateado o fotografas, as como los archivos ejecutables
que contienen programas.
CDIGO EJECUTABLE: corresponde a las unidades de programas, donde el
ordenador puede realizar las instrucciones mediante el compilador
Generalmente se confunde con el cdigo objeto, ya que al leer su estructura se
comprende como smbolos. Pero en realidad, este cdigo se encuentra
empaquetado y listo para ser ejecutado en cualquier computador, vienen con la
extensin EXE o COM
El beneficio que esto trae es que al tener el cdigo ejecutable, podemos saber
que la compilacin fue realizada correctamente y que el programa, si no tiene
errores lgicos, arroja resultados correctos, ya que est libre de errores de
variables o signos.

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
3

CONCEPTOS GENERALES
ALGORITMO: Conjunto de procedimientos paso a paso para realizar una tarea.
La tarea del programador es convertir el algoritmo en un programa, aadiendo
detalles, superando los puntos difciles, probando los procedimientos y
corrigiendo los errores y eliminando la ambigedad, que es una de las
principales fuentes de errores en los computadores.

PROGRAMAS: conjuntos de instrucciones de computador diseados para
resolver problemas.
Confieren a la computadora capacidad para llevar a cabo las funciones
deseadas. Secuencia de instrucciones (enunciados) que se ejecutan una
despus de otra. Estas instrucciones pueden ser de:

ENTRADA/SALIDA: dirigen a la computadora para interactuar con un
perifrico.

PROCESO: permiten realizar las operaciones aritmticas.

CONTROL (DECISIN Y/O BIFURCACIN): pueden alterar la secuencia de la
ejecucin del programa o terminar la ejecucin. Hay dos tipos de
instrucciones de control:

de bifurcacin incondicional: interrumpen la secuencia
normal de la ejecucin, originando una subrutina.
de bifurcacin condicional: o enunciados SI (if); si se
cumplen ciertas condiciones se crea una ramificacin en cierta
parte del programa.

TRANSFERENCIA DE DATOS Y ASIGNACIN: permiten que se asigne a un
sitio determinado de la RAM una constante de cadena o valor literal.

FORMATO: se usan junto con las instrucciones de entrada o salida y
describen la manera en que se deben realizar la entrada y salida de
datos de la RAM.


El software alimenta a la memoria de la mquina a travs de dispositivos de
entrada; como el software se almacena en la memoria, el computador puede
pasar de una tarea a otra y luego regresar a la primera sin que sea necesario
modificar el hardware.


Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
4

TIPOS DE SOFTWARE
1. SOFTWARE DE TRADUCCIN: permiten escribir programas en lenguajes
parecidos al ingls y traducirlos al lenguaje de mquina.

2. SOFTWARE DE USO GENERAL: Ofrece la estructura para un gran nmero de
aplicaciones empresariales, cientficas y personales. La mayora del
software de este tipo se vende como paquete, es decir, con software y
documentacin orientada al usuario. La creacin de la aplicacin depende
del usuario, del uso que le d.

3. SOFTWARE DE APLICACIN: Aquel que permite a los usuarios llevar a cabo
una o varias tareas especficas, en cualquier campo de actividad
susceptible de ser automatizado o asistido, con especial nfasis en los
negocios.

El software de aplicacin puede ser:
1. A MEDIDA: Ofrece la oportunidad al usuario de personalizar el
sistema de aplicacin segn sus necesidades; es decir que estn
diseados considerando las particularidades que esa aplicacin tiene
para el usuario. Tericamente, un sistema de este tipo debiera
satisfacer plenamente las necesidades del usuario. La
personalizacin tiene un lmite, dado por el hardware y el software
del sistema que ser utilizado.
2. PREPLANEADO: Es concebido en forma estndar, sin tener en
consideracin a usuarios en particular. Desde el punto de vista de
los requerimientos de una aplicacin especfica de un usuario
determinado, podran resultar menos flexibles que los desarrollados a
medida, debido a que no tienen elementos que permitan personalizar
la aplicacin. Pero desde el punto de vista de los requerimientos
generales de aplicacin considerada en s misma, son sistemas
mucho ms flexibles.

El elemento determinante en la eleccin ser, casi seguramente, el
factor econmico. El sistema preplaneado es ms barato ya que el
costo de desarrollo se amortiza entre todos los usuarios que
adquieran el paquete. Pero para evaluar la magnitud del ahorro debe
examinarse si, en relacin con los requerimientos del usuario, lo que
ofrece el sistema preplaneado:

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
5

Coincide plenamente: el ahorro econmico es real.
Excede los requerimientos del usuario: la situacin
resultara costosa, ya que se estara pagando por elementos y
funciones que no se utilizarn (siempre y cuando el costo de los
mismos fuera significativo frente a lo que resulta til del paquete).
Satisface parcialmente o en forma diferente a lo que es la
prctica usual en la organizacin: el ahorro es absorbido por el
costo, implcito, de adaptar la organizacin a los requerimientos del
sistema, en lugar de que el sistema satisfaga los requerimientos de la
organizacin.
Otra forma de clasificarlos en este mismo sentido, sera:
1. ELABORACIN PROPIA: Diseo y programa realizado por personal de
la organizacin. Para determinar si esta estrategia es la mejor se
deben evaluar los siguientes factores:
Tiene la organizacin suficiente personal capacitado
para desarrollar programas propios?
Permite el programa de desarrollo terminar el proyecto
en un plazo aceptable?
Es el costo de esta alternativa una buena inversin
comparada con otras alternativas?
Se podra adquirir de otras maneras el programa
necesario?

2. PAQUETES COMPRADOS: Programa o conjunto de programas ya
escritos, diseados para ejecutar tareas ESPECFICAS. Las preguntas
clave son:
Tiene el paquete las caractersticas adecuadas a un
costo razonable?
Es aceptable el costo en relacin con el costo de
desarrollo convencional o propio?
Es suficiente el nmero de usuarios de ese programa
para garantizar que quienes lo elaboran respaldaran el
paquete despus de comprado?

3. ELABORACIN POR CONTRATO: Es una alternativa conveniente en las
siguientes condiciones:
La organizacin carece de personal tcnico para
producir el programa deseado.
No hay paquetes generalizados adecuados para el
trabajo.
El costo de esta alternativa no es prohibitivo.

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
6

Se pueden hacer arreglos convenientes para el
mantenimiento (cambios, correcciones y mejoras) del
software despus de que haya sido entregado.

SOFTWARE DE SISTEMA: Su objetivo es desvincular al usuario y al programador
de los detalles del computador aislndolo del procesamiento referido a las
caractersticas internas de: memoria, discos, y dispositivos de comunicaciones,
como impresoras, pantallas, teclados, etc. El software de sistema le entrega al
usuario y al programador interfaces de alto nivel, herramientas y utilidades de
apoyo que permiten su mantenimiento.
Incluye entre otros:
o Sistemas operativos
o Controladores de dispositivo
o Herramientas de diagnstico
o Herramientas de Correccin y Optimizacin
o Servidores
o Utilidades

SISTEMA OPERATIVO
El sistema operativo supervisa y controla todas las actividades de
entrada/salida y procesamiento de un sistema de computacin. Todo el
hardware y el software se controlan por medio del sistema operativo.

El sistema operativo distribuye y controla (es decir administra) recursos
limitados del equipo de cmputo. Los programas que constituyen el sistema
operativo son desarrollados generalmente por los fabricantes de computadoras
y proporcionados a los compradores. Estn diseados para hacer el mejor uso
de los componentes de cada sistema de computacin.

El conjunto de programas de control del sistema operativo trabaja en forma
conjunta y est diseado para maximizar la eficacia total del sistema de
cmputo. Este sistema supervisa todas las actividades, recabando programas
especiales de sistema cuando sea necesario, asignando recursos del sistema y
programando los trabajos de tareas para la operacin continua del sistema.

Los componentes del sistema operativos son de 2 tipos:

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
7

Residentes: tambin llamados supervisores. Son componentes que residen
permanentemente en la memoria central durante todo el procesamiento.
Transientes: residen slo cuando se los necesita, estando almacenados en
perifricos cuando no estn en la memoria central.

FUNCIONES BSICAS DEL SISTEMA OPERATIVO
1) Proveer servicios para la ejecucin y desarrollo de los programas de
aplicacin: administrar los recursos en proceso, obtener automticamente
la rutina apropiada y mantener la operacin del computador, sin necesidad
de intervencin manual.
2) Actuar como entorno de la aplicacin en la cual el programa es
ejecutado: Supervisar mediante un conjunto de rutinas las operaciones del
computador, controlar el desarrollo de las operaciones internas de la CPU,
dirigir el desenvolvimiento de las operaciones de entrada/salida.
CARGA INICIAL DEL SISTEMA OPERATIVO
La BIOS (Basic Input Output System) es la encargada de cargar el sistema
operativo en memoria. Normalmente (para el caso de Windows) la carga del
S.O. es totalmente automtica y transparente para el usuario, en otros casos
(unix, Linux y otros), el usuario es responsable de definir ciertas variables del
mismo. El S.O., al inicio no se carga completamente en memoria, solo
programas residentes conocidos como SUPERVISOR.

Hay un primer programa especial (stand-alone), llamado IPL o BOOT, que
forma parte del S.O., cuya nica misin es traer a memoria al segundo y
principal programa, el residente. Este programa puede ser llamado pulsando
una tecla; una vez que se encuentra en memoria, se comienza a ejecutar
cumpliendo una serie de tareas que difieren de acuerdo al computador, entre
ellas:
permitir la ejecucin de programas stand-alone (todava no se ha
cargado el supervisor);
recibir la configuracin del equipo y la asignacin de memoria a las
particiones; puede obtener estos datos:
por parte del operador; o
directamente de un archivo creado al efecto por un programa
stand-alone (utilitario configurado).

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
8


Finalmente, solicitar al operador el dispositivo donde deber buscar al
residente para traerlo a memoria. Una vez cargado el residente en memoria,
este programa desaparece. Por tanto el IPL o BOOT es un programa transiente
del sistema operativo.
SOFTWARE DE PROGRAMACIN: Es el conjunto de herramientas que permiten al
programador desarrollar programas informticos, usando diferentes alternativas
y lenguajes de programacin, de una manera prctica. Incluye entre otros:
o Editores de texto
o Compiladores
o Intrpretes
o Enlazadores
o Depuradores
o Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores
herramientas, usualmente en un entorno visual, de forma que el
programador no necesite introducir mltiples comandos para
compilar, interpretar, depurar, etc.
TRADUCTORES, COMPILADORES E INTRPRETES
Los traductores son programas elaborados que convierten los programas
escritos en un lenguaje de programacin en lenguaje de mquina. Los
programas de traduccin pueden ser:

1. Compiladores: El programa compilador traduce las instrucciones en un
lenguaje de alto nivel a instrucciones que la computadora puede
interpretar y ejecutar. Para cada lenguaje de programacin se requiere
un compilador diferente. El compilador traduce todo el programa antes
de ejecutarlo.
Los compiladores son, programas de traduccin insertados en la
memoria por el sistema operativo para convertir programas de cmputo
en pulsaciones electrnicas ejecutables (lenguaje de mquina). Los
compiladores pueden ser de:
una sola pasada: examina el cdigo fuente una vez,
generando el cdigo o programa objeto.
pasadas mltiples: requieren pasos intermedios para
producir un cdigo en otro lenguaje, y una pasada final
para producir y optimizar el cdigo producido durante los
pasos anteriores.

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
9

Tambin hay compiladores incrementales que generan un cdigo objeto
instruccin por instruccin (en vez de hacerlo para todo el programa)
cuando el usuario teclea cada orden individual. El otro tipo de
compiladores requiere que todos los enunciados o instrucciones se
compilen conjuntamente.
El proceso de compilacin puede requerir tiempo, sobre todo para los
programas grandes, pero los programas compilados tienden a ejecutarse
con mayor rapidez que los programas interpretados. La recompilacin
slo es necesaria cuando se modifica el programa.

2. Intrpretes: Es un programa que desempea la misma funcin que un
compilador, pero en forma diferente. En lugar de traducir todo el
programa fuente en un solo paso, traduce y ejecuta cada instruccin del
programa fuente antes de traducir y ejecutar la siguiente.
La ventaja es que un error en la sintaxis salta inmediatamente a la
vista del programador.
La desventaja es que no produce un programa objeto, por lo que debe
realizar el proceso de traduccin cada vez que se ejecuta el programa.

Software multiuso: Los paquetes de software integrado cuentan con varias
aplicaciones diseadas para trabajar en conjunto; estos paquetes suelen incluir
como mnimo, 5 tipos de aplicaciones: procesador de textos, base de datos,
planilla de clculo, grficos y telecomunicaciones. Los paquetes integrados
ofrecen varias ventajas:
Su precio es menor que el costo total de la compra de los
programas individuales.
Dan una apariencia similar a todas sus aplicaciones, de
modo que los usuarios no tienen que memorizar diferentes
rdenes y tcnicas para efectuar tareas diferentes.
Permiten transferir datos entre las aplicaciones con rapidez
y facilidad.
Software vertical: Aplicaciones diseadas especficamente para una empresa
o industria particular. Son mucho ms costosas que las aplicaciones de
mercado masivo.

Software a medida: Es el que se programa especficamente para
determinados clientes.

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
10

LENGUAJES
Los lenguajes naturales son aquellos con los cuales hablamos y escribimos
en nuestras actividades cotidianas. Los lenguajes de programacin ocupan
una posicin intermedia entre los lenguajes naturales y los lenguajes de
mquina.

Gracias a la progresiva complejidad de los lenguajes traductores que permiten
convertir las instrucciones de un lenguaje de programacin al lenguaje de
mquina, la programacin puede usar lenguajes de computacin que se
parecen cada vez ms a los lenguajes naturales.

Tambin se habla de lenguajes naturales para referirse al software que
permite que los sistemas de computacin acepten, interpreten y ejecuten
instrucciones en el lenguaje materno o natural que habla el usuario final, por
lo general el ingls. La mayor parte de los lenguajes naturales comerciales
estn diseados para ofrecer a los usuarios un medio de comunicarse con una
base de datos corporativa o con un sistema experto.
LENGUAJES DE PROGRAMACIN
Un lenguaje de programacin consiste en un conjunto de rdenes o comandos
que describen el proceso deseado. Cada lenguaje tiene sus instrucciones y
enunciados verbales propios, que se combinan para formar los programas de
cmputo.
Los lenguajes de programacin no son aplicaciones, sino herramientas que
permiten construir y adecuar aplicaciones.
CARACTERSTICAS DE LA PROGRAMACIN
Un programa til tiene 5 atributos:
1) Exactitud y precisin: Un programa debe aceptar datos, procesarlos y
generar resultados sin errores de sintaxis o de lgica; de ah la necesidad
de exactitud y precisin.

2) Integridad o completitud: Un programa es completo slo si ejecuta todas
las operaciones que el usuario espera al procesar un conjunto de datos.

3) Generalidad: La generalidad se entiende en dos sentidos:

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
11

Un programa bien diseado se puede generalizar; es decir puede
procesar conjuntos de datos que varan en el nmero de
transacciones y en la naturaleza de los datos mismos. Las
instrucciones se deben elaborar para que no se limiten a un
nmero especfico de transacciones en el conjunto de datos. No
debe suponerse que una parte especfica de datos siempre sea
de igual tamao.
El programa contiene diferentes opciones que pueden o no ser
aplicadas durante una corrida. Los usuarios pueden seleccionar la
opcin adecuada cada vez.

4) Eficiencia: Debe asegurarse que las instrucciones para procesar datos se
seleccionen tan rpida y fcilmente como sea posible. La rapidez y la
eficiencia del procesamiento de datos puede variar debido a:
modo como se introducen los datos,
orden en que se procesan los datos,
instrucciones particulares que se empleen para controlar el
proceso,
etc.

5) Documentacin: Consiste en la inclusin de auxiliares que explican con
claridad como ocurre el procesamiento de los datos en un programa. La
documentacin incluida en un programa es de dos tipos:
externa: No est incluida en el programa mismo sino que va por
separado. Comprende:
diagrama de flujo que muestre los pasos y los
procedimientos y el orden en el cual tienen lugar;
explicacin que describa en el lenguaje comn
cmo es el procesamiento de los datos;
descripcin de los datos que van a introducirse y
procesarse, incluyendo su tipo y tamao.

interna: Consiste en comentarios y descripciones que se insertan
entre los enunciados ejecutables de un programa. Explica la
sucesin de los pasos del procesamiento y los objetivos de los
diferentes grupo de enunciados del programa

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
12

GENERACIONES DE LENGUAJES DE PROGRAMACIN
Los lenguajes de programacin se dividen en 2 categoras fundamentales:
BAJO NIVEL: Son dependientes de la mquina, estn diseados para
ejecutarse en una determinada computadora. A esta categora pertenecen
las 2 primeras generaciones.
ALTO NIVEL: Son independientes de la mquina y se pueden utilizar en una
variedad de computadoras. Pertenecen a esta categora la tercera y la
cuarta generacin. Los lenguajes de ms alto nivel no ofrecen
necesariamente mayores capacidades de programacin, pero si ofrecen
una interaccin programador/computadora ms avanzada. Cuanto ms alto
es el nivel del lenguaje, ms sencillo es comprenderlo y utilizarlo.

Cada generacin de lenguajes es ms fcil de usar y ms parecida a un
lenguaje natural que su predecesores. Los lenguajes posteriores a la cuarta
generacin se conocen como lenguajes de muy alto nivel. Son lenguajes de
muy alto nivel los generadores de aplicaciones y los naturales.

En cada nuevo nivel se requieren menos instrucciones para indicar a la
computadora que efecte una tarea particular. Pero los lenguajes de alto nivel
son slo una ayuda para el programador. Un mayor nivel significa que son
necesarios menos comandos, debido a que cada comando de alto nivel
reemplaza muchas instrucciones de nivel inferior.

1) Primera - Lenguaje de mquina: Empieza en los aos 1940-1950.
Consista en sucesiones de dgitos binarios. Todas las instrucciones y
mandatos se escriban valindose de cadenas de estos dgitos. An en la
actualidad, es el nico lenguaje interno que entiende la computadora; los
programas se escriben en lenguajes de mayor nivel y se traducen a
lenguaje de mquina.

2) Segunda Lenguajes ensambladores: Fines de los 50. Se diferencian de
los lenguajes de mquina en que en lugar de usar cdigos binarios, las
instrucciones se representan con smbolos fciles de reconocer, conocidos
como mnemotcnicos. An se utilizan estos lenguajes cuando interesa un
nivel mximo de eficiencia en la ejecucin o cuando se requieren
manipulaciones intrincadas. Al igual que los lenguajes de la mquina, los

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
13

lenguajes ensambladores son nicos para una computadora particular. Esta
dependencia de la computadora los hace ser lenguajes de bajo nivel.

3) Tercera: aos 60. Los lenguajes de esta generacin se dividen en tres
categoras, segn se orienten a:
Procedimientos: Requieren que la codificacin de las
instrucciones se haga en la secuencia en que se deben ejecutar
para solucionar el problema. A su vez se clasifican en cientficos
(p.ej.: FORTRAN), empresariales (v.g.: COBOL), y de uso general
o mltiple (p.ej.: BASIC). Todos estos lenguajes permiten sealar
cmo se debe efectuar una tarea a un nivel mayor que en los
lenguajes ensambladores. Hacen nfasis los procedimientos o las
matemticas implcitas, es decir en lo que se hace (la accin).

Problemas: Estn diseados para resolver un conjunto particular
de problemas y no requieren el detalle de la programacin que los
lenguajes orientados a procedimientos. Hacen hincapi en la
entrada y la salida deseadas.

Objetos: El nfasis se hace en el objeto de la accin. Los
beneficios que aportan estos lenguajes incluyen una mayor
productividad del programador y claridad de la lgica, adems de
ofrecer la flexibilidad necesaria para manejar problemas
abstractos de programacin.


4) Cuarta: su caracterstica distintiva es el nfasis en especificar qu es lo que
se debe hacer, en vez de cmo ejecutar una tarea. Las especificaciones de
los programas se desarrollan a un ms alto nivel que en los lenguajes de la
generacin anterior. La caracterstica distintiva es ajena a los
procedimientos, el programador no tiene que especificar cada paso para
terminar una tarea o procesamiento. Las caractersticas generales de los
lenguajes de cuarta generacin son:
Uso de frases y oraciones parecidas al ingls para emitir instrucciones;
no operan por procedimientos, por lo que permiten a los usuarios
centrarse en lo que hay que hacer no en cmo hacerlo;
Al hacerse cargo de muchos de los detalles de cmo hacer las cosas,
incrementan la productividad.


Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
14

Hay dos tipos de lenguajes de cuarta generacin, segn se orienten:
A la produccin: Diseados sobre todo para profesionales en la
computacin.
Al usuario: Diseados para usuarios finales, que pueden escribir
programas para hacer consultas en una base de datos y para
crear sistemas de informacin. Tambin se llama lenguaje de
consultas (SQL, Structured Query Language: lenguaje
estructurado para consultas).
PROGRAMAS
Los programas de computacin son conjuntos o estructuras de instrucciones u
rdenes codificados que hacen que la computadora efecte una serie de
operaciones para alcanzar un propsito especfico.

Se llama programa a los conjuntos o series de instrucciones, lenguaje y
mtodos que hacen posible que una persona utilice un computador. En sentido
general el programa es un conjunto de rdenes o mandatos puestos para
controlar la operacin de un sistema de cmputo (computador) para efectuar el
clculo y el procesamiento de datos. El objetivo primario es controlar todas las
actividades de procesamiento de datos y cerciorarse que los recursos y la
capacidad de la computadora sean aprovechados de la manera ms eficaz.
PROGRAMACIN ESTRUCTURADA
En esta programacin se maneja en forma jerrquica la lgica del programa en
mdulos lgicos. Al final se traduce la lgica de cada mdulo a una secuencia
de instrucciones del programa que se pueden ejecutar de manera
independiente. El planteamiento estructurado reduce la complejidad de la tarea
de programacin.

La programacin estructurada es una tcnica para hacer ms simple y
productiva la programacin. Un programa estructurado no depende de
enunciados GoTo (enunciado utilizado para transferir el control a otras partes
del programa) para controlar el flujo lgico, sino que se construye a partir de
programas ms pequeos llamados mdulos o subprogramas, que a su vez
se componen de mdulos ms pequeos. Lo que se hace es combinar los
mdulos usando las 3 estructuras de control bsicas: secuencia, repeticin y
seleccin.

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
15


Un programa est bien estructurado si:
est formado por mdulos lgicamente coherentes;
los mdulos estn dispuestos en una jerarqua; y
es directo y legible.
PASOS EN EL DESARROLLO DE PROGRAMAS
1) Descripcin del problema: Identificacin precisa de las necesidades a
satisfacer.

2) Anlisis del problema: Divisin del problema en sus componentes bsicos.
Para la mayora de los programas estos componentes son:
salida
entrada
procesamiento e interaccin de archivos

3) Diseo de la lgica general del programa: Un programa se disea
jerrquicamente, yendo de los aspectos generales a los aspectos
especficos. El diseo general se orienta a las principales actividades de
procesamiento y a las relaciones entre stas. Al completar primero un
diseo general se pueden investigar distintas alternativas de diseo; luego
de elegida la mejor se avanza a un diseo ms detallado.

4) Diseo de la lgica detallada del programa: Se produce una
representacin grfica de la lgica del programa que incluye todas las
actividades de procesamiento y sus relaciones, clculos, manejos de datos,
operaciones lgicas y todas las operaciones de entrada/salida.

5) Codificacin: Se traduce el diseo grfico y narrativo de los pasos
anteriores a instrucciones o programas que la mquina puede leer.

6) Prueba y depuracin: Bsqueda y eliminacin de errores de sintaxis y de
lgica.
7) Documentacin: Para responder a las necesidades a pesar los cambios
los programas deben actualizarse peridicamente o mantenerse. El
mantenimiento se dificulta si la documentacin no est completa y
actualizada. La documentacin forma parte del proceso de programacin.

Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
16

No es algo que se lleve a cabo cuando el programa est escrito. Como
mnimo la documentacin de cada programa debe incluir:
descripcin del programa;
grfica estructural;
diagrama de flujo;
listado del programa (con comentarios internos)
una sesin interactiva (entrada/salida cuando se
ejecuta el programa)
ERRORES EN LA PROGRAMACIN
de sintaxis: Violaciones de las reglas gramaticales del lenguaje de
programacin para la escritura de instrucciones. Ejemplos:
Inclusin de smbolos o caracteres que no estn permitidos.
Omisin de la referencia de los datos por leer o escribir (se
tiene que indicar a la CPU qu debe leer o escribir).
Escritura errnea de una orden.

de lgica: Consisten en el uso inadecuado de instrucciones que son
correctas en sintaxis; son errores en la estructura lgica que ocasionan
diferencian entre lo que se quiere que haga el programa y lo que hace en
realidad.
MULTIPROGRAMACIN O MULTITAREA
Es la ejecucin concurrente de ms de un programa a la vez. En realidad, una
computadora slo puede ejecutar un programa a la vez, pero la velocidad de su
procesamiento interno es tan rpida que se pueden distribuir por turno
porciones del tiempo de la computadora entre varios programas. Esto hace
que parezca que se ejecutan varios programas a la vez. Cuando un trabajo
necesita un proceso de entrada/salida, otro puede iniciarse (o continuar) su
realizacin; dos o ms programas independientes se ejecutan durante el mismo
lapso al intercalar su ejecucin.

La ventaja es que se puede intensificar el rendimiento total del sistema. Es
posible aprovechar la gran velocidad de la unidad central y evitar los retrasos al
esperar las operaciones de entrada/salida.


Facultad de Ciencia
Departamento de Matemtica y Ciencia de la Computacin.
Coordinacin de Computacin para la Facultad Tecnolgica.


1/09
17

El control de la ejecucin de la intercalacin o empalme lo realiza el S.O. (si
prev esta modalidad de trabajo). Es decir que por medio de la
multiprogramacin se efecta la administracin en paralelo de dos o ms
programas que residen simultneamente en la memoria del computador.
Caractersticas de la multiprogramacin
1) Intercalacin: Ms de un programa se encuentra carga en el computador
en condiciones de ejecutarse, ejecutndose o demorados. Pero todos ellos
compartiendo tiempo de procesador y asignaciones de memoria.

2) Instantaneidad: Se simula trabajar como si existiera un solo programa
cargado, de ejecucin instantnea.

3) Independencia: Se trata de distintos programas, con distintas asignaciones
de memoria y de dispositivos de entrada/salida.
MULTIPROCESAMIENTO
Implica simultaneidad en vez de concurrencia. Dos o ms procesadores
centrales del mismo tipo trabajan paralelamente; es decir que dos o ms
programas pueden ejecutarse en el mismo momento porque existen dos o ms
CPU que comparten una memoria central comn.

El nombre dado a un sistema de multiprocesamiento con diferentes
procesadores es sistema de procesamiento multicomputarizado.

Un trabajo real en paralelo y una ejecucin simultnea obliga a aplicar ms de
un procesador. El problema consiste en asignar una cantidad de procesadores
n a una cantidad de programas m, donde generalmente n<m, pero sabiendo
que n>1.

Cuando un programa termina o se detiene, uno de los procesadores asociados
queda disponible y la lista de programas se podr rastrear para asignar
procesador a otro programa.
2009.

Potrebbero piacerti anche