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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.3. Instrucciones básicas 53<br />

En algunos compiladores, una variable declarada pres<strong>en</strong>ta un valor indefinido<br />

al iniciarse el programa; <strong>en</strong> efecto, se trata de un valor “basura”, repres<strong>en</strong>tado por<br />

el cont<strong>en</strong>ido de la memoria reservado cuando se declaró la variable. Lógicam<strong>en</strong>te,<br />

un programa que dep<strong>en</strong>de de valores indefinidos ti<strong>en</strong>e un comportami<strong>en</strong>to indeterminado;<br />

por ello es necesario evitar el operar con tales variables, asignándoles<br />

valores iniciales.<br />

Una variable con valor indeterminado se puede repres<strong>en</strong>tar así:<br />

x1<br />

?<br />

La asignación graba un valor <strong>en</strong> la memoria y destruye su valor previo, tanto<br />

si es un valor concreto como si es indeterminado. Consideremos la sigui<strong>en</strong>te<br />

s<strong>en</strong>t<strong>en</strong>cia de asignación:<br />

x1:= (-b + SqRt(Sqr(b) - 4 * a * c))/(2 * a)<br />

Consta de un id<strong>en</strong>tificador de variable (x1), el símbolo de la asignación (que<br />

es :=) y una expresión. El proceso de asignación se produce de la sigui<strong>en</strong>te<br />

forma: <strong>en</strong> primer lugar se evalúa la expresión, calculándose el valor final, y a<br />

continuación se almac<strong>en</strong>a el valor <strong>en</strong> la memoria.<br />

Si asignamos un valor (1.74, por ejemplo) a la variable, ésta pasaría a repres<strong>en</strong>tarse<br />

así:<br />

x1<br />

1.74<br />

Ejemplos de instrucciones de asignación:<br />

base:= 10.0<br />

altura:= 20.0<br />

area:= base * altura / 2<br />

contador:= contador + 1<br />

acumulador:= acumulador + valor<br />

La sintaxis de una instrucción de asignación vi<strong>en</strong>e dada por el diagrama de<br />

la figura 4.2. Subrayamos que, semánticam<strong>en</strong>te, el id<strong>en</strong>tificador debe repres<strong>en</strong>tar<br />

una variable, y que el resultado de la expresión debe ser del mismo tipo que la<br />

variable. 3<br />

3 Salvo que la expresión sea integer y la variable real. (Véase lo com<strong>en</strong>tado <strong>en</strong> el apar-<br />

tado 3.3.)

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

Saved successfully!

Ooh no, something went wrong!