Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Pascal, Apuntes de Ingeniería Infórmatica

Asignatura: Introducción a la Programación, Profesor: Isidoro Isidoro, Carrera: Ingeniería de Computadores, Universidad: URJC

Tipo: Apuntes

2013/2014

Subido el 24/11/2014

chechoman
chechoman 🇪🇸

4

(7)

4 documentos

1 / 38

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
IP 1
TEMA 1B
ELEMENTOS BÁSICOS
1
Elementos Básicos
1.1. Historia de PASCAL
1.2. Tipos de datos básicos
1.3. Elementos básicos del lenguaje
1.4. La documentación del programa
1.5. Normas de estilo
2
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26

Vista previa parcial del texto

¡Descarga Pascal y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

TEMA 1B

ELEMENTOS BÁSICOS

1

Elementos Básicos

1.1. Historia de PASCAL

1.2. Tipos de datos básicos

1.3. Elementos básicos del lenguaje

1.4. La documentación del programa

1.5. Normas de estilo

2

Objetivos

  • Presentar los elementos básicos del lenguaje

de programación Pascal

  • Presentar la correcta construcción de

programas sencillos

3

1.1. Historia de Pascal

  • Alto nivel
  • Propósito General
  • Estructurado (Datos y Control)
  • Modular
  • Compacto y fácil de entender
  • La mayoría son compiladores
  • Fue diseñado para la enseñanza de la

programación

4

1.2. Tipos de datos

básicos

  • Entero: integer
  • Real: real
  • Carácter: char
  • Booleano: boolean

7

  • Dominio o rango
  • Operaciones
  • Construcción de Expresiones

Tipos Predefinidos

1.2.1 El Tipo Entero

Pascal

  • En Pascal se denota con: integer
  • Dominio: ℤ, debido a las limitaciones de

representación, el dominio está acotado

  • TPascal (2 bytes) acotado por la cte

predefinida

MAXINT {-32768,..,32767}

  • Representación: se escriben sin espacios ni

puntos entre sus cifras y el signo, si aparece,

precede al número 8

Tipo Entero: Sintaxis

(Diagrama sintáctico)

9

Entero sin signo

Número Entero

Entero sin signo

Dígito

Dígito

Tipo Entero:

Operaciones y Funciones

  • Operadores aritméticos.

Binarios. Notación infija (Ej: a+b)

 + : ℤ x ℤ → ℤ (adición)

 – : ℤ x ℤ → ℤ (resta)

 * : ℤ x ℤ → ℤ (multiplicación)

 div : ℤ x ℤ → ℤ (división entera)

 mod : ℤ x ℤ → ℤ (resto de la división entera)

Monarios. Notación prefija (Ej: -3)

 – : ℤ → ℤ (cambio de signo)

10

1.2.2 El Tipo Real

Pascal

  • En Pascal se denota con : real
  • Dominio: ℝ
  • Intervalo acotado (4 bytes)

 magnitud: entre ± 2.9*10-39^ y 1.7 * 10^38

 precisión: Entre 11 y 12 cifras significativas

  • Representación:

 coma fija (Ej.: 3.25, -3.0, 666.444)

 notación científica (Ej.: 6.023E+23)

13

Tipo Real: Sintaxis

(Diagrama sintáctico)

14

Real sin signo

Número Real

E

Cifras (^) • Cifras

Cifras

Real sin signo

Cifras

Dígito

Tipo Real: Operaciones

y Funciones

  • Operadores aritméticos.

Binarios. Notación infija (Ej: a+b)

 + : ℝ x ℝ → ℝ (adición)

 – : ℝ x ℝ → ℝ (resta)

 * : ℝ x ℝ → ℝ (multiplicación)

 / : ℝ x ℝ → ℝ (división)

Monarios. Notación prefija (Ej: -3.9)

 – : ℝ → ℝ (Cambio de signo)

15

Tipo Real:

Operaciones y Funciones

  • Funciones aritméticas. (Monarias)

Sintaxis: notación prefija

16

abs : valor absoluto sqr : cuadrado sqrt : raiz cuadrada

sin : seno cos : coseno arctan : arcotangente

Ángulo: radianes

ln : log. neperiano exp : fun. exponencial

Base: e

  • Semántica: como operadores y funciones sobre

enteros

limitaciones : - posibilidad de desbordamiento

  • posibilidad de error de redondeo

Tipo Real: Expresiones

  • Una expresión real es una combinación de

números, operaciones y/o funciones cuyo

resultado de la evaluación es un real.

  • Precedencias: 1. ()

2. Funciones

  • Asociatividad:

 De izquierda a derecha

19

más alta

más baja

20

Expresiones reales

Función Expresión equivalente Restricción

xy: exp(y * ln(x)) Para x>

tg(x) sin(x)/cos(x) Para x ≠ π/2 +kπ arcsen(x) arctan(x/sqrt(1–sqr(x))) Para 0<x< logb(x) ln(x)/ln(b) Para b>1,x > Número de cifras de un entero n

trunc (ln(n) /ln(10)) +1 Para n > 0

1.2.3 El Tipo Carácter

Pascal

  • En Pascal se denota con : char
  • Dominio: C (juego de caracteres disponibles

en el ordenador)

  • Intervalo acotado

 Juego de caracteres ASCII de 8 bits (hasta 256)

  • Sintaxis: un carácter entre apóstrofes

(comillas simples)

Ejemplos: ´h´ ´A´ ´@´ ´ ´ ´ ´ (carácter ´ ) 21

Tipo Carácter:

Operaciones y Funciones

  • Operadores Binarios (+). Notación infija

Concatena caracteres.

 Ej.: ‘a’ + ‘b’ → ‘ab’

  • Funciones monarias: notación prefija

 pred : C → C carácter anterior (en la tabla ASCII)  succ : C → C carácter siguiente (en la tabla ASCII)

  • Funciones de conversión char / integer

 ord : C → ℤ nº de orden (ASCII) del carácter

 chr : ℤ → C carácter asociado a un nº de orden (ASCII)

22

1.2.4 El Tipo boolean

  • En Pascal se denota con : boolean
  • Dominio: B (dos valores lógicos)
  • Intervalo acotado

 {FALSE, TRUE}

  • Uso en expresiones lógicas

25

Tipo boolean:

Operaciones

  • Operadores lógicos

Monarios

 not : B → B negación lógica

Binarios: (Notación infija)

 and : B x B → B conjunción lógica  or : B x B → B disyunción lógica

26

A B A and B A or B not A false false false false true false true false true true true false false true false true true true true false

Tipo boolean:

Operaciones

  • Operadores relacionales

Binarios. Notación infija

 = igual  <> distinto  < menor  <= menor o igual  > mayor  >= mayor o igual Todos están sobrecargados

C x C -> B; ℝ x ℝ -> B; B x B -> B; ℤ x ℤ -> B;

27

Operadores relacionales

lógicos

  • Los siguientes operadores al actuar

sobre operandos de tipo booleano reciben

nombres especiales:

 = Equivalencia Lógica  <> Or exclusivo Lógico  <= Implicación Lógica

28

A B A = B A <> B A<=B false false true false true false true false true true true false false true false true true true false true

1.2.5 Expresiones

  • Sintaxis: Una expresión está formada por una

constante o una variable o una función

aplicada a una expresión o una operación

entre expresiones

  • La operaciones se aplican según la

precedencia y asociatividad (izqda → drcha)

  • Las funciones se aplican a sus parámetros

entre paréntesis

31

Precedencia de

Operadores

  • Semántica: ¿Cómo se evalúan las

expresiones?

32

Operadores Categoría ivel de Precedencia ( ) Paréntesis Máximo: 1

–, OT (monarios)

Negación 2

*, /,DIV, MOD, AD (binarios)

Multiplicativos 3

+,–,OR (binarios)

Aditivos 4

=,<>,<,<=,>,>= (binarios)

Relacionales Mínimo: 5

Igual precedencia: asociatividad Izda->Dcha

Tipo de una expresión

  • Cada expresión tiene un tipo

depende de los operadores, funciones etc. que

componen la expresión

si el argumento de una función o un operador es

una expresión, entonces el tipo de la expresión ha

de coincidir con el tipo requerido para el

argumento

(Excepción: conversión automática de ℤ a ℝ)

el compilador comprueba la corrección de tipos

33

Tipos ordinales

  • Son los tipos integer (entero) , char

(carácter) y boolean (booleano)

  • Se pueden enumerar sus dominios asignando a sus

elementos un número de posición

 ord () devuelve el nº de posición de su

argumento en su dominio

  • Las funciones pred() y succ() son exclusivas

de los tipos ordinales.

34

Léxico

  • Identificadores: nombres asociados a

diferentes elementos de un lenguaje

(dispositivos, tipos, constantes, variables)

37

Léxico

  • Identificadores predefinidos:

 Archivos estándar: input, output  Constantes: FALSE, TRUE, MAXINT, PI  Tipos: boolean, char, integer, real, text  Funciones: abs, arctan, chr, cos, eof, eoln, ln, odd, pred, round, sin, sqr, sqrt, succ, trunc  Procedimientos: dispose,get, new, pack, page, put, read, readln, reset, rewrite, unpack, write, writeln

38

Léxico

  • Identificadores definidos por el programador:

representan diversos elementos que el

programador va creando según sus

necesidades

Empiezan con una letra, seguida por letras y

cifras

39

LetraAZ LetraAZ

Dígito

Léxico

  • Reglas adicionales de identificadores definidos

por el programador:

no se permiten caracteres especiales (excepto “_”

en TPascal)

no se permite letras “especiales” (p.e.: ñ, é, ú, ó,

á, í)

no se distinguen letras mayúsculas y minúsculas

la longitud máxima es de 127 caracteres, de ellos

solo son significativos los primeros 63

40