PDFMAILER.COM Print and send PDF files as Emails with any application, ad-sponsored and free of charge www.pdfmailer.com Variables Antecedentes previos... DELPHI (PASCAL) l La memoria RAM l Bit è Byteè Byteè Kbè Kbè Mbè Mbè Gbè Gbè Tb c01 “VARIABLES, OPERADORES Y CONVERSION DE TIPOS” Pablo Roncagliolo l Álgebra prb@2005 1 Variables clásica y las variables prb@2005 2 Variables Las Palabras Reservadas... El tamaño de una variable... Ejemplos en Pascal: ¿por qué es importante? Begin, Begin, end; end; var; var; for; for; if; if; do; then; then; while; while; Variables fijas o dinámicas... Definición de una variable... Var Nombre: Tipo; prb@2005 3 Variables prb@2005 Variables Nombres posibles de una variable... ej: ej: l a, b, c... : letras l a1, b20, a3c... : letras y números l contador, suma,... : palabras l promedio_notas : palabras unidas con “_” Nombres “imposibles” de una variable... ej: ej: 12, 2, 555... : números 1a, 20b, 3ac... : números al inicio l contador$, año,... : símbolos, ñ o acentos l promedio notas : palabras unidas con “ ” l var, var, begin, begin, for : palabras reservadas l l Nota: l l prb@2005 4 En PASCAL la variable “a” se puede referenciar como “a” o “A” indistintamente. Así como “Suma” con “SUMA” o “suma”. En otros lenguajes como C++ dichas variables serían distintas. 5 prb@2005 6 1 PDFMAILER.COM Print and send PDF files as Emails with any application, ad-sponsored and free of charge www.pdfmailer.com Variables Variables Tipos de Variables, según el valor que almacenan: Números Enteros: § § § § § § § § Números Enteros Números Decimales Letras o Caracteres Cadenas de Letras o Caracteres Valor de Verdad Direcciones de Memoria § Números Decimales: § § § prb@2005 7 Variables Real (pascal): 8byte Single: 4byte Double: Double: 8byte prb@2005 8 Variables Letras o Caracteres: § Integer: Integer: 2byte (en Delphiè Delphiè 4byte) Byte: Byte: 1byte sin signo Longinteger: Longinteger: 4byte con signo Cadenas de Caracteres char: char: 1byte § string: string: 256byte (en Delphiè Delphiè”diná dinámico” mico”) Nota: Un String, String, corresponde a una secuencia de “char “char”” Nota: La tabla ASCII, corresponde a la codificación de todos los caracteres caracteres del sistema en 7bit (8) A B C ... Valor de Verdad 65 66 67 ... prb@2005 § 9 Variables prb@2005 Ejemplos: pointer Var i: integer; integer; j,k,m: single; Suma: double; double; A1: char; char; nombre: string; string; Llego: boolean; boolean; Nota: Los “punteros” permiten realizar accesos de alta velocidad a la memoria y permiten definir variables de largo indefinido utilizando utilizando el concepto de “listas”. prb@2005 10 Variables Direcciones de memoria § boolean: boolean: 1byte Nota: En Delphi se utiliza la palabra reservada TRUE para verdadero y FALSE para falso. 11 prb@2005 12 2 PDFMAILER.COM Print and send PDF files as Emails with any application, ad-sponsored and free of charge www.pdfmailer.com Arreglos Arreglos Memoria RAM 1byte 1byte 1byte 1byte l byte l l integer l Array[1..3] Array[1..3] of double char Los arreglos permiten agrupar muchas variables bajo un mismo nombre y referenciadas mediante un índice. Permiten reservar automáticamente un bloque de memoria. Facilitan la labor del programador. Son útiles cuando se trabaja con las sentencias de control. Definición: nombre: array[índice_menor..índice_mayor] array[índice_menor..índice_mayor] of tipo; single Ejemplo: var a:array [1..10] of integer; a:array[1..10] integer; prb@2005 13 Arreglos prb@2005 14 Constantes Las Constantes: Ejemplos: var Son valores fijos que se almacenan en memoria y que el programador puede referirlos con un simple nombre. a: array[1..10] array[1..10] of integer; integer; notas: array[1..45] array[1..45] of single; vocales: array[1..5] array[1..5] of char; char; Definición: nombre = valor; matriz: array[1..3][1..3] array[1..3][1..3] of integer; integer; Ejemplos: PI = 3.141592; Numero_Alumnos = 40; prb@2005 15 prb@2005 16 Asignación Operadores Asignación: Operadores: Corresponde a la acción de asignar a una variable un valor o el resultado de una operación entre variable o constantes. Definición: Corresponden al número de operadores aritméticos y lógicos que se aplican entre variable o valores. Definición: variable := valor; suma + resta multiplicación * división / AND OR NOT Ejemplos: a := 5; suma := a+2; nombre := “juan ”; “juan”; prb@2005 17 prb@2005 18 3 PDFMAILER.COM Print and send PDF files as Emails with any application, ad-sponsored and free of charge www.pdfmailer.com Operadores Conversión de Tipos Ejemplo: Conversión: booleana := 2 > d; bool1 := not booleana; booleana; bool2 := (2 < a) and bool1; Muchas veces es necesario trabajar con variables de distintos tipos, traspasando valores de una a otra variable. Para ellos se utilizan algunas funciones de conversión de tipos de datos Cuánto vale bool2? Definición: strtoint( strtoint( ) inttostr( inttostr( ) strtofloat( strtofloat( floattostr( floattostr( prb@2005 19 Conversión de Tipos prb@2005 prb@2005 20 Conversión de Tipos Función VAL( ): Ejemplos: Var a: integer; integer; s1, s2: string; string; b, c: double; double; Begin a := 12; s1 := inttostr( inttostr( a ); b := a / 5; s2 := floattostr( floattostr( b ); c := strtoint( strtoint( s1 ) * strtofloat( strtofloat( s2 ); End; End; ,transforma un string en integer; integer; ,transforma un integer en string; string; ) ,transforma un string en double; double; ) ,transforma un double en string; string; La función VAL( ) permite “validar” un string en un tipo de variable numérica. Si la conversión no es posible entonces se genera un código de error. Definición: val( val( string, string, variable, codigo ); Si el código es “0” entonces la conersión fue correcta. 21 prb@2005 22 Conversión de Tipos Ejemplos VAL( ): Var a, c: integer; integer; b: double; double; s: string; string; Begin s:= “30”; val( val( s, a, c ); if c=0 then b:= a / 8; end; end; prb@2005 23 4