Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Progra
Progra
Capítulo 1
PRINCIPIOS BÁSICOS
DE LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
¿QUÉ ES PROGRAMAR?
(CONCEPTOS BÁSICOS)
> 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-
ducción realizada por un intérprete o un compilador, como se explica más
adelante en este capítulo.
El concepto más importante que hay que comprender antes de ponerse a pro-
gramar es que la computadora carece totalmente de sentido común. 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 podría ser más o menos así:
8
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:16 PM Page 9
› PROGRAMACIÓN DE JUEGOS
En los albores de la programación 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 librerías C++ conserva todas las capacidades
de alto nivel para manejo de gráfi- 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
INTRODUCCIÓN A LA PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN:
¿POR QUÉ HAY TANTOS?
(PARADIGMAS, LENGUAJES Y FORMAS DE PROGRAMAR)
> En párrafos anteriores vimos que los programas se escriben en lenguajes que
pueden traducirse a una forma que la computadora pueda entender (como vere-
mos más adelante, a esta forma se la llama lenguaje de máquina). Esto hizo que,
a lo largo de la historia de la programación, se fueran creando distintos lengua-
jes para distintas necesidades, cada uno con su correspondiente “traductor” a len-
guaje de máquina. Por lo general, los lenguajes de programación surgieron de
centros de investigación 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 fórmulas), pensado especialmente para que los científicos de distintas
disciplinas pudieran escribir programas para hacer cálculos de gran compleji-
dad, y el COBOL (por Common Business Oriented Language o lenguaje co-
mún 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
Programación 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.
Programación declarativa
Los programas describen el resultado a obtener y los mecanismos disponibles,
pero no detallan los pasos necesarios para obtenerlo
Figura 1. Los lenguajes más comunes –C, Pascal, Basic, FORTRAN, etc.– pertenecen al paradigma
de programación imperativa; los dos primeros enfatizan el concepto de programación estructurada.
11
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 12
INTRODUCCIÓN A LA PROGRAMACIÓN
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
INTRODUCCIÓN A LA PROGRAMACIÓN
Este lenguaje del que hablamos es el pseudocódigo. 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 cómo un programa debe
llevar a cabo su tarea.
Por ejemplo, el siguiente programa en pseudocódigo se utiliza para encontrar el
mayor elemento dentro de una lista de datos:
Función 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 Función
14
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 15
ENTORNOS DE PROGRAMACIÓN
Y HERRAMIENTAS
(LA ELECCIÓN DE LOS ELEMENTOS PARA PROGRAMAR)
> Además de elegir un lenguaje a utilizar, el programador debe elegir qué entorno
de trabajo y qué herramientas empleará para programar. Aquí las opciones son muy
numerosas, ya que un mismo lenguaje puede ofrecer entornos muy distintos con los
cuales trabajar. Las dos herramientas básicas que debe brindar un entorno de pro-
gramación son el editor de código (en donde se escriben los programas fuente) y el
compilador o intérprete, que permite ejecutar y poner a prueba los programas es-
critos. El entorno más rudimentario posible consta de un editor de texto común y
corriente (como puede ser el Bloc de notas) y un compilador que lee los archivos de
código fuente y los transforma en archivos ejecutables (.EXE). En el otro extremo,
los entornos más completos ofrecen, por ejemplo, editores de texto “inteligentes”
que corrigen la sintaxis a medida que se escribe el programa, intérpretes que permi-
ten ejecutar los programas sin necesidad de compilarlos, organizadores de archivos
o de objetos, herramientas de depuración para ejecutar los programas línea por lí-
nea, editores de pantallas o de ventanas para diseñar visualmente las interfaces de
usuario, editores de menús, entre otras herramientas (Figura 3).
Figura 3. El entorno
de programación
de Visual Basic ofrece
múltiples herramientas
para diseñar ventanas,
depurar código,
etcétera.
15
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 16
INTRODUCCIÓN A LA PROGRAMACIÓN
EDITORES DE CÓDIGO
La elección de un buen editor de código es fundamental para el programador,
ya que es la herramienta con la que trabajará la mayor parte del tiempo. Los en-
tornos de programación más completos siempre incluyen un editor propio, el
cual suele brindar algunas facilidades como indentación automática (esto signi-
fica que las líneas de código se acomodan solas, con la sangría que corresponda),
verificación de sintaxis mientras se escribe, acceso rápido a instrucciones y pala-
bras reservadas del lenguaje, etcétera (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 programación que dio en llamarse programación visual. Esta
forma de programar emplea elementos visuales –como por ejemplo, ventanas,
botones, cuadros de texto, etc.– para diseñar los programas. Los elementos visua-
les, también llamados controles, poseen cierta “inteligencia” para saber qué ha-
cer cuando el usuario interactúa con ellos (por ejemplo, cuando hace clic sobre
un botón). De esta forma, ahorran bastante trabajo de programación 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 estándares de la interfaz gráfica 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. También debe preverse que se pueda minimizar o maximizar la ventana del
programa, o que ésta quede oculta detrás de la ventana de otro programa, y que
ninguno de estos sucesos genere errores.
LIBRERÍAS
Las librerías (library, en inglés, que en realidad debería traducirse como “bi-
blioteca”) son repositorios de elementos listos para usar que podemos aprove-
char en nuestros programas para no tener que escribir código que ya ha sido es-
crito por otros (o incluso por nosotros mismos). Todos los lenguajes y entornos
de programación brindan alguna forma de acceso a diversas librerías. Éstas sue-
len agrupar elementos con similar funcionalidad; por ejemplo, es común encon-
trar librerías para manejo de funciones
matemáticas. Si nos enfrentamos con
la necesidad de escribir un programa
› INTERFACES GRÁFICAS
La programación visual es ideal pa-
que en algún momento calcule la raíz
ra crear programas que emplean la
cuadrada de un número, entonces ha-
interfaz gráfica estándar del sistema
cemos referencia a la librería de fun-
operativo, ya que los controles utili-
ciones matemáticas, y luego podremos
zados para darles funcionalidad a
utilizar la función para calcular raíces
los programas son elementos pro-
cuadradas, sin preocuparnos por cómo
pios de dicha interfaz.
esté programada dicha función.
17
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 18
INTRODUCCIÓN A LA PROGRAMACIÓN
COMPILADORES E INTÉRPRETES
(DIFERENCIAS Y USOS)
> Tal como vimos anteriormente en este capítulo, el código fuente de los pro-
gramas que escribimos debe traducirse en algún momento a código ejecutable,
ya que de otra forma la computadora no lo podría entender y, por ende, el pro-
grama no podría ejecutarse.
Hay dos formas de traducir código fuente en código ejecutable: compilación e
interpretación. Estas formas difieren en cuanto al momento en que se realiza la
mencionada traducción y son los compiladores e intérpretes –programas que,
por lo general, se encuentran integrados al entorno de programación– 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
INTRODUCCIÓN A LA PROGRAMACIÓN
Programa ejecutable
Código fuente Compilador Código objeto Vinculador
Figura 6. El código fuente atraviesa distintas etapas hasta llegar a ser un programa ejecutable.
20
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 21
Compilación:
Interpretación:
paso a paso: esto significa que, luego de compilar y ejecutar cada instrucción,
el intérprete queda a la espera de que le digamos que ejecute la próxima instruc-
ción. De esta forma, tenemos la posibilidad de verificar el estado de un progra-
ma luego de ejecutar cada instrucción, con lo cual podremos detectar fácilmen-
te los errores. En cualquier momento podemos detener la ejecución para volver
al editor de código y hacer las correcciones que sean necesarias.
Lógicamente, la ejecución de un programa en forma interpretada es más lenta
que la ejecución en forma compilada, puesto que el programa compilado ya fue
traducido en su totalidad a lenguaje de máquina y no es necesario traducir cada
instrucción antes de ejecutarla. Es por esta razón que no se pueden hacer prue-
bas de la velocidad (o de la performance) de un programa ejecutándolo a través
de un intérprete, 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
INTRODUCCIÓN A LA PROGRAMACIÓN
22
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 23
EL ENTORNO DE TRABAJO
Irie Pascal ofrece un entorno amigable de programación 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 intérprete de comandos
(o una ventana de MS-DOS, según la versión de Windows que se utilice). Es-
to significa que los programas creados en Irie Pascal no utilizan los elementos
de la interfaz gráfica de Windows, tales como ventanas, botones, barras de
desplazamiento, etc. Pero esto no impide utilizarlo para aprovechar a pleno las
características del lenguaje Pascal.
La pantalla principal de trabajo de Irie Pascal la constituye el editor de código
(Figura 8). Éste no se diferencia mucho del Bloc de notas de Windows, excepto
por algunas facilidades para la programación tales como indentación (sangría)
automática o selección de bloques. Además, es capaz de manejar múltiples ven-
tanas, lo cual permite trabajar sobre varios programas a la vez.
Figura 8. El editor de código es la principal ventana de trabajo del entorno Irie Pascal.
23
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 24
INTRODUCCIÓN A LA PROGRAMACIÓN
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 opción de menú Project/Compile (o directamente presione F9).
Aparecerá una ventana que muestra los resultados de la compilación. Si
en esta ventana se indica que hay errores, vuelva a la ventana de edición
de código y revise el programa. Tenga en cuenta que debe ser idéntico al
código escrito en el paso 2, sin omitir ni agregar ningún espacio ni signo
de puntuación.
25
01-DMEx PROGRAMACION. bisqxd 10/13/05 3:17 PM Page 26
INTRODUCCIÓN A LA PROGRAMACIÓN
‹‹ ACTIVIDADES DE AUTOEVALUACIÓN
Una serie de consignas y actividades para repasar los principales conceptos
tratados en este capítulo y, de esta manera, afianzar el aprendizaje:
> 2. Ahora contamos con una versión más potente del lenguaje, llamada
“Damas++”. Esta versión agrega una nueva instrucción:
26