domingo, 11 de maio de 2014

Tema 3 Estructura dun Programa en Pascal



Antes de comezar, que non vos asuste si a cantidade de coñecementos e conceptos que se expoñen a continuación vos parece excesiva. O propósito deste apartado é proporcionar unha visión global dun programa en Pascal. Aínda non temos a base suficiente para comprender en profundidade todos os compoñentes dun programa, pero é interesante ver o aspecto global.

A estrutura xenérica dun programa en Pascal sería a seguinte:

program nome_do_programa ;

uses
unidades;

const
const_1 = valor_1;
const_2 = valor_2;
type
tipos_definidos_polo_usuario;
var
declaración_de_variables;

{** Funcions e procedementos **}
procedure
definicions_de_procediementos;
function
definicions_de_funcions;
{** Corpo do programa **}
begin
sentenzas;
end.


Imos ir explicando cada unha desas partes.

program

Esta palabra marca o comezo do programa e vai acompañada do nome que lle imos dar o noso programa. Vai seguida de punto e coma que é o separador de sentenzas.
Un dos erros que debemos evitar é utilizar o nome do programa que aparece a continuación da palabra program noutros elementos do noso programa, polo tanto debe ser único en todo o desenvolvemento e non debe incluír espazos en branco nin caracteres que non pertenzan ao léxico da linguaxe. No apartado seguinte explícanse as regras para construír identificadores.

program exemplo;

uses

Esta palabra reservada vai seguida dos nomes das unidades (units) que utiliza o noso programa. Pero, que son as unidades? Son o que noutros ámbitos se coñecen coma bibliotecas. Son un conxunto de utilidades das que o programador pode dispor para construír o seu programa. Algunhas proporciónaas o entorno de programación e outras podelas construír ti mesmo ou proporcionalas un terceiro.

const, type e var

No noso programa precisaremos almacenar os nosos resultados no que se chaman variables e é posible que utilicemos valores (números, letras, etc.) que non cambien durante a execución do programa chamadas constantes. Por último é posible que o programador cree estruturas de datos (unha forma de agrupar información) axustadas as necesidades do seu programa dando lugar a os chamados tipos definidos polo ususario.

procedure e function

Cando en temas anteriores mencionabamos a programación modular afirmabamos que era recomendable descompor os programas en partes denominadas módulos ou subprogramas. A forma de descompor o programa en módulos que proporciona Pascal son as funcións e os procedementos.


begin-end

Este e o corpo do programa principal. É o lugar onde comeza a executarse o programa, e a palabra reservada end marca o seu fin. É o que e da en chamar módulo principal en teoría da programación.

Léxico dun programa en Pascal

Denominase léxico dunha linguaxe a todas aquelas palabras (tokens) que poda ter un programa. Co léxico constrúense os programas en Pascal. Dentro do léxico destacan:

  • Palabras reservadas
  • Identificadores
  • Comentarios
  • Separadores
  • Símbolos especiais


Palabras reservadas

Reciben este nome porque significan algo especial para o compilador. Xa vimos algunhas: program, var, const, procedure, function, begin, end.

O listado completo das palabras reservadas en Pascal non é moi extenso, aínda que hai que sinalar que os diferentes fabricantes de compiladores introduciron algunhas con obxecto de aumentar as prestacións da linguaxe Pascal. As que se consideran Pascal estándar son as seguintes:


and
array
begin
case
const
div
do
downto
else
end
file
for
function
goto
if
in
label
mod
nil
not
of
or
packed
procedure
program
record
repeat
set
then
to
type
until
var
while
with


Identificadores

Os identificadores permiten dalle nome a os diferentes elementos dun programa. O primeiro identificador que empregamos e o nome do programa que aparece xunto a sentenza program.
Por outra banda os identificadores permiten “bautizar” a os subprogramas (procedementos e funcións), a os tipos de datos e a os propios datos de cada programa: variables e constantes. Un identificador é unha cadea de caracteres que debe cumprir:

  1. Debe comezar por unha letra (a..z ou A..Z) e non pode conter espazos en branco.
  2. A partir do primeiro carácter están permitidos díxitos e o subliñado (_).
  3. Non se poden utilizar palabras reservadas como identificadores.

Si o noso programa intenta calcular o saldo medio dunha conta corrente, seguramente precisaremos un dato para almacenar ese saldo e o seu identificador podería ser:

saldo_medio

É importante que os identificadores teñan un certo nome significativo que reflicta o contido xa que isto axuda a hora de ler e modificar o código. Tamén é importante destacar que Pascal non destingue entre maiúsculas e minúsculas, polo tanto son o mesmo identificador saldo, Saldo, SALDO ou sAlDo.

Comentarios

Un comentario é un texto explicativo situado no código fonte do programa. Este texto é ignorado polo compilador pero facilita a lexibilidade e comprensión do código por parte de outro programador ou do propio autor unha vez transcorrido certo tempo dende o seu desenvolvemento. En definitiva é unha forma de incluír anotacións directamente sobre o código do programa.

E como distingue o compilador os comentarios do programa? Para que un texto se considere comentario debe ir encerrado entre (* e*):

(* Este formato é de comentario *)

Ou có seguinte formato adicional nos compiladores de Turbo Pascal:

{ Isto é un comentario }

Os comentarios son de gran importancia para dar claridade ao código e imprescindibles nas fases de posta a punto e mantemento.

Símbolos especiais

Son símbolos formados por un ou máis caracteres con un significado específico. Xa vimos algúns: o punto e coma como separador de sentenzas ou o punto final que da lugar a fin do programa. Tamén forma parte destes os operadores matemáticos:

< > . ; : { } [ ] + - * / <= >= # $

Separadores

Para que as palabras reservadas, identificadores ou símbolos sexan distinguibles uns dos outros fan falla separadores. En Pascal úsanse como separadores o espacio en branco, o tabulador ou o caracter de nova liña (Intro). Ademais os separadores permiten dar claridade a lectura do código.






O meu primeiro programa

Neste apartado editaremos o noso primeiro programa en Pascal.

Program Benvido;

Const

     OLA='Benvido ao mundo da programacion';

Var

     nome: string[40];

begin

     write('Introduzca o seu nome: ');
     readln(nome);
     writeln(OLA,' ', nome);
     readln;


end.