Capitulo 0 – Introducción a las Computadoras y a la Programación

Índice
0.1 ¿Qué es una computadora?
0.2 Esquema u organización de un ordenador
0.3 Lenguajes de Programación.
0.4 Pero... ¿Que es la programación de computadoras?

0.1 ¿Qué es una computadora?

Computadora u ordenador es una máquina de alta velocidad, capaz de almacenar datos e informaciones, procesar o tratar los datos de acuerdo con las instrucciones y producir resultados o información en un formato adecuado.

Alta velocidad: los ordenadores actuales pueden almacenar, manejar y proporcionar información en cuestión de segundos. No es exagerado señalar que en pocos minutos efectúan tareas para las que tardábamos días, meses o años en realizarlo.

Almacenar datos e informaciones: el computador procesa los datos y las informaciones. Durante este proceso, dichos datos e informaciones deben conservarse en el almacenamiento o memoria del computador para ser utilizado en el momento oportuno.

Instrucciones: los datos se procesan conforme a las instrucciones dadas al computador. Las instrucciones constituyen lo que llamamos programa

Dato: es una representación simbólica (numérica, alfanumérica, entre otros) de un atributo o característica de una entidad. El dato por sí misma no tiene semántica alguna.
Ejemplo: Azul, automóvil

Información: Los resultados obtenidos de los datos se conoce como información.
Ejemplo: El automóvil de la esquina es azul.

Una computadora está constituida por elementos físicos o dispositivos (como monitor, memoria, ratón, teclado) conocidos como hardware. A los programas que se ejecutan y permiten darle utilidad a estos dispositivos se les denomina software

0.2 Esquema u organización de un ordenador

  1. Unidades de entrada: Permiten la introducción de datos o información dentro de la computadora, existen dos tipos de dispositivo, aquellos que convierten los datos en un formato capaz de ser interpretado por el computador, como por ejemplo el teclado y los que permiten su entrada directa como por ejemplo el escáner, los lectores de códigos de barras, etc.
  2. Unidades de salida: Son los elementos que a diferencia de las unidades de entrada, envían al exterior del sistema toda la información que ya ha sido procesada por la computadora como por ejemplo el monitor, la impresora, los parlantes, etc.
  3. Unidades de almacenamiento o memoria: Es el lugar de “almacén” de acceso rápido, pero con baja capacidad de almacenamiento. Almacena los datos de los programas que se están ejecutando actualmente en el ordenador, así como los datos introducidos desde las unidades de entrada. Generalmente estos datos se pierden cuando se apaga la computadora.
  4. Unidad Central de Proceso: coordina las actividades de la computadora, ejecutando programas en forma ordenada e interactuando con las unidades de entrada y salida. Dirige la ejecución del programa y controla tanto el movimiento de datos entre la memoria y el ALU, como las señales que circulan entre el ordenador y los periféricos (aparatos auxiliares o independientes conectados a la computadora)
  5. Unidad aritmética-lógica (ALU): Es la encargada de procesar datos, es parte de la Unidad Central de Proceso (CPU) que se encarga de todas las operaciones lógicas (como por ejemplo, comparar si un número es mayor que otro) y aritméticas (suma, resta, multiplicación, división)
  6. Unidad de almacenamiento secundario o memoria secundaria: es el sector en donde se almacenan otros datos que no tienen cabida en la principal. Este tipo de memoria permite almacenar datos de larga duración y son generalmente de alta capacidad, pero la información fluye más lento desde o hacia este tipo de memoria.
    Ejemplos: Disco duro, CD, DVD, etc.

0.3 Lenguajes de Programación.


Se conoce como lenguaje de programación a un  lenguaje diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas, particularmente una computadora.

Aprender un lenguaje de programación no es distinto a aprender inglés o español (u otra lengua), cada lenguaje posee reglas sintácticas o de sintaxis (que serían como las reglas de ortografía)
Por ejemplo: En la lengua española y en muchas otras al final de cada párrafo, tenemos que poner un punto (.)
En C++ después de cada instrucción o sentencia tenemos que poner un punto y coma (;)
[En el transcurso del curso veremos información mas detallada sobre las instrucciones]

Cada lenguaje también posee reglas semánticas, es decir cada palabra reservada (palabra propia o perteneciente a un lenguaje que  se utiliza para construir estructuras de instrucciones) utilizada tiene un significado dentro de un contexto. Esto sería como los vocablos las cuales poseen un significado dentro de una lengua, además de reglas para la utilización. Al igual que cada vocablo tiene su regla de utilización las palabras reservadas también. Por ejemplo no puedes utilizar el articulo “los” con sustantivos femeninos; los casas es un error de ortografía (semántica)

En conclusión utilizando una analogía sería:

En un lenguaje de Programación En la lengua española
Reglas sintácticas Reglas de ortografía
Reglas semánticas Vocablos y sus respectivas reglas de utilización

0.3.1 Tipos de Lenguajes

Según el lenguaje utilizado:

  • Lenguaje máquina: tecnología según la cual las instrucciones se codifican directamente en forma binaria (es decir, el “lenguaje natural” de una computadora). El sistema o código binario en matemáticas, es un sistema de numeración en el que los números se representan utilizando solamente las cifras 0 (cero) y  1 (uno). Esto es así ya que las computadoras trabajan internamente con dos variaciones de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido: 1, apagado: 0).

Cualquier computador puede comprender de manera directa sólo su lenguaje máquina propia ya que cada hardware de dicha computadora posee su propia especificación y su “lenguaje natural” está definido en su diseño. Al lenguaje máquina se le conoce también como código objeto [el término objeto en este contexto no es la mismo ni está relacionado con el de “Programación Orientada a Objetos]

Ahora bien imagínate escribiendo 1s y 0s para crear tus programas… y además tener que hacerlo para cada tipo de hardware del mercado…

  • Lenguajes de alto nivel: un lenguaje de alto nivel permite al programador escribir las instrucciones utilizando palabras o expresiones sintácticas que guardan cierta similitud con el inglés. Se les considera lenguajes de alto nivel, debido a que se pueden escribir códigos mas comprensibles y cercanos al lenguaje humano, C++ es un ejemplo de lenguaje de alto nivel.


Según la forma de ejecución:

  • Lenguajes compilados: Un programa que se escribe en un lenguaje de alto nivel debe traducirse a un código que la computadora pueda entender. Los programas que realizan esta traducción se llaman compiladores. Y la traducción del código fuente se guarda en un archivo que es a la que llamamos código objeto. Al usar un lenguaje compilado (como lo es C++), el programa desarrollado nunca se ejecuta mientras existan errores, sino hasta que el compilador ya no detecte errores sintácticos en el código fuente durante el proceso de compilación…
  • Lenguajes interpretados: En esta alternativa, en vez de traducir el código fuente y grabarlo en forma permanente el código objeto, el programador sólo carga el código fuente en la computadora. A continuación, un programa intérprete, almacenado en la máquina que ejecutará el programa, convierte cada instrucción del código en lenguaje máquina.  El código objeto no se guarda. La siguiente vez que se utilice una instrucción, se debe volver a interpretar y por lo tanto volver a traducir a lenguaje máquina.

Después de presentar esta clasificación podemos deducir que los programas compilados se ejecutan con mayor rapidez, pero los lenguajes interpretados presentan una mayor rapidez en tiempo de diseño, debido a que cuando se haga un cambio en el código fuente, no se debe volver a traducir el código completo.

0.4 Pero… ¿Que es la programación de computadoras?

La programación es el proceso de diseñar, escribir, probar y mantener un código fuente.

El código fuente no es más que un archivo de texto que contiene las instrucciones (las cuales fueron escritas por el programador) que debe seguir una computadora para realizar una tarea. Luego éste es traducido a una secuencia de instrucciones en un lenguaje que la computadora pueda entender.

0.5 Cómo probar una aplicación en C++

Generalmente cuando nos bajamos una aplicación para poder escribir nuestro programa en C++, éstas aplicaciones incluyen un paquete que básicamente se compone  de un editor de texto (lugar en dónde se escribe el código) y un compilador (aunque puede ocurrir que utilice un compilador que ya se tiene instalado en el sistema), y para probar nuestra aplicación sólo hace falta pulsar unos cuantos botones, uno sólo o una combinación de teclas.

Algunos programas gratuitos que permiten esto son:

Microsoft Windows

  • wxDev-C++
  • Dev-C++
  • Otros…

GNU/Linux (los * indican que también existen versiones para Windows)

  • Qt *
  • Geany *
  • Code::Blocks *
  • Otros…

A continuación presentaremos una manera de probar nuestras aplicaciones sin la necesidad estos programas alternativos.

Debido a que en este blog impulsamos el uso del software libre, sólo nos preocuparemos en mostrar la forma en que se pueden ejecutar las aplicaciones en C++ mediante el uso de la línea de comando de Linux (en nuestro caso, Ubuntu. Aunque garantizamos que los ejemplos que utilizaremos a lo largo del curso funcionaran en los sistemas Microsoft Windows y GNU/Linux). Para el ejemplo suponemos que usted se encuentra en su directorio de inicio (es decir en /home)

1. Localizar la aplicación completa: desde una terminal, diríjase al directorio del código fuente a compilar.

$ cd Ejemplos

2. Compilar la aplicación: como hemos mencionado para ejecutar una aplicación primero debemos compilarlo.

$ g++ AplicacionEjemplo.cpp -o AplicacionEjemplo

En donde:

g++: llama al compilador g++
AplicacionEjemplo.cpp: es el archivo a compilar
-o: es la opción que indica el lugar en donde se efectuará la salida (es decir, en que fichero se creará el código objeto)
AplicacionEjemplo: es el nombre del fichero producido por -o

Si al compilar no se presentan errores el programa ya está listo para poder ejecutarse

3. Ejecutar la aplicación: Para ejecutar el código objeto, se debe escribir

$ ./AplicacionEjemplo

Actividad 0.1

Para finalizar este capítulo lo único que tendrás que hacer es instalarte un software que te facilite el trabajo a la hora de escribir y compilar el código fuente de tus aplicaciones.

Para ello puedes bajarte los programas que mencionamos en la sección 0.4, o buscar algún otro que sea de tu agrado.

Luego de descargarlo, puedes adaptarlo a tu gusto, pero lo que con esta actividad se pretende es que el lector investigue en fuentes externas cómo instalar estos programas (aunque no existe un grado de dificultad elevada en esto).

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s