09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

174 Capítulo 8. Procedimi<strong>en</strong>tos y funciones<br />

8.5 Ámbito y visibilidad de los id<strong>en</strong>tificadores<br />

Como sabemos, <strong>en</strong> un programa <strong>en</strong> <strong>Pascal</strong> hay que declarar los id<strong>en</strong>tificadores<br />

que nombran los difer<strong>en</strong>tes objetos utilizados <strong>en</strong> el programa. De esta forma se<br />

declaran, <strong>en</strong>tre otros, las constantes, tipos, variables y los propios id<strong>en</strong>tificadores<br />

de procedimi<strong>en</strong>tos y funciones.<br />

A su vez, d<strong>en</strong>tro de un procedimi<strong>en</strong>to o función se pued<strong>en</strong> declarar sus propios<br />

id<strong>en</strong>tificadores, de forma similar al programa principal, e incluso pued<strong>en</strong><br />

declararse otros procedimi<strong>en</strong>tos o funciones que cont<strong>en</strong>gan asimismo sus propios<br />

id<strong>en</strong>tificadores, y así sucesivam<strong>en</strong>te, sin más limitaciones que las propias de la<br />

memoria disponible.<br />

En esta sección vamos a estudiar cómo se d<strong>en</strong>omina a los difer<strong>en</strong>tes id<strong>en</strong>tificadores<br />

según el lugar <strong>en</strong> que se hayan declarado y cuál es la parte del programa<br />

<strong>en</strong> que ti<strong>en</strong><strong>en</strong> vig<strong>en</strong>cia.<br />

8.5.1 Tipos de id<strong>en</strong>tificadores según su ámbito<br />

Recordemos el programa ejemplo que desarrollamos al principio del capítulo:<br />

Program CalculoTang<strong>en</strong>te (input, output);<br />

var<br />

a, {ángulo}<br />

t: real; {su tang<strong>en</strong>te}<br />

procedure LeerGrados(var angulo: real);<br />

begin<br />

Write(’¿ángulo <strong>en</strong> grados?: ’);<br />

ReadLn(angulo);<br />

<strong>en</strong>d; {LeerGrados}<br />

function TanGrados(angSexa: real): real;<br />

{Dev. la tang<strong>en</strong>te de angSexa, <strong>en</strong> grados}<br />

const<br />

Pi = 3.141592;<br />

var<br />

angRad: real;<br />

begin<br />

{Conversión de grados <strong>en</strong> radianes:}<br />

angRad:= angSexa * Pi/180;<br />

{Cálculo de la tang<strong>en</strong>te:}<br />

TanGrados:= Sin(angRad)/Cos(angRad)<br />

<strong>en</strong>d; {TanGrados}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!