CONTENIDO 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. 4. Sistemas numéricos. 4.1 Generalidades. 42 Sistema binario. 4.3 Sistema octal,. 4.4 Sistema decimal. 4.5 Sistema hexadecimal. 4.6 Equivalencias entre los sistemas de numeración. 5. Niveles de lenguajes de programación. 6. Diagramación. 6.1 Definición. 6.2 Símbolos de diagramación. 7. Elementos de programación. 7.1 Definición de algoritmo. 7.2 Lenguajes de programación.
1. INTRODUCCION El texto enseña los conceptos fundamentales sobre el arte de la programación de computadores, sirviendo de guía en las actividades académicas relacionadas con la materia INTRODUCCION A LOS COMPUTADORES, del pregrado en ingeniería de sistemas y de nivelación en el POSTGRADO EN INFORMATICA. Está destinado a las personas que se inician en el arte de la computación, en temas teóricos del computador, y prácticos en el diseño de algoritmos. El lector, conocerá temas relacionados con la informática y aprenderá de manera secuencial los conceptos necesarios en la solución de problemas, mediante el estudio de algoritmos, refinamiento de pasos para el algoritmo, estructuras de secuencia estructuras de selección simple y múltiple y estructuras de iteración. Aprenderá la solución de problemas generales con variables, vectores, matrices y subprogramas, conociendo además la solución por seudocódigo. Conocerá los tópicos que soportan, facilitan y hacen posible la programación de computadores, como: los algoritmos, los diagramas, el seudocódigo, los procedimientos y las funciones. Además de llenar el vació existente en torno a la necesidad de un texto para la materia, se busca incentivar al lector en la consulta de libros, que le permitan aumentar sus conocimientos en el arte de la programación de computadores. Los últimos adelantos tecnológicos en computación y sus aplicaciones, hacen indispensable tener conocimiento de que permiten programar un computador, para utilizarlo en forma adecuada. El computador es un medio que utiliza el ingeniero de sistemas en el desarrollo de sus actividades y un completo soporte para la actividad profesional en otras disciplinas. El lector mediante la consulta de los temas tratados en el libro, adquiere los conocimientos necesarios para utilizar la programación de computadores en la solución de problemas generales y específicos. 2
2. RESEÑA HISTORICA DEL COMPUTADOR Fue inventado por el hombre para satisfacer sus necesidades de tabulación y conteo de datos; destinado al ahorro de tiempo en tareas manuales sobre censos de población, necesidad de los años finales del siglo pasado; en general el computador nace para la realización de cálculos rutinarios, precisos y rápidos. Es una máquina fabricada por la inteligencia humana y como tal debe programarse para realizar una acción. Programar es la manera de especificar los pasos lógicos que debe seguir el computador en la solución de un problema. Sin embargo, la aparición del computador como herramienta de trabajo se remonta a la década de 1.940. Uno de los primeros computadores, fue el Mark 1, capacitado para desarrollar labores rutinarias de conteo y clasificación, concebido bajo tres elementos necesarios en el procesamiento de datas: entrada, proceso y salida. Elementos que se mantienen en completa evolución ofreciendo mejores facilidades para manejo y procesamiento de volúmenes de información. Pertenecieron a la época de 1.945, computadores como el EDVAC y el ENIAC, destinados al proceso de información, operando con base en medios electromecánicos e introduciendo el principio de programa almacenado, ambiente en el cual trabajan los computadores de hoy, pero bajo medios electrónicos. Los computadores han aplicado en su estructura física los cambios tecnológicos de las comunicaciones Inventados por el hombre. Se pueden clasificar por generaciones, de acuerdo a los adelantos científicos incorporados en sus componentes, dando como resultado una historia de desarrollo con características propias, siendo las mas representativas las siguientes: Los primeros computadores se caracterizan por el uso de relays de conmutación. Can el invento del tubo de vació nace la segunda generación, la cual incluye el concepto de programa almacenado. Hacia 1.960, aparece el transistor produciendo una gran revolución dentro de.1 campo de la computación y junto al concepto de circuito integrado, se origina la tercera generación, caracterizada por la reducción de tamaño de los componentes del computador, reducción del consumo de energía, reducción de costos y mayor capacidad de almacenamiento de información. Actualmente se emplean los microprocesadores, diseñados en principio para el control del hardware y destinados finalmente para el procesamiento de información. Esta aplicación contribuyó en la miniaturización de los componentes electrónicos, permitiendo aumentar ampliamente la velocidad de procesamiento, optimizando como 3
consecuencia el tiempo real de respuesta para los usuarios de la computación y la informática; es la cuarta generación. Para la década de 1990, se espera utilizar la voz humana como medio directo de entrada al computador, lo que originaria la quinta generación de computadores (proyecto japonés en desarrollo desde 1979), empleando programas inteligentes que adecuarán las órdenes, para que los mismos programas encuentren el modo de ejecutarlas (inteligencia artificial). 4
3. DEFINICION DE COMPUTADOR El computador es una máquina electrónica, que permite procesar gran cantidad de datos, en tiempo mínimo. Básicamente los elementos del computador se clasifican como: Hardware: parte física del computador. (Teclado, pantalla, impresoras, procesador). Software: componente lógica del computador. (Programas que definen una secuencia en el desarrollo de procesos). Todo computador tiene unidades que realizan funciones específicas: entrada de datos, proceso, almacenamiento y salida de información; estas unidades describen el hardware. Esta serie de actividades: entrada, proceso, almacenamiento y salida, reunidas definen y conforman un sistema de computación (hardware + software). El hardware está conformado por: Unidades de entrada: pantalla, teclado, lectoras de disco, lectoras ópticas. Unidades de proceso: unidad de control, unidad aritmética y lógica. Unidades de almacenamiento: cintas magnéticas, discos duros, discos blandos (diskettes), papel. Unidades de salida: pantalla, impresora. Las unidades de proceso realizan las siguientes funciones: Unidad de control: circuito que controla el funcionamiento global del computador. Unidad aritmética y lógica: circuito que ejecuta todas las operaciones aritméticas de un programa o proceso; se encarga de las operaciones lógicas de los procesos (operaciones de decisión o comparación). El componente software ordena la acción física y proporciona el manejo de la lógica. Lo integran los diferentes programas del computador: programas de aplicación, programas de diagnostico, programas de biblioteca o de utilidad, paquetes especializados, tutórales, asistentes, manejadores de bases de datos y redes, traductores, compiladores y ensambladores. 5
4. SISTEMAS NUMERICOS 4.1 GENERALIDADES. En este apartado se estudian las diferentes formas de representar datos numéricos. Un sistema numérico recibe nombre de acuerdo a la base que utilice. El sistema utilizado en la actividad diaria es el decimal, cuya base es 10. Si tomarnos por ejemplo el número 1567, éste significa en sus componentes de la base 10 (decimal>, lo siguiente: (1567)10 =1*10^3 + 5*10^2 + 6*10^1 + 7*10^0 Donde el subíndice fuera del paréntesis, indica la base utilizada. Se observa que la base es única dentro de cada sistema. La posición del c1íito dentro del número de derecha a izquierda disminuido en uno, será el exponente. Otro ejemplo para aclarar este concepto, pero en base 2 (binario). (1010) 2 = 1*2^3+ 0*2^2 +1*2^1 + 0*2^0. Los sistemas numéricos que más uso tienen son: -Sistema binario -Sistema octal -Sistema decimal -Sistema hexadecimal 4.2 SISTEMA BINARIO. El sistema binario cuya base es 2, se expresa mediante los dígitos O y 1. Es el lenguaje interno del computador. 4.3 SISTEMA OCTAL. Este sistema de numeración se caracteriza par el uso de los dígitos 0,1,2,3,4,5,6 y 7. Su base as el 8. 4.4 SISTEMA DECIMAL. Utiliza para su representación los dígitos 0,1,2,3,4,5,6,7,8 y 9. Es el sistema numérico actualmente utilizado en la comunicación del usuario (programador), con el computador, Base utilizada 10. 6
4.5 SISTEMA HEXADECIMAL. Base 16. Su rango está dado para representar valores del O al 15. Utiliza los dígitos 0,1,2,3,4,5,6,7,8,9 y los símbolos A,B,C,D,E y F que representan las cantidades 10 al 15. 4.6 EQUIVALENCIAS ENTRE LOS SISTEMAS DE NUMERACION. -Octal representado en binario: Se transforma cada cifra octal a su equivalente binario, cada cifra octal tiene tres cifras binarias. Ej.: (7 2 1) 8 ------------> (111 010 001)2 Hexadecimal representado en binario: Se convierte cada cifra hexadecimal a su representación binaria, cada cifra hexadecimal se expresa en binario mediante cuatro dígitos. Ej.: (A B O F) 16 ---------- > (1010 1000 0000 1111)2 Conversión decimal a binario: Suponga que se quiere convertir el número (25) 10 a su representación binaria. En estos casos el procedimiento es: tomar el número decimal y dividirlo entre 2, el residuo (0 o 1), ocupa la cifra derecha del número binario. Sucesivamente se divide por 2, acomodando los residuos correspondientes a la izquierda del digito hallado. Este último paso se repite hasta lograr en el cociente un 1, el cual pasa a la izquierda del número binario. Ejemplo sugerido: Nota: si el último cociente y los residuos 0 6 1, se toman hacia arriba, se obtiene el resultado en binario. (11001) Así la equivalencia es: 7
(25) 10 ---------> ( 11001 ) 2 Esta acción de conversión de base 10 al sistema binario del computador, no la hace el programador, la efectúa un dispositivo electrónico llamado decodificador. El computador tiene circuitos electrónicos denominados decodificadores que le permiten realizar estas transformaciones, tanto en la entrada (base 10 a binario) como en la salida (binario a base 10). 8
5. NIVELES DE LENGUAJES DE PROGRAMACION Los lenguajes de programación se clasifican en niveles según las facilidades de codificación y su dependencia con el tipo de computador utilizado. Existen entonces lenguajes de bajo, medio y alto nivel. El lenguaje de bajo nivel, se caracteriza por la dependencia del lenguaje con respecto a la máquina. Por lo general es el lenguaje de máquina, cuya representación utiliza el sistema binario, dificultándose su codificación. Los lenguajes de alto nivel, se caracterizan por las facilidades de programación que dan al usuario programador. Por norma no dependen de la máquina. Ejemplos típicos de esté nivel son: PASCAL, 6W8SIC, COBOL, DBASE, CLIPPER, BASIC, FORTRAN. Los lenguajes de nivel medio presentan características intermedias. Como ejemplo representativo, ASSEMBLY, el cual es dependiente de la máquina, pero a su vez presenta algunas facilidades de codificación. Son lenguajes que utilizan codificación simbólica. Algunos conceptos relacionados con los lenguajes de programación, son: Programa fuente : programa en lenguaje de alto nivel o assembly. No es ejecutable directamente por la máquina. Es el programa que es cribe el usuario (programador) en un lenguaje. Programa objeto: equivalente del programa fuente en lenguaje de máquina. Es ejecutado por el computador, al traducir el programa hecho por el usuario (programa fuente), al lenguaje de máquina. 9
6. DIAGRAMACION 6.1 DEFINICION. Es la expresión gráfica de los pasos lógicos necesarios para obtener la solución de un problema. Técnica para representar gráficamente los algoritmos que pueden ser llevados al computador. Simbología para la representación pictórica de un programa. Un diagrama, es la solución lógica de un problema a través de gráficos de diagramación. La importancia del diagrama está en que partiendo de él, se puede codificar el algoritmo en un lenguaje de programación; posteriormente puede ser ejecutado por el computador para obtener la solución del problema. La simbología que aquí se expone recibe el nombre de diagramación libre. 10
6.2 SIMBOLOS DE DIAGRAMACION 11
12
7. ELEMENTOS DE PROGRAMACION La programación de computadores consiste en crear (codificar) programas que puedan ser ejecutados por la máquina. Los elementos que describen la programación son: Algoritmos y lógica Diagramas Lenguajes de programación 7.1 DEFINICION DE ALGORITMO. Secuencia escrita de pasos lógicos que se deben seguir para obtener la solución de un determinado problema. 7.2 LENGUAJE DE PROGRAMACION. Es el conjunto de reglas de escritura de un programa, permiten codificarlo para que sea ejecutada por el computador. Algunos conceptos dentro de los lenguajes son: Modulación Recursión Subprogramas 7.2.1 Modulación. Es la división que se hace al codificar procesos independientes entre si. Al modularizar la programación, se codifica cada proceso independiente de los demás procesos. 7.2.2 Recursión. Consiste en la autoinvocación de una sección del programa; específicamente se tienen funciones y procedimientos que se invocan ellos mismos. 7.2.3 Subprogramas. Se utilizan en la implementación de la recursión y la modularización. Subprograma es una serie de instrucciones, que solucionan un proceso o tarea especifica dentro de un programa principal (el que invoca el subprograma). 13
Son representativos los procedimientos y las funciones, cuya diferencia principal está en el hecho de que las funciones calculan un solo valor y los procedimientos se usan para calcular más de un valor. Los subprogramas se invocan por medio de un nombre y un conjunto de parámetros. Por ejemplo:...... Y: PAGO (13AS1C0,DESCUENTO,NETO) *llamado de función.. PAGO(BASICO,DESCUENTO,NETO) *llamado de procedimiento donde PAGO es el nombre del subprograma BASICO, DESCUENTO y NETO son los parámetros. Los parámetros son las variables o datos de entrada y salida, con que trabaja el subprograma. 14