Title: LENGUAJE DE DISEO DE ALGORITMOS
1Lenguajes de Programación
Un lenguaje de programación es una notación
formal que puede ser interpretada y ejecutada por
una computadora. Una notación formal brinda una
sintaxis estricta y una semántica precisa. La
sintaxis se refiere a la forma de los programas
escritos en el lenguaje. La semántica se refiere
al significado.
2Lenguajes de Programación
Por ejemplo en Logo la sintaxis de la instrucción
que hace avanzar a la tortuga n pasos es forward
n. Si omitimos una letra o n no es un número
válido, recibimos un mensaje de error. La
semántica nos indica el efecto de ejecutar la
instrucción en un contexto dado y el cambio que
provoca a su vez en el contexto. En este caso el
contexto es la posición de la tortuga, su rumbo,
el estado del lápiz.
3Lenguajes de Programación
Los humanos nos comunicamos usando lenguajes
naturales y nos entendemos aun cuando nos
expresemos con oraciones con una sintaxis o una
semántica no tan rigurososa. Poné la mesa Lavá
los platos Aunque a veces no nos
entendemos Alcanzame los anteojos y los zapatos
rojos Cuando una misma estructura sintáctica
permite dos interpretaciones hablamos de
ambiguedad  'Si el hombre supiera realmente el
valor que tiene la mujer andarÃa en cuatro patas
en su búsqueda'
4Lenguajes de Programación
Diferentes lenguajes van a tener distintas reglas
sintácticas para la construcción de oraciones y
por supuesto un vocabulario diferente. En el caso
de los lenguajes de programación la sintaxis
afecta a las instrucciones y a la estructura
general del programa. Por el momento no existe un
lenguaje de programación ideal y en general cada
dominio de aplicación impone restricciones
diferentes. Una capacidad fundamental para un
profesional de la disciplina es justamente
aprender de manera autónoma un nuevo lenguaje y
elegir el más adecuado para una aplicación
especÃfica.
5Lenguajes de Programación
Logo es un lenguaje utilizado fundamentalmente
como herramienta didáctica, es muy fácil de
aprender y de empezar a usar. Comenzamos la
materia con este lenguaje porque a partir de un
repertorio de instrucciones muy reducido es
posible presentar muchos conceptos relevantes
como iteración, recursividad, procedimientos,
parámetros, etc.
6Pascal
Pascal es un lenguaje de programación
desarrollado por el profesor suizo Niklaus Wirth
a finales de los años 60. El nombre de Pascal fue
escogido en honor al matemático Blaise Pascal.
El objetivo de Wirth fue crear un lenguaje que
facilitara el aprendizaje de la programación a
sus alumnos. Sin embargo en los años siguientes y
hasta los 80, su utilización excedió el ámbito
académico para convertirse en una herramienta
para el desarrollo de sistemas para el comercio,
la industria, educación, etc.
7Pascal
En la actualidad Pascal prácticamente no se
utiliza para desarrollar sistemas comerciales
pero sà siguen teniendo vigencia sus virtudes
para quienes se inician en la programación.
Pascal es algo más difÃcil de aprender y de
usar que Logo, pero tiene más elementos comunes
con algunos lenguajes de uso comercial que a lo
largo de la carrera irán aprendiendo. Existen
también diferentes versiones de Pascal y cada una
propone un ambiente de trabajo.
8Pascal
Comencemos con un ejemplo
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real BEGIN read(radio) area
pi ? radio ? radio write(El Area es, area)
END.
La semántica de este programa es leer un valor
ingresado por el usuario, computar el área de un
cÃrculo cuyo radio es el valor ingresado y
mostrar el valor computado.
9Pascal
Encabezamiento
Bloque de declaraciones
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real BEGIN read(radio) area
pi ? radio ? radio write(El Area es, area)
END.
Bloque ejecutable
10Sintaxis de Pascal
La sintaxis de un programa puede describirse con
precisión usando un diagrama sintáctico
Programa en Pascal
Bloque
program
Identificador
.
Lista Identificadores
Todo programa en Pascal comienza con la palabra
program y termina con un punto .
11Sintaxis de Pascal
Cada sÃmbolo del diagrama tiene que ser definido
luego
Identificador
letra
letra
digito
_
Un Identificador es un nombre, comienza con una
letra y está seguido por una o más letras,
dÃgitos o guiones. No se distinguen mayúsculas
de minúsculas. Ejemplos x, x0, longitud,
FechaActual, fin_TEXTO
12Identificadores en Pascal
Identificadores Reservados
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real BEGIN read (radio) area
pi ? radio ? radio write(El Area es, area)
END.
PROGRAM CONST VAR BEGIN END
Los identificadores reservados permiten
especificar la estructura del programa y
establecer el orden de ejecución.
13Identificadores en Pascal
Identificadores Predefinidos
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real BEGIN read (radio) area
pi ? radio ? radio write(El Area es, area)
END.
real read write
Cada una de las facilidades provistas por el
lenguaje tiene un nombre predefinido.
14Identificadores en Pascal
Identificadores definidos por el programador
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real BEGIN read (radio) area
pi ? radio ? radio write(El Area es, area)
END.
AreaCirculo pi area radio
15Identificadores en Pascal
Identificadores definidos por el programador
AreaCirculo es un identificador definido por el
programador para nombrar al programa completo.
Los demás identificadores definidos por el
programador se introducen en el bloque de
declaraciones y se usan en el bloque ejecutable.
Un aspecto importante para evaluar la calidad de
un programa es que los nombres sean
significativos.
16Identificadores en Pascal
Identificadores definidos por el programador
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real
pi es el nombre de una constante, a lo largo de
todo el programa mantiene el valor establecido en
la declaración. Es más, cada vez que este
programa se ejecute el identificador pi hará
referencia a un mismo valor.
17Identificadores en Pascal
Identificadores definidos por el programador
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real
area y radio son nombres de variables. Las
variables pueden tomar valores diferentes cada
vez que el programa se ejecuta. Más aun, las
variables, como veremos más adelante, pueden
cambiar de valor dentro de un mismo bloque
ejecutable.
18Identificadores en Pascal
Identificadores definidos por el programador
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real
Las variables toman valores dentro de un tipo de
dato que queda especificado en la
declaración. real es un tipo de dato
predefinido. Una variable de tipo real puede
tomar valores dentro de un subconjunto de los
reales y puede aparecer en expresiones
aritméticas con operadores predefinidos para
reales (, , etc).
19SÃmbolos en Pascal
PROGRAM AreaCirculo CONST pi 3.1416 VAR
area,radio real BEGIN read (radio) area
pi ? radio ? radio write(El Area es, area)
END.
( ) , .
El sÃmbolo separa a las instrucciones del
programa. El sÃmbolo . permite especificar que el
bloque ejecutable terminó. El sÃmbolo es el
operador de multiplicación provisto para el tipo
real.
20Instrucciones del bloque ejecutable
read (radio) area pi ? radio ?
radio write(El Area es, area)
La instrucción read provista por Pascal permite
que el usuario ingrese el valor que queda
almacenado en la variable radio. read es un
procedimiento predefinido y radio es el
parámetro. La instrucción write provista por
Pascal permite que el programa le muestre al
usuario el valor que está almacenado en la
variable area. write es un procedimiento
predefinido con parámetro area
21Instrucciones del bloque ejecutable
read (radio) area pi ? radio ?
radio write(El Area es, area)
La instucción de asignación computa el valor de
una expresión y lo almacena en la variable area.
22Instrucciones del bloque ejecutable
La estructura del bloque ejecutable, como la de
muchos de los programas que desarrollaremos,
es Leer los valores de algunos de los datos de
entrada Procesar, generar datos de salida a
partir de datos de entrada Mostrar los valores de
los datos de salida. Para los mismos valores de
los datos de entrada un programa generará los
mismos valores para los datos de salida. Los
datos de entrada pueden ser constantes o
variables.
23Instrucciones del bloque ejecutable
PROGRAM AreaCirculo CONST pi 3.1416 VAR
radio real BEGIN read(radio) write(El
Area es, pi ? radio ? radio) END.
En este caso los datos procesados no se asignan a
variables, se muestran inmediatamente después de
computarse.