Está en la página 1de 7

INTRODUCCIN A

LA PROGRAMACIN
QU ES UNA COMPUTADORA?
Es una mquina electrnica que recibe datos de entrada y los procesa de acuerdo
al conjunto de instrucciones, llamado programa, para obtener nuevos datos que
son el resultado del proceso.
SE DIVIDE EN:

Hardware: Los elementos tangibles de una computadora.


Software: El conjunto de programas y elementos intangibles de una
computadora.

Para poder llegar a lo que conocemos ahora como computadora personal se


tuvieron que hacer varios modelos de los cuales el que es usado actualmente es
el de Von Neumann.

Modelo de Von Neumann


Este modelo propone que tanto el programa como los datos sean almacenados en
la memoria, de esta forma la computadora no tiene que reconstruirse, pues para
programarla nicamente debe introducirse el programa por el dispositivo
indicado y posteriormente alimentarla con los datos de entrada para que calcule
la salida correspondiente.
Las computadoras actuales estn basadas en este modelo, el cual se compone de
las siguientes partes:
1. CPU: Unidad Central de Procesamiento.
Unidad Aritmtica Lgica.
Unidad de Control.
2. Memoria RAM
3. Dispositivos de entrada/salida

Componentes de una computadora

CPU- unidad central de procesamiento


CPU, Central Process Unit: Controla y coordina la ejecucin de las instrucciones.
La CPU se divide en dos dispositivos principalmente: La Unidad Aritmtico-Lgica
y la Unidad de Control.

Unidad Aritmtico-Lgica (ALU, Arithmetic Logic Unit): Es encargada del


procesamiento de datos, realiza todas las operaciones (suma, resta, etc.)
y lgicas (operaciones de lgebra de Boole). La ALU incluye un elemento
auxiliar donde se almacenan temporalmente los datos que manipula
conocido como Acumulador o Registro Temporal (TR, Temporal Register).

Unidad de Control (CU, Control Unit): Lee las instrucciones almacenadas


en la memoria, las decodifica y despus enva las seales a los
componentes que estn involucrados en su ejecucin, para lo cual se
apoya en dos elementos auxiliares:
-

Contador del Programa (PC, Program counter): Se encarga de


almacenar la direccin de memoria que contiene la siguiente
instruccin a ejecutar.

Registro de Instruccin (IR, Instruction Register): Este elemento guarda


temporalmente la instruccin.

Memoria principal
Es la parte de la computadora donde se almacenan los datos y las instrucciones
durante la ejecucin de un programa, compuesta fsicamente por circuitos
integrados. Actualmente los equipos de cmputo cuentan con un rea de
memoria de slo lectura conocida como Memoria ROM (Read Only Memory) y otra
la cual es posible escribir y leer datos, denominada como Memoria RAM (Random
Access Memory), la cual como principal inconveniente que presenta es ser muy
voltil, pues al apagarse el equipo se pierden los datos almacenados.
Para resolver esto se cuenta con otro tipo de memoria secundaria donde se
pueden almacenar grandes cantidades de informacin de manera permanente
mientras el usuario no decida eliminarla, aunque como principal desventaja que
se presentan es que son dispositivos ms lentos que la memoria RAM. Los
dispositivos que son usados como memoria secundaria se encuentras los discos
duros, memorias USB, CD-ROM, etc.

Dispositivos de entrada/salida
Son los elementos responsables en la interaccin mquina-usuario. Los
dispositivos de entrada permiten introducir datos a la computadora e
instrucciones, las cuales son convertidas en seales binarias, procesadas y
almacenadas en la memoria. Ejemplo: Teclado, Mouse, Touchpad.
Mientras los dispositivos de salida son los que permiten enviar los resultados a los
usuarios de las computadoras, transformando las seales binarias en informacin
comprensible al ser humano. Ejemplo: Monitor, impresora, plotter, etc.

Bus
Todas las unidades de una computadora estn comunicadas a travs de Buses,
que no son ms que cables lo cuales envan seales, y que se clasifican en tres
clases dependiendo de la informacin que transmiten.
1. Bus de Direcciones: Transmite la direccin de la memoria de la que se
quiere leer o en la que se quiere escribir.
2. Bus de Control: Selecciona la operacin a realizar en una celda de la
memoria RAM (lectura o escritura)
3. Bus de Datos: Transmite el contenido desde o hacia una celda de memoria
seleccionada en el bus de direcciones segn la operacin elegida en el bus
de control sea lectura o escritura.

Ejecucin de un programa en la
computadora
Durante una ejecucin de un programa informtico en una computadora
suceden los siguientes procesos:

Las computadoras solamente entienden seales binarias: Ceros y unos, los


dos nicos estados, hay corriente elctrica, no hay corriente elctrica. A
esta codifcacin se le conoce como lenguaje mquina.

Almacenamiento de programas y datos


A continuacin se muestra un ejemplo con un pseudoprograma:
Cuando los dispositivos realicen su tarea enviarn una seal a la Unidad de Control
(CU), para que sta repita el mismo proceso con la siguiente instruccin hasta ejecutar
todo el programa.

La unidad de control se encarga de decodifcar la instruccin almacenada,


detectando qu dispositivos estn implicados en su ejecucin, estos pueden
ser: la ALU, cundo se tiene que hacer una operacin; los dispositivos de
entrada/salida, cuando se tiene que enviar o recibir un dato; o la mmoria, si se
requiere guardar o consultar algn dato; posteriormente se enva las seales
de control a los mismos indicndoles la accin y de ser el cao, los datos y/o
direccin de la memoria correspondiente.

La unidad de control consulta en la mimoria la instruccion indicada en el


contador del programa y la almacena en el registros de instrucciones,
actualizando el contador del programa con la direccin de memoria dela
siguiente instruccin.

3
2
1

La memoria est dividida en varias celdas, los cuales pueden almacenar 0s y


1s, los cuales son denominados como BITs (BInary digiT). stas celdas se
agrupan para formar registros (o palabras), a cada registro le corresponde una
direccin de memoria
Escribir programas en leguaje binario es muy complicado para los seres
humanos, pero se han desarrollado diversos lenguajes de programacin
cercanos al lenguaje humano.

LENGUAJES DE PROGRAMACIN
La funcin de los lenguajes de programacin es escribir programas de
computadora orientados a resolver algn problema o necesidad. Cada lenguaje
de programacin se defne a partir de un conjunto de smbolos bsicos llamado
alfabeto y un conjunto de reglas de escritura denominadas sintaxis, la cual
defne la forma de manipularlos o combinarlos. Las reglas que especifcan los
efectos de las instrucciones cuando son ejecutadas se les conoce como
semntica.
Lenguaje de Programacin = alfabeto + sintaxis + semntica
Por su legibilidad para el ser humano los lenguajes de programacin se
clasifcan en:

Lenguajes de bajo nivel: Se caracteriza por parecerse a las acciones


elementales que ejecuta una computadora (suma, resta, guardar en la
memoria, etc). Describen a detalle lo que sucede a nivel de hardware.
Lenguajes de alto nivel: Son parecidos al lenguaje humano y por lo
regular en ingls. Ocultan lo que sucede a nivel de hardware pero son
ms fciles de entender para las personas.

Evolucin de los lenguajes de programacin


En el principio, cuando surgieron las primeras cmputadoras el primer lenguaje
en aparecer fue el lenguaje mquina, que dada la complejidad para poder
trabajar con 0s y 1s, los investigadores desarrollaron el lenguaje
ensamblador, cuyo conjunto de instrucciones consta de palabras nemotcnicas
que corresponden a las operaciones bsicas que una computadora puede
ejecutar.

Para ilustrar esto revisemos la siguiente instruccin:


Mueve el contenido del registro 8 al contenido del registro 10.

En lenguaje de mquina esta instruccin se podra representar como:


0010 0000 1000 0100

Lo cual es ilegible para el ser humano, en cambio en lenguaje ensamblador


esta instruccin se puede representar de la siguiente forma:
MOV R8, R10
Aunque sigue estando en clave, es ms amigable que las cadenas de ceros y
unos.

Para traducir de lenguaje ensamblador a lenguaje de mquina, se desarrollaron


programas llamados ensambladores (en ingls, assemblers). Este lenguaje fue
considerado de segunda generacin.

Posteriormente, en la dcada de los 50s aparecieron los primeros lenguajes de


alto nivel, cuyas instrucciones son ms parecidas al idioma ingls. Son
independientes de la arquitectura de las computadoras. Algunos ejemplos son:
FORTRAN y COBOL (que son los primeros lenguajes que aparecieron y en sus
inicios se utilizaron para aplicaciones cientfcas), C, Pascal, Ada, Lisp y Prolog
(utilizados principalmente en inteligencia artifcial), Java, C++, C#, entre otros.

As como con el lenguaje ensamblador, los programas en lenguaje de alto nivel


necesitan ser codifcados a lenguaje mquina, y por esa razn junto con ellos
se desarrollaron programas traductores que se dividen en:

Compiladores: Traduce todo el programa escrito en lenguaje de alto


nivel, llamado cdigo fuente, generando un nuevo programa objeto que
est escrito en lenguaje mquina y apartir de ste se genera un
programa ejectable, el cual se puede ejecutar cada vez que se desee sin
tener que compilar nuevamente el programa fuente. Adems como parte
del proceso de traduccin el compilador detecta los errores existentes en
el cdigo
Intrpretes: Revisa cada lnea del cdigo, lnea por lnea analiza y
ejecuta enseguida el cdigo (sin revisar el cdigo completo antes),
tampoco genera un programa objeto. Cada vez que se ejecute el
programa se vuelve a traducir el programa lnea por lnea.

Con lo anterior se podra pensar que los compiladores estn en cierta


desventaja por la fase extra de generar un programa ejecutable y ser menos
efciente, pero, en la realidad un programa se ejecuta ms rpido si se usa un

compilador en vez de un intrprete. Adems de esto un programa compilado se


puede volver a ejecutar sin tener que compilarse nuevamente, mientras que
usando un intrprete es necesario que sea traducido cada vez que se ejecuta.

Paradigmas de los Lenguajes de Programacin


Un lenguaje de programacin siempre sigue un paradigma (aunque es posible
encontrar algunons lenguajes con dos) Por ejemplo: C++, que surgi bajo el
pardigma procidemental y se transform al paradigma orientado a objetos.
Los paradigmas mas importantes a la fecha son:

Paradigma imperativo o procedural: Es el mtodo de programacin


tradicional, en donde los programas describen la forma de solucionar un
problema a partir de una lista de instrucciones que se ejecuta de forma
secuencial.

También podría gustarte