



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento introduce los conceptos básicos de programación, incluyendo el ordenador y sus periféricos, bits, bytes y palabras, y lenguajes de programación. Se abordan los niveles de abstracción y se mencionan varios lenguajes de programación como cobol, fortran, basic, c, java y más. Se explica la cronología de su desarrollo.
Tipo: Apuntes
1 / 6
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




1 1. Conceptos b´asicos de programaci´ on
Un ordenador s´olo es capaz de ejecutar ´ ordenes y operaciones muy b´ asicas, tales como:
� Aritm´etica entera: sumar, restar, multiplicar, etc.
� Comparar valores num´ericos o alfanum´ericos
� Almacenar o recuperar informaci´on
Con la combinaci´on de estas operaciones b´ asicas, y gracias a su gran potencia de c´ alculo, el orde nador puede llevar a cabo procesos muy complejos. Sin embargo, en cualquier caso existe una estrecha dependencia del ordenador con el programador. Es el programador quien indica a la m´aquina c´ omo y qu´e debe hacer, mediante la l´ ogica y el razonamiento previo, expresado en forma de un programa.
En definitiva, el ordenador s´olo es capaz de aceptar datos de entrada, procesarlos y facilitar otros datos o resultados de salida. Los datos se introducen u obtienen del ordenador mediante los perif´ericos de entrada y salida. Estos son los encargados de facilitar la relaci´ on entre el coraz´´ on del ordenador y el mundo exterior, y en particular los usuarios de ordenadores. Dependiendo de su funci´on particular, los perif´ericos pueden clasificarse en:
Perif´ericos de entrada: cuya funci´on es facilitar la introducci on de datos y ´´ ordenes al ordenador: te clado, rat´on, l´ apiz ´ optico, lector de c´ odigo de barras, esc´ aner, tableta digitalizadora, etc.
Perif´ericos de salida: cuya funci´on es mostrar al exterior informaci´on almacenada en memoria o los resultados de las operaciones realizadas por el ordenador: pantalla, impresora, plotter, etc.
Perif´ericos de entrada y salida: capaces tanto de introducir como de extraer informacion del ordena´ dor: discos y cintas magn´eticos, discos ´ opticos, etc.
Perif´ericos de comunicaci´ on: encargados de establecer y facilitar el intercambio de informaci´on entre dos ordenadores: m´odem, tarjetas de red ( Ethernet , Token Ring , RDSI ,... ), etc.
1.2. Bits, bytes y palabras 2
Programador
Lenguaje natural
Lenguaje de programación
Lenguaje máquina
Ordenador
Figura 1.1: Niveles de abstracci´on en los lenguajes de programaci´on
La unidad de memoria m´as peque na en un ordenador se denomina˜ bit (del ingles´ bi nary digi t ). Puede tomar unicamente dos posibles valores:´ 0 o 1. En ocasiones, debido a la relacion intr´ ´ınseca con los valores en las senales el˜ ´ectricas en circuitos digitales, se dice que un bit esta´ bajo o alto , o bien desco nectado o conectado. Como puede verse, no es posible almacenar mucha informacion en un solo bit.´ Sin embargo, un ordenador posee cantidades ingentes de ellos, por lo que podr´ıa decirse que los bits son los bloques basicos con los que se construye la memoria del ordenador.´
El byte , compuesto por ocho bits (algunos autores se refieren a esta unidad como octeto ), es una unidad de memoria m´as util. Puesto que cada bit puede tomar el valor´ 0 o 1 , en un byte pueden represen tarse hasta 2 8 � 256 combinaciones de ceros y unos (256 c´odigos binarios ). Con estas combinaciones pueden representarse, por ejemplo, los enteros entre 0 y 255 ( 0 : : : 28 ; 1 ), un conjunto de caracteres, etc.
La unidad natural de memoria para un ordenador es la palabra. Los ordenadores de sobremesa actuales, por ejemplo, suelen trabajar con palabras de 32 o 64 bits. En grandes ordenadores, el tamano˜ de la palabra puede ser mucho mayor, pero siempre formada por un numero de bits, potencia de´ 2. En cualquier caso, los ordenadores encadenan dos o mas palabras de memoria con el´ fin de poder almacenar datos complejos y, en general, de mayor tamano.˜
Un lenguaje de programaci on podr´ ´ıa definirse como una notacion o conjunto de s´ ´ımbolos y caracteres que se combinan entre s´ı siguiendo las reglas de una sintaxis predefinida, con el fin de posibilitar la transmision de instrucciones a un ordenador. Dichos s´ ´ımbolos y caracteres son traducidos internamente a un conjunto de senales el˜ ectricas representadas en sistema binario, es decir, s´ ´olo dos valores: 0 y 1. Esta traduccion es necesaria porque el procesador s´ olo entiende ese lenguaje, al cual nos referiremos´ como lenguaje m´aquina.
1.4. Elaboraci´on de un programa 4
Figura 1.3: Ciclo de vida de un programa
en otros ordenadores con procesadores distintos. Por ello, el programador no necesita conocer a fondo el funcionamiento del ordenador en el que programa, sino que el lenguaje le permite abstraerse de los detalles de bajo nivel. Esta abstraccion de la arquitectura de la m´ aquina implica que todo programa´ escrito en un lenguaje de alto nivel debera traducirse a lenguaje m´ aquina, de forma que pueda ser´ entendido y ejecutado por el ordenador. Para ello cada tipo de ordenador debera disponer de unos´ programas especiales que realicen dicha traduccion (ver Sec. 1.5).´
El desarrollo de un programa para solucionar un determinado problema inform´aticamente puede resu mirse en el ya clasico concepto de´ ciclo de vida. Este puede desglosarse en los siguientes pasos a seguir^ ´ secuencialmente: an´alisis, dise no, codi˜ ficacion, explotaci´ on y mantenimiento (ver Fig. 1.3).´
En la fase de an´alisis se estudia cu al es el problema a resolver y se especi´ fican a muy alto nivel los procesos y estructuras de datos necesarios, de acuerdo con las necesidades del cliente. Para realizar un buen an´alisis ser a necesario interaccionar con el cliente y conocer a fondo sus necesidades. Antes´ de proceder al diseno es muy importante haber comprendido correctamente los requerimientos del˜ problema.
Una vez bien definido el problema y las l´ıneas generales para solucionarlo, se requiere una solucion´ adecuada a un conjunto de recursos determinado. Tanto f´ısicos: en que ordenador va a funcionar la´ aplicacion, de qu´ e tipo de perif´ ericos se dispone... , como l´ ogicos: qu´ e sistema operativo se usar´ a, que´ ´ herramientas de desarrollo, que bases de datos... Finalmente se dise´ nar˜ a un conjunto de algoritmos´ que resuelvan los distintos subproblemas en que se haya dividido el desarrollo.
Consiste en la traduccion de los algoritmos dise´ nados previamente, utilizando el lenguaje y entorno de˜ desarrollo escogidos en la fase anterior. Sera necesario realizar pruebas que garanticen al m´ aximo la´ calidad de los programas desarrollados. Entre otras cosas, que est´en libres de errores.
La documentaci on generada en esta fase junto con la de las fases anteriores ser´ a muy util en el´ ´ futuro para las eventuales actuaciones de mantenimiento.
5 1. Conceptos b´asicos de programaci´ on
Figura 1.4: Fases en la interpretaci´on de un programa
Los diferentes programas desarrollados en la fase anterior se instalan en el entorno final de trabajo. Si es necesario se instalaran tambi´ en otras herramientas de utilidad, necesarias para el correcto funciona´ miento del sistema. Se debe proporcionar documentacion, manuales de usuario, formaci´ on, etc.´
En esta fase se realizaran correcciones al sistema desarrollado, bien para solventar errores no depura´ dos, bien para cambiar o anadir nuevas funcionalidades requeridas por el cliente. Dependiendo de la˜ importancia del caso, sera necesario retomar el ciclo de vida a nivel de codi´ ficacion, dise´ no o incluso˜ analisis (ver Fig. 1.3).´
Cuanto mejor se haya documentado el desarrollo en las primeras fases del ciclo de vida, menor sera´ el tiempo necesario para llevar a cabo los distintos tipos de mantenimiento.
Como ya se ha comentado, el unico lenguaje directamente inteligible por el ordenador es el lenguaje´ maquina. Por ello, si se programa usando lenguajes de alto nivel ser´ a necesario alg´ un programa traduc´ tor. Este, a su vez, ser^ ´ a el encargado de comprobar que los programas est´ en escritos correctamente, de´ acuerdo con la definicion del lenguaje de programaci´ on empleado. Pueden distinguirse varios tipos de´ traductores:
Los programas ensambladores son los encargados de traducir a lenguaje maquina los programas escritos´ en lenguaje ensamblador. La correspondencia entre ambos lenguajes es muy directa, por lo que los ensambladores suelen ser programas relativamente sencillos.
El objetivo de un interprete es procesar una a una las instrucciones de un programa escrito en un lenguaje´ de alto nivel. Para cada instruccion se veri´ fica la sintaxis, se traduce a codigo m´ aquina y´ finalmente se ejecuta. Es decir, que la traduccion y la ejecuci´ on se realizan como una sola operaci´ on (ver Fig. 1.4).´