Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Pascal: Instrucciones y tipos de datos simples




Enviado por Pablo Turmero



Partes: 1, 2, 3

    Monografias.com

    Title: Pascal, un lenguaje de programación
    Other Placeholder: En este tema estudiamos aspectos comunes a muchos lenguajes de programación
    Prácticamente todos los lenguajes que siguen el paradigma imperativo (= dar órdenes al ordenador)
    Por estudiar un lenguaje concreto usaremos Pascal que, como dijimos, es un lenguaje apropiado para aprender
    ¿Cómo podemos explicar Pascal?
    De manera informal (lo habitual al principio)
    De manera formal (usando BNF, EBNF o diagramas sintácticos para describir la sintaxis del lenguaje, por ejemplo)

    Monografias.com

    Forma básica de un programa en Pascal

    Datos deentrada
    Datos desalida
    Algoritmo
    program nombre-programa;
    const
    idCte1 = valor1;

    idCteN = valorN;
    var
    lista-variables1 : tipo1;

    lista-variablesM : tipoM;
    begin
    sentencia1;

    sentenciaK-1;
    sentenciaK
    end.
    Sección de
    declaración
    de datos
    Sección de
    código(programa principal)

    Monografias.com

    Forma básica de un programa en Pascal
    Ej: Programa que convierte un valor expresado en pulgadas, proporcionado por el usuario a través de teclado, en el equivalente expresado en centímetros y lo muestra por pantalla

    Implementación del algoritmo en Pascal
    program conversion;
    const
    centPorPulg = 2.54;
    var
    pulgadas, cent: real;
    begin
    writeln('¿Longitud?');
    readln(pulgadas);
    cent:= pulgadas * centPorPulg;
    writeln('En cms:', cent)
    end.
    Datos de entrada
    Pulgadas
    Datos de salida
    Centímetros
    Algoritmo
    Obtención del valor expresado en pulgadas
    Conversión al valor equivalente
    Visualización del valor equivalente

    Monografias.com

    program conversion;
    const
    centPorPulg = 2.54 ;
    var
    pulgadas , cent : real ;
    begin
    writeln ( '¿Longitud?' );
    readln ( pulgadas );
    cent:= pulgadas * centPorPulg;
    writeln ( 'En cms:' , cent )
    end.
    (Gp:) Palabrasreservadas

    (Gp:) Identificadoresnormales

    (Gp:) Identificadorespredefinidos
    (Gp:) Identificadorespredefinidos

    (Gp:) Literales

    Monografias.com

    Uso del espacio “en blanco” y de los comentarios
    Los elementos léxicos (que marcábamos con colores antes) pueden separarse por un número cualquiera de espacios en blanco, saltos de línea y tabuladores
    El espacio dejado a la izquierda de cada línea (indentación) no tiene significado para la máquina
    El objetivo de estos “arreglos en el formato” es simplemente hacer más legibles los programas para otros programadores
    En cualquier parte del programa el programador puede escribir comentarios para explicar su código
    Si son de una sola línea basta con comenzarlos por //
    Si son varias líneas deben ir entre (* y *) necesariamente
    // Conversor PulgCent, por Federico Peinado.(* Este programa convierte un número de pulgadas a su equivalente en centímetros. Ha sido escrito por Federico Peinado. *)
    ¡Los comentarios ayudan a documentar bien nuestro trabajo!

    Monografias.com

    (********************************** Este programa convierte pulgadas a centímetros. Por Federico Peinado **********************************)program conversion;
    const
    centPorPulg = 2.54;
    var
    pulgadas, cent: real;
    begin
    writeln('¿Longitud?');
    readln(pulgadas);
    cent:= pulgadas * centPorPulg;
    writeln('En cms:', cent)
    end.
    program conversion;
    const centPorPulg = 2.54; var
    pulgadas,cent:real; begin
    writeln('¿Longitud?');readln(pulgadas);
    cent:= pulgadas * centPorPulg;
    writeln('En cms:', cent) end.
    Mismo programa, pero… ¿qué formato es más cómodo de leer?

    Monografias.com

    Datos de un programa
    Todos los datos tienen:
    Identificador
    Nombre simbólico que se usa para representar el dato
    Identifica de forma legible las celdas de memoria donde está guardado el dato
    Tipo
    El tipo de los valores que puede tener el dato
    Ej: Números enteros, números reales, cadenas de texto…
    Clasificación como Constante o Variable
    Constante, si el valor del dato no cambia nunca en ningún momento de la ejecución del programa
    Variable, si el valor del dato cambia o puede cambiar en algún momento de la ejecución del programa

    Monografias.com

    Un identificador es un nombre para un dato concreto
    Si el valor de ese dato no cambia nunca, el identificador es una constante
    Si el valor de ese dato puede cambiar durante la ejecución del programa, el identificador será una variable
    Los identificadores deben ser autoexplicativos
    Ej: numero_alumnos está bastante claro
    Ej: nx6 no hay quien lo entienda
    Sintaxis en EBNF:
    Identificador ::= Letra {[Subrayado] Letra | Dígito}
    Letra ::= “a” | “b”| … | “z” | “A” | “B”| … | “Z”
    Dígito ::= “0” | “1” | … | “9”
    Subrayado ::= “_”

    Identificadores en Pascal

    Monografias.com

    Identificadores en Pascal
    Resumen informal de la sintaxis de un identificador de Pascal:
    No puede ser un número solo
    Ha de empezar necesariamente por una letra
    La ñ no es una letra válida, ni las vocales con tildes o con diéresis (se usa solamente el alfabeto inglés)
    No puede acabar en subrayado (_), ni puede haber dos subrayados seguidos (__)
    Y por supuesto… ¡no puede ser una palabra reservada!
    Identificadores predefinidos en Pascal, por ejemplo program

    La longitud de los identificadores en teoría no tiene límite
    Pascal no distingue entre letras mayúsculas y minúsculas
    NUMEntero, numEntero, numENTERO… ¡todos hacen referencia exactamente al mismo dato!
    No puede haber identificadores con nombres repetidos dentro de un mismo bloque de programa, para evitar confusiones

    Monografias.com

    Identificadores en Pascal
    ¿Los siguientes son identificadores válidos en Pascal?

    pulgadas cent valido

    2veces salu2 duda?

    x x_ x_a

    Monografias.com

    Datos cuyo valor no cambia a lo largo de la ejecución del programa

    Tipos de constantes en Pascal
    Literales: se usan “a pelo” en el programa, sin identificador
    ‘Longitud’ 2.54 ‘a’ true
    Constantes con nombre: llevan un identificadorpi = 3.1416

    La sentencia const de Pascal anuncia que se van a declarar e inicializar las constantes con nombre del programa
    program conversion;
    const
    centPorPulg = 2.54;

    Constantes

    Monografias.com

    Sintaxis de la sección de declaración de constantes en Pascal
    SeccionConstantes ::= [ “const” DefCte “;” { DefCte “;” }]
    DefCte ::= Identificador “=” Valor
    Identificador ::= No terminal que ya hemos descrito antes…

    Valor ::= Ventero | Vreal | Vcaracter | Vbooleano | Cadena | [Signo] Identificador
    Ventero ::= [Signo] Digito {Digito}
    Signo ::= “+” | “-”
    Vreal ::= Fnormal | Fcientifico
    Fnormal ::= [Signo] Pentera “.” Pdecimal
    Pentera ::= Digito {Digito}
    Pdecimal ::= {Digito}
    Fcientifico ::= Fnormal “E” Signo Pentera
    Vbooleano ::= “true” | “false”
    Vcaracter ::= “ ’ ” Car “ ’ ”
    Car ::= “a” | “b”| … | “z” | “A” | “B”| … | “Z” | “ ” | “?” | …
    Cadena ::= “ ’ ” {Car} “ ’ ”

    Monografias.com

    ¿Este es un ejemplo válido de declaración de constantes?
    const
    pi = 3.1416;
    centPorPulg = 2.54;
    iva = 0.16;
    dolar = ‘$’;
    cinco = 5;
    max = 100;
    min = -max;
    mensaje = ‘Error’;
    El tipo de una constante se decide de manera automática al inicializarse, según el tipo del dato que reciba
    Por ejemplo cinco será de tipo entero e iva será de tipo real
    Constantes

    Monografias.com

    Variables
    Datos cuyo valor cambia o puede cambiar a lo largo de la ejecución del programa

    La sentencia var de Pascal anuncia que se van a declarar las variables del programa
    program conversion;
    const
    centPorPulg = 2.54;
    var
    pulgadas, cent: real;

    Monografias.com

    SeccionVariables ::= [ “var” DefVar “;” {DefVar “;”}]
    DefVar ::= Identificador { “,” Identificador} “:” Tipo
    Identificador ::= No terminal que ya hemos descrito antes…
    Tipo ::= “integer” | “real” | “char” | “boolean” | DefinidoPorUsuario

    Sintaxis de la sección de declaración de variables en Pascal
    var
    pulgadas, cent: real;
    letra: char;
    valido: boolean;
    base: integer;
    altura: integer;
    (Gp:) Lo explicaremos en el Tema 5

    Monografias.com

    program conversion;
    const
    centPorPulg = 2.54;
    var
    pulgadas, cent: real;
    begin

    end.

    Situación de constantes y variables en memoria

    Monografias.com

    La cadena 01110010 puede ser…
    … un número entero (¿el primer bit representa el signo?)
    … un número real (¿dónde estaría la coma y la parte decimal?)
    … un carácter textual (¿en que tipo de codificación?)
    … un valor booleano (¿sólo es significativo el último bit?)
    ¡Para programar hay que saber qué significan esos 0’s y 1’s!

    Asignar un tipo a un dato es una manera de indicar:
    Cuál es la interpretación correcta de las cadenas de 0’s y 1’s
    Qué rango de posibles valores puede tomar el dato
    Cuáles son las operaciones posibles sobre dicho dato
    Los lenguajes de alto nivel, como Pascal, tienen una fuerte comprobación de tipos para evitar que el programador use los datos de manera incorrecta, sin tener en cuenta sus tipos
    Ej: No te deja multiplicar un número entero por un carácter textual

    Representación interna de los datos en memoria

    Partes: 1, 2, 3

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter