INTRODUCCION A LA PROGRAMACION
DANIEL ALEXIS RUEDA CALDERON INGENIERO DE SISTEMAS EN FORMACIÓN
LA COMPUTADORA
Una computadora es un sistema digital con tecnología microelectrónica capaz de procesar datos a partir de un grupo de instrucciones denominado programa para que los ejecute el procesador, siendo una máquina electrónica capaz de recibir, procesar y devolver
resultados en torno a determinados datos y que para realizar esta tarea cuenta con un medio de entrada y uno de salida. Por otro lado, que un sistema informático se compone de dos subsistemas que reciben los nombres de software y hardware.
Dispositivo de entrada: A través de ellos se ingresan los datos al sistema, estos son convertidos en señales eléctricas, que se envían a la memoria principal para ser procesados o para guardarlos permanentemente en un disco.
Memoria principal: Almacena datos programas instrucciones. Funciones, lectura y escritura. Conjunto de celdas numeradas que cuentan con 2 registros, registro de dirección y registro de intercambio.
CPU: Parte más importante del computador ya que la unidad de control y la unidad aritmético lógica en interacción con la memoria principal permite el procesamiento de los datos y el control de los demás dispositivos del sistema.
Dispositivo de salida: A través de ellos se muestran los resultados, del procesamiento de los datos: monitor, impresora, altavoces, memo. También son el medio por el cual el computador presenta información a los usuarios. Los más comunes son la pantalla y la impresora.
Memoria externa: También se la conoce como memoria auxiliar, ésta es la
encargada de brindar seguridad a la informaci贸n almacenada, por cuanto guarda los datos de manera permanente e independiente de que el computador est茅 en funcionamiento, a diferencia de la memoria interna que solo mantiene la informaci贸n mientras el equipo est茅 encendido.
ALGORITMO Conjunto de acciones o secuencias de operaciones ejecutadas en un determinado orden para resolver un problema.
ESTADO Es la observación de los elementos del sistema en un instante de tiempo dado. Hay tres tipos de estado: Estado inicial: Instante donde comienza la acción. Estado intermedio: Instante observado en cualquier momento entre el comienzo y la finalización de la acción. Estado Final: Instante observado donde finaliza la acción
ACCIÓN Acontecimiento producido por un actor en un tiempo finito que produce un resultado definido y preciso y además genera cierta transformación.
Existen diferentes tipos de acciones: Acción simple: Son las realizadas directamente. Acción compleja: No se pueden realizar directamente sino a través de una descomposición de acciones más simples.
CARACTERÍSTICAS DE LOS ALGORITMOS: Definido (confiable). Debe indicar un orden a seguir. Debe ser finito, terminar en un número finito de pasos. Nota: Algoritmo se trata de una herramienta capaz de resolver un problema. Todas las situaciones problemáticas pueden ser resueltas a través de algoritmos.
SOFTWARE El software es un ingrediente indispensable para el funcionamiento del computador. Está formado por una serie de instrucciones y datos, que permiten aprovechar todos los recursos que el computador tiene, de manera que pueda resolver gran cantidad de problemas. Un computador en sí, es sólo un conglomerado de componentes electrónicos; el software le da vida al computador.
Funciones del software: Administrar los recursos de computacionales. Proporcionar las herramientas para optimizar estos recursos. Actuar como intermediario entre el usuario y la información almacenada.
Programas de Software Conjunto de argumentos o instrucciones para la computadora, almacenado en la memoria primaria de la computadora junto
con los datos requeridos para ser ejecutado, en otras palabras hacer que las instrucciones sean realizadas por la computadora.
Tipos de Software Es un conjunto de programas que administran los recursos de la computadora. Ejemplos: Unidad central de proceso, dispositivos de comunicaciones y dispositivos periféricos, el software del sistema administra y controla al acceso del hardware.
Software de aplicaciones Programas que son escritos para o por los usuarios para realizar una tarea específica en la computadora. Ejemplo: software para procesar un texto, para generar una hoja de cálculo, el software de aplicación debe estar sobre el software del sistema para poder operar.
Software de usuario final Es el software que permite el desarrollo de algunas aplicaciones
directamente por los usuarios finales, el software del usuario final con frecuencia tiene que trabajar a través del software de aplicación y finalmente a través del software del sistema.
LENGUAJE DE PROGRAMACION Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc.. Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro. Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas. Los lenguajes de programación facilitan la tarea
de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar. Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leídos por una persona.
Los lenguajes de programación son independientes de las computadoras a utilizar. Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos. Hay lenguajes de programación que utilizan compilador.
La ejecución de un programa con compilador requiere de dos etapas: -Traducir el programa simbólico a código máquina -Ejecución y procesamiento de los datos.
Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas. El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente. La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones.
PROGRAMACION MODULAR Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas.
De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down.
LOS PROCEDIMIENTOS Un procedimiento es un subprograma que realiza una tarea específica. Para invocarlo, es decir, para hacer que se ejecute, basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal. Pero, hay que tener muy en cuenta que su declaración debe hacerse antes de que sea llamado por otro módulo.
Una vez que has construido varios programillas en Pascal, crear un procedimiento no es nada complicado, pues tiene prácticamente la misma estructura que un programa. Veamos las secciones que comparten y no comparten un procedimiento y un programa principal:
Mientras que en el programa la cabecera consta de la palabra reservada program seguida del nombre del programa, en un procedimiento se compone de la palabra procedure seguida del nombre del procedimiento y una lista deparámetros que es opcional.
Las secciones de declaración de constantes (const), de tipos (type) y de variables (var) también pueden aparecer en la estructura de cualquier procedimiento.
Respecto al cuerpo del procedimiento, decir que al igual que el de un programa se delimita por las palabras reservadas begin y end, y en su interior puede contener sentencias simples o estructuradas.
Por último, comentar que ambos difieren en el signo de puntuación que marca su final, ya que en un programa es el punto y en un procedimiento es el punto y coma.
Una variable local es una variable que está declarada dentro de un subprograma, y se dice que es local al subprograma. Y lo que la caracteriza es que su valor sólo está disponible mientras se ejecuta el subprograma. Dicho de otra manera, el programa principal no tiene conocimiento alguno de las variables locales de sus procedimientos y funciones.
Las variables declaradas en la sección correspondiente a esta labor en el programa principal se denominan variables globales. Y a diferencia de las locales, su valor está disponible tanto en el cuerpo del programa principal como en el de cualquiera de los subprogramas declarados.
PROGRAMACION ESTRUCTURADA
La programaci贸n estructurada se basa en una metodolog铆a de desarrollo de programas llamada refinamiento sucesivo: Se plantea una operaci贸n como un todo y se divide en segmentos m谩s sencillos o de menor complejidad. Una vez terminado todos los segmentos del programa, se procede a unificar las aplicaciones realizadas por el pool de programadores.
Si se ha utilizado adecuadamente la programación estructurada, esta integración debe ser sencilla y no presentar problemas al integrar la misma, y de presentar algún problema, será rápidamente detectable para su corrección. La representación grafica de la programación estructurada se realiza a través de diagramas de flujo o flow chart, el cual representa el programa con sus entradas, procesos y salidas.
La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e interacción.
Ellas están disponibles en todos los lenguajes modernos de programación imperativa en forma de sentencias. Combinando esquemas sencillos se pueden llegar a construir sistemas amplios y complejos pero de fácil entendimiento.
REPRESENTACIÓN GRAFICA DE UN ALGORITMO
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y
lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas.
El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles: Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos. Los algoritmos pueden ser creados de dos formas:
Seudocódigo. Es un conjunto pequeño y claro de instrucciones; en secuencia, que permite llevar a cabo una tarea.
Diagrama de flujo. Es la representación de la secuencia, a través de símbolos, de la tarea que se va a realizar.