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.
2.
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.
5.
6.
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
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.
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.
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*/