Você está na página 1de 14

Delphi 6.

0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


8
FUNDAMENTOS DE PROGRAMACIN CON OBJECT PASCAL Pag.

1. Breve Historia de Pascal 10
2. Programacin Estructurada 10
3. Tipos de Datos 10
3.1. Tipos de Datos Simples 10
3.1.1. Tipos Enteros 10
3.1.2. Tipos Reales 11
3.1.3. Tipos Booleanos 11
3.1.4. Tipos Carcter 11
3.1.5. Tipos Cadena 11
3.2. Tipos Estructurados 11
3.2.1. Arreglos 11
3.2.2. Registros 12
3.2.3. Subrangos 13
3.2.4. Conjuntos 13
3.2.5. Constantes de Tipo 13
3.2.6. Tipos Enumerados 14
3.2.7. Tipo Variant 14
4. Funciones y Procedimientos 14
5. Estructuras de Control 15
5.1. Selectivas 15
5.1.1. If...Then...Else 15
5.1.2. Case Of 15
5.2. Repetitivas 16
5.2.1. Repeat...Until 16
5.2.2. While...Do 16
5.2.3. For...Do 16
6. Introduccin a la Programacin Orientada a Objetos 17

Pag.
Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


9
6.1. Principios y Fundamentos 17
6.1.1. Clase 17
6.1.2. Objeto 17
6.1.3. Encapsulamiento 18
6.1.4. Herencia 18
6.1.5. Polimorfismo 19
7. Partes de una Unidad de Cdigo 19
8. Preguntas de Repaso 21

Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


10
1. Breve Historia de Pascal
Pascal fue diseado originalmente por Nicklas Wirth en los finales de los aos 60's pero
fue considerado como uno de los primeros lenguajes de los 70's. Wirth cre Pascal en
respuesta a otro lenguaje ms robusto desarrollado en esa poca, ALGOL68. Ambos
lenguajes estaban basados en el lenguaje ALGOL60, pero ALGOL68; quera crear un
lenguaje pequeo y simple que combinara poder con simplicidad. De hecho, Pascal fue
y es utilizado como uno de los primeros lenguajes para introducir a la programacin a
los estudiantes de las ciencias de la computacin. Se utiliza para ilustrar la mayor parte
de los temas de la programacin sin grandes complicaciones.

2. Programacin Estructurada
La caracterstica distintiva de un lenguaje estructurado es la "comparticin" de cdigo y
datos. Se trata de la capacidad de un lenguaje de seccionar (dividir una aplicacin en
partes llamadas subrutinas o mdulos) y esconder del resto del programa toda la
informacin y las instrucciones necesarias para llevar a cabo una determinada tarea.

Un ejemplo de lenguaje estructurado es Pascal, Delphi utiliza Object Pascal, que es una
extensin de Pascal y que hereda de ste sus capacidades como lenguaje estructurado y
agrega adems la funcionalidad para manejar objetos.

3. Tipos de Datos
3.1. Tipos de Datos Simples
3.1.1. Tipos Enteros
Tipo Rango de Valores Formato
Shortint -128..127 Signo 8-bit
Smallint -32,768..32767 Signo 16-bit
Integer -
21,474,883,648..21,474,883,
647
Signo 32-bit
Longint -
21,474,883,648..21,474,883,
647
Signo 32-bit
Int64 -2^63..2^63-1 Signo 64-bit
Byte 0..255 Sin Signo 8-bit
Word 0..65,535 Sin Signo 16-bit
Longword 0..4294967295 Sin Signo 32-bit
Cardinal 0..4294967295 Sin Signo 32-bit

Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


11

3.1.2. Tipos Reales
Son nmeros que se identifica por tener una parte fraccional.
Tipo Rango de Valores Bytes
Requeridos
Dgito
s
Real 5.0e10^-324..1.7e10^308 8 15-16
Real48 2.9e10^-39..1.7e10^38 6 11-12
Single 1.5e10^-45..3.4e10^38 4 7-8
Double 5.0e10^-324..1.7e10^308 8 15-16
Extended 3.6e10^-4951..1.1e10^4932 10 19-20
Comp -2^63+1..2^63-1 8 19-20
Currency -9233720366685477.5808 a
9233720366685477.5807
8 19-20
3.1.3. Tipos Booleanos
Tipo Rango Valores Bytes Requeridos
Boolean Booleano preferente de 1
Byte
1
ByteBool Booleano tamao Byte 1
Bool Booleano de una palabra 2
WoordBool Booleano de una palabra 2
LongBool Booleano de doble palabra 4

3.1.4. Tipo Carcter
Este tipo de datos acepta solo caracteres
Tipo Tamao en
Bytes
ANSIChar 1
WideChar 2
Char 1


3.2. Tipos Estructurados
3.2.1. Arreglos
Un Arreglo es una estructura de datos que contiene elementos del mismo tipo
y su tamao depende tanto del tipo de dato como del nmero de elementos que
contendr el arreglo.

Un arreglo en Pascal se define dentro de la seccin type con la palabra
reservada array.
Por ejemplo:

Type
Numeros = array [1..10] of integer;

Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


12
Define un arreglo de 10 elementos de tipo entero.

Object Pascal y en consecuencia Delphi permiten la creacin de arreglos
multidimensionales, los cuales funcionan como arreglos de columnas y
renglones.

Para crear un arreglo de ms de una dimensin se emplea la misma sintaxis,
pero para cada dimensin se agrega una coma. Por ejemplo:

Type
Matriz = array [1..3,1..3] of integer;

Define un arreglo de 3 columnas con 3 elementos cada una del tipo entero.

Una vez definido el arreglo se debe declarar una variable del tipo arreglo para
poder ser utilizado. Una vez declarada la variable, se puede acceder a cada
elemento del arreglo por medio de su ndice.

Var
ArrNumeros : Numeros;
Arrmatriz : Matriz;
Mientero : Integer;
Begin
Mientero := Numeros[1];
end
3.2.2. Registros
Un registro es una estructura de datos que contiene un conjunto de
componentes o campos, los cuales pueden ser de cualquier tipo de dato vlido
en Object Pascal.

Un registro se define dentro de un programa Object Pascal dentro de la seccin
type usando la palabra reservada record. Un ejemplo de un registro es el
siguiente:

Type
Registro = record
Nombre : String;
Edad : Integer;
Telefono: String;
End,
Var
MiRegistro : Registro;

3.2.3. Subrangos
Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


13
Un subrango es un rango de valores de tipo ordinal denominado tipo anfitrin.
En el subrango se deben definir tanto el valor ms pequeo como el ms
grande dentro del subrango.

Un tipo de dato subrango se define dentro de la seccin type de un programa.
Por ejemplo:

Type
Letras = 'A'..'Z';
Opc = 1.10;
Var
RgLetras : letras;
RgOpc : Opc;

Para crear este tipo de datos se deben tener dos consideraciones, una es que
deben ser de tipo ordinal, y la otra es que el valor del primer elemento debe ser
menor que el del ltimo elemento definido.

3.2.4. Conjuntos
Un conjunto es un grupo de elementos que se pueden asociar a un solo nombre
y con el cual se pueden comparar otros valores para su inclusin o exclusin
del mismo.

Una de las propiedades de los conjuntos es que pueden contener tanto valores
individuales como subrangos.

Un tipo de dato conjunto se define dentro de la seccin type de un programa
utilizando las palabras reservadas set of. Por ejemplo:

Type
Caracteres = set of ['a'..'z','0'..'9','_'];
Var
CjCaracteres: Caracteres;

3.2.5. Constantes de tipos
Una constante de tipo no es ms que una variable inicializada. Pudiera parecer
confuso el uso de una constante de tipo, pero su utilidad radica en que esta se
va a inicializar cada vez que se entra al mdulo donde se declar.

Var
Opcion : Char = 'S';

3.2.6. Tipos Enumerados
Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


14
Los tipos de datos enumerados permiten definir un grupo de elementos que
pertenece a un conjunto. La nica consideracin a tomar en cuenta es que el
nmero de elementos debe ser menor de 256.

Un tipo de dato enumerado se declara dentro de la seccin type de un
programa o unidad. Por ejemplo:

Type
Semana = (lunes, martes, miercoles, jueves, viernes, sabado,
domingo);
Var
Dia: Semana ;
3.2.7. Tipo Variant
El tipo de dato Variant es un tipo de dato de 16 bytes que puede contener
cualquier tipo de dato definido para Object Pascal; esto es; puede declararse
una variable de tipo variant que contenga al principio un valor entero, luego un
valor string, un valor boolean, etc..

Aunque es un tipo de dato incorporado a Delphi, no se recomienda su uso, ya
que Object Pascal cuenta con todos los tipos necesarios para realizar cualquier
operacin. La nica forma en que se recomienda su uso es cuando se utiliza
OLE.

4. Funciones y Procedimientos
Las funciones y procedimientos son piezas modulares de cdigo que realizan alguna
tarea especfica. Estos son conocidos como subrutinas en otros lenguajes.

Para el funcionamiento de sus programas necesita de unos procedimientos llamados
libreras de Delphi ya escritas como Definicin de Variables y Constantes, Control de
Errores, Control del Sistema, entre otros.

Cuando los procedimientos y funciones son declaradas dentro de alguna clase, estos son
llamados Mtodos.

Usted puede definir sus propias funciones y procedimientos declarndolos en la seccin
"Interface" de un programa y definindolos en la seccin "Implementation".

Ejemplos:
Procedure Calculo( Tipo : Integer );

Function Mayor( val1, val2 : Real ): real;

5. Estructuras de Control
Este tipo de datos son sentencias definidas por el programador capaces de
determinar la direccin de flujo del programa en base a condiciones lgicas o
Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


15
aritmticas o de datos, as como de controlar el nmero de veces que se ejecutar
una funcin. Los tipos de sentencias de control son los siguientes:

5.1. Selectivas

5.1.1. If..then...Else

If <Condicin> Then
Sentencia (Condicin Verdadera)
Else
Sentencia(Condicin Falsa);

If <Condicin> then
Begin
Sentencia 1;
Sentencia 2;
End
Else
Begin
Sentencia 3;
Sentencia 4;
End;

5.1.2. Case Of

Case <Variable de Condicin> Of
Condicin 1: Accin 1;
Condicin 2: Accin 2;
Condicin n: Accin n;
Else
Otra accin;
End;

5.2. Repetitivas

5.2.1. Repeat...Until
Se caracteriza por que la condicin que determina las veces que se ejecutar el
ciclo, se evala al final, despus de haber realizado por lo menos una vez todas
las acciones.
Repeat
Accin 1;
Accin 2;
Accin n;
Until <Condicin> Para la terminacin del ciclo.

Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


16
5.2.2. While....Do
Se caracteriza porque evala la sentencia condicional al principio del bloque
de instrucciones y adems que stas van incluidas entre las palabras Begin y
end.

While <Condicin> do
Begin
Accin 1;
Accin 2;
Accin n;
End;
5.2.3. For...Do
Se utiliza cuando se sabe hasta cuantas veces se desea ejecutar el ciclo, ya que
la condicin se debe determinar durante el diseo del sistema.
For <Variable> := <Valor Num. Inicial> to <Valor Num. Final> Do
Begin
Accin 1;
Accin 2;
Accin n;
End;

6. Introduccin a la Programacin Orientada a Objetos
La programacin Orientada a Objetos es una extensin natural de la programacin
estructurada. El resultado de una Programacin Estructurada ms la Programacin
Orientada a Objetos es un cdigo limpio que facilita de una manera sencilla y simple al
mantenimiento de sistemas.

La finalidad del diseo Orientado a Objetos consiste en que cada mdulo del sistema
represente un objeto y que al modelo general se le considere como un conjunto de
objetos.

Object Pascal es un lenguaje Orientado a Objetos que presenta 3 caractersticas
principales:

Encapsulamiento
Herencia
Polimorfismo

La forma en que stos se implementan constituye el modelo de objetos de Delphi.
6.1. Principios y Fundamentos
6.1.1. Clase
Definicin de estructura que declara tipos de datos, mtodos y propiedades.
Una clase es un registro, un conjunto de campos conteniendo datos, cada uno
de los cules son de un tipo definido.

Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


17
Los registros facilitan la referencia a una coleccin de datos relacionados
como una entrada. Las clases pueden contener cdigo ( Procedimientos y
Funciones) que actan sobre los datos contenidos en los campos de Clase.
Estos procedimientos y funciones son llamadas Mtodos.

Un mtodo de clase es un procedimiento o funcin que puede usarse para
llevar a cabo una tarea o despus de que un objeto exista en memoria.

6.1.2. Objeto
Un objeto es un tipo de datos que se deriva a partir de una clase la cual
conjunta datos y cdigo, todo dentro de un solo ente. Una vez que un objeto es
creado puede reutilizarse en otras aplicaciones reducindose en gran parte el
tiempo de desarrollo y aumentando la productividad. Estos se caracterizan por
contener mtodos, propiedades y eventos que definen su comportamiento,
apariencia y funcionamiento.

Propiedades
Son valores o atributos de un objeto definidos por default pero son
modificables tanto en tiempo de ejecucin como en tiempo de diseo y
determinan la apariencia que tendr el objeto.

En tiempo de diseo
La definicin de propiedades en tiempo de diseo se hace mediante el
Inspector de Objetos. Para ello selecciona el Objeto, usando el inspector de
objetos o seleccionndolo directamente de la forma, buscar la propiedad en la
columna "Properties" y en la columna de valores emplear cualquiera de las
siguientes opciones:
A) Teclear algn valor.
B) Seleccionar un valor de una lista despegable.
C) Dar clic sobre los tres puntos que se muestran en la columna de valores.

En tiempo de ejecucin
En tiempo de ejecucin se utiliza el operador de asignacin ( := ), de acuerdo a
la siguiente sintaxis:
<NombreDelObjeto>.Propiedad := Valor;

6.1.3. Encapsulamiento
Literalmente significa ocultar o encerrar en una cpsula. En programacin
significa que puede recibir servicios e informacin de otro, sin tener
conocimiento de cmo estn implementados internamente. Ah radica la
importancia de las partes Interface e Implementation de una unidad, para
diferenciar la informacin que se oculta y la que se muestra. La seccin de
implementation es una seccin privada y oculta. En Object Pascal existen
cuatro partes adicionales de una declaracin de tipo que modifican que tan
accesible es: privada, protegida, pblica y publicada.
Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


18

Privada ( Private ) Contiene sentencias inaccesibles a elementos fuera de la
unidad donde se declaran.

Protegida ( Protected ) Slo las clase descendientes fuera de la unidad donde
se declaran las piezas protegidas pueden acceder a stas.

Publica ( Public ) Las piezas declaradas en esta seccin son accesibles por
cualquier otra pieza.

Publicada ( Published ) Son pblicas y tienen la capacidad adicional de
hacerse disponibles desde el inspector de objetos.

6.1.4. Herencia
Significa que una nueva clase deriva su comportamiento predeterminado y sus
caractersticas de una clase ancestro definida con anterioridad. La nueva clase
denominada clase descendiente. A esta estructura de ancestros y
descendientes se le conoce como jerarqua de clases y tiene una clase de base
o raz de la que descienden el resto de las clases.

En ciertos lenguajes la herencia mltiple permite que las nuevas clases
descendientes se hereden de ms de una clase ancestro, Object Pascal no
soporta la herencia mltiple.

Cada nuevo descendiente hereda toda la funcionalidad de sus ancestros y
agrega un nuevo nivel de funcionalidad.

La herencia se utiliza para representar generalizacin y evitar duplicidad de
cdigo al construir clases similares.

6.1.5. Polimorfismo
Literalmente indica la habilidad de un objeto para tomar muchas formas, es
decir, permite referenciar objetos de diferentes clases con significado variable
para el mismo programa. ( Dentro de cada clase, los procedimientos tienen una
implementacin diferente, por ejemplo el procedimiento OPEN).

La herencia y el polimorfismo pueden usarse para construir programas basados
en clases jerrquicas.


7. Partes de una Unidad de Cdigo
Los elementos generales de una unidad de cdigo son:

Unit

Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


19
Interface
<Declaraciones de estructuras y Datos>

Implementation
<Declaraciones de estructuras y Datos>
end.

Unit (Nombre de la unidad). Es el nombre con el cual Delphi identifica los
archivos.pas. Se logra cambiar el nombre al grabar el proyecto o al usar File | Save
File | Save as.

Interface. Las declaraciones realizadas en esta seccin pueden ser accesadas desde
otras unidades declarndolas desde el "uses" de la unidad. El alcance de estas
declaraciones es global con respecto a la unidad actual. Las estructuras y datos que
puede contener se describen a continuacin:

Uses. En esta seccin se agregan automticamente las libreras de Delphi al
incorporar un componente a la forma.

Type. Se identifican las declaraciones de los objetos usados en la forma. Es posible
definir un tipo de objeto de usuario para posteriormente crearlo en tiempo de ejecucin.

Var. Con esta palabra reservada se indica la declaracin de variables.

Const. Declaracin de constantes.

Procedure <Nombre>(<Parmetros>). Se declaran procedimientos, solamente la
cabecera, con o sin parmetros.

Function <Nombre>(<Parmetros>):Tipo de dato de retorno>. Se declaran las
funciones, solamente las cabeceras, los parmetros son opcionales.
Implementation. En esta seccin se pueden hacer las mismas declaraciones que en
la seccin "Interface", las diferencias con respecto a esta seccin son:

El alcance de estas declaraciones es global para la unidad actual y no se pueden ver
desde otras unidades, ni an usando el "Uses".
Se puede declarar tambin un "Uses" y se aconseja que haga referencia a las
unidades creadas por el usuario dejando al "Uses" de la seccin "Interface" las
referencias a las unidades propias de Delphi. Esto es con la intencin de facilitar la
lectura del programa.
Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


20
Puede incluir una seccin de "Initialization" antes del "end" del programa, que sirve
para inicializar variables o separar recursos para la aplicacin.
Puede incluir tambin una seccin de "Finalization" que libera los recursos
asignados a la seccin de "Initialization".
Para los procedimientos y funciones se escriben las cabeceras y adems el cdigo de
cada uno de ellos.
Delphi 6.0
Fundamentos de Programacin con Object Pascal



I.S.C. Leonel Vzquez Aguirre


21
Preguntas de Repaso

1. Describa las partes de una Unidad de Cdigo.




2. Escriba tres diferentes tipos de datos que permite trabajar Delphi.




3. Defina los siguientes trminos: Mtodo, Propiedad, Evento, Clase y Objeto.




4. Defina: Herencia, Polimorfismo y Encapsulamiento.

Você também pode gostar