domingo, 25 de agosto de 2013
viernes, 23 de agosto de 2013
Operadores lógicos y jerarquía
Operadores lógicos y jerarquía
La sintáxis especifica una serie de
reglas de construcción que deberán cumplir las fórmulas para ser
sintácticamente correctas. Los elementos que estudiaremos en una fórmula, en
lógica proposicional son:
- Símbolos: p, q,
r...
- Operadores:
negación, conjunción, disyunción, condicinal, disyunción exclusiva
- Paréntesis: ( )
Las reglas
de construcción sintácticas son:
- Un símbolo sólo no es una fórmula
- Los operadores unarios se anteponen al
símbolo. Los operadores binarios se sitúan entre los símbolos.
- Los paréntesis han de estar bien formados, y
ha de haber tantos paréntesis de abertura como de cierre:
- Son correctos: (p), p and (q), p or ((not q)
and r)...
- No son correctos: (), (p (or) q), p and (q or
(not r)...
- Son fórmulas:
- p, not p, p and q, p xor (not q), not (p
-> q)...
De los
símbolos no hay nada más que decir, son letras minúsculas del alfabeto. En
cuanto a los operadores lógicos, no vamos a verlos todos, sólo los necesarios
para comprender la lógica que después aplicaremos a la programación. Cada
operador está representado por un símbolo:
Operador
|
Símbolo
|
Tipo
|
negación
|
not
|
unario
|
conjunción
|
and
|
binario
|
disyunción
|
or
|
binario
|
condicional
|
->
|
binario
|
disyunción exclusiva
|
xor
|
binario
|
Veamos la tabla de prioridad (precedencia) y
asociatividad de los operadores de mayor a menor prioridad:
Operadores relacionales y su jerarquía
Operadores relacionales y su jerarquía
Los
operadores relacionales nos permiten comparar expresiones de tipos compatibles,
devolviendo un resultado de tipo lógico: la comparación es verdadera o falsa.
Por ejemplo, la expresión (3 + 4) > 12 sería falsa, ya que 7 es menor que
12.
La
estructura de una operación relacional sería la siguiente:
expresión_1 operador_relacional expresión_2
Operadores
relacionales
Operador
|
Operación
|
=
|
Igual
|
<>
|
Distinto
|
<
|
Menor
|
>
|
Mayor
|
<=
|
Menor o igual
|
>=
|
Mayor o igual
|
in
|
Elemento de
|
Los
operadores de relación se pueden aplicar a cualquiera de los tipos que hemos
visto hasta ahora:
- entero
- real
- lógico
- caracter y cadena
Las
operaciones relacionales o de comparación entre números reales y enteros no
merecen mayor comentario, las matemáticas dictan las reglas. Si comparamos
expresiones lógicas, lo cual no tiene mucho sentido, hay que saber que el valor
falso se considera menor que el valor verdadero. Las
comparaciones entre caracteres o cadenas se basan en el código ASCII de cada
caracter. El operador in se utiliza en unas estructuras llamadas conjuntos
que veremos en el próximo capítulo.
Tipos
compatibles en operaciones relacionales
Tipo1
|
Tipo2
|
entero
|
real
|
caracter
|
cadena
|
Operadores aritméticos y jerarquía
Operadores aritméticos y jerarquía
Los operadores aritméticos son aquellos que
"manipulan" datos numéricos, tanto enteros como reales. Hay 2 tipos
de operadores aritméticos: unarios y binarios. Los operadores
unarios se anteponen a la expresión aritmética, y son los operadores de signo.
Los operadores binarios se sitúan entre 2 expresiones aritméticas.
Operadores
aritméticos unarios
|
Los
operadores unarios devuelven expresiones del mismo tipo que la expresión a la
que afectan.
|
Por ejemplo,
-4 es el resultado de aplicar el operador unario - al entero 4, devolviendo
otro número enterio.
Operadores
aritméticos binarios
|
|
Todos los
operadores binarios admiten expresiones enteras y reales a excepción de div y mod,
que sólo admiten expresiones enteras, por lo que devuelven expresiones enteras.
En el caso de los otros operadores, si los 2 operandos a los que afecta son
enteros, la expresión resultante será entera, pero si alguno o ambos son
reales, la expresión resultado es de tipo real. En esto tenemos de nuevo otra
excepción: el operador / devuelve siempre expresiones de tipo real.
El operador
aritmético + también se puede usar con datos de tipo string. El resultado es la
concatenación de las cadenas. Por ejemplo:
'Esto'
+ 'es una' + 'concatenación de' + 'cadenas'
Conceptos de operadores y su representación
Conceptos de operadores y su representación
Los operadores son símbolos que indican cómo se deben
manipular los operandos. Los operadores junto
con los operandos forman una expresión, que
es una fórmula que define el cálculo de un valor. Los operandos pueden ser
constantes, variables o llamadas a funciones, siempre que éstas devuelvan algún
valor. El compilador evalúa los operadores,
algunos de izquierda a derecha, otros de derecha a izquierda, siguiendo un
orden de precedencia. Este orden se puede alterar utilizando paréntesis para
forzar al compilador a evaluar primero las partes que se deseen.
DATOS ESTRUCTURADOS
DATOS ESTRUCTURADOS
Los datos estructurados pueden recolectar
simultáneamente más información, durante la ejecución asignan una cantidad
fija de memoria.
Los tipos estructurados de datos se componen de
otros tipos de datos más simples Previamente declarados o predefinidos
en el lenguaje.
|
||
Tipos de datos
simples
|
Definición
|
Ejemplo
|
Array
|
Es, un conjunto o estructura de
datos que engloba una colección de datos del mismo tipo. Pueden ser
unidimensionales, denominados vectores
o listas, o multidimensionales, denominados matrices o tablas. Los números o
valores que identifican a cada elemento particular se les llaman índices.
|
vector1 = Array [1,
4] of Char, matriz1 = Array [1.,10, 1..10] of Integer
|
String
|
Este tipo de dato
predefinido permite representar una
secuencia o cadena de caracteres correspondientes al código ASCII de un
tamaño máximo de 255 (por defecto). Si se desea especificar un tamaño menor
de 255 se utilizarán corchetes para delimitar un entero que especifica el
tamaño máximo de la cadena de caracteres.
|
CONST
Line Lin = 79, TYPE Nombre = String [10], Linea = String [Line Lin]
|
Record
|
Un tipo record permite definir una estructura que almacena
un conjunto de datos del mismo o de distintos tipos. Los datos individuales
se conocen como campos del registro y se declaran como variables cuando se
define el tipo de registro.
|
Tipo meses = (En, Fb, Mr, Ab, My, Jn, Jl, Ag, Sp, Oc, Nv, Dc), fecha = record
día: 1..31, mes : meses
|
Set
|
Es una parte de un conjunto universal, de un
tipo de dato base ordinal ya definido y tiene un máximo de 256 elementos.
Aunque sus elementos deben pertenecer a un mismo tipo ordinal, dentro del
conjunto no están ordenados. Los valores ordinales de todos los elementos deben estar dentro del
intervalo [0-255].
|
Valor laborable:
días, letras: conjunto _
carácter, conjunto _numero: dígitos.
|
Text
|
Permite utilizar una estructura de datos de tipo
archivo que contiene caracteres (tipo
Char) organizados por líneas o filas.
|
VAR fichero_
texto: Text
|
Procedimental
|
Los procedimientos y funciones, también llamados
rutinas, son módulos o conjuntos independientes de sentencias de un programa que pueden ejecutarse a través
de una llamada. Estos admiten parámetros en función de los cuales se pueden
ejecutar. Estos parámetros pueden ser de cualquiera de los tipos vistos anteriormente pero, pueden ser otros
procedimientos o funciones.
|
Type Tipo Proc = Procedimiento (Parámetros)
|
Datos simples
El primer objetivo de toda computadora
es el manejo de la información o dato, un dato es la expresión general que
describe los objetivos con los cuales una computadora. La mayoría de las
computadoras puede trabajar con varios tipos de datos. Los algoritmos y los
programas correspondientes operan sobre datos.
|
||
Tipos de datos
simples
|
Definición
|
Ejemplo
|
Entero
|
Como bien lo dice
un entero
|
Las típicas operaciones, suma, resta,
multiplicación y división, se pueden realizar con datos de tipo entero.
(1,10) (-2, -9)
|
Números reales
|
Son aquellas cantidades definidas,
que constan de un número entero y una parte decimal, de igual forma pueden
ser representados de forma negativa y positiva.
|
1.3, 3.2) (-2.5, -9.8)
|
Datos lógicos
|
Este tipo de datos solo puede interpretarse de dos
formas y se utilizan para representar alternativas a ciertas condiciones.
|
(Si, no)
(Cierto, falso)
|
Datos alfanuméricos
|
Es el conjunto finito y
ordenada
que una maquina puede
comprender para
realizar una
operación.
.
|
(1a, 9b, 4p)
|
Tipo de datos
DATO
El dato es una representación simbólica (numérica,
alfabética, algorítmica, entre otros.), un atributo o característica de una
entidad. Los datos describen hechos empíricos, sucesos y entidades.
En un sentido amplio, un tipo de datos define un conjunto de
valores y las operaciones sobre estos valores. Casi todos los lenguajes de programación
explícitamente incluyen la notación del tipo de datos, aunque lenguajes
diferentes pueden usar terminología diferente.
Suscribirse a:
Entradas (Atom)