FUNDAMENTOS DE OBJECT PASCAL

Documentos relacionados
Manual de turbo pascal

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Programación en Pascal

Tema 2. El lenguaje JAVA

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

PHP: Lenguaje de programación

Elementos de un programa en C

REFERENCIA DEL LENGUAJE

Lección 2 Introducción al lenguaje C

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

4. Operadores Operador asignación

Estatutos de Control C# Estatutos de Decisión (Selección)

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

GUÍA BÁSICA DE SCHEME v.4

Elementos léxicos del lenguaje de programación Java

FUNDAMENTOS DE INFORMÁTICA

Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Tema 3.- Predicados y sentencias condicionales

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

LENGUAJE. Tema 2 Elementos de un programa

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Estructuras de Control. Secuencia y Selección

Enunciado de la tercera práctica de programación I

Java para programadores

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Introducción Importaciones Declaración de variables Declaración de constantes Tipos de datos INTEGER CARDINAL REAL BOOLEAN CHAR BITSET String Otras

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

2017, año del Centenario de la Constitución Mexicana Índice Nacional de Precios al Consumidor 2017

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Aprender a programar con Turbo Pascal. Turbo pascal

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

El lenguaje C. 1. Identificadores, constantes y variables

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Modulo 1 El lenguaje Java

Resumen del lenguaje de programación Visual Basic.NET

Computación II. Introducción a Visual Basic

Programa de Magister en Ingeniería Industrial Calendario de Actividades 5ta. Edición Día Fecha Asignatura Horas Jueves 8-may-14 Administración

Academia técnica de computación A.T.C.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Principios de Computadoras II

Tema 2. El lenguaje de programación Java (Parte 1)

Estructura de Datos: Archivos

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

INICIACIÓN A LA PROGRAMACIÓN II

Cómo nombrar variables ( 2&

Introducción a la Programación en Visual Basic y su aplicación en Excel. M.I. Jaime Alfonso Reyes Cortés

Java para no Programadores

UNIDAD 5. ESTRUCTURAS DINÁMICAS Y ESTÁTICAS DE ALMACENAMIENTO DE DATOS.

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

1 Estructura básica de un programa C++

INTRODUCCIÓN AL TURBO PASCAL.

2.2 Nombres, Ligado y Ámbito

Se guardan en archivos con extencion c y los cabezales con extension h

UTN FRR Ingeniería en Sistemas de Información Algoritmos y Estructuras de Datos Archivos Directos GUIA DE ESTUDIO: ARCHIVOS DIRECTOS

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

Estructuras de Datos Declaraciones Tipos de Datos

TEMA 4. ESTRUCTURAS DE CONTROL

GUÍA DE ESTILO EN JAVA

Fundamentos de programación

Lenguaje de programación C. Introducción

11/02/2009 IEC de febrero de 2009 Antonio Cambronero, Product Engineer OMRON Electronics Iberia S.A.U. IEC ( Programación en ST )

Un programa escrito en Pascal tendrá generalmente la siguiente forma:

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo

5. Sentencias selectivas o condicionales

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Este es un arreglo de números enteros, o sea que guarda una serie de variables de tipo INTEGER, todas agrupadas en una sola estructura.

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Tema 2 Descripción de VHDL (2/2)

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

TIPO DE DATO ABSTRACTO (TDA)

Programación con Delphi (V)

PASCAL y TURBO PASCAL

Operando1 operador de relación Operando2

Scripting en el cliente: Javascript. Tecnologías Web

Farmacias de Guardia de TOCINA-LOS ROSALES desde 30-dic-2013 hasta 05-ene-2014

Ficha de Aprendizaje N 13

PASCAL. Repaso de Pascal Introducción a Python. Pascal. Pascal - introducción. Pascal Declaraciones: Variables. Pascal Declaraciones: Tipos 07/04/2015

2. ESTRUCTURA DE UN PROGRAMA EN TURBOPASCAL

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Tutorial Básico de vbscript

ALGORITMOS Y ESTRUCTURAS DE DATOS. Ejercicios Resueltos CUADERNILLO DE PRACTICA

PHP y MySQL. Indice: Switch Bucles For While do...while

Curso de Java Introducción a la Programación III

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

Turbo Pascal 7, FPS y sus herramientas de análisis de errores.

Programas ejemplo. Lenguaje de Programación PASCAL. Miguel Murguía

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

Estructura de datos (arreglos) Vectores y Matrices

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

I N D I C E D E P R E C I O S A L C O N S U M I D O R

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Características de Lenguajes de Scripts

Transcripción:

FUNDAMENTOS DE OBJECT PASCAL 1. ASPECTOS GENERALES DE LA SINTAXIS Los bloques de código quedan delimitados por y end. Se usa punto y coma como separador de sentencias de código. Comentarios: - ias líneas: (*, *) o {, } - una línea: // 2. DECLARACIONES Orden: constantes, tipos y iables (puede alterarse o cambiarse). Ejemplo: const Pi = 3.14; Nombre = Pedro ; type TVector = array [1..10] of integer; A: integer; V: TVector; direccion: string; apellidos: string[50]; Carlos Rossi 2003 1

3. IDENTIFICADORES Deben ser únicos en su ámbito. Formados por letras, números y caracteres subrayado, sin espacios, ni eñes ni acentos. No se distingue entre mayúsculas y minúsculas. Los identificadores deben ser descriptivos. 4. TIPOS 4.1. TIPOS PREDEFINIDOS Nombre Contenido Boolean Un valor lógico: True o False Char Un solo carácter Byte Un entero entre 0 y 255 SmallInt Un entero entre 32768 y 32767 Word Un entero entre 0 y 65535 Integer o LongInt Un entero entre 2147483648 y 2147483647 Cardinal Un entero entre 0 y 4294967295 Real o Double Un real (15/16 dígitos) Extended Un real (19/20 dígitos) String Una cadena de caracteres Carlos Rossi 2003 2

4.2. TIPOS DEFINIDOS POR EL USUARIO 4.2.1. MATRICES Definición. Ejemplos: matriz: array [1..25] of integer; tabla: array [1..10,1..15] of string; tablaalternativa: array [1..10] of array [1..15] of string; Referencia. Ejemplos: direccion:= tabla[3,7]; 4.2.2. ENUMERACIONES Definición. Ejemplo: type TDiaSemana = (lunes, martes, miercoles, jueves, viernes, sabado, domingo); Es un tipo escalar y, por tanto, puede ser el índice de una matriz. Ejemplo: gastos: array[tdiasemana] of integer; Carlos Rossi 2003 3

4.2.3. SUBRANGOS Su función es limitar los valores asignados a las iables. Ejemplo: type TUnoCien = 1..100; TDiaLaborable = lunes..viernes; Obviamente sigue siendo un tipo escalar. 4.2.3. CONJUNTOS Para definir iables capaces de contener subconjuntos de un tipo base escalar (de cardinal menor o igual que 256). Los elementos del conjunto no están ordenados. No se puede acceder a los elementos directamente, sólo se puede comprobar su la pertenencia al conjunto. Ejemplo: type TDiasSemana = set of TDiaSemana; partidos, vacio: TDiasSemana; dia: TdiaSemana; partidos:= [lunes,jueves,domingo]; vacio:= []; if dia in partidos then Carlos Rossi 2003 4

4.2.4. REGISTROS Son tipos compuestos en los que las componentes de sus elementos son de distintos tipos. Ejemplo: type TFicha = record nombre: string; direccion: string; edad: integer; calificacion: (NP,sus,ap,not,sob,MH) Para las referencias a los campos de un registro se emplea el operador de cualificación (operador. ). Ejemplo: ficha: Tficha; ficha.nombre:= Cristina ; ficha.direccion:= C. Larios, 1 ; ficha.edad:= 1; Las definiciones de tipos se pueden anidar. Ejemplo: agenda: array[1..100] of Tficha; agenda[1].nombre:= Cristina ; Carlos Rossi 2003 5

OBSERVACIÓN: En Object Pascal es posible definir constantes con tipo, cuyo interés es la definición de constantes de tipos compuestos. Ejemplo: const cadenames = array [1..12] of string = ( Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic ); Este formato de paréntesis y valores separados por comas se emplea también para las constantes de tipo registro. 5. ÁMBITO DE LOS IDENTIFICADORES Como en otros lenguajes, se distinguen ios tipos de identificadores: - Identificadores globales: los definidos en la parte de interfaz de una unidad (módulo). Son accesibles por todos los subprogramas de la unidad y por cualquier programa que use la unidad. - Identificadores locales: los definidos en subprogramas. Salvo conflictos, son accesibles en el interior del subprograma. - Identificadores de unidad: los declarados en la parte de implementación de una unidad. Son accesibles únicamente por los subprogramas de la unidad. Carlos Rossi 2003 6

Se pueden crear referencias inequívocas para evitar conflictos con identificadores duplicados. Ejemplo: N: integer; procedure Lioso; N: integer; N:= 5; //Esta es la iable local UnidadU.N:= 3; //y esta es la global 6. EXPRESIONES 6.1. OPERADORES ARITMÉTICOS Los habituales: +, -, *, /, div, mod 6.2. OPERADORES RELACIONALES Los habituales: =, <>, <, >, <=, >, >= 6.3. OPERADORES LÓGICOS Los habituales: not, and, or, xor Carlos Rossi 2003 7

6.4. OTROS OPERADORES 6.4.1. CONCATENACIÓN DE CADENAS Ejemplo: cadena: string; cadena:= Hola + mundo ; 6.4.2. OPERADORES DE CONJUNTOS Los habituales: + (unión), - (diferencia), * (intersección), in (pertenencia). Ejemplo: type TdiaSemana = (lunes, martes, miercoles, jueves, viernes, sabado, domingo); TdiasSemana = set of TdiaSemana; const Clase: TdiasSemana = [lunes,miercoles,jueves]; Tutoria: TdiasSemana = [martes,jueves,viernes]; trabajados, soloclase, ambos: TdiasSemana; resultado: boolean; trabajados:= Clase + Tutoria; soloclase:= Clase - Tutoria; ambos:= Clase * Tutoria; resultado:= lunes in ambos Carlos Rossi 2003 8

6.4.2. OPERADORES DE PUNTEROS Los habituales: @, ^, New y Dispose. Ejemplo: num: integer; puntero, puntero2: ^integer; puntero:= @num; num:= 5 // Es lo mismo que puntero^:= 5 New(puntero2); puntero2^:= 7; Dispose(puntero2) 6.4.2. ORDEN DE PRIORIDAD De izquierda a derecha y con la prioridad habitual, salvo paréntesis. Ordenación de mayor a menor: 1. not, @ 2. and, *, /, div, mod (multiplicativos) 3. or, xor, +, - (aditivos) 4. =, <, <=, >, >=, <>, in (relacionales) Carlos Rossi 2003 9

7. ESTRUCTURAS DE CONTROL 7.1. CONDICIONALES Con el significado conocido: if condición then bloque de instrucciones else bloque de instrucciones; Selección múltiple: case expresión escalar of: valor1: bloque de instrucciones 1; valorn: bloque de instrucciones N else bloque de instrucciones alternativo; 7.2. ITERATIVAS Con el significado conocido: for contador:= valorinicial to valorfinal do bloque de instrucciones; for contador:= valorinicial downto valorfinal do bloque de instrucciones; Carlos Rossi 2003 10 while condición do bloque de instrucciones;

repeat bloque de instrucciones until condición; Instrucciones de control de bucles: - continue: no se ejecutan el resto de las sentencias del bucle, transfiriendo el control a la primera instrucción (previa comprobación de la condición) - break: finaliza la ejecución del bucle. Ejemplo: contador, dato, suma: integer; puntero, puntero: ^integer; //sumaremos numeros menores que 9 suma:= 0; for contador:= 1 to 100 do dato:= PideNumero; //si es cero salimos del bucle if dato = 0 then break; //si es mayor que 9 lo ignoramos if dato > 9 then continue; //en caso contrario se acumula suma:= suma + dato end Carlos Rossi 2003 11

8. SUBPROGRAMAS Procedimientos: procedure NombreProcedimiento (listaparametros); Declaraciones; bloque de instrucciones Funciones: function NombreFuncion (listaparametros): tipodevuelto; Declaraciones; bloque de instrucciones Se pueden pasar parámetros por valor y por referencia. Ejemplo: procedure Cuadrado (factor: integer; resultado: integer); resultado:= factor * factor; Para los parámetros de salida de las funciones se emplea la iable especial (local) result. Ejemplo: function Cuadrado (factor: integer): integer; Carlos Rossi 2003 12 result:= factor * factor;

9. DIFERENCIAS ENTRE MODULA-2 Y OBJECT PASCAL MÓDULOS El módulo de programa equivale al programa principal (proyecto): MODULA-2 Object Pascal MODULE Test; VAR BEGIN END Test. Program Test; end. Módulo = unidad. Partes de un módulo: Módulo de definición Módulo de implementación Interfaz de la unidad Implementación de la unidad IMPORT = uses TIPOS DE DATOS El tipo cardinal de MODULA-2 equivale al tipo word de Object Pascal. Carlos Rossi 2003 13

IDENTIFICADORES Object Pascal no es sensible a las mayúsculas. En Object Pascal se puede emplear el carácter subrayado en los identificadores. COMENTARIOS En Object Pascal se emplean (*, *) o {, } y //, mientras que en MODULA-2 las llaves se emplean para los conjuntos. PROCEDIMIENTOS ESTÁNDAR En Object Pascal se emplean Write y WriteLn para caracteres, números y cadenas, mientras que en MODULA-2 se tienen Write, WriteLn, WriteString, WriteInt, WriteCard y WriteReal. INSTRUCCIONES ITERATIVAS Diferente uso de -end en la instrucción while: MODULA-2 Object Pascal WHILE x < 100 DO while x < 100 do Carlos Rossi 2003 14

La sintaxis de la instrucción for se ha extendido en MODULA-2: FOR x:= 0 TO 10 BY 2 DO WriteCard(x,2); En MODULA-2 no existe la posibilidad de usar downto en la instrucción for: FOR x:= 10 TO 0 BY -1 DO WriteCard(x,2); En Object Pascal no existe la construcción LOOP-EXIT: LOOP Read(ch); IF ch = q THEN EXIT INSTRUCCIONES DE SELECCIÓN En MODULA-2 la instrucción IF siempre termina con END: MODULA-2 IF ch = + THEN ELSE Carlos Rossi 2003 15 Sumar(a,b) Restar(a,b)

Object Pascal if ch = + then Sumar(a,b) else Restar(a,b); Instrucción case con ias sentencias en el mismo caso: MODULA-2 CASE eleccion OF 1 : CorrecOrtog; 2 : Reset; Sal; 3 : ELSE Error; Object Pascal CASE eleccion OF 1 : CorrecOrtog; 2 : Reset; Sal; 3 : ELSE Error; Carlos Rossi 2003 16

En Object Pascal no se puede emplear ELSIF en las instrucciones IF: MODULA-2 IF condicion A THEN Bloque de instrucciones A ELSIF condicion B THEN Bloque de instrucciones B ELSE Bloque de instrucciones por defecto Object Pascal if condicion A then Bloque de instrucciones A else if condicion B then Bloque de instrucciones B else Bloque de instrucciones por defecto Carlos Rossi 2003 17

FUNCIONES En Object Pascal se utiliza la palabra reservada function para subprogramas que devuelven valores: MODULA-2 PROCEDURE Muestra (cont: INTEGER): BOOLEAN; BEGIN IF cont < 100 THEN RETURN TRUE ELSE RETURN FALSE END Muestra; Object Pascal function Muestra (cont: integer): boolean; if cont < 100 then result:= true else result:= false Carlos Rossi 2003 18