![]() |
---|
![]() ![]() ![]()
|
![]() ![]() Bueno... pues esta es la recopilación "bonita" de los mensajes que he ido poniendo por varias redes sobre un cursillo de Pascal. Al principio más que nada me convencieron los amigos de Conecta2 BBS, que si Jon Beltrán de Heredia empezó también así... que si tal... y acabé haciendo este cursillo, que no parece haber tenido mucho éxito, pero bueno... tal vez haciéndolo en HTML más bonito alguien se lo mire... Indice
A continuación pongo lo que hay más o menos en cada capítulo del cursillo. Hay cosas que me las salté y otras que se me ocurrieron mientras escribía y las añadí, pero normalmente me he ceñido al índice. Cada capítulo tiene su enlace para porder saltar al archivo HTML correspondiente. * Introdución - Lenguaje de propósito general - Programación estructurada - Variables "tipadas" - Procedimientos (recursividad) - Sin GOTO * 1º Estructura - Nombre - Uses - Definición de constantes globales - Variables globales - Definición de tipos - Definición de variables - Procedimientos - Tipos (procedimiento, función) - Declaración - Nombre - Parámetros - Constantes locales - Variables locales - Tipos locales - Variables locales - Código - End - Código principal * 2º Variables (1ª Parte) - Definición - Tipos - Byte (8 bits, 0..255) - Shortint (8 bits, -128..127) - Char (8 bits, letras) - Boolean (8 bits, verdadero-falso) - Integer (16 bits, -32768..32767) - Word (16 bits, 0..65535) - Longint (32 bits, 0..2Gb) - Real, Single, Double (p. flotante) - String (cadena, 255 bytes + contador) - Punteros * 3º Variables (2ª Parte) - Tipos - Text - Files - of... ( read(), write() ) - sin tipo ( blockread(), blockwrite() ) - Arrays - Definición general y uso (se puede usar cualquier tipo) - unidimensionales - multidimensionales - Estructuras - Conjunto de variables - Estructuras dentro de estructuras - Estructuras en arrays/arrays en estructuras - Otros - PChar - Variables estáticas - Globales -> ocupan "código" - Locales -> ocupan "pila" - Variables dinámicas - Ocupan Heap - Se pueden crear/destruir - Se pueden crear del tamaño que se quiera (un array es fijo) * 4º Expresiones - Definición general (expresión = cálculo) - Lugares donde puede usarse - Asignaciones - Paso de parámetros - En bucles y sentencias condicionales - Operaciones - Numéricas (suma, resta, multip, div, módulo) - A nivel de bits (and, or, xor, not) - Lógicas (not, and, or, =, >, <, <>, >=, <=) - Operandos - Valores inmediatos - Constantes - Variables - Tablas - Punteros - Preferencia - Sin paréntesis - Con paréntesis (corchetes NO) * 5º Código - Asignaciones - Llamadas a funciones - Paso de parámetros (constantes, expresiones, variables...) - Recogida del resultado de una función - Sentencias condicionales (if...then...else...end) - Bucles - For...to - For...downto - Do...while - While...do...end - Repeat...until - Begin...end -> si hay más de una sentencia en el bucle * 6º Procedimientos y funciones - Son "trozos" de programa - Uno devuelve valor otro no - Declaración - Procedimientos - Funciones - Paso de params - Por valor - Por referencia - Constantes, variables, tipos locales - Sólo visibles en la función - Si A local y global se usa la local - Código - Devolver valores * 7º Funciones de la librería - Dónde encontrarlas en la ayuda del TP - Pantalla - Básicas - Avanzadas - Teclado - Disco - Texto - Tipo - Dos - FindFirst - ChDir, GetDir, etc... - Exec ( {$M...} !!!! ) - Gráficos (GRAPH.TPU) - Ratón * 8º Punteros - Concepto - Son FLECHAS - No son el dato al que apuntan - Ocupan siempre 4 bytes - No contienen los datos del elemento al que apuntan - Declaración - P : Pointer - P : ^Byte - Uso - Getmem/Freemem - New/release - Ptr(seg, ofs) - Puntero^.tal := la - Inc(Puntero) -> avanzar un elemento entero - Uso con arrays (util para la RAM de video) - Punteros a punteros - Listas enlazadas - Simples - Dobles - Arboles binarios - Uso como buffer - Fillchar, Movemem, ( P != P^ ) |
---|
![]() |
![]() por ComaC |
---|