Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Pascal: Instrucciones y tipos de datos simples (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Ejemplo: La codificación ASCII para caracteres textuales

Monografias.com

Conjunto de valores posibles que pueden tomar unos datos junto con las operaciones que se pueden realizar sobre ellos
Tipos básicos (o predefinidos) en Pascal
Integer
Real
Char
Boolean

Tipo de Datos
Todos son tipos simples
Integer y Real son tipos numéricos

Monografias.com

Tipos de datos en Pascal
Integer (números enteros):
El rango de valores representable depende del entorno de desarrollo y la máquina que usemos
Ej: En Turbo Pascal, se reservan 2 bytes para almacenar cada entero en complemento a 2, con lo que el rango va:
desde -215 = -32768
hasta (215-1) = 32767

Otros tipos enteros en Turbo Pascal:
ShortInt -128..127
LongInt (4 bytes) –2147483648..2147483647
Byte 0..255
Word 0..65535

De momento utilizaremos solo el tipo Integer

Monografias.com

Tipos de datos en Pascal
Real (números reales):
Rango de valores representable: usando 6 Bytes para almacenar los datos de tipo real, el rango va
desde 2.9 x 10-38
hasta 1.7 x 1038.
También tiene otra serie de tipos adicionales relacionados

Char (Caracteres):
Cualquier carácter de los 256 que forman la tabla ASCII

Boolean (Valores booleanos o lógicos):
Sólo pueden ser :Verdadero (TRUE) o Falso (FALSE)

Monografias.com

El tipo Integer de Pascal
Tipo ordinal(sus elementos pueden organizarse de menor a mayor y hay una manera obvia de pasar al siguiente)

Sintaxis de los números enteros en EBNF:
V-entera ::= [“+” | “-”] Digito {Digito}
Digito ::= “0” | “1” | … | “9”

Constantes predefinidas en Pascal
maxint: Valor máximo para números enteros
minint: Valor mínimo para números enteros
Ej: En Turbo Pascal son 32767 y -32768, respectivamente

Monografias.com

Operadores para datos enteros
Aridad Posición Operandos Resultado Operación (num. Operandos)
– 1 prefijo entero entero cambio de signo (operador por delante)
+ 2 infijo entero entero suma (operador entre medias)
– 2 infijo enteros entero resta
* 2 infijo enteros entero multiplicación
div 2 infijo enteros entero cociente de la división entera
mod 2 infijo enteros entero resto de la división entera

Monografias.com

Expresiones aritméticas enteras
Ejemplos
var x: integer;

4 + 5 -17 * x
5 + 2 * 7 5 – 6 – 7

¿Cómo interpretar una expresión como 5 + 2 * 7? ¿Y 5 – 6 – 7?
La resolución de ambigüedades producidas por el uso de operadores infijos se lleva a cabo asociando a cada operador
Una prioridad o precedencia
Una asociatividad
Los paréntesis sirve normalmente para “llevar la contraria” a dichas prioridades y asociatividades, ya que las expresiones entre paréntesis siempre se evalúan primero

Monografias.com

Prioridad
Un operador ? tiene prioridad sobre otro operador ? si, ante dos interpretaciones posibles de una expresión, se elige siempre aquélla que supone aplicar primero ?

Prioridad de los operadores aritméticos en Pascal
– (cambio de signo)
* div mod
+ – (resta)

¿Cómo se interpreta 5 + 2 * 7?
¿Qué podemos usar si se desea otra interpretación?
Evaluación de expresiones
Orden de
aplicación

Monografias.com

Asociatividad
La expresión 5 – 6 – 7 sigue siendo ambigua porque estamos usando el mismo operador

Las reglas de asociatividad solucionan estas ambigüedades
Si un operador cualquiera (llamémosle ?) asocia a izquierdas, entonces a ? b ? c se interpreta como (a ? b) ? c
Si un operador cualquiera (llamémosle ?) asocia a derechas, entonces a ? b ? c se interpreta como a ? (b ? c)
En Pascal todos los operadores aritméticos infijos binarios asocian a izquierdas

¿Cómo se interpreta 5 – 6 – 7?
¿Qué podemos usar si se desea otra interpretación?
Evaluación de expresiones

Monografias.com

Reglas para evaluar expresiones (en este orden):
Las subexpresiones entre paréntesis se evalúan primero. Si hay subexpresiones parentizadas anidadas (paréntesis dentro de paréntesis, etc.) se evalúan de dentro hacia fuera
Dentro de una expresión, los operadores se evalúan según su prioridad
Los operadores con igual prioridad que estén en una misma subexpresión se evalúan según la asociatividad de Pascal (siempre de izquierda a derecha)
Ejemplos
(4 + 6) * 3 div 5 vs 4 + 6 * 3 div 5
(4 + 6) * (10 – 5) mod 2 vs 4 + 6 * (10 – 5) mod 2
10 mod ((4 + 2) – (3 * 2)) vs 10 mod (4 + 2) – (3 * 2)
Evaluación de expresiones

Monografias.com

Funciones sobre datos enteros
Funciones aritméticas predefinidas en Pascal
abs (x) ? Valor absoluto. Resultado entero
cos (x) ? Coseno de x (en radianes). Resultado real
sin (x) ? Seno de x (en radianes). Resultado real
exp (x) ? ex. Resultado real
ln (x) ? Logaritmo neperiano de x. Resultado real
sqr (x) ? x2. Resultado entero
sqrt (x) ? ?x. Resultado real
donde x es constante, variable o expresión entera
Ejemplos
var num: integer;

sqrt (4 * num) exp (num * 4 + 3)
cos (5 * abs (-2)) ln (num * (4 + 3))

Monografias.com

Otras operaciones con enteros
Operadores relacionales (binarios)
> < >= <= = <>
Los operandos son constantes, variables o expresiones enteras
El resultado es un valor booleano (verdadero o falso)

Función Impar
odd (x)
donde x es constante, variable o expresión entera; el resultado es un valor booleano (verdadero si x es impar)

Predecesor y sucesor
pred (x)
succ (x)
donde x es constante, variable o expresión entera; el resultado es el número entero anterior y el siguiente, respectivamente

Monografias.com

El tipo Real de Pascal
Tipo ordenado (sus elementos pueden organizarse de menor a mayor)
Sintaxis de los números reales en EBNF:
Vreal ::= Fnormal | Fcientifico

Fnormal ::= [Signo] Pentera “.” Pdecimal
Pentera ::= Digito {Digito}
Pdecimal ::= {Digito}

Fcientifico ::= Fnormal “E” Signo Pentera
Digito ::= “0” | “1” | … | “9”
Signo ::= “+” | “-”

Monografias.com

Operadores para datos reales
Aridad Posición Operandos Resultado Operación
– 1 prefijo real real cambio de signo
+ 2 infijo reales real suma
– 2 infijo reales real resta
* 2 infijo reales real multiplicación
/ 2 infijo reales real cociente de la división real

Monografias.com

Funciones sobre datos reales
Funciones aritméticas predefinidas

abs (x) ? Valor absoluto. Resultado real
cos (x) ? Coseno de x (en radianes). Resultado real
sin (x) ? Seno de x (en radianes). Resultado real
exp (x) ? ex. Resultado real
ln (x) ? Logaritmo neperiano de x. Resultado real
sqr (x) ? x2. Resultado real
sqrt (x) ? ?x. Resultado real

donde x es constante, variable o expresión real

Monografias.com

Operadores relacionales (binarios)
> < >= <= = <>
Los operandos son constantes, variables o expresiones reales
El resultado es un valor booleano

Conversión explícita de tipo (de real a entero)
round (x) ? redondea al número entero más próximo
trunc (x) ? directamente elimina la parte decimal
donde x es constante, variable o expresión real

Ejemplos:
round (8.8)
round (-8.7)
trunc (8 + 0.8)
trunc (-2.4)
round (9 – 0.5)

Otras operaciones con datos reales
(Gp:) Por defecto en Pascal se redondea “al alza”

Monografias.com

El tipo Char de Pascal
Tipo ordinal
El juego de caracteres varía de un estándar a otro
Dos estándares de uso común son ASCII y EBCDIC
Los juegos de caracteres incluyen dos clases de caracteres
Visibles: pueden editarse e imprimirsePor ejemplo: los dígitos, las letras, los símbolos de puntuación…
Invisibles (también llamados caracteres de control)Por ejemplo: el salto de línea, el fin de línea, el tabulador…

Monografias.com

El tipo Char de Pascal
Internamente cada carácter del juego de caracteres está representado por un código numérico
ord (x) –> Obtención del código numérico asociado al carácter x
chr (x) –> Convierte el código numérico x en el carácter correspondiente según el juego de caracters

Por ejemplo, en el juego de caracteres ASCII, el código numérico del carácter ‘A’ es 65.
Es decir, el 65 es el código ASCII del carácter ‘A’

Monografias.com

El tipo Char de Pascal
Predecesor y sucesor
pred (x)
succ (x)
donde x es una constante o una variable de tipo carácter

Operadores relacionales (binarios)
> < >= <= = <>
Los operandos son constantes o variables de tipo carácter
El resultado es un valor booleano
¡Ojo! Lo que realmente se compara son los códigos numéricos de los caracteres comparados (gracias a esto es Char es un tipo ordenado)

Monografias.com

El tipo Boolean de Pascal
Tipo ordinal

Dos únicos valores: true y false
ord (false) es 0; ord(true) es 1

Expresiones booleanas simples
Operador relacional cuyos operandos son dos constantes, variables o expresiones del mismo tipo (o compatibles a nivel de comparación, es decir, que se pueden comparar)

x <= 0
x + y >= y – z
cos (r) * 5 <> valor * x

Monografias.com

Expresiones booleanas compuestas
Operadores lógicos binarios: and (y-lógica) y or (o-lógica)
Operador lógico unario: not (negación lógica)

Prioridad de los operadores en Pascal (añadiendo los operadores lógicos y relacionales)
– (unario) not
* div mod / and
+ – (binario) or
< <= > >= = <>

El tipo Boolean de Pascal
Orden de
aplicación

Monografias.com

Ejemplo
Escribe expresiones booleanas para representar las siguientes condiciones
Alguno de estos tres valores enteros i, j o k es par
Un valor entero j está en el intervalo [0, 100]

El tipo Boolean de Pascal

Monografias.com

Ejemplo: Supón tres variables enteras A, B y C que tienen los valores 10, 15 y 20, respectivamente.
Evalúa, si es posible, las siguientes expresiones booleanas

A > 5
A + B = C
(C= 20) or (A > 5) and (B > C)
(C= 20) and (A > 5) or (B > C)
not (A > 5) or ((C = 20) or (A > 5)) and (B > C)
El tipo Boolean de Pascal

Monografias.com

Instrucción básica de la programación imperativa para cambiar el estado en un programa
Sirve para cambiar el valor de una variable
El valor asignado debe ser compatible con el tipo de la variable
No se debe acceder a una variable antes de que se le haya asignado un valor ? ¡Prohibido usar variables con “basura”!

Sintaxis en diagrama sintáctico:

La asignación
Asignación
:=
Variable
Variable
Constante
Expresión

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPá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