Conceptos básicos sobre programación
De Wiki Alfonso Morcuende
Contenido |
Periféricos
Un ordenador sólo es capaz de ejecutar órdenes y de realizar operaciones tan básicas como:
- Sumar, restar, multiplicar y dividir valores numéricos
- Comparar valores numéricos o alfanuméricos
- Almacenar o recuperar información
Siempre existirá una estecha dependencia de la máquina con el hombre, es el hombre quien marca pautas para su correcto funcionamiento a través de la lógica y el razonamiento.
Un ordenador solo es capaz de aceptar datos de entrada, procesarlos y facilitar datos o resultados de salida.
1.1.1 Periféricos de entrada
Son aquellos que puede suministrar o introducir órdenes a un sistema u ordenador desde el mundo exterior.
Ejm. de periféricos de entrada: Teclado, ratón, el lector de códigos de barras, el escáner óptico.
1.1.2 Periféricos de entrada y salida
Son aquellos capaces tanto de introducir como de extraer información de la unidad central del ordenador.
Ejm. de periféricos de entrada y salida: Disco duro, disquete, CD-ROM, un DVD.
1.1.3 Periféricos de Comunicación con otro sistema físico u ordenador
Son aquellos encargados de establecer y facilitar el trasiego o intercambio de información entre dos o más ordenadores o bien entre un ordenador y otro sistema físico
Ejm. de periféricos de estos periféricos: Modem encargado de convertir señales digitales en señales análogas y viceversa, con el fin de facilitar el trasiego de información.
Conceptos y definiciones
Datos
Las unidades de tratamiento dentro de un sistema de proceso de datos. Los datos pueden ser de dos tipos, datos de entrada, que son los datos pendientes de procesar o elaborar y datos de salida, son aquellos resultados obtenidos de una vez elaborados los datos iniciales. Al conjunto de datos se le denomina información.
Programas
Son conjuntos de ordenes (instrucciones y sentencias) diseñados y creados a través del razonamiento lógico y almacenados en ficheros de texto repetando la sintáxis de un determinado lenguaje.
Aplicación informática
Es la unión o conjunto de uno o más programas enlazados o relacionados entre sí.
Sistema
Conjunto de elementos relacionados entre si para la consecución de un determinado fin.
Sistema Informático
Es un conjunto de elementos que permiten procesar información por medio de equipos informáticos y cuya finalidad es obtener nueva información a partir de la ya existente y no elaborada. Todo sistema informático queda dividido en cuatro capas:
- El hardware
- El sistema operativo
- Programas de aplicación
- RR.HH que son aquellas personas encargadas del desarrollo, implantación, explotación y mantenimiento de un sistema infromático
El hardware
La parte física de un sistema informático, por ejemplo un disco duro. Los principales elementos que constituyen el Hardware son:
Unidad Central de Proceso Es el cerebro de la máquina y encargado de controlar, coordinar y realizar todas las operaciones de un sistema informático.
Cuando hablamos de un microprocesador hablamos de dos elementos principales:
- Unidad de control CU: Es la parte encargada el estado de cada uno de los elementos conectados al ordenador y gobernar las unidades de entrada, salida, además de interpretar y ejecutar las instrucciones.
- Unidad aritmético lógica ALU Es la parte encargada de realizar las operaciones de tipo aritmético y de tipo lógico.
Memoria
Se pueden diferenciar claramente dos tipos de memoria:
- Memoria Central: Es la zona del sistema dónde se almacenan los programas que se ponen en ejecución junto con los datos que queremos procesar. La información almacenada aquí tiene un periodo de vida limitado, una vez que el ordenador se apaga, la información se pierde.
- Memoria Auxiliar Los datos y programas se pueden quedar almacenados en este tipo de memoria de forma permanente.
Software
Es la parte lógica de un sistema infromático, es decir, la parte que hace funcionar al conjunto de elementos, permitiendo y coordinando cada uno de los componentes físicos.
¿Qué es un sistema operativo?
Es un conjunto de programas básicos encargados de hacer posible el manejo del ordenador y la utilización de programas de aplicación, actuando como intermediario entre el usuario y el sistema.
La misión de un sistema operativo es la de controlar el flujo de información entre dispositivos y facilitar la interactividad del usuario con la máquina.
Tipos de sistemas operativos
Atendiendo al número de usuarios que pueden ser atendidos simultáneamente, el número de tareas o programas que se pueden ejecutar al mismo tiempo, el número de procesadores soportados y el tiempo de respuesta, los OS se pueden clasificar en:
Sistemas monoprogramados
Permiten la ejecución de un solo programa cada vez, por lo que no permitirá la ejecución de otro hasta que no finaliza el anterior.
Sistemas multiprogramados
También sistemas multitarea. Son sistemas que aprovechan los tiempos de inactividad o tiempos muertos de la CPU permitiendo la ejecución de varios programas simultaneamente.
Sistemas multiproceso
OS capaces de funcionar bajo ordenadores cuya arquitectura soporta dos procesadores.
Sistemas de tiempo compartido
Peermiten la ejecución simultanea de varios programas junto con la interactividad del usuario, pudiendo realizar este peticiones que serán atendidas inmediatamente.
Sistemas de tiempo real
El tiempo de respuesta es el periodo de tiempo transcurrido desde que se realiza una petición o solicitud al sistema hasta que éste responde. Si este periodo de respuesta es muy breve (entre 1 milisegundo y 1 segundo) hablamos de tiempo real.
Sistemas monousuario
Son sistemas muy simples que sólo permiten el acceso a un usuario cada vez.
Sistemas multiusuario
Son sistemas que se basan en sistemas multiprogramados, permitiendo el acceso de varios usuarios simultáneamente.
Evolución y clasificación de lenguajes
Un lenguaje de programación es una notación o conjunto de símbolos y caracteres combinados entre sí, de acuerdo con una sintaxis ya definida para posibilitar la transmisión de instrucciones a la CPU. Dichos símbolos son traducidos a un conjunto de señales eléctricas representadas en código binario (0 y 1).
Lenguajes de bajo nivel
Son aquellos que por sus características se encuentran más próximos a la arquitectura de la máquina. (Lenguaje máquina y Lenguaje ensamblador).
Lenguaje Máquina
el lenguaje máquina se caracteriza por:
- Ser considerado el primer lenguaje de programación
- Ser el ñunico lenguaje inteligible directamente por un ordenador
- Basarse en la combinación deos únicos símbolos el cero y el uno.
- Ser propio de un determiando procesador, es decir, que cada procesador tiene su propio y particular lenguaje máquina.
Lenguaje Ensamblador
Surge como sustituto del lenguaje máquina y está basado en el uso nemotécnico. (palabras reservadas formadas por letras y números). La programación en este tipo de lenguajes requiere de un amplio conocimiento sobre la constitución, estructura y funcionamiento interno de un ordenador, así como un hábil manejo de los códigos y sistemas de numeración en especial el binario y el hexadecimal.
Los programas desarrollados en lenguaje ensamblador se caracterizan por:
- Rápida ejecución, más que si se hubieran desarrollado en un lenguaje de alto nivel
- Ocupar menos espacio en memoria
- Facilitar el trabajo a la hora de desarrollar programas que controlen periféricos o dispositivos de E/S.
- Mayor velocidad de operación y que el código fuente sea ensamblado directamente a lenguaje máquina
- Programas más largos que los desarrollados en lenguajes de Alto nivel
- No ser transportables, un programa para un tipo de microprocesador solo funciona para ese microprocesador
- Lenguajes de programación más difícil de escribir y depurar.
Lenguajes de alto nivel
Son aquellos que por sus características se encuentran más proximos al usuario o programador. Una de las características más importantes de estos lenguajes es que son independientes de la arquitectura del ordenador utilizado como soporte.
Un inconveniente destacable es la necesidad de traducir los programas escritos en un lenguaje de alto nivel a un lenguaje de programación tan primitivo como el lenguaje máquina para que pueda ser interpretado y ejecutado por la CPU, lo que significa disponer necesariamente de un traductor (ensamblador, compilador o intérprete) para cada tipo de ordenador utilizado.
Fases de elaboración de un programa informático
El desarrollo de una aplicación informática viene determinado por un concepto denominado Ciclo de Vida. Este establece una serie de etapas o fases que hay que seguir secuencialmente y de forma ordenada:
- Análisis
- Diseño
- Codificación
- Explotación
- Mantenimiento
Análisis
En esta fase se establece cuál es el producto a desarrollar, siendo necesario especificar procesos y estructuras de datos que se van a emplear, para satisfacer las necesidades del usuario.
Diseño
En esta fase se alcanza una solución optima, detallada y con la mayor precisión posible para el desarrollo de la aplicación, teniendo en cuenta los recursos físicos del sistema (tipo de ordenador, periféricos, etc.) y los recursos lógicos (OS. BB.DD)
Para la representación de los algoritmos diseñados se pueden emplear organigramas , ordinogramas, marcación pseudocodificada y tablas de decisión
Codificación
Consiste en la traducción de la solución obtenida a un determinado lenguaje de programación, basándonos en las especificaciones del diseño espresadas en el cuaderno de carga. Asimismo se deberán realizar las pruebas necesarias para depurar errores y verificar la calidad de los programas.
Explotación
En esta fase se realiza la implantación de los programas en el entorno operativo donde van a funcionar habitualmente y su puesta en marcha.
Algunas de las actividades que se realizan son: instalación de los programas, pruebas globales de aceptación del sistema, conversión de la información del sistema anterior al nuevo sistema y eliminación del sistema anterior.
Mantenimiento
Esta fase completa el ciclo de vida y en ella se realizan las correcciones necesarias para subsanar errores y diferencias. El tiempo invertido en la actividad de mantenimiento está basado en un desarrollo correcto y documentado de las fases anteriores del ciclo de vida.
Ensambladores, compiladores e intérpretes
Cuando programamos en un lenguaje diferente al lenguaje máquina, los programas diseñados deben ser traducidos a código binario, para que así las instrucciones en ellos especificadas puedan ser entendidas por la CPU. El sistema o programa de software encargado de traducir estos programas puede ser un ensamblador, interprete o compilador.
Ensambladores
Son los encargados de transformar o traducir directamente los programas escritos en ensamblador a su equivalente en código máquina o código binario para que puedan ser ejecutados por la CPU.
Intérpretes
Es un programa de software encargado de procesar y traducir cada instrucción o sentencia de un programa escrito en un lenguaje de alto nivel a código máquina y después ejecutarla.
El microprocesador ejecuta la orden o instrucción una vez traducida y después de comprobar que no existe error alguno de sintaxis. La traducción y la ejecución no se realizan como procesos independientes, sino en una misma operación e instrucción por instrucción, respetando rigurosamente el orden establecido entre ellas.
Compiladores
Es un programa de software escrito en algún lenguaje de programación cuyo objetivo es traducir el correspondiente programa fuente a su equivalente en código máquina.
La diferencia más destacable entre un compilador y un intérprete radica en que un intérprete acepta un programa fuente que traduce y ejecuta analizando cada sentencia por separado, un compilador efectúa dicha operación en dos fases independientes, primero traduce el programa a código máquina y seguidamente lo ejecuta.
Un programa compilado, en ejecuciones sucesivas, no necesita traducciones del programa fuente, lo que lo hace más rápido en el tiempo de ejecuión.
Etapas del proceso de compilación
- Edición: Consiste en la escritura del programa y su posterior grabación sobre un soporte de almacenamiento permanente (ej. un disco). En esta fase se obtiene el denominado programa fuente.
- Compilación: En esta fase se traduce el programa fuente a su equivalente en código máquina, obteniendo el denominado programa objeto.
- Linkado: También se la conoce como fase de montaje y consiste en enlazar el programa objeto obtenido en la fase de compilación con determinadas rutinas internas del lenguaje y, si el método de programación es modular, se enlazan los distintos módulos para obtener así el programa ejecutable.
- Ejecución: Esta fase consiste en la llamada del programa ejecutable a través del sistema operativo. Los principales errores en la ejecución de un programa son: - Datos de entrada incorrectos - Bucles mal definidos - Datos de salida incorrectos

