jueves, 19 de enero de 2012

OPERADORES


Los operadores aritméticos, que operan con enteros o reales, incluye +, -, *, /, div, y mod.
Operador Operación Tipos Operadores Tipo resultado Ejemplo

+ suma integer, real integer, real X + Y

- resta integer, real integer, real Result - 1

* multiplicación integer, real integer, real P * InterestRate

/ división real integer, real real X / 2

div división integer integer integer Total div UnitSize

mod remainder integer integer Y mod 6
Operadores Boléanos

Los operadores Boléanos not, and, or, and xor toman como operadores tipos boléanos y retorna tipos boléanos.
Operador Operación Tipos Operadores Tipo resultado Ejemplo
not negación Boolean Boolean not (C in MySet)

and conjunción Boolean Boolean Done and (Total > 0)

or disyunción Boolean Boolean A or B

xor disyunción ex. Boolean Boolean A xor B
Estas operaciones son gobernadas por reglas estándar de lógica boleana. Por ejemplo, la expresión de la forma X y Y es verdadera si y solo si ambas X y Y son verdaderas(True).
Declaración de procedimientos y funciones

Cuando se declara un procedimiento o una función se especifica el nombre, el número y el tipo de los parámetros, y , en el caso de una función el tipo que retorna; esta parte es llamada Encabezado. Luego se escribe el bloque de código que se desea que ejecute siempre que se ejecute el procedimiento o función; esta parte es llamada cuerpo o bloque.

El procedimiento estándar Exit puede ser llamado en el cuerpo de un procedimiento o de una función. Exit para la ejecución de la rutina cuando ocurre e inmediatamente pasa el control al programa devuelta al punto donde la rutina fue llamada.
La declaración de un procedimiento tiene esta forma:
procedure NombreProcedimiento(ListaParametros); directrices;
DeclaracionesLocales;

begin

Comandos;

End;
Donde el NombreProcedimiento es cualquier identificador valido, comandos es una secuencia de comandos que se ejecuta cuando el procedimiento es llamado, y (ListaParametro), directrices, y DeclaracionesLocales; son opcionales.
He aquí un ejemplo de declaración de procedimientos:
procedure NumString(N: Integer; var S: string);
var

V: Integer;

begin

V := Abs(N);

S := '';

repeat

S := Chr(V mod 10 + Ord('0')) + S;

V := V div 10;

until V = 0;

if N < 0 then S := '-' + S;

end;
La declaración de una función tiene esta forma:
function NombreFuncion(ListaParametros): TipoRetorno; directrices;
DeclaracionesLocales;

begin

Comandos;

End;
Donde el NombreFuncion es cualquier identificador valido, TipoRetorno es cualquier tipo de datos, comandos es una secuencia de comandos que se ejecuta cuando el procedimiento es llamado, y (ListaParametro), directrices;, y DeclaracionesLocales; son opcionales. El nombre de la función dentro del bloque de la misma actúa como variable para devolver el valor de la función así como la variable Result.
He aquí un ejemplo de declaración de funciones:
function NumString(N: Integer): string;
var

V: Integer;

S: String;

begin

V := Abs(N);

S := '';

repeat

S := Chr(V mod 10 + Ord('0')) + S;

V := V div 10;

until V = 0;

if N < 0 then S := '-' + S;

Result := S;

end;
Ciclos

Los ciclos permiten que se ejecute una secuencia de comandos repetidamente, usando una condición control o una variable para determinar cuando la ejecución debe parar. Object Pascal tiene tres tipos de ciclos. Comando Repeat, Comando While, y comando For.

Se puede usar los procedimientos estándares Break y Continue para controlar el flujo de la repetición, para los comandos While, o For. Break termina el comando en el que se llama, mientras que Continue inicia ejecutando la siguiente iteración de la secuencia.
La sintaxis del comando repeat:
repeat comando1; ...; comandon; until expresión
Donde expresión devuelve un valor boleano. El ultimo punto y coma antes del until es opcional. El comando repeat ejecuta continuamente las iteraciones hasta que se cumpla la condición de la expresión y evalúa al final. La secuencia se ejecuta al menos una vez ya que la evaluación no se realiza al inicio sino al final.
Ejemplo
repeat
K := I mod J;

I := J;

J := K;

until J = 0;
repeat
Write('Enter a value (0..9): ');

Readln(I);

until (I >= 0) and (I <= 9);
El comando While es similar al comando repeat, excepto que la condición control es evaluada antes de la primera ejecución de la secuencia de comandos. Si inicialmente, la condición es falsa, la secuencia de comandos no se ejecutara. La sintaxis para un comando while es:
while expresión do comando
Donde expresión retorna un valor boleano y comando puede ser una secuencia compuesta de comandos. El comando while ejecuta continuamente el bloque de comando, probando antes de ejecutar cada iteración. Mientras la sentencia sea verdadera se estará ejecutando la iteración.

Ejemplo:

while Data[I] <> X do I := I + 1;
while I > 0 do

begin

if Odd(I) then Z := Z * X;

I := I div 2;

X := Sqr(X);

end;
while not Eof(InputFile) do

begin

Readln(InputFile, Line);

Process(Line);

end;

El comando For, a diferencia de los comandos repeat y while, requiere que se especifique explícitamente el numero de veces que se desea repetir el ciclo. La sintaxis es la siguiente:

for contador := ValorInicial to ValorFinal do comando
o
for contador := ValorInicial downto ValorFinal do comando
donde






  • contador es una variable local de tipo ordinal.
  • ValorInicial y ValorFinal son expresiones compatibles con el tipo del contador.
  • comando es un simple comando o una estructura de ellos que no cambia el valor del contador.
El comando for asigna el ValorInicial al contador, luego ejecuta el comando repetidamente, incrementando o disminuyendo el valor de contador en cada iteración. Cuando contador retorna el mismo valor que ValorFinal, el comando es ejecutado una vez mas y el comando For termina.
Ejemplos:
for I := 2 to 63 do
if Data[I] > Max then

Max := Data[I];
for I := ListBox1.Items.Count - 1 downto 0 do
ListBox1.Items[I] := UpperCase(ListBox1.Items[I]);
for I := 1 to 10 do
for J := 1 to 10 do

begin

X := 0;

for K := 1 to 10 do

X := X + Mat1[I, K] * Mat2[K, J];

Mat[I, J] := X;

end;
for C := Red to Blue do Check(C);
Tipo de Datos

El siguiente esquema presenta los tipos en Object Pascal.
simple

- ordinal

- integer

- character

- Boolean

- enumerated

- subrange

- real
string

structured

- set

- array

- record

- file

- class

- class reference

- interface

pointer

procedural

variant
Un tipo de dato entero representa un subconjunto de todos los números. Los tipos enteros genéricos son Integer y Cardinal; use esto cuando sea posible, ya que resulta que estos son los más entendibles para el CPU y el sistema operativo. En la siguiente tabla se presenta sus rangos y los formatos para guardar por el compilador de 32 Bits.

No hay comentarios:

Publicar un comentario