Anda di halaman 1dari 6

Introduccin a las

computadoras, a Internet y a la
World Wide Web
Objetivos
Comprender los conceptos bsicos acerca de las computadoras.
Familiarizarse con diferentes tipos de lenguajes de programacin.
Familiarizarse con la historia del lenguaje de programacin C.
Conocer la biblioteca estndar de C.
Comprender los elementos de un entorno de desarrollo tpico de C.
Apreciar por qu es apropiado aprender C como primer curso de programacin.
Apreciar por qu C proporciona los fundamentos para el estudio de otros lenguajes de programacin en
general, y en particular para C++, Java y C#.
Familiarizarse con la historia de Internet y de la World Wide Web.

Qu es una computadora?
Una computadora es un dispositivo capaz de realizar clculos y tomar decisiones lgicas a velocidades de
millones (incluso miles de millones) de veces ms rpidas que los humanos. Por ejemplo, muchas de las
computadoras personales actuales pueden realizar miles de millones de sumas por segundo. Una persona con
una calculadora podra requerir toda una vida para completar el mismo nmero de operaciones que una
poderosa computadora realiza en un segundo.
Una computadora est compuesta por varios dispositivos (tales como el teclado, el monitor, el ratn, discos,
memoria, DVD, CD-ROM y unidades de procesamiento) conocidos como hardware. A los programas de
cmputo que se ejecutan dentro de una computadora se les denomina software.

Organizacin de computadoras
Independientemente de la apariencia fsica, casi siempre podemos representar a las computadoras mediante
seis unidades o secciones lgicas:
1.

Unidad de entrada. sta es la seccin receptora de la computadora. Obtiene informacin (datos y


programas de cmputo) desde varios dispositivos de entrada y pone esta informacin a disposicin
de las otras unidades para que la informacin pueda procesarse.

2.

Unidad de salida. sta es la seccin de embarque de la computadora. Toma informacin que ya ha


sido procesada por la computadora y la coloca en los diferentes dispositivos de salida, para que la
informacin est disponible fuera de la computadora

3.

Unidad de memoria. sta seccin funciona en la computadora como un almacn de acceso rpido,
pero con una capacidad relativamente baja. sta retiene la informacin que se introduce a travs de
la unidad de entrada, de manera que la informacin pueda estar disponible de manera inmediata para
procesarla cuando sea necesario.

4.

Unidad aritmtica y lgica (ALU). sta es la seccin de manufactura de la computadora. Es la


responsable de realizar clculos tales como suma, resta, multiplicacin y divisin.

5.

Unidad central de procesamiento (CPU). sta es la seccin administrativa de la computadora; es


quien coordina y supervisa la operacin de las dems secciones.

6.

Unidad secundaria de almacenamiento. ste es el almacn de alta capacidad y de larga duracin


de la computadora. Los programas o datos que no se encuentran en ejecucin por las otras unidades,
normalmente se colocan dentro de dispositivos de almacenamiento secundario (tales como discos)
hasta que son requeridos de nuevo, posiblemente horas, das, meses o incluso aos despus.

Evolucin de los sistemas operativos


Las primeras computadoras eran capaces de realizar solamente una tarea o trabajo a la vez. A esta forma de
operacin de la computadora a menudo se le conoce como procesamiento por lotes (batch) de un solo usuario.
Los sistemas de software denominados sistemas operativos fueron desarrollados para hacer ms fcil el uso
de la computadora. Los primeros sistemas operativos administraban la suave transicin entre tareas.
Aparece la multiprogramacin, la cual significa la operacin simultnea de muchas tareas dentro de la
computadora (la computadora comparte sus recursos entre los trabajos que compiten por su atencin). En los
primeros sistemas operativos con multiprogramacin, los usuarios an tenan que enviar sus trabajos mediante
paquetes de tarjetas perforadas y esperar horas o das por sus resultados.
En la dcada de los sesenta, muchos grupos de la industria y de las universidades marcaron los rumbos de los
sistemas operativos de tiempo compartido. El tiempo compartido es un caso especial de la
multiprogramacin, en el cual, los usuarios acceden a la computadora a travs de terminales.

Computacin personal, distribuida y cliente-servidor


En 1977, Apple Computers populariz el fenmeno de la computacin personal. Estas computadoras eran
unidades independientes (la gente haca su trabajo en su propia mquina y transportaba sus discos de un
lado a otro para compartir informacin).
Aunque las primeras computadoras personales no eran lo suficientemente poderosas para compartir el tiempo
entre muchos usuarios, estas mquinas podan interconectarse entre s mediante redes, algunas veces mediante
lneas telefnicas y otras mediante redes de rea local (LANs), esto deriv en el fenmeno denominado
computacin distribuida.
Las mquinas de escritorio ms poderosas (denominadas estaciones de trabajo) proporcionan al usuario
enormes capacidades. La informacin se comparte de manera muy sencilla a travs de redes de computadoras,
en donde algunas computadoras denominadas servidores de archivos ofrecen un lugar comn de
almacenamiento para programas y datos que pueden ser utilizados por computadoras cliente distribuidas a
travs de la red; de ah el trmino de computacin cliente-servidor.

Lenguajes mquina, lenguajes ensambladores y lenguajes de


alto nivel
Los programadores escriben instrucciones en diversos lenguajes de programacin, algunos de estos lenguajes
los comprende directamente la computadora, mientras que otros requieren pasos intermedios de traduccin.
En la actualidad se utilizan cientos de lenguajes de computacin, los cuales se dividen en tres tipos generales:
1. Lenguajes mquina.
2. Lenguajes ensambladores.

3. Lenguajes de alto nivel.


Cualquier computadora puede entender de manera directa slo su propio lenguaje mquina. Por lo general,
los lenguajes mquina consisten en cadenas de nmeros [que finalmente se reducen a unos (1) y ceros (0)]
que instruyen a las computadoras para realizar sus operaciones ms elementales, una por una. Los lenguajes
mquina son dependientes de la mquina, es decir, un lenguaje mquina en particular puede utilizarse
solamente en un tipo de computadora. Los lenguajes mquina son difciles de comprender para los humanos,
como podr ver en el programa de lenguaje mquina de la siguiente seccin, el cual suma el pago de horas
extras a un sueldo base y lo almacena en un sueldo bruto:
+1300042774
+1400593419
+1200274027

La programacin en lenguaje mquina era demasiado lenta y tediosa para la mayora de los programadores,
por esta razn los programadores comenzaron a utilizar abreviaturas del ingls para representar las
operaciones bsicas de la computadora. Estas abreviaturas del ingls formaron la base de los lenguajes
ensambladores.
Ejemplo de un programa en lenguaje ensamblador que tambin suma el pago por horas extras a un sueldo
base y almacena el resultado en un sueldo bruto, pero de manera ms clara que su equivalente en lenguaje
mquina:
LOAD SUELDOBASE
ADD SUELDOEXTRA
STORE SUELDOBRUTO

Aunque dicho cdigo es ms claro para los humanos, ser incomprensible para las computadoras, hasta que
los ensambladores lo traduzcan al lenguaje mquina.
Para acelerar el proceso de programacin, se desarrollaron los leguajes de alto nivel, en los que las
instrucciones individuales llevan a cabo tareas importantes. A los programas traductores que convierten
programas escritos en lenguajes de alto nivel a lenguaje mquina, se les llama compiladores.
Un programa de nmina escrito en un lenguaje de alto nivel podra contener una instruccin como la
siguiente:
sueldoBruto = sueldoBase + sueldoExtra

FORTRAN, COBOL, Pascal y Ada


En la dcada de los cincuenta, IBM Corporation desarroll FORTRAN (FORmula TRANslator) para que se
utilizara en aplicaciones cientficas y de ingeniera que requeran clculos matemticos complejos.
Actualmente, FORTRAN se utiliza ampliamente, en especial en aplicaciones de ingeniera.
COBOL (COmmon Business Oriented Language) fue desarrollado en 1959 por fabricantes de computadoras,
el gobierno y los usuarios de computadoras en la industria. COBOL se utiliza para aplicaciones comerciales
que requieren una manipulacin precisa y eficiente de grandes cantidades de datos.
Pascal fue creado por el profesor Niklaus Wirth, en 1971, fue llamado as en honor al filsofo y matemtico
Blaise Pascal, y fue diseado para la enseanza de la programacin estructurada.
Ada fue desarrollado bajo el patrocinio del Departamento de Defensa de los Estados Unidos (DoD) durante la
dcada de los setenta y principios de la dcada de los ochenta. Una de las caractersticas importantes de Ada
se conoce como multitareas; esto permite a los programadores especificar que ocurrirn varias tareas en
paralelo.

Historia de C
C evolucion de dos lenguajes de programacin anteriores, BCPL y B. En 1967, Martin Richards desarroll
BCPL como un lenguaje para escribir software para sistemas operativos y compiladores. Ken Thompson, en
su lenguaje B, model muchas de las caractersticas de C, luego del desarrollo de su contraparte en BCPL y,
en 1970, utiliz B para crear las primeras versiones del sistema operativo UNIX.
El lenguaje C evolucion a partir de B; dicha evolucin estuvo a cargo de Dennis Ritchie en los laboratorios
Bell. C utiliza muchos conceptos importantes de BCPL y B cuando agrega tipos de datos y otras
caractersticas. Inicialmente, C se hizo popular como lenguaje de desarrollo para el sistema operativo UNIX.
En la actualidad, la mayora de los sistemas operativos estn escritos en C y/o C++.

La biblioteca estndar de C
Los programas en C constan de mdulos o piezas llamadas funciones. Usted puede programar todas las
funciones que necesite para formar un programa en C, pero la mayora de los programadores aprovechan la
rica coleccin de funciones existentes dentro de la llamada Biblioteca Estndar de C. Adems, en realidad
existen dos claves para aprender a programar en C. La primera es aprender el propio lenguaje C, y la segunda
es aprender la manera de utilizar las funciones de la biblioteca estndar.
Cuando programe en C, por lo general utilizar los siguientes bloques de construccin:
Funciones de la biblioteca estndar de C.
Funciones creadas por usted mismo.
Funciones creadas por otras personas y disponibles para usted.
Si utiliza funciones existentes, puede evitar la reinvencin de la rueda. En el caso de las funciones del
estndar ANSI(American National Standards Institute), usted sabe que estn escritas con mucho cuidado, y
sabe que, debido a que utiliza funciones que se encuentran disponibles virtualmente en todas las
implementaciones de ANSI C, sus programas tendrn grandes posibilidades de ser portables.

C++
C++ es un C mejorado, desarrollado por Bjarne Stroustrup en los laboratorios Bell. C++ proporciona un
conjunto de caractersticas que pulen al lenguaje C; sin embargo, lo ms importante es que proporciona
capacidades para una programacin orientada a objetos. C++ se ha convertido en el lenguaje dominante en la
industria y en las universidades. Los objetos son, esencialmente, componentes reutilizables de software que
modelan elementos reales.

Conceptos bsicos de un ambiente tpico de programacin en C


Los programas en C generalmente pasan a travs de seis fases para ejecutarse. Estas son: edicin, preproceso,
compilacin, enlace, carga y ejecucin.

Historia de Internet
A finales de la dcada de los sesenta ARPA (Advanced Research Projects Agency of the Department of
Defense) difundi el anteproyecto de conectar en red a las principales computadoras de una docena de
universidades e institutos de investigacin. stas se conectaran mediante lneas de comunicacin que
operaban, en ese entonces, a la increble velocidad de 56 KB (es decir, 56,000 bits por segundo), esto en una
poca en la que la mayora de la gente (de los pocos que podan estarlo) se conectaba mediante las lneas
telefnicas a las computadoras a un rango de velocidad de 110 bits por segundo.

Investigadores de Harvard hablaron acerca de comunicar la Univac 1108, una supercomputadora de la


universidad de Utah, con todo el pas, para manejar los clculos relacionados con sus investigaciones acerca
de grficos por computadora. ARPA procedi con la implantacin de lo que pronto se convirti en ARPAnet,
el abuelo de la Internet actual.
El principal beneficio de ARPAnet iba a ser el permitir que los investigadores se comunicaran de una manera
rpida y fcil entre ellos, por medio de lo que se llam correo electrnico (e-mail).
Una de las principales metas de ARPA, con respecto a la red, era permitir que mltiples usuarios enviaran y
recibieran informacin al mismo tiempo y sobre las mismas rutas de comunicacin (tal como una lnea
telefnica). La red operaba mediante una tcnica denominada intercambio de paquetes.
La red se dise para operar sin un control central. Esto significaba que si una porcin de la red fallaba, las
porciones restantes podran ser capaces de enviar paquetes, de los remitentes a los destinatarios, a travs de
rutas alternas.
Los protocolos para la comunicacin a travs de ARPAnet se hicieron conocidos como TCP (Transmission
Control Protocol). TCP garantizaba que los mensajes se enrutaran apropiadamente del remitente al
destinatario, y que los mensajes llegaran intactos.
En paralelo con la primera evolucin de Internet, las empresas de todo el mundo estaban instalando sus
propias redes de comunicacin, tanto intraempresariales (dentro de la empresa), como interempresariales
(entre las empresas). En ese entonces apareci una gran cantidad de hardware y software para redes. Uno de
los desafos era lograr la intercomunicacin. ARPA lo logr mediante el desarroll de IP (Internet Protocol), y
con ello cre la verdadera red de redes; la arquitectura actual de Internet. A la combinacin de ambos
protocolos se le denomina TCP/IP.

Historia de la World Wide Web


La World Wide Web permite a los usuarios de computadoras, localizar y ver documentos basados en
multimedia (es decir, documentos con texto, grficos, animacin, audio y/o video) de casi cualquier tema.
Aunque Internet se desarroll hace ms de tres dcadas, la introduccin de World Wide Web es un suceso
relativamente reciente.
En 1990, Tim Berners-Lee, miembro de la CERN (European Organization for Nuclear Research) desarroll
la World Wide Web y los distintos protocolos de comunicacin que forman su esqueleto.

Un programa sencillo en C: Impresin de una lnea de texto


C utiliza una notacin que puede parecer extraa para quien no es programador. Comencemos considerando
un programa sencillo en C. Nuestro primer ejemplo imprime una lnea de texto. Aun cuando este programa es
sencillo, ilustra muchas caractersticas importantes del lenguaje C. Ahora consideremos con detalle cada lnea
del programa. Las lneas 1 y 2:
/* Figura 2.1: fig02_01.c
Un primer programa en C */

comienzan con /* y terminan con */, lo que indica que estas dos lneas son un comentario. Los programadores
insertan comentarios para documentar los programas y para mejorar su legibilidad. Los comentarios no
provocan que la computadora realice accin alguna durante la ejecucin del programa. El compilador de C
ignora

01
02
03
04
05
06
07
08
09
10
11
12

/*Figura2.1:fig02_01.c
UnprimerprogramaenC*/
#include<stdio.h>
/*lafuncinmaininicialaejecucindelprograma*/
intmain(void)
{
printf(BienvenidoaC!\n);
return0;/*indicaqueelprogramaterminconxito*/
}/*findelafuncinmain*/

Anda mungkin juga menyukai