Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Participante:
Jorge Quintero
Exp: 20092-C018
de operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podra ser
considerado orientado a objetos.
Esta definicin concuerda incluso con ciertos ejemplos prcticos, que no son
considerados dentro de la programacin orientada a objetos, pero que podran serlo. Por
ejemplo, la programacin de interfaces grficas de usuario para los sistemas X-Window
utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas
usualmente en lenguaje C, pero organizando el cdigo en una manera que "parecen objetos"
(los Widgets).
C++
Objective C
Java
Smalltalk
Eiffel
Ruby
Python
OCAML
Object Pascal
CLIPS
Visual .net
Actionscript
COBOL
Perl
C#
Visual Basic.NET
PHP
Simula
Delphi
PowerBuilder
Ejemplo:
not negacin Boolean Boolean not (C in MySet)
and conjuncin Boolean Boolean Done and (Total > 0)
or disyuncin Boolean Boolean A or B
xor disyuncin ex. Boolean Boolean A xor B
Estas operaciones son gobernadas por reglas estndar de lgica boleana. Por
ejemplo, la expresin de la forma X y Y es verdadera si y solo si ambas X y Y son
verdaderas(True).
Declaracin de procedimientos y funciones
Cuando se declara un procedimiento o una funcin se especifica el nombre, el
nmero y el tipo de los parmetros, y , en el caso de una funcin el tipo que retorna;
esta parte es llamada Encabezado. Luego se escribe el bloque de cdigo que se desea
que ejecute siempre que se ejecute el procedimiento o funcin; esta parte es llamada
cuerpo o bloque.
El procedimiento estndar Exit puede ser llamado en el cuerpo de un procedimiento
o de una funcin. Exit para la ejecucin de la rutina cuando ocurre e inmediatamente
pasa el control al programa devuelta al punto donde la rutina fue llamada.
La declaracin 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 declaracin 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 declaracin de una funcin 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 funcin dentro del bloque de la misma acta como
variable para devolver el valor de la funcin as como la variable Result.
He aqu un ejemplo de declaracin 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 condicin control o una variable para determinar cuando la ejecucin debe
parar. Object Pascal tiene tres tipos de ciclos. Comando Repeat, Comando While, y
comando For.
Se puede usar los procedimientos estndares Break y Continue para controlar el
flujo de la repeticin, para los comandos While, o For. Break termina el comando en el
que se llama, mientras que Continue inicia ejecutando la siguiente iteracin de la
secuencia.
La sintaxis del comando repeat:
repeat comando1; ...; comandon; until expresin.
Donde expresin 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 condicin de la expresin y evala al final. La secuencia se ejecuta al menos
una vez ya que la evaluacin 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);
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 iteracin.
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 nmeros. Los tipos
enteros genricos son Integer y Cardinal; use esto cuando sea posible, ya que resulta
que estos son los ms 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.
Declaracin Implcita
No tiene por qu declarar una variable antes de utilizarla. Por ejemplo, podra
escribir una funcin donde no hiciera falta declarar TempVal antes de utilizarla:
Visual Basic crea automticamente una variable con ese nombre, que puede utilizar
como si la hubiera declarado explcitamente. Aunque es cmodo, puede provocar
errores sutiles en el cdigo si se equivoca de nombre de variable. Por ejemplo, suponga
que ha escrito esta funcin:
A primera vista, parece igual. Pero como se ha escrito errneamente la variable
TempVal en la tercera lnea, la funcin devolver siempre cero. Cuando Visual Basic
encuentra un nombre nuevo, no puede averiguar si realmente desea declarar una
variable nueva o simplemente ha escrito de forma errnea una variable existente, por lo
que crea una variable nueva con ese nombre.
Declaracin Explcita
Para evitar problemas al equivocarse de nombre en las variables, puede configurar
Visual Basic para que le avise siempre que encuentre un nombre que no se haya
declarado explcitamente como una variable.
Para declarar variables de forma explcita:
Incluya esta sentencia en la seccin Declaraciones Generales del mdulo de clase, de
formulario o estndar:
Option Explicit
- o bien En el men Herramientas, elija Opciones, haga clic en la ficha Editor y active la
opcin Declaracin de variables requerida. Esto inserta automticamente la sentencia
Option Explicit en los mdulos nuevos, pero no en los ya creados, por lo que tendr que
agregar manualmente Option Explicit a los mdulos existentes en el proyecto.
Si hubiera tenido efecto dicha instruccin en el mdulo de formulario o mdulo
estndar que contiene la funcin Raz, Visual Basic habra reconocido TempVal y
TemVal como variables no declaradas y habra generado errores para ambas. Debera,
por tanto, declara explcitamente TempVal:
Alcance de las Variables
El alcance de una variable define en qu partes del cdigo son reconocidas. Cuando
declara una variable en un procedimiento, slo el cdigo de dicho procedimiento puede
tener acceso o modificar el valor de la variable; tiene un alcance local al procedimiento.
A veces, sin embargo, se necesita utilizar una variable con un alcance ms general,
como aquella cuyo valor est disponible para todos los procedimientos del mismo
mdulo o incluso para todos los procedimientos de toda la aplicacin. Visual Basic le
permite especificar el alcance de una variable cuando la declara.
haya que usar variables globales, es conveniente declararlas todas en un nico mdulo
agrupadas por funciones y dar al mdulo un nombre significativo que indique su
finalidad, como Pblicas.
Una prctica de codificacin correcta es escribir cdigo modular siempre que sea
posible. Por ejemplo, si la aplicacin muestra un cuadro de dilogo, coloque todos los
controles y el cdigo necesario para ejecutar la tarea del dilogo en un nico
formulario. Esto ayuda a tener cdigo de la aplicacin organizado en componentes
tiles y minimiza la sobrecarga en tiempo de ejecucin.
A excepcin de las variables globales ( que no se deberan pasar), los
procedimientos y funciones deben operar slo sobre los objetos que se les pasan.
Prefijos de alcance de variables
A medida que aumenta el tamao del proyecto, tambin aumenta la utilidad de
reconocer rpidamente el alcance de las variables. Esto se consigue escribiendo un
prefijo de alcance de una letra delante del prefijo de tipo, sin aumentar demasiado la
longitud del nombre de las variables.
Una variable tiene alcance global si se declara como Public en un mdulo estndar o
en un mdulo de formulario. Una variable tiene alcance de nivel de mdulo si se
declara como Private en un mdulo estndar o en un mdulo de formulario,
respectivamente.
Nota: La coherencia es crucial para usar esta tcnica de forma productiva; el corrector
de sintaxis de Visual Basic no interceptar las variables de nivel de mdulo que
comience con "p".
Constantes
El nombre de las constantes se debe escribir en maysculas y minsculas, con la
letra inicial de cada palabra en maysculas. Aunque las constantes estndar de Visual
Basic no incluyen informacin de tipo de datos y el alcance de una constante. Para los
nombres de constantes, se deben seguir las mismas normas que para las variables.
Ejemplo:
Variables
Declarar todas las variables ahorra tiempo de programacin porque reduce el
nmero de errores debidos a nombres de variables errados (por ejemplo,
aNombreUsuarioTmp frente a sNombreUsuarioTmp frente a sNombreUsuarioTemp).
En la ficha Editor del cuadro de dilogo Opciones, active la opcin Declaracin de
variables requerida. La instruccin Option Explicit requiere que declare todas las
variables del programa de Visual Basic.
Las variables deben llevar un prefijo para indicar su tipo de datos. Opcionalmente, y
en especial para programas largos, el prefijo se puede ampliar para indicar el alcance de
la variable.
OPERADORES
Aritmticos
^ Exponenciacin
* Multiplicacin
/ Divisin
Divisin entera
Mod Residuo entero (Ejm: A Mod B)
+ Suma
Resta
& Concatenacin de cadenas
Comparacin
= Igual
<> Distinto
Menor que
<= Menor o igual
>= Mayor o igual
Like Compara dos cadenas
* Cero o ms caracteres (Ejm: cad Like "ma*")
? Cuquier carcter
# Cualquier dgito (0-9)
[lista] cualquier carcter en lista
[lista] cualquier carcter que no esta en lista
Is Usado para comparar dos variables de referencia a objetos
Lgicos
And "Y" lgico
Or "O" lgico
Xor "O" Exclusivo
Not Negacin
Parte 4: Estructuras de Control
Estructuras de Control
Las estructuras de control le permiten controlar el flujo de ejecucin del programa.
Tenemos dos tipos de estructuras de control:
Estructuras de decisin
Estructuras de bucle
Estructuras de Decisin
Los procedimientos de Visual Basic pueden probar condiciones y, dependiendo de
los resultados, realizar diferentes operaciones. Entre las estructuras de decisin que
acepta Visual Basic se incluyen las siguientes:
If...Then
If...Then...Else
Select Case
If...Then
Use la estructura If...Then para ejecutar una o ms instrucciones basadas en una
condicin. Puede utilizar la sintaxis de una lnea o un bloque de varias lneas:
If condicin Then Sentencias
If condicin Then
Sentencias
End If
Condicin normalmente es una comparacin, pero puede ser cualquier expresin
que d como resultado un valor numrico. Visual Basic interpreta este valor como True
o False; un valor numrico cero es False y se considera True cualquier valor numrico
distinto de cero. Si condicin es True, Visual Basic ejecuta todas las sentencias que
siguen a la palabra clave Then. Puede utilizar sintaxis de una lnea o de varias lneas
para ejecutar una sentencia basada en una condicin, los siguientes dos ejemplos son
equivalentes:
Observe que el formato de una nica lnea de If...Then no utiliza la instruccin End
If. Si se desea ejecutar ms de una lnea de cdigo cuando condicin sea True, debe
utilizar la sintaxis de bloque de varias lneas If...Then...End If.
If...Then...Else.
Utilice un bloque If...The...Else para definir varios bloques de sentencias, uno de los
cuales se ejecutar:
If condicin1 Then
[bloque de sentencias 1]
[ElseIf condicin2 Then
[bloque de sentencias 2]] ...
[Else
[bloque de sentencias n]]
End If
Visual Basic evala primero condicin1. Si es False, Visual Basic procede a evaluar
condicin2 y as sucesivamente, hasta que encuentre una condicin True. Cuando
encuentra una condicin True, Visual Basic ejecuta el bloque de instrucciones
correspondientes y despus ejecuta el cdigo que sigue a End If. Opcionalmente, puede
incluir un bloque de instrucciones Else, que Visual Basic ejecutar sin ninguna de las
condiciones es True.
If...Then...ElseIf es un caso especial de If...Then...Else. Observe que puede tener
cualquier nmero de clusula ElseIf o ninguna. Puede incluir una clusula Else sin tener
en cuenta si tiene o no clusula ElseIf.