Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Programación 2004




Enviado por c-zar



    1. ¿Qué es una
      computadora?
    2. Organización de la
      computadora
    3. Procesamiento por lotes,
      multiprogramación y tiempo
      compartido
    4. Computación
      personal, computación distribuida y
      computación
    5. Lenguajes de máquina,
      lenguajes ensambladores y lenguaje de alto
      nivel
    6. La historia de
      C
    7. La biblioteca
      estándar de C
    8. Otros lenguajes de alto
      nivel
    9. Programación
      estructurada
    10. Los fundamentos del entorno
      de C
    11. Claves generales en la
      implementación de C
    12. C
      Concurrente
    13. Programación orientada a
      objetos C++

    ¿Qué es una computadora?

    1. Una computadora es un dispositivo capaz de
      ejecutar cálculos y tomar decisiones lógicas a
      velocidades millones y a veces miles de millones de veces
      más rápidas de lo que pueden hacerlo los seres
      humanos. Por ejemplo, muchas de las computadoras personales de hoy día,
      pueden
      ejecutar decenas de millones de adiciones por segundo. Una
      persona
      utilizando una calculadora de escritorio pudiera requerir
      décadas para completar el mismo número de
      cálculos de lo que puede ejecutar una computadora
      personal
      poderosa en sólo un segundo. (Puntos a considerar:
      ¿cómo sabría si la persona sumó
      correctamente las cifras?, ¿cómo sabría
      si la
      computadora sumó correctamente las cifras?) Hoy
      día las supercomputadoras más rápidas
      pueden ejecutar cientos de miles de millones de sumas por
      segundo ¡aproximadamente laníos cálculos podrían
      ejecutar cientos de miles de personas en un ano! y en los
      laboratorios de investigación ya están en
      funcionamiento computadoras de trillones de instrucciones por
      segundo.

      Las computadoras procesan datos bajo el
      control de
      un conjunto de instrucciones que se
      conocen como programas de
      computación. Estos programas de
      computación guían a la computadora a Ira ves de
      conjuntos
      ordenados de acciones,
      especificados por personas a las que se conoce como
      programadores de computadora.

      Los varios dispositivos (como el teclado,
      la pantalla, los discos, la memoria
      y las unidades
      procesadoras) que conforman un sistema de
      computación se conocen como el hardware.
      Los
      programas de computación que se ejecutan en una
      computadora se conocen como el software. Los
      costos del
      hardware han venido reduciéndose de forma
      drástica en años recientes, hasta el punto que
      las computadoras personales se han convertido en
      mercancía. Desafortunadamente, los costos de desarrollo
      de software han ido creciendo continuamente, conforme los
      programadores cada día desarrollan aplicaciones
      más poderosas y complejas, sin la capacidad de hacer
      mejorías paralelas en la tecnología del desarrollo del
      software.

    2. Organización de la
      computadora

    Si no se toman en cuenta las diferencias en apariencia
    física,
    virtualmente todas las computadoras pueden ser concebidas como
    divididas en seis unidades lógicas o secciones. Estas
    son:

    1. Unidad de entrada. Esta es la sección
      "de recepción" de la computadora. Obtiene información (datos y programas de
      computadora) a partir de varios dispositivos
      de entrada y pone esta información a la
      disposición de las otras unidades, de tal forma que la
      información pueda ser procesada. La mayor parte de la
      información se introduce en las computadoras hoy
      día a través de teclados de tipo maquina de
      escribir.
    2. Unidad de salida. Esta es la sección
      "de embarques" de la computadora. Toma la información
      que ha sido procesada por la computadora y la coloca en
      varios dispositivos de salida para dejar la
      información disponible para su uso fuera de la
      computadora. La mayor parte de la información sale de
      las computadoras hoy día mediante despliegue en
      pantallas o mediante impresión en papel.
    3. Unidad de memoria.
      Esta es la sección de "almacén" de rápido acceso y de
      capacidad relativamente baja de la computadora. Retiene
      información que ha sido introducida a través de
      la unidad de entrada, de tal forma que esta
      información pueda estar de inmediato disponible para
      su proceso
      cuando sea necesario. La unidad de memoria también
      retiene información ya procesada, hasta que dicha
      información pueda ser colocada por la unidad de salida
      en dispositivos de salida. La unidad de memoria se conoce a
      menudo como memoria o memoria primaria.
    4. Unidad aritmética y lógica (ALU). Esta es la
      sección de "fabricación" de la computadora. Es
      responsable de la ejecución de cálculos como es
      suma, resta, multiplicación y división.
      Contiene los mecanismos de decisión que permiten que
      la computadora, por ejemplo, compare dos elementos existentes
      de la unidad de memoria para determinar si son o no
      iguales.
    5. Unidad de procesamiento central (CPU).
      Esta es la sección "administrativa" de la computadora.
      Es el coordinador de la computadora que es responsable de la
      supervisión de la operación de
      las demás secciones. El CPU le indica a la unidad de
      entrada cuando debe leerse la información y colocarse
      en la unidad de memoria, le indica al ALU cuándo
      deberá utilizar información de la unidad de
      memoria en cálculos, y le indica a la unidad de salida
      cuándo enviar información de la unidad de
      memoria a ciertos dispositivos de salida.
    6. Unidad de almacenamiento secundario. Esta es la
      sección de "almacén" a largo plazo de alta
      capacidad de la computadora. Los programas o los datos que no
      se estén utilizando de forma activa por otras
      unidades, están por lo regular colocados en
      dispositivos de almacenamiento secundario (como discos) en
      tanto se necesiten otra vez, es posible que sean horas,
      días, meses o inclusive años
      después.
    1. Procesamiento por lotes,
      multiprogramación y tiempo
      compartido

    1. Las primeras computadoras sólo eran capaces
      de ejecutar un trabajo o
      tarea a la vez. Esta forma de operación de las
      computadoras, a menudo se conoce como procesamiento por lotes
      de un solo usuario. La computadora ejecuta un programa a la
      vez al procesar datos en grupos o en
      lotes. En estos sistemas
      primarios, los usuarios por lo general entregaban sus
      trabajos al centro de
      cómputo en paquetes de tarjetas
      perforadas. Los usuarios a menudo tenían que esperar
      horas e inclusive días, antes que se les devolvieran
      impresiones a sus escritorios.

      Conforme las computadoras se hicieron más
      poderosas, se hizo evidente que el procesamiento por lotes de
      un solo usuario rara vez utilizaba los recursos
      de la computadora de manera eficazmente. En vez de ello, se
      pensó que muchos trabajos o tareas podían hacer
      que compartieran los recursos de la computadora para obtener
      mejor utilización. Esto se conoce como
      multiprogramación. La multiprogramación implica
      la operación "simultánea" de muchos trabajos en
      una computadora. La computadora comparte sus recursos entre
      los trabajos que compiten por su atención. En el caso de los primeros
      sistemas de multiprogramación, los usuarios aún
      entregaban los trabajos en paquetes de tárjelas
      perforadas, y tenían que esperar horas o días
      para los resultados.

      En los años 60, varios grupos en la industria
      y en las universidades se hicieron pioneros en el concepto de
      tiempo compartido. El tiempo compartido es un caso especial
      de la multiprogramación, en el cual los usuarios
      tienen acceso a la computadora a través de
      dispositivos de entrada, salida o terminales. En un sistema
      típico de computadora a tiempo compartido, pudieran
      existir docenas e inclusive cíenlos de usuarios,
      compartiendo a la vez la computadora. La computadora de
      hecho, no ejecuta las órdenes de todos los usuarios en
      forma simultánea. En vez de ello, ejecuta una
      pequeña porción del trabajo de un usuario, y de
      inmediato pasa a darle servicio
      al siguiente. La computadora hace esto tan aprisa, que puede
      darle servicio a cada usuario varias veces por segundo. Por
      lo tanto, los usuarios parece que estuvieran ejecutando su
      trabajo de forma simultanea.

      cliente/servidor

      En 1977, Apple Computer popularizó el
      fenómeno de la computación personal. Al
      principio, era el sueño de los aficionados a la
      computación. Las computadoras se hicieron lo bastante
      económicas para que las personas las adquirieran para
      su uso personal o de negocios.
      En 1981, IBM, el fabricante mas grande del inundo do
      computadoras, introdujo la computadora personal IBM.
      Literalmente de la noche a In mañana, la
      computación personal se legitimizó en negocios,
      industrias
      y organizaciones gubernamentales.

      Pero estas computadoras eran unidades
      "independientes", las personas hacían el trabajo
      en sus propias máquinas y a continuación
      transportaban discos de ida y vuelta para compartir la
      información. Aunque las primeras computadoras
      personales no eran lo bastante poderosas para compartirse
      entre varios usuarios, estas máquinas podían
      ser enlazadas juntas en redes de
      computación, a veces mediante líneas
      telefónicas y otras en redes de área local
      dentro de una organización. Esto condujo al
      fenómeno de la computación
      distribuida, en la cual la carga de trabajo de
      computación de una organización, en vez de ser
      ejecutada de manera estrictamente en alguna
      instalación central de cómputo, se distribuye
      sobre la red a los lugares donde
      en realidad se ejecuta el trabajo de la
      organización. Las computadoras personales eran lo
      bastante poderosas para manejar las necesidades de
      cómputo de usuarios individuales, así como para
      manejar las tareas básicas de comunicación, de pasar la
      información electrónicamente de ida y
      vuelta.

      Hoy día las computadoras personales
      más potentes son tan poderosas como las
      máquinas de
      un millón de dólares de hace una década.
      Las máquinas de escritorio más poderosas que se
      conocen como estaciones de trabajo proporcionan a
      usuarios individuales enormes capacidades. La
      información puede compartirse, con facilidad a
      través de redes de cómputo, donde algunas
      computadoras denominadas servidores de archivo ofrecen
      un almacén común de programas y de datos, que
      pueden ser utilizados por computadoras cliente
      distribuidas a lodo lo largo de la red, y de ahí el
      termino de computación cliente/servicio.
      C y C++ se han convertido en los lenguajes de elección
      para escribir software para sistemas
      operativos, para redes de computación y para
      aplicaciones distribuidas cliente/servidor.

    2. Computación personal,
      computación distribuida y
      computación

      Los programadores escriben instrucciones en
      diferentes lenguajes de
      programación, algunos
      comprensibles de forma directa por la computadora y otros que
      requieren pasos intermedios de traducción. Existen hoy día
      cientos de lenguajes de computadora. Estos pueden ser
      categorizados en tres tipos generales:

      1-Lenguajes maquina

      2-Lenguaje ensambladores

      3-Lenguajes de alto nivel

      Cualquier computadora solo puede entender
      directamente su propio lenguaje de maquina. El
      lenguaje de maquina es "el
      lenguaje natural"de una computadora particular. Esta
      relacionado íntimamente con el diseño hardware. Los lenguajes de
      maquina por lo general consisten, en cadenas de
      números (es decir reducidas a unos y a ceros)que
      instruyen en las computadoras para que ejecuten sus operaciones
      más elementales. Los lenguajes de maquina son
      dependientes de la maquina, es decir, en particular
      pueden ser utilizados en solo un tipo de computadoras. Son
      difíciles de manejar por los seres humanos.

      Conforme las computadoras se hicieron más
      populares, se hizo aparente que la programación en lenguaje de maquina era
      demasiado lenta y tediosa. En vez de de utilizar las cadenas
      de números que las computadoras pueden entender de
      forma directa, los programadores empezaron a hacer
      abreviaturas similares al ingles. Estas abreviaturas
      similares al ingles formaron la base de los los lenguajes
      de ensambladores
      . Se desarrollaron programas de
      traducción denominados ensambladores para
      convertir los lenguajes ensamblador a lenguaje de maquina a la
      velocidad
      de las computadoras.

      Para acelerar el proceso de programación de
      desarrollaron lenguajes de alto nivel, en los cuales
      se podían escribir simples enunciados para poder
      llevar a cabo tareas sustanciales. Los programadores de
      traducción que convierten los programas de lenguaje
      alto nivel al lenguaje de maquina se llaman
      compiladores. Los programas de alto nivel le permite a
      los programadores escribir instrucciones que parecen
      prácticamente como el ingles de todos los días
      y contiene notaciones matemáticas. Un programa de nomina
      escrito en un lenguaje de alto nivel pudiera contener un
      enunciado como el siguiente:

      Grosspay = basepay + overtimepay

    3. Lenguajes de máquina, lenguajes
      ensambladores y lenguaje de
      alto nivel

    1. Los lenguajes de alto nivel son mucho más
      deseables desde el punto de vista del programador que los
      lenguajes de maquina o ensambladores. C y C++ son, de entre
      los lenguajes de alto nivel, los más poderosos y
      más utilizados.

      C evoluciono a partir de dos lenguajes previos,
      BCPI, y B.BCPL fue desarrollado en 1967 por Martín
      Richards, como lenguaje para escribir software y compiladores de sistemas
      operativos.

      El lenguaje C
      fue derivado del lenguaje B por Dennis Ritchie y al inicio se
      implanto una computadora PDP-11 de DEC. C al inicio de hizo
      muy conocido como lenguaje de desarrollo de sistema
      operativo UNÍS . Hoy DIA, virtualmente todos los
      sistemas principales están escritos en C y/o
      C++.

      Con un diseño cuidadoso, es posible escribir
      programas en C que sean portátiles hacia la mayor
      parte de las computadoras.

      Hacia fines de los 70, C había evolucionado a
      lo que hoy se conoce como C "tradicional". La
      publicación en 1978 del libro de
      Kernighan y de Ritchie, The C Programming Language ,
      atrajo gran atención sobre este lenguaje..

      La Expansión rápida de C trajo consigo
      muchas variantes. Estas eran similares, pero a menudo no eran
      compatibles.

      Dado que C es un lenguaje independiente del hardware
      y ampliamente disponible, las aplicaciones que están
      escritas en C pueden ejecutarse con poca o ninguna
      modificación en una amplia gama de sistemas distino de
      computo.

    2. La historia de
      C

      Los programas C consisten de módulos o piezas
      que se denominan funciones.
      Usted puede programar todas las funciones que necesita para
      formar un programa C, pero la mayor parte de los
      programadores de C aprovechan una gran recopilación de
      funciones existentes, que se conocen como Biblioteca
      estándar C.
      Para aprender el "universo" C,
      de hecho existen dos partes. El primero es aprender el
      lenguaje C
      mismo, y el segundo aprender como utilizar las funciones de
      la Biblioteca estándar C.

    3. La biblioteca
      estándar de C

      Se han desarrollado cientos de lenguajes de alto
      nivel, pero solo unos pocos han alcanzado una amplia
      aceptación. FORTRAN fue desarrollado por IBM entre
      1954 y 1957. FORTRAN es aun muy utilizado.

      COBOL fue desarrollado en 1959 por un grupo de
      fabricantes de computadoras y de usuarios industriales y de
      gobierno.
      Hoy DIA mas de la mitad del software de negocios se programa
      aun en COBOL.
      PASCAL fue
      diseñado casi al mismo tiempo que C. Se
      concibió para uso académico,

    4. Otros lenguajes de alto
      nivel

      Durante los años 60, el desarrollo de
      software se encotro con severas dificultades. Los programas
      de entrega del software se retrasaban, sus costos
      excedían en gran medida los presupuestos, y los productos
      terminados no eran confiables. La actividad de
      investigación de los años 60 dio como resultado
      la evolución de la programación
      estructurada- un método disciplinado de escribir
      programas que sean claros, que se demuestre que son correctos
      y fáciles de modificar.

      Uno de los resultados más tangibles de esta
      investigación, fue el desarrollo en 1971 hecho por el
      profesor
      Nicklaus Wirth del lenguaje de programación Pascal.
      Pascal fue diseñado par4a la enseñanza de la programación
      estructurada en entorno académicos, y se
      convirtió con rapidez en el lenguaje introductorio de
      programación de la mayor parte de las
      universidades.

      ADA fue desarrollado bajo el patrocinio del
      Departamento de Defensa de los Estados
      Unidos (DOD) durante los años 70 y principios de
      los 80.

      DOD deseaba un solo lenguaje que pudiera llenar sus
      objetivos.
      Pascal fue seleccionado como base, pero el lenguaje final
      ADA.

      A Lady Lovelace se le da por lo general crédito de haber escrito el primer
      programa de computación del mundo a principios de
      1800. Una capacidad importante de Ada se conoce como
      multitareas.

      Otros lenguajes muy utilizados de alto nivel que
      hemos analizado incluyendo C y C++ permiten al programador
      escribir programas que solo ejecuten una actividad a la
      vez,

    5. Programación
      estructurada

      Todos los sistemas de C consisten, de tres partes:
      el entorno, el lenguaje y la biblioteca estandar
      C.

      Los programas C casi siempre pasan a través
      de 6 fases para su ejecución. Estas fases son: Editar,
      procesar, compilar; enlazar, cargar y ejecutar.

      La primera fase consiste en editar un archivo.

      El programa a continuación se almacena en un
      dispositivo de almacenamiento secundario, como seria un
      disco. Los nombres de archivo de los programas C deben
      terminar con la extensión.c.

    6. Los fundamentos del entorno de
      C

      Como C es un lenguaje bastante difícil,
      muchas veces los programadores con experiencia toman esta
      particularidad para generar formas muy complicadas y
      extrañas de este lenguaje. Esto en realidad es una
      mala práctica de programación; ya que hace que
      los programas sean difíciles de probar y depurar. Por
      eso, para mantener la claridad de los programas que hacemos
      debemos guiarnos por algunas buenas
      prácticas.

      1. Práctica
        sana de programación
      2. Escribir los programas de una manera simple y
        sencilla. Esto se conoce como KIS (del inglés "keep it simple"). NO "le
        saque punta al lenguaje" intentando "rarezas"

        Para mantener la portabilidad de los programas
        escritos en C, aunque puede resultar difícil por
        que existen algunas sutilezas del lenguaje del ANSI C que
        no lo hacen compatible con versiones anteriores
        así como con versiones posteriores a este tipo de
        lenguaje. Por lo que nuevamente para que exista la mayor
        portabilidad del programa escrito se debe mantener
        simple.

      3. Sugerencia de
        port
        abilidad

        Hay que leer los manuales de la versión C que se
        está utilizando y tener en cuenta la gran cantidad
        de características que C contiene y estar seguro
        de estarlas utilizando de forma correcta.

      4. Práctica
        sana de programación 2
      5. Práctica
        sana de programación 3

      Su computadora y su compilador son buenos maestros.
      Si no está seguro de cómo funciona una
      característica de C, escriba un programa de muestra con
      la característica, compile y ejecute el programa y vea
      qué es lo que ocurre. La práctica es la base de
      la buena programación.

    7. Claves generales en la
      implementación de C
    8. C Concurrente

    1. Otras versiones de C se han desarrollado tras
      continuos esfuerzos, como ser en los laboratorios Bell que
      desarrollaron la forma C Concurrente, un superconjunto de C
      que incluye capacidades de especificación de
      actividades múltiples en paralelo. Este tipo de
      lenguajes y las funciones de sistemas operativos que dan
      soporte a paralelismo de aplicaciones a aplicaciones de
      usuarios, se harán cada vez más populares en
      esta década conforme vaya aumentando el uso de
      multiprocesadores

    2. Programación orientada a objetos
      C++

    Otro superconjunto de C es C++, que fue desarrollado por
    Stroustrup en los laboratorios Bell. C++ Proporciona un nuevo
    número de características que engalanan el lenguaje
    C. Pero la gran característica es la programación
    orientada a objetos.

    Los objetos son componentes de software reutilizable que
    modelan elementos del mundo real. Se crean este tipo de versiones
    por la busqueda de nuevos software que sean rápidos,
    correctos y económicos, porque la demanda de
    este tipo de software es muy grande.

    Los desarrolladores están descubriendo que,
    utilizando este tipo de programación
    orientada a objetos, se logra que los grupos de desarrollo de
    software sean de 10 a100 veces más productivos que antes
    con las antiguas técnicas
    de programación.

    Se lograron desarrollar muchos lenguajes orientados a
    objetos pero el más popular de nuestra época tiende
    a ser C++. Claro está que lo más conveniente es
    primero aprender C para luego estudiar C++

    César Affonso

    BACHILLERATO

    TECNOLÓGICO DE INFORMATICA

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter