Está en la página 1de 33

3.4 Identificadores.

Conceptos importantes.

Identificadores: Los identificadores (IDs) son símbolos léxicos que nombran


entidades. El concepto es análogo al de "nombres de procesamiento de la
información". Nombrar las entidades hace posible referirse a las mismas, lo cual
es esencial para cualquier tipo de procesamiento simbólico.

Lenguajes informáticos: Un lenguaje informático es un lenguaje usado


por ordenadores. Muchas veces, este término se usa como sinónimo de lenguaje
de programación, pero un lenguaje informático no tiene por qué ser un lenguaje de
programación.

Símbolo:
Un símbolo (del latín: simbŏlum, y
este del griego σύμβολον) es la
representación perceptible de una
idea, con rasgos asociados por una
convención socialmente aceptada.
Es un signo sin semejanza ni
contigüidad, que solamente posee un vínculo convencional entre su significante y
su denotado, además de una clase intencional para su designado.

Variable: Una variable es un símbolo constituyente de un predicado, fórmula,


algoritmo o de una proposición. El término «variable» se utiliza aun fuera del
ámbito matemático para designar una cantidad susceptible de tomar distintos
valores numéricos dentro de un conjunto de números especificado.

Constante: En programación, una constante es un valor que no puede ser


alterado/modificado durante la ejecución de un programa, únicamente puede ser
leído. Una constante corresponde a una longitud fija de un área reservada en la
memoria principal del ordenador, donde el programa almacena valores fijos.

Tipos de datos: En ciencias de la computación, un tipo de dato informático o


simplemente tipo, es un atributo de los datos que indica al ordenador sobre la
clase de datos que se va a
manejar.

Etiqueta: Una etiqueta o tag es


una palabra clave asignada a
un dato almacenado en
un repositorio. Las etiquetas son
en consecuencia un tipo
de metadato, pues proporcionan
información que describe el dato
(una imagen digital, un clip de vídeo o cualquier otro tipo de archivo informático) y
que facilita su recuperación.

Subrutina: Se le llama subrutina a un segmento de código separado del bloque


principal, el cual puede ser invocado en cualquier momento desde esta u otra
subrutina.

Paquete: Un paquete de software es una serie de programas que se distribuyen


conjuntamente. Algunas de las razones suelen ser que el funcionamiento de cada
uno complementa lo que requieren otros, además de que sus objetivos están
relacionados como estrategia de mercadotecnia.

Palabra reservada: Las palabras clave o reservadas son identificadores


reservados predefinidos que tienen un significado especial para el compilador. No
podrá utilizarlos como identificadores en el programa a no ser que incluyan
“@” como prefijo.

Los identificadores.

Una de las innovaciones que se introdujeron con la aparición de los primeros


lenguajes de programación de alto nivel fue la implementación de los
denominados "identificadores".

La memoria del computador está compuesta por una serie de celdas que sirven
para almacenar información. Cada una de estas celdas se identifican por un
número al que se denomina "dirección de memoria". Cada vez que en un
programa se tuviera que guardar un dato, se deberá indicar en qué dirección de
memoria se va a colocar. Si luego queremos a utilizar ese dato para realizar
alguna operación, debemos recordar en qué posición de memoria se colocó para
poder extraerlo y a utilizarlo. Si, por otro lado, en ese programa se quisiera
ejecutar una porción de código ubicado en alguna parte de la memoria,
tendríamos que hacerlo indicando la dirección de memoria donde se ubica. Como
puede apreciar, elaborar un programa, en esas condiciones, sería una tarea muy
complicada.

Afortunadamente los lenguajes de programación de alto nivel proporcionan una


herramienta que permite que esta tarea sea mucho más simple, esta herramienta
se denomina "Identificador".

Un identificador es un nombre, que define el programador, que sirve para denotar


ciertos elementos de un programa. Estos elementos pueden ser las denominadas
variables, constantes y funciones (elementos que se tratarán más adelante).
Cuando se ejecuta el programa, el sistema relaciona estos nombres con alguna
dirección de memoria. De este modo, a la hora de programar, ya no se requiere
recordar posiciones de memoria sino los nombres dados a estas posiciones de
memoria.

En los lenguajes
informáticos, los
identificadores son
elementos
textuales (también
llamados símbolos)
que nombran
entidades del
lenguaje. Algunas
de las entidades que un identificador puede denotar son las variables,
las constantes, los tipos de dato, las etiquetas,
las subrutinas (procedimientos y funciones) y los paquetes.
En muchos lenguajes algunas secuencias tienen la forma léxica de un
identificador, pero son conocidos como palabras clave (o palabras reservadas). Lo
habitual es que, si un identificador se corresponde con una palabra clave o
reservada, este ya no pueda utilizarse para referirse a otro tipo de entidades como
variables o constantes (en unos pocos lenguajes, como “PL/1”, esta distinción no
está del todo clara).

Los lenguajes informáticos normalmente ponen restricciones en qué caracteres


pueden aparecer en un identificador. Por ejemplo, en las primeras versiones
de C y C++, los identificadores están restringidos para que sean una secuencia de
una o más letras ASCII, dígitos numéricos (que en ningún caso deben aparecer
como primer carácter) y barras bajas. Las versiones posteriores de estos
lenguajes, así como otros muchos más lenguajes modernos soportan casi todos
los caracteres Unicode en un identificador. Una restricción común es que no está
permitido el uso de espacios en blanco ni operadores del lenguaje.

En lenguajes de programación compilados, los identificadores generalmente son


entidades en tiempo de compilación, es decir, en tiempo de ejecución el programa
compilado contiene referencias a direcciones de memoria y offsets más que
identificadores textuales (estas direcciones de memoria u offsets, han sido
asignadas por el
compilador a
cada
identificador).

En lenguajes
interpretados los
identificadores
están
frecuentemente
en tiempo de ejecución, a veces incluso como objetos de primera clase que
pueden ser manipulados y evaluados libremente. En Lisp, éstos se
llaman símbolos.
Los compiladores e intérpretes normalmente no asignan ningún significado
semántico a un identificador basado en la secuencia de caracteres actual. Sin
embargo, hay excepciones. Por ejemplo:

 En Perl una variable se indica utilizando un prefijo llamado “sigil”, que


especifica aspectos de cómo se interpreta la variable en las expresiones.

 En Ruby una variable se considera automáticamente como inmutable si su


identificador empieza con una letra mayúscula.

 En Fortran, la primera letra de una variable indica si por defecto es creada


como entero o como flotante.

En un programa de computador, las celdas no se reconocen por su dirección sino


por un nombre o identificador. El identificador de la celda debe iniciar con una letra
posterior a ella pueden existir más letras o números.

En pseudocódigo los identificadores son sensibles a mayúsculas y minúsculas, lo


que significa que “Suma”, “suma” y “SUMA” no son el mismo identificador, por lo
tanto, corresponden a tres celdas diferentes. Entonces, al haber diferencias entre
mayúsculas y minúsculas, todos estos identificadores serán considerados
diferentes.
Según el comportamiento de la información almacenada en las celdas, éstas se
pueden clasificar en dos tipos:

 Constantes: celdas cuyo valor nunca cambia durante la ejecución del


programa.
 Variables: celdas cuyo valor cambia durante la ejecución del programa.
Cuando esto ocurre, el valor viejo es reemplazado por el nuevo sin
modificar el tamaño de la celda.

Reglas de Formación.

La definición de un identificador debe hacerse siguiendo unas reglas que las da el


lenguaje de programación, en el caso del C/C++ las reglas son las siguientes:

 Solo se pueden emplear las letras mayúsculas y minúsculas del alfabeto


inglés, esto es: A, B, C,..., X, Y, Z, y a, b, c,..., x, y, z.
 También se pueden emplear dígitos los decimales: 0, 2, 3, 4,..., 9. Sin
embargo un identificador no puede empezar con un dígito.
 Otro símbolo que se permite utilizar es el _ (signo de subrayar).
 No se pueden emplear letras o símbolos como: ñ, +, &, á, etc.
 Se debe empezar obligatoriamente con una letra o con el signo de
subrayar.
 El lenguaje, para efectos de un identificador, considera diferentes las
mayúsculas de las minúsculas.

 Debe estar compuesto de caracteres, dígitos, guiones bajos (_) o signos de


moneda ($).

 Debe comenzar con un carácter, $ o _.

 Luego del primer carácter, puede contener cualquier conjunto de


caracteres, dígitos, $ o _.

 No se permiten espacios en blanco.

 No tienen un límite de largo.

 No es posible utilizar palabras clave de Java como identificadores.

 Son case-sensitive (distingue mayúsculas de minúsculas).

Ejemplos de identificadores:

 primerNumero .

 total .

 salario .
 $cantidad .

 _valor.

 HolaMundo .

 DIAS_AÑO .

Ejemplos de identificadores case-sensitive, los tres nombres son distintos:

 longitud .

 LONGITUD .

 Longitud.

Ejemplos de identificadores inválidos:

 Salario Empleado - Contiene un espacio en blanco.

 Hola! - El signo de exclamación “!” no se puede utilizar como identificador.

 uno+dos - No se puede usar el símbolo + como identificador.

 2pasos - Un identificador no puede iniciar con un número.

 public - No se puede
usar como identificar
ya que es una palabra
reservada.

Si un identificador no sigue
estas reglas, el programa
marcará un error de sintaxis.

Por último, es importante que


los nombres de los
identificadores sean descriptivos. La utilización de palabras completas y con
significado en los identificadores ayuda a la auto documentación. Un programa
está autodocumentado si el código de este explica el significado sin necesidad de
un manual o de muchos comentarios.

Tipos de identificadores.

El estándar ANSI distingue dos tipos de identificadores:

 Identificadores internos; los nombres de macros de preprocesado y todas


las que no tengan enlazado externo. El estándar establece que serán
significativos, al menos, los primeros 31 caracteres.

 Identificadores externos; los que corresponden a elementos que tengan


enlazado externo. En este caso el estándar es más permisivo. Se acepta
que el compilador identifique solo seis caracteres significativos y pueda
ignorar la distinción mayúscula/minúsculas.

3.4.1 Almacenamiento, direccionamiento y representación en memoria.

Almacenamiento.
El almacenamiento es la propiedad o capacidad de guardar datos que tiene un
dispositivo electrónico. Computadoras, teléfonos celulares, tabletas, televisores
Smart, calculadoras, consolas de videojuegos y demás dispositivos electrónicos
tienen esta propiedad, la cual es muy útil no sólo para guardar datos sino también
para procesarlos.

Hay dos clases, almacenamiento primario, que son los que usa
la CPU directamente (memoria principal, memoria caché, etc) y el almacenamiento
secundario, a los cuales la CPU no accede directamente, sino que deben
almacenarse previamente en uno primario. Son de almacenamiento secundario
los discos magnéticos, ópticos, cintas magnéticas, tambores magnéticos, etc. El
almacenamiento de datos puede usarse también para copias de seguridad.

Con el correr de los años, el almacenamiento de datos informáticos ha ido bajando


de precio. Por ejemplo, 1 GB de memoria en 1956 costaba 8,2 millones de
dólares. En 1980, 184 mil dólares; en 1990 eran 5.200 dólares; en 2000 eran 12
dólares, y en 2006 fueron 1,2 dólares.

Direccionamiento.
Los llamados “modos de direccionamiento” son las diferentes maneras de
especificar en informática un operando dentro de una instrucción
(lenguaje ensamblador). Un modo de direccionamiento especifica la forma de
calcular la dirección de memoria efectiva de un operando mediante el uso de la
información contenida en registros y / o constantes, contenida dentro de una
instrucción de la máquina o en otra parte. Pueden ser:

 Inmediato: En la instrucción está incluido directamente el operando.


 Directo: El campo de operando en la instrucción contiene la dirección en
memoria donde se encuentra el operando.
 Indirecto: El campo de operando contiene una dirección de memoria, en la
que se encuentra la dirección efectiva del operando.
 Absoluto: El campo de operando contiene una dirección en memoria, en la
que se encuentra la instrucción.
 De registro: Sirve para especificar operandos que están en registros.
 Indirecto mediante registros: El campo de operando de la instrucción
contiene un identificador de registro en el que se encuentra la dirección
efectiva del operando.
 De desplazamiento: Combina el modo directo e indirecto mediante registros
 De pila: Se utiliza cuando el operando está en memoria y en la cabecera de
la Pila.
Representación de memoria (colas).

Podemos representar a las colas de dos formas:

 Como arreglos.
 Como listas ordenadas.

Trataremos a las colas como arreglos de elementos, en donde debemos definir


el tamaño de la cola y dos apuntadores, uno para accesar el primer elemento
de la lista y otro que guarde el último.

En lo sucesivo, al apuntador del primer elemento lo llamaremos (F) al del


último elemento “A “y “MAXIMO” para definir el número máximo de elementos
en la cola.

Cola. Una cola es una estructura de almacenamiento, donde la podemos


considerar como una lista de elementos, en la que éstos van a ser insertados
por un extremo y serán extraídos por otro. Las colas son estructuras de tipo
FIFO (first-in, first-out), ya que el primer elemento en entrar a la cola será el
primero en salir de ella. Existen muchísimos ejemplos de colas en la vida real,
como, por ejemplo: personas esperando en un teléfono público, niños
esperando para subir a un juego mecánico, estudiantes esperando para subir a
un camión escolar, etc.

Representación de memoria:

 Secure Digital (SD). Están basadas en el formato Multimedia Card (MMC).


Las tarjetas marcadas como HC (High Capacity) funionan a alta velocidad y
tienen tasas de transferencia de datos muy altas; algunas cámaras
fotográficas digitales requieren este tipo de tarjetas para poder grabar video
con fluidez o para capturar múltiples fotografías en sucesión rápida.
 Starmedia. También conocidas como (Tarjeta de Disco Floppy en Estado
Sólido). Son duraderas y su apariencia física es similar a la de un disquete,
pero con el tamaño aproximado de una estampilla de correo. Su forma
impide introducirlas en su ranura en sentido contrario.
 Memory Stick. Tarjetas digitales con con memoria flash diseñadas con la
compañía Sony. Ademas de ser aptas para cámaras digitales de esta
marca, las Memory Stick se pueden utilizar en una gran variedad de
aparatos digitales. Estas tarjetas sirven para almacenar imágenes, música,
datos, textos y gráficos Ofrecen una alta velocidad de acceso y o necesitan
ningún dispositivo para la reproducción, pues disponen de un adaptador
para disquetes.
 Minini SD FLASH MEMORY. Por su tamaño tan reducido, este formato de
tarjeta se utiliza especialmente en teléfonos celulares. Combina gran
capacidad de almacenamient, alta tasa de transferencia de datos,
confiabilidad, seguridad y bajo consumo de energía. También se utiliza en
reproductores de audio, cámaras digitales (por medio de un adaptador) y
asistentes digitales personales (PDA).
 Micro SD CARD. Este formato de tarjeta solo mide 10.9mm x 14.9mm x
1mm y puede almacenar vrios GB de información. Al igual que el MINI SD,
es my utilizado en teléfonos celular
3.5 Proposición de asignación.

Proposición. El término proposición es tomado de la lógica y suele ser definido


como un enunciado que puede ser calificado de verdadero o falso. Se considera
la proposición como un enunciado y este último como una frase u oración.

Asignación. Se denomina asignación al acto y la consecuencia de asignar, un


verbo que alude a otorgar, establecer o indicar algo que corresponde.

Proposición de asignación es una letra o una frase, a la cual, se le


puede asignar dos valores: o bien es verdadera, o bien es falsa, pero no ambas
cosas.

La forma de una proposición de asignación es: a = b donde b es una expresión


permitida, y a es el nombre de la variable donde se dejará el valor resultante de
evaluar b.
Por expresión permitida se entiende a aquella expresión matemática que ocupa
las operaciones y funciones nombradas como existentes, y escritas de la forma
que para ellas se señala, respetando así la sintaxis en cada instrucción.
El signo igual, " = ", de a = b tiene el sentido de asignar a la variable a el valor que
resulte de evaluar la expresión permitida b. Es decir, a = b. Que no es la misma
definición usada en matemáticas para el signo: “=”.
El computador, al ejecutar una proposición de asignación evalúa la expresión del
lado derecho del signo igual (“=”) con los valores que en ese momento tengan las
variables ahí ocupadas. Así, la expresión entregará valores probablemente
distintos en las diversas ocasiones que por programa se evalúe esa expresión.
Las siguientes son proposiciones de asignación correctas, “A = 2.5 TO = 1 + XT I
= I + 1 Y” no son correctas las siguientes: “A + B = C 20 = 16.2 + 3.8 AL =
(AT+3.4) / 110.302 .

Proposiciones básicas de un algoritmo.

A cada uno de los pasos elementales con los que se construye un algoritmo se les
llama proposiciones o primitivas.

De Comienzo

Indica el principio del algoritmo mediante la palabra “INICIO”.

Declaración

Parte para iniciar constantes o declarar variables


Ejemplo:

 Pi=3.1416.
 Edad: Número.
 Nombre: Cadena.

Finalización.

Con esta proposición se da por terminado el algoritmo. Se utiliza la palabra “FIN”.

Lectura.

Se usa para simular la lectura de valores desde el teclado. Estos valores son
asignados a las respectivas variables.

Ejemplo:

 “LEA Sexo”.

De escritura.

Escribe en la pantalla los contenidos de la variable.

Ejemplo:

 ESCRIBA Promedio.

Asignación.

Significa que una variable va a recibir un valor cuyo origen puede ser una
constante, otra variable u operación aritmética.
Se pueden realizar de las siguientes maneras:

 Variable = Variable.
 Variable = Constante.
 Variable = Operación Aritmética.

De Condición.

Cuando es necesario evaluar la presencia o no de una condición

Es más sencillo entenderlo inicialmente como un árbol de condición para


determinar cuál es el camino lógico cuando se presente o no esta condición

Una vez entendido este árbol de condición, se declara la proposición de condición


así:

“Si Condición ENT”.

Proposición

“SINO”

Proposición

“FIN SI”

*Donde el Termino ENT indica Presencia.

*Donde el Termino SINO indica Ausencia.


De Selección

De acuerdo con el valor de una y solamente una variable se realiza una acción.

La Categoría de Selección se da mediante:

Atómico: Valor único.

Conjunto de Valores: Valor1, Valor2, Valor3

Cota: >= Valo <= Valor< Valor> Valor

SINO: Cuando no se presenta los anteriores valores

También se puede crear un árbol de selección así:

La Estructura de Selección es la Siguiente:

Dependiendo de variable:

 Caso valor único: Acción.


 Caso conjunto de valores: Acción.
 Caso cota: Acción.

SINO

Acción
FIN DD

INICIO

Puntos: Numero

LEA Puntos

DEPENDIENDO DE Puntos

CASO 10: ESCRIBA Excelente

CASO 9: ESCRIBA Bueno

CASO 6 HASTA 8: ESCRIBA Aceptable

CASO <=5: ESCRIBA Debe Mejorar

FINDD

FINAL

Proposiciones que representa Iteración.

Iteración es un término con origen en el vocablo latino “iteratio”. Se trata de la


acción y efecto de iterar, un verbo que se utiliza como sinónimo de repetir (volver a
hacer o decir lo que se había hecho o dicho).

El concepto suele utilizarse para nombrar a la acción de repetir una serie de pasos
varias veces.
Condiciones Lógicas. Proposiciones lógicas, simbolización y tablas de
verdad.

Cuando se emplearon condiciones para definir las acciones a tomar en la


selección y la iteración, como puede ser “hay papel en la bolsa”, esta es una
condición simple, pero en la realidad las condiciones son compuestas y debe
indicarse la forma en que pueden combinarse varias condiciones. Los ejercicios
vistos hasta el momento fueron lo suficientemente simples como para poder ser
resueltos con una pregunta sencilla. Sin embargo, en un problema real, esto no es
así y se requiere combinar expresiones para poder representar una situación a
evaluar. Por esta causa se introducirán y repasarán algunos conceptos básicos de
la lógica proposicional que permitirán clarificar este aspecto, aplicados
específicamente a problemas con el robot.

Dos de las estructuras de control ya vistas, selección e iteración, requieren para su


funcionamiento, la evaluación de una condición. Estas condiciones se
corresponden con lo que en términos de lógica se conoce como proposiciones.

Ejemplos de proposiciones:

 1 + 4 = 5 (Verdad)
 La Pampa es una nación. (Falso)
 Un triángulo es menor que un círculo. (No se le puede asignar un valor de
verdad, por lo tanto, no es proposición)
 Hay una flor en la esquina (será verdadero ó falso dependiendo de si la flor
se encuentra o no en la esquina)
Proposiciones atómicas y moleculares.

En Lógica, el término atómico se utiliza con su significado habitual: “algo que no


puede ser dividido nuevamente”.

Una proposición es considerada atómica si no puede ser descompuesta en otras


proposiciones.

Ejemplos:

 La casa es roja.
 Hoy es lunes.
 He llegado al final del recorrido.
 Estoy ubicado a 3 metros de altura.

Cuando en una expresión se unen varias proposiciones atómicas se forma


una proposición molecular o compuesta. Dicha unión se realiza
mediante conectivos lógicos ó términos de enlace.

Estos términos de enlace son de gran importancia. Tanto es así, que se estudiarán
algunas reglas muy precisas para el uso de esta clase de términos.
Los términos de enlace a utilizar son los siguientes: “y”, “o”, “no”. Los dos primeros
se utilizan para conectar proposiciones atómicas; en tanto que el conectivo “no”,
solamente se coloca frente a una proposición atómica.

Ejemplos:

 No es cierto que la luna esté hecha de queso verde.


 La vaca está cansada y no dará leche.
 Hace calor ó hay mucha humedad.
 Hay papel en la bolsa y hay papel en la esquina.

Resumiendo:

Una proposición es atómica si no tiene conectivos lógicos, en caso contrario es


molecular.

Simbolización

Así como en matemática se simbolizan las cantidades para facilitar el planteo y


solución de problemas, también en este caso es importante simbolizar las
proposiciones atómicas, las moleculares y los conectivos lógicos con el objeto de
facilitar las operaciones.

Conectivo Simbolización en Visual Da Vinci

y &

o |

no ~

Se utilizarán letras minúsculas para simbolizar las proposiciones atómicas.


Ejemplos de simbolización de proposiciones atómicas

 Ayer fue un día ventoso. Si se considera p = “ayer fue un día ventoso”, esta
proposición puede ser simbolizada como: p.
 Ese pájaro vuela muy alto. Si se llama q = “ese pájaro vuela muy alto”, la
proposición se simboliza como: q.
 PosCa < 100. Si se llama r = “PosCa < 100”, la proposición se simboliza
como: r.

El proceso para simbolizar las proposiciones moleculares consiste en:

1. Determinar cuáles son las proposiciones atómicas que la componen.


2. Simbolizar las proposiciones como se explicó anteriormente.
3. Unir las proposiciones con los conectivos ya vistos. Por tal motivo, debe
definirse un símbolo para cada uno de los conectivos. La tabla 1 muestra la
simbolización a utilizar en cada caso.

Ejemplos de simbolización de proposiciones moleculares

 Juan es estudiante y es jugador de fútbol.


p = “Juan es estudiante”
q = “Juan es jugador de fútbol”
Simbolizando p & q
 No es cierto que PosCa = 100.
p = “PosCa=100”
Simbolizando ~ p
 Hay flor en la esquina y hay papel en la bolsa, o hay papel en la esquina.
p = “Hay flor en la esquina”
q = “hay papel en la bolsa”
r = “hay papel en la esquina”

Analicemos, para resolver correctamente el ejemplo anterior debe tenerse en


cuenta la aparición de la coma, la cual separa las dos primeras proposiciones de
la tercera. Cuando se obtiene la simbolización debe respetarse ese orden. Por lo
tanto, la simbolización sería: (p & q) | r .

 No hay flor en la bolsa, pero hay flor en la esquina.


p = “hay flor en la bolsa”
q = “hay flor en la esquina”
Simbolizando (~ p & q)

Notemos que la palabra “pero” actúa como el conectivo lógico “y”.

Tablas de verdad.

Como se explicó previamente, una proposición es una expresión de la cual tiene


sentido decir si es verdadera o falsa.

Para poder analizar cualquier proposición molecular y decir qué valor de verdad
tiene, es usual hacerlo a través de lo que se conoce como tabla de verdad.
La tabla de verdad de una proposición es, como su nombre lo indica, una tabla
donde se muestran todas las combinaciones posibles de los valores de verdad de
dicha proposición.

Conjunción. Tabla de verdad.

Dadas dos proposiciones cualesquiera p y q, la proposición molecular p & q


representa la conjunción de p y q.

La conjunción de dos proposiciones es cierta únicamente en el caso en que


ambas proposiciones lo sean.

Dadas dos proposiciones cualesquiera p y q, si ambas son verdaderas,


entonces p & q, que representa la conjunción de p y q, es verdadera. Cualquier
otra combinación da como resultado una proposición molecular falsa. Por lo tanto,
si p & q es una proposición verdadera entonces p es verdadera y q también es
verdadera. En Lógica se pueden unir dos proposiciones cualesquiera para formar
una conjunción. No se requiere que el contenido de una de ellas tenga relación
con el contenido de la otra.

p q p&q

V V V

V F F

F V F

F F F

Ejemplos:

 6 es un número par y divisible por 3.


p = “6 es un numero par”
q = “6 es divisible por 3”
p es verdadera y q también, por lo tanto, p & q es verdadera.
Suponiendo que el robot se encuentra situado en la esquina (1,1)

 p = “PosCa=1”
q = “PosAv=2”
p es verdadera y q es falsa, por lo tanto, p & q es falsa.

Disyunción. Tabla de verdad.

Dadas dos proposiciones cualesquiera p y q, la proposición molecular p | q


representa la disyunción de p y q.

La disyunción entre dos proposiciones es cierta cuando al menos una de dichas


proposiciones lo es.

La disyunción utiliza el término de enlace “o” en su sentido incluyente. Esto


significa que basta con que una de las dos proposiciones sea verdadera para que
la disyunción sea verdadera.

Dadas dos proposiciones cualesquiera p y q, su disyunción, p | q, será falsa


cuando ambas proposiciones sean falsas. La tabla 3 representa la tabla de verdad
de la disyunción p | q utilizando las cuatro combinaciones posibles de valores de
verdad para p y q.

p q p|q

V V V

V F V

F V V

F F F

Ejemplos:

 2 es primo o es impar
p = “2 es primo”
q = “2 es impar”
p es verdadera, q es falsa. Se deduce que p | q es verdadera

Suponiendo que el robot se encuentra situado en la esquina (1,1):

p = “PosCa=8”

q = “PosAv=2”

p es falsa, q es falsa. Se deduce que p | q es falsa.

3.3 Negación. Tabla de verdad

Dada una proposición p, su negación ~ p, permitirá obtener el valor de verdad


opuesto.

El valor de verdad de la negación de una proposición verdadera es falso y el valor


de verdad de la negación de una proposición falsa es verdadero.

Dada una proposición p, la tabla 4 representa los posibles valores de verdad de


dos valores de verdad posibles de p.

p ~p

V F

F V

Ejemplos

 p = “El número 9 es divisible por 3”


La proposición p es verdadera.
La negación de p es:
~ p = “El número 9 no es divisible por 3”
Se ve claramente que ~ p es falsa.

Suponiendo que el robot se encuentra situado en la esquina (1,1):

 p = “PosCa=1”
La proposición p es verdadera.
La negación de p es: ~p= “~PosCa=1”.
Se deduce que ~p es falsa.

Utilización del paréntesis.

Es frecuente encontrar proposiciones que tienen más de un término de enlace. En


estos casos, uno de los términos de enlace es el más importante, o el término
dominante, porque actúa sobre toda la proposición.

El operador “~” es el que tiene mayor prioridad, es decir, es el que primero es


evalúa; seguido por “&” y “|”. Estos dos últimos poseen igual prioridad. Ante una
expresión que utilice varias conjunciones y/o disyunciones, se evaluaran de
izquierda a derecha.

Lo mismo ocurre en Matemática. Si se considera la siguiente cuenta: “2 + 3 * 5”, el


resultado final, como es fácil de deducir, es 17.

La primera operación que se resuelve es el producto entre 3 y 5, y luego a su


resultado se le suma 2. Ocurre así porque el operando * (por), igual que el
operando / (dividido), se resuelve antes que el operando + (mas), o que el
operando - (menos).

Dada la siguiente proposición p & ~ q, primero se resuelve la negación y luego la


conjunción.
En determinados casos se tiene la necesidad de alterar este orden natural de
resolución. Al igual que en matemática, el uso de paréntesis permite resolver este
problema.

Ejemplo:

~ p | q es una disyunción entre ~ p y q.

~ (p | q) es la negación de una disyunción.

En el ejemplo anterior se muestra la manera de convertir una disyunción en una


negación. Es decir, el operador de negación se resuelve en forma posterior a la
disyunción.

De Repetición Fijo – PARA

En el caso de un niño que desea saltar cuando se determina por medio de una
lectura de variable o valor de constante cuantos saltos máximos debe hacer.

Se establece cada momento del salto como:

A. Inicio. El número de salto inicia en 0.


B. Pregunta. Se pregunta si el número de salto es menor al máximo de
saltos. Si el número de salto es mayor o igual al máximo de saltos deja de
saltar.
C. Acción. Salta
D. Incremento y Devolverse.

*Se cuenta el salto (se incrementa en 1 el número de salto).

*De nuevo se realiza desde el momento b (se va al siguiente salto).

Entonces, la proposición De Repetición Fijo – PARA realiza un conjunto de


Proposiciones o acciones un número fijo (número finito) de veces:

 “para índice”= 1 hasta veces.

Bloque proposiciones o acciones:

 “f para”.

De Repetición Controlada – MIENTRAS QUE

Otro caso con respecto al salto puede ser:


B=Pregunta. Se pregunta si está cansado o agotado. Si está cansado o agotado
deja de saltar.

C=Acción. Salta.

D=Devolverse. De nuevo se realiza desde el momento “B”.

Entonces, en la proposición de repetición controlada “mientras que” se realiza un


conjunto de proposiciones o acciones siempre y cuando se presente una
condición. Esta condición se define como condición de permanencia (CP).

Es muy importante, tener en cuenta que la condición cambie de valor en algún


instante:

 “Mientras que condición haga”.

Bloque de proposiciones o acciones:

 fin MQ.

*Regla: cuando no se presenta la condición, se salta a la proposición siguiente.


Bibliografías:

 Cómo programar en Java, Deitel & Deitel, pág. 37, Séptima Edición
2008, Editorial Pearson Education.
 Introducción a la programación con Java, John S. Dean, Raymond H.
Dean, pág. 54, Edición 2009, Editorial McGraw-Hill.
 Análisis y diseño de algoritmos, Gustavo López, Ismael Jeder,
Augusto Vega, pág. 2, Edición 2009, Editorial Alfaomega.

También podría gustarte