Beruflich Dokumente
Kultur Dokumente
Captulo 1
PRINCIPIOS BSICOS
DE LA PROGRAMACIN
INTRODUCCIN A LA PROGRAMACIN
QU ES PROGRAMAR?
(CONCEPTOS BSICOS)
> La tarea de escribir un programa o programar consiste en escribir detalla-
da y minuciosamente las instrucciones que debe seguir una computadora pa-
ra realizar una tarea. Estas instrucciones deben escribirse en un lenguaje que
la computadora pueda entender, ya sea en forma directa o luego de una tra-
duccin realizada por un intrprete o un compilador, como se explica ms
adelante en este captulo.
El concepto ms importante que hay que comprender antes de ponerse a pro-
gramar es que la computadora carece totalmente de sentido comn. Los progra-
mas no deben (idealmente) dejar nada librado al azar, deben cubrir todos los po-
sibles casos que puedan suceder. Por ejemplo, imaginemos que mediante un pro-
grama queremos instruir una computadora para que maneje un auto. El progra-
ma podra ser ms o menos as:
8
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:16 PM Page 9
PROGRAMACIN DE JUEGOS
En los albores de la programacin madores de juegos prefieren len-
de juegos para PC, el lenguaje en- guajes estructurados u orientados a
samblador era el preferido por esta objetos, como el C o el C++, para
raza de programadores. Con el hacer sus creaciones. El lenguaje
tiempo fueron apareciendo libreras C++ conserva todas las capacidades
de alto nivel para manejo de grfi- de su antecesor y le suma ventajas
cos y animaciones, y hoy los progra- respecto del manejo de memoria.
9
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:16 PM Page 10
INTRODUCCIN A LA PROGRAMACIN
LENGUAJES DE PROGRAMACIN:
POR QU HAY TANTOS?
(PARADIGMAS, LENGUAJES Y FORMAS DE PROGRAMAR)
> En prrafos anteriores vimos que los programas se escriben en lenguajes que
pueden traducirse a una forma que la computadora pueda entender (como vere-
mos ms adelante, a esta forma se la llama lenguaje de mquina). Esto hizo que,
a lo largo de la historia de la programacin, se fueran creando distintos lengua-
jes para distintas necesidades, cada uno con su correspondiente traductor a len-
guaje de mquina. Por lo general, los lenguajes de programacin surgieron de
centros de investigacin en universidades o empresas, cada uno con el objetivo
de cubrir alguna necesidad en particular.
As nacieron, por ejemplo, el FORTRAN (por Formula Translator, o traduc-
tor de frmulas), pensado especialmente para que los cientficos de distintas
disciplinas pudieran escribir programas para hacer clculos de gran compleji-
dad, y el COBOL (por Common Business Oriented Language o lenguaje co-
mn orientado a negocios), que fue pensado con el objetivo de escribir pro-
gramas para administrar empresas.
10
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:16 PM Page 11
Programacin imperativa
El programa detalla los pasos necesarios para realizar una tarea. Existe un estado global de
programa que es modificado por una secuencia de rdenes o instrucciones.
Programacin declarativa
Los programas describen el resultado a obtener y los mecanismos disponibles,
pero no detallan los pasos necesarios para obtenerlo
Figura 1. Los lenguajes ms comunes C, Pascal, Basic, FORTRAN, etc. pertenecen al paradigma
de programacin imperativa; los dos primeros enfatizan el concepto de programacin estructurada.
11
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 12
INTRODUCCIN A LA PROGRAMACIN
Objeto Ventana
12
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 13
13
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 14
INTRODUCCIN A LA PROGRAMACIN
Este lenguaje del que hablamos es el pseudocdigo. A pesar de que no sirve pa-
ra crear en forma directa programas ejecutables, es una herramienta de gran uti-
lidad para programar en papel; es decir, para esbozar cmo un programa debe
llevar a cabo su tarea.
Por ejemplo, el siguiente programa en pseudocdigo se utiliza para encontrar el
mayor elemento dentro de una lista de datos:
Funcin BuscarMaximo(lista)
Mayor = lista(1)
Contador = 2
Mientras Contador longitud(lista) hacer
Si lista(Contador) > Mayor entonces
Mayor = lista(Contador)
Fin Si
Contador = Contador + 1
Fin Mientras
Devolver Mayor
Fin Funcin
14
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 15
ENTORNOS DE PROGRAMACIN
Y HERRAMIENTAS
(LA ELECCIN DE LOS ELEMENTOS PARA PROGRAMAR)
Figura 3. El entorno
de programacin
de Visual Basic ofrece
mltiples herramientas
para disear ventanas,
depurar cdigo,
etctera.
15
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 16
INTRODUCCIN A LA PROGRAMACIN
EDITORES DE CDIGO
La eleccin de un buen editor de cdigo es fundamental para el programador,
ya que es la herramienta con la que trabajar la mayor parte del tiempo. Los en-
tornos de programacin ms completos siempre incluyen un editor propio, el
cual suele brindar algunas facilidades como indentacin automtica (esto signi-
fica que las lneas de cdigo se acomodan solas, con la sangra que corresponda),
verificacin de sintaxis mientras se escribe, acceso rpido a instrucciones y pala-
bras reservadas del lenguaje, etctera (Figura 4).
16
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 17
ENTORNOS VISUALES
A partir del surgimiento del popular lenguaje Visual Basic, comenz un con-
cepto nuevo en programacin que dio en llamarse programacin visual. Esta
forma de programar emplea elementos visuales como por ejemplo, ventanas,
botones, cuadros de texto, etc. para disear los programas. Los elementos visua-
les, tambin llamados controles, poseen cierta inteligencia para saber qu ha-
cer cuando el usuario interacta con ellos (por ejemplo, cuando hace clic sobre
un botn). De esta forma, ahorran bastante trabajo de programacin y evitan la
necesidad de programar al detalle cada cosa que deben hacer los controles.
A pesar de su aparente facilidad para crear programas, los entornos visuales tie-
nen sus trampas: por utilizar elementos estndares de la interfaz grfica del siste-
ma operativo, deben preverse gran cantidad de eventos posibles que pueden afec-
tar a nuestros programas. Por ejemplo, el programa debe estar preparado para
que el usuario lo cierre en cualquier momento, sin importar lo que est hacien-
do. Tambin debe preverse que se pueda minimizar o maximizar la ventana del
programa, o que sta quede oculta detrs de la ventana de otro programa, y que
ninguno de estos sucesos genere errores.
LIBRERAS
Las libreras (library, en ingls, que en realidad debera traducirse como bi-
blioteca) son repositorios de elementos listos para usar que podemos aprove-
char en nuestros programas para no tener que escribir cdigo que ya ha sido es-
crito por otros (o incluso por nosotros mismos). Todos los lenguajes y entornos
de programacin brindan alguna forma de acceso a diversas libreras. stas sue-
len agrupar elementos con similar funcionalidad; por ejemplo, es comn encon-
trar libreras para manejo de funciones
matemticas. Si nos enfrentamos con
la necesidad de escribir un programa
INTERFACES GRFICAS
La programacin visual es ideal pa-
que en algn momento calcule la raz
ra crear programas que emplean la
cuadrada de un nmero, entonces ha-
interfaz grfica estndar del sistema
cemos referencia a la librera de fun-
operativo, ya que los controles utili-
ciones matemticas, y luego podremos
zados para darles funcionalidad a
utilizar la funcin para calcular races
los programas son elementos pro-
cuadradas, sin preocuparnos por cmo
pios de dicha interfaz.
est programada dicha funcin.
17
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 18
INTRODUCCIN A LA PROGRAMACIN
COMPILADORES E INTRPRETES
(DIFERENCIAS Y USOS)
> Tal como vimos anteriormente en este captulo, el cdigo fuente de los pro-
gramas que escribimos debe traducirse en algn momento a cdigo ejecutable,
ya que de otra forma la computadora no lo podra entender y, por ende, el pro-
grama no podra ejecutarse.
Hay dos formas de traducir cdigo fuente en cdigo ejecutable: compilacin e
interpretacin. Estas formas difieren en cuanto al momento en que se realiza la
mencionada traduccin y son los compiladores e intrpretes programas que,
por lo general, se encuentran integrados al entorno de programacin quienes las
llevan a cabo. Luego veremos la diferencia entre unos y otros.
c := a + b;
18
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 19
19
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 20
INTRODUCCIN A LA PROGRAMACIN
Programa ejecutable
Cdigo fuente Compilador Cdigo objeto Vinculador
Figura 6. El cdigo fuente atraviesa distintas etapas hasta llegar a ser un programa ejecutable.
20
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 21
Compilacin:
Interpretacin:
paso a paso: esto significa que, luego de compilar y ejecutar cada instruccin,
el intrprete queda a la espera de que le digamos que ejecute la prxima instruc-
cin. De esta forma, tenemos la posibilidad de verificar el estado de un progra-
ma luego de ejecutar cada instruccin, con lo cual podremos detectar fcilmen-
te los errores. En cualquier momento podemos detener la ejecucin para volver
al editor de cdigo y hacer las correcciones que sean necesarias.
Lgicamente, la ejecucin de un programa en forma interpretada es ms lenta
que la ejecucin en forma compilada, puesto que el programa compilado ya fue
traducido en su totalidad a lenguaje de mquina y no es necesario traducir cada
instruccin antes de ejecutarla. Es por esta razn que no se pueden hacer prue-
bas de la velocidad (o de la performance) de un programa ejecutndolo a travs
de un intrprete, puesto que la velocidad observada no ser la velocidad real a la
que puede ejecutar el programa.
21
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 22
INTRODUCCIN A LA PROGRAMACIN
22
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 23
EL ENTORNO DE TRABAJO
Irie Pascal ofrece un entorno amigable de programacin para trabajar en len-
guaje Pascal. Brinda una interfaz de usuario basada en Windows, si bien los
programas que genera se ejecutan en una ventana del intrprete de comandos
(o una ventana de MS-DOS, segn la versin de Windows que se utilice). Es-
to significa que los programas creados en Irie Pascal no utilizan los elementos
de la interfaz grfica de Windows, tales como ventanas, botones, barras de
desplazamiento, etc. Pero esto no impide utilizarlo para aprovechar a pleno las
caractersticas del lenguaje Pascal.
La pantalla principal de trabajo de Irie Pascal la constituye el editor de cdigo
(Figura 8). ste no se diferencia mucho del Bloc de notas de Windows, excepto
por algunas facilidades para la programacin tales como indentacin (sangra)
automtica o seleccin de bloques. Adems, es capaz de manejar mltiples ven-
tanas, lo cual permite trabajar sobre varios programas a la vez.
Figura 8. El editor de cdigo es la principal ventana de trabajo del entorno Irie Pascal.
23
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 24
INTRODUCCIN A LA PROGRAMACIN
Program ContarPalabras;
Var
Frase: String;
Begin
Write(Escriba una frase: );
Readln(Frase);
Writeln(Esa frase tiene , CountWords(Frase), palabras.);
End.
24
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 25
[5] Acceda a la opcin de men Project/Compile (o directamente presione F9).
Aparecer una ventana que muestra los resultados de la compilacin. Si
en esta ventana se indica que hay errores, vuelva a la ventana de edicin
de cdigo y revise el programa. Tenga en cuenta que debe ser idntico al
cdigo escrito en el paso 2, sin omitir ni agregar ningn espacio ni signo
de puntuacin.
25
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 26
INTRODUCCIN A LA PROGRAMACIN
ACTIVIDADES DE AUTOEVALUACIN
Una serie de consignas y actividades para repasar los principales conceptos
tratados en este captulo y, de esta manera, afianzar el aprendizaje:
> 2. Ahora contamos con una versin ms potente del lenguaje, llamada
Damas++. Esta versin agrega una nueva instruccin:
26