domingo, 24 de mayo de 2015

Unidad 1. Programación (I)

1.1. Objetivos del tema.

Solo pretender que centremos un poco lo que es la tarea de la programación, y que sobre todo es un aspecto de lógica, lógica aplastante.

1.2. Introducción.

Intentar dar una definición de lo que es programar en la actualidad es muy atrevido, por lo que el que desee una de esas definiciones solo tiene que acudir a Internet y encontrara seguro un sin fin de ellas.
Pero para escribir un programa, una aplicación, un paquete informático, hay que combinar varios elementos.

Técnica.
Diseño.
Imaginación.

Técnica, que se puede aprender, y que es lo que se quiere enseñar en este curso de iniciación.
Diseño, estilo, gusto, que es más difícil enseñarlo, pues es una cuestión personal, y se trata de ofrecer nuestro producto en un formato agradable para quien lo va a utilizar.
Imaginación, conocida la técnica de programación, está capacidad se puede adquirir con la experiencia, es más difícil, porque la capacidad de poder crear, imaginar la solución, o forma en la cual se desea plantear o mostrar lo que se quiere obtener, es una capacidad individual que cada uno tiene más o menos desarrollada.

Estos elementos nos permitirán combinar otros tres elementos, que son

El hardware, el ordenador.
Los procedimientos, funciones, clases y objetos.
Las estructuras de datos.

Hardware, conocer los distintos elementos con los que se puede contar para poder llegar a obtener una solución optima a nuestro problema.
En programación hay una gran variedad de tipos de programas, y un amplio espectro de periféricos en el mercado.
Su conocimiento nos puede facilitar la solución de un problema.

Procedimientos, funciones, son las herramientas de las que nos valemos en la programación para la resolución de un programa, para resolver un problema.

Estructuras de datos, los dos elementos anteriores nos permiten sacar el rendimiento de un programa, pero un programa utiliza datos, pocos o muchos, pero siempre información, por lo tanto hay que manejar de forma adecuada dicha información.

1.3. Elementos de programación.

Podríamos denominar los siguientes apartados como elementos de la programación.

– Tener claro que queremos hacer.
– Dominar los elementos a nuestro alcance.
– Imaginar espacialmente la solución que deseamos obtener.
– Aplicar dicha solución.

Tener claro que queremos hacer, en condiciones normales, la creación de un programa parte de una fase de diseño que da como resultado final como tiene que ser un programa y lo que hay que hacer es transcribir a código dicho resultado.
Por lo tanto antes de iniciar la escritura de un programa es imprescindible saber de forma clara y sin paliativos que es lo que queremos hacer, si una silla o un barco.

Normalmente una buena aplicación suele conllevar un ahorro en el tiempo final, por que no hay que retroceder ni tampoco corregir.
Dominar los elementos a nuestro alcance, implica tener un conocimiento y dominio de los elementos mencionados anteriormente.
Imaginar espacialmente la solución que deseamos obtener, la progresión en la técnica de la programación, con el tiempo nos llevará a imaginar, por decirlo de alguna forma, la solución o la forma de enfocar como deseamos hacer el programa que nos encargan, pero eso a otro nivel, os irá pasando a lo largo del curso, ya que con los ejercicios que iremos planteando, a medida que los vayamos leyendo de forma inconsciente os ira apareciendo la forma de enfocarlos.

Aplicar dicha solución, y solo quedará con todos los datos aplicarlos a la solución que en principio creemos más adecuada, y que luego modificaremos muchas veces.
Hay un principio, “si funciona no lo toques”, pero claro ..., así que cada cual decida cuando parar.

1.4. Lo principal de un programador.

Tener las ideas claras, saber de forma exacta que es lo que tienes y a donde has de llegar.
Tener claro en que orden quieres hacerlo.
Lo mas importante en programación son los conceptos. Si se tienen claros, a continuación, podrás buscar las herramientas  que necesitas en el lenguaje que usas  y realizarás correctamente tu labor.
Memorizar cosas no es importante, es más importante saber donde esta un manual y buscar ahí la información, que necesitemos.
El cambiar a otro lenguaje de programación, si los conceptos son sólidos, no supondrá ningún trauma, pues cambiarán las instrucciones que usas, pero no el orden en que se tienen que realizar los pasos.
Dominar la herramienta de programación de que dispones.
Realizar las pruebas adecuadas de funcionamiento correcto del programa.
La fase de depuración y pruebas de un programa son importantísimas, porque eso nos lleva a un producto final fiable y de probada eficacia, lo cual da fiabilidad al producto, y al programador que lo crea.
Un programa que no da confianza no se utiliza.

1.5. Características.

Se podrían añadir o quitar, pero estas son importantes.

1 Legibilidad.

Debe ser posible leerlo y entenderlo con facilidad, el uso de nombre de variables adecuados y comentarios, facilita este apartado.

2 Portabilidad.

Crear estructuras que permitan su codificación en distintos lenguajes.

3 Modificabilidad.

Ha de facilitar su mantenimiento, es decir, debe permitir que se modifique o actualice en función de las necesidades del problema a resolver. Para ello es conveniente comentar adecuadamente el código.
Un programa debe quedar escrito y documentado de tal forma que otra persona que venga detrás pueda modificarlo o ampliarlo sin excesiva dificultad.

4 Eficiencia.

Se debe aprovechar al máximo los recursos del ordenador, minimizando el empleo de memoria y el tiempo de ejecución. Además, como es obvio, debe resolver el problema para el que ha sido planteado.

5 Modularidad.

Se debe procurar no tener que resolver el mismo problema varias veces. A igual problema, igual solución, lo que conlleva la elaboración de módulos para resolver problemas concretos.

6 Estructuración.

Lo programas deben tener única y exclusivamente estructuras lineales, alternativas y cíclicas, exclusivamente, o dicho de otra forma, no es conveniente utilizar instrucciones de salto, aunque estén disponibles en el lenguje de programación.

1.6. Problemas en los programas.

Cuando se tienen problemas con un programa, lo mejor es ir haciendo pruebas por zonas, visualizando contenidos mediante las herramientas, opciones de depuración del entorno que utilizamos, de las variables que nos interesan y comprobando que se ejecutan las zonas del programa que a nosotros nos interesan que se ejecute.
Cuando se diseña una rutina, función, procedimiento o método nuevo, esta debe probarse fuera del programa, para asegurarse de su correcto diseño y que devuelve correctamente los resultados, asignándole en la prueba todos los valores posibles para verificar su correcto funcionamiento.
En un programa pequeño eso es muy fácil de probar y de controlar su ejecución correcta.
Copiar un programa no es malo, no suele hacerse, suelen copiarse ideas, o mejorar cosas que se observan en otros paquetes, pero lo importante si se hace, es saber como funciona y entenderlo, si no, no nos aportará nada.

sábado, 23 de mayo de 2015

Unidad 2. Estructura y representación de un programa (I).(II)

2.1. Objetivos del tema.


Veamos lo que es un programa, en cuanto a sus elementos mínimos, y estructura mínima, poco a poco iremos ampliando e introduciendo el resto de elementos.

2.2. Introducción.


Un ordenador tiene como misión la de realizar, o facilitar las tareas que de otra forma se realizarían en una forma tediosa e incomoda.

Los ordenadores son capaces de ejecutar programas.

Los programas están realizados por personas y los ejecutan los ordenadores.

Los programas utilizan información en su ejecución, y como resultado de su ejecución facilitan, o no, nuevos datos.

Los datos que se utilizan en los programas forman parte de las instrucciones que ejecuta el programa.

2.3. Escribir un programa.


Toda actividad necesita de un argot, jerga y convenios para poderse entender entre las personas que se dedican a una misma labor. No es que se pretenda aislarse del resto de las personas, sino que es necesario ese convenio y un lenguaje específico que a cada cosa le asigne su nombre característico y propio, y de esa forma facilite la comunicación entre las personas.

De esta forma surge en cada profesión una serie de símbolos y palabras para facilitar el trabajo.



Existe varias formas de representar un programa de forma previa a su codificación y a partir de los datos que nos entregan como consecuencia de la fase previa de análisis.



Seudocódigo

Ordinogramas.



Lo que sigue es un pequeño ejemplo de un programa muy sencillo, en formato de seudocódigo.



Inicio
  Escribir “Cálculo del área de un triángulo”

  Leer “Introduzca la base del triángulo”, Base
  Leer “Introduzca la altura del triángulo”, Altura

  Area = (Base * Altura) / 2
  Escribir “El área del triángulo es  “, Area
Fin



Esta forma de escribir, o de describir dicho programa se denomina pseudocódigo.



Como se puede comprobar, es una forma sencilla de describir un programa en un formato  muy próximo al ser humano, pero también se puede desarrollar de forma gráfica.



Para ello los símbolos utilizados básicamente son:







Y a continuación vemos el ejemplo de antes representado mediante organigrama.







Expliquemos lo visto.

  Escribir “Cálculo del área de un triángulo”

Esto es una instrucción que incorpora un texto que se llama literal, y en un programa de verdad en lugar de estar en castellano estará en ingles.

Instrucción          Escribir
Literal                 “Cálculo …” 

El fin de ésta instrucción es el de poder comunicarse con la persona que está utilizando el programa, y poder emitir mensajes, de ayuda, de título, etc…

Leer “Base del triángulo”, Base

Esto es una instrucción que es capaz de visualizar un texto y esperar a que el usuario escriba un dato.

Instrucción          Leer
Literal                 “Introduzca   …”
Dato                   Base

El fin de ésta instrucción es el de poder recibir datos por teclado desde la persona que está utilizando el programa.

Inicio
  .. / ..
Fin

Esta es la forma de delimitar el programa en su inicio y final, cada lenguaje dispone de una sintaxis más o menos similar, Begin End,
Todos los programas de una u otra forma tienen delimitado donde empieza y donde acaban, el sistema cambia en función de la sintaxis de cada uno de los lenguajes de programación.

Los programas no son solamente como lo visto en el ejemplo, son algo más complejos e incorporan estructuras que ya incorporaremos más adelante.

viernes, 22 de mayo de 2015

Unidad 3. Los datos

3.1. Objetivos del tema.

Hemos visto en el tema anterior como un programa es algo muy fácil, claro el ejemplo era muy fácil, pero se trataba de dejar visto, que es así.
Ahora vamos a ver que en el tema anterior hemos utilizado datos, pero que en realidad los datos son algo más.

3.2. Introducción.

Los datos en un programa es uno de los elementos vitales del mismo, pero en la vida cotidiana los utilizamos a diario también, si nos fijamos en los datos que utilizamos, nos daremos cuenta que son letras y números, números solo o solo letras.
También, cuando a lo largo del día alguien nos da un dato pequeño, normalmente no memorizamos, pero si es largo o complejo, lo apuntamos, ¿Por qué?, por que tenemos nuestras limitaciones, por la edad, por lo despistados que somos etc..
Los ordenadores también disponen de memoria, y también manejan información, datos, y en función de lo voluminosos que sean los datos, los almacenarán en la memoria central del ordenador, o en un soporte, en el disco duro o lo grabaremos en un disquete o disco compacto, etc..

3.3. Los tipos de datos.

Informáticamente los datos son de dos tipos básicos, números y letras, o numéricos y alfanuméricos.
Con los datos numéricos realizamos operaciones de cálculo y con los alfanuméricos representamos información y la almacenamos para el uso en el programa.

El dato numérico utilizará en memoria un espacio adecuado para el valor que puede tomar.
Como la memoria en un ordenador es vital, conviene aprovecharla al máximo.
Un valor numérico puede tomar un valor desde cero, olvidemos los números negativos, hasta ...., hasta un valor que es imposible escribir, o sea, infinito.
Pero eso en un ordenador es imposible de asumir.
Por lo tanto lo que hacemos es que creamos rangos, y a cada rango le asignamos un tipo de dato.
¿Cómo se crean los rangos?
Pensemos en que un ordenador solo sabe utilizar un uno y un cero, ausencia de voltaje y presencia de voltaje eléctrico, sistema binario, pero nosotros utilizamos lo que denominamos el sistema decimal, es decir diez elementos en lugar de dos.
En este sistema, cada uno de los dígitos utilizados se denomina bit, (Binary digit).

Por lo tanto para almacenar un número del cero al nueve, necesitaremos una combinación de ceros y unos que permitan representar cada uno de esos números, y como son diez, se necesitan diez combinaciones.

  0          0
  1          1
  2          10
  3          11
  4          100
  5          101
  6          110
  7          111
  8          1000
  9          1001

Esa sería la combinación para representar los diez dígitos del cero al nueve.

Cada uno de esos dígitos los denominamos bits, por lo tanto el cinco necesita tres bits para representarlo.
Si siguiéramos esa secuencia podríamos ir creando todos los números decimales en binario.

Estos bit se agrupan en grupos de

1 bit.
4 bit un cuarteto.
8 bit un octeto, un octeto es un byte.
1024 bytes, es un Kilobyte. Kb.
1024 Kb son un Megabyte, Mgb
1024 Mgb. son un Gigabyte.

Si nos preguntamos porque se usa 1024 en lugar de 1000, la respuesta es que hay que buscar bloques de 8 bits, que son un byte, 1024 es 2 10 .

Los datos alfanuméricos no tiene problema en su representación, pues cada carácter ocupa un byte en memoria, tantos caracteres tantos bytes, dentro de las limitaciones del lenguaje de programación que se este utilizando.
El motivo de utilizar un byte para cada carácter es que el número de caracteres máximo distintos en un idioma latino, o anglosajon, tomando los números como caracteres independientes, incluidos letras acentuadas y caracteres de puntuación no supera los 256, con un byte podemos obtener 256 combinaciones distintas, del 0 al 255.
Actualmente se utiliza un sistema de dos bytes que de forma unilateral implanto una empresa de software, por lo cual, aunque nosotros usemos un carácter para almacenarlo se utilizarían dos.

Esto permite que se puedan representar hasta 65535 combinaciones de símbolos, necesario para los lenguajes orientales, que usan símbolos en lugar de letras.

Pero los números son datos compactos, no se pueden andar separando de forma arbitraria, ya que hay que realizar operaciones de cálculo con ellos, por lo tanto han de ocupar uno, dos o x bytes, pero contiguos, para así poder operar matemáticamente.
Por lo tanto los números que podemos representar en un sistema dependerá del número de bytes que pongamos juntos para representar ese número.

Por ejemplo si ponemos un solo byte a disposición del sistema, solo podremos representar números entre el 0 y el 255. Un byte son 8 bits, las combinaciones son 28 que es igual a 256, que son los números que podemos representar.
Como eso es muy pobre, el rango más pequeño que se utiliza es el de dos bytes, que permiten manejar números entre –32767 y + 32768, como números enteros.
Aunque eso parece un rango muy pequeño, en programación los números enteros se usan para contar cosas, y en un porcentaje muy elevado de casos es suficiente ese rango, siempre que se haga un uso adecuado de los recursos.

Claro la pregunta sale sola ¿ pero números hay .... ? , claro que hay más, pero esos ya se han dado en clasificar en otro tipo de datos, los llamados números reales.
Los números reales se representan con otro sistema, no creeremos que se puede asignar espacio en memoria para el número 12345678901234567890, o bien para el 0,12345678901234567890, eso no es factible.
Por lo tanto en función del tamaño del espacio usado en memoria se puede abarcar más o menos valores.

Esta tabla muestra los valores máximos y mínimos en función del número de bytes utilizados en lun lenguaje de programación..
Pensemos que hace años un número entero utilizaba dos bytes, ahora en los lenguajes modernos utiliza 4, por lo que se aumenta el número de valores posibles válidos.


Pero para representar las letras sucede lo mismo, también hay que buscar una combinación de ceros y unos.
Y como además hay que representar otra serie de caracteres de control que se utilizan en otras tareas, todos y cada uno de ellos necesita de una representación en binario de su valor en el sistema o idioma que nosotros utilizamos.

La suma de todos esos números, letras y caracteres de control aproximadamente es de unos 170 elementos.

jueves, 21 de mayo de 2015

Unidad 4. Las expresiones

4.1. Objetivos del tema.

Hemos visto en el tema anterior que en un programa uno de los apartados a utilizar son los datos.
Los datos en si no son nada si no se utilizan, y la forma de utilizarlos es en expresiones, dentro de una instrucción, o de forma aislada, vamos a ver que son las expresiones y su evaluación.

4.2. Introducción.

Las instrucciones es la forma de hacer que un programa haga la tarea para la cual lo estamos escribiendo, pero esas instrucciones tienen que manejar datos, y al final lo que hacemos es escribir expresiones que se evalúan y que producen un resultado que permite resolver o tomar una decisión.
Para utilizar los datos necesitamos crear esas expresiones, las expresiones las crearemos utilizando los datos y los operadores que me permiten dar sentido a esa expresión para que produzca un resultado.

4.3. Expresiones.

Las expresiones están compuestas por datos, y los datos en un programa se almacenan en variables.
Las denominamos de esa forma porque su valor cambia a lo largo de la ejecución del programa, cuando un dato está almacenado en una variable y su valor es estático, por ejemplo declaramos la variable Pi = 3,1415, entonces la denominamos constante.
Las variables, como ya se comentó antes, almacenan datos, y los datos hemos quedado que básicamente eran de dos tipos numéricos y alfanuméricos.
Con las variables alfanuméricas almacenamos datos de texto, para el uso que sea pertinente en el programa.
Con las variables numéricas almacenamos datos de valor numérico, con las que podemos realizar operaciones de cálculo.
Si las variables son numéricas, en realidad, y recordando el cuadro de posibles valores del tema anterior, las variables numéricas en realidad podrán ser:

Byte
Integer
Long
Real

Hay que tener presente que el nombre de los tipos cambiará en función del lenguaje utilizado, por ejemplo el Real también podemos encontrarlo como simple y doble precisión.

La expresión es la unión de una serie de variables unidas por operadores que expresan una condición, un cálculo, una comparación.
En estas expresiones los operadores se evalúan en el siguiente orden,

Paréntesis, de dentro a fuera.
Signo.
Potencia.
Productos y divisiones.
Suma y restas.
Concatenación.
Relacionales.
Negación.
Conjunción.
Disyunción.

Cuando hay expresiones que contienen operadores de más de una categoría, se resuelven antes las que tienen operadores aritméticos, a continuación las que tienen operadores de comparación y por último las de operadores lógicos.
Los operadores de comparación tienen todos la misma prioridad; es decir, se evalúan de izquierda a derecha, en el orden en que aparecen. Los operadores lógicos y aritméticos se evalúan en el siguiente orden de prioridad:


Tipos de operadores.

Aritméticos                               Relacionales                                          Operadores lógicos
Exponenciación                         Igualdad                                                 Negación lógica
Negación                                   Desigualdad, distinto                              Conjunción
Multiplicación y división             Menor que                                              Disyunción
División de enteros                    Mayor que                                              Exclusión lógica
Módulo aritmético (Mod)            Menor o igual que                                   Equivalencia
Adición y substracción               Mayor o igual que                                   Implicación

En cada lenguaje de programación cada operador tiene un símbolo asignado, en la mayoría coinciden, pero hay algunos que cambian de forma significativa, por lo que cuando se entre en cada lenguaje se expondrán los mismos.

Cuando hay multiplicación y división en la misma expresión, cada operación se evalúa a medida que aparece, de izquierda a derecha. Del mismo modo, cuando se presentan adiciones y substracciones en una misma expresión, cada operación se evalúa tal como aparecen de izquierda a derecha. Es posible usar paréntesis para saltar el orden de preferencia y forzar que algunas partes de una expresión se evalúen antes que otras. Las operaciones entre paréntesis se realizan antes que las de fuera. Sin embargo, dentro de los paréntesis, la precedencia de los operadores se mantiene.

El operador de concatenación de cadenas (&) o (+) no es realmente un operador aritmético, pero en orden de prioridad se encuentra a continuación de todos los operadores aritméticos y antes que todos los operadores de comparación.

4.4. ¿Como se distinguen los tipos de variable?

La diferenciación entre un tipo y otro de variables, se realiza de dos formas básicamente,

En la creación a la hora de definirlas se les asigna un tipo, pero el nombre no lleva ningún carácter identificativo,

En la creación a la hora de definirlas se les asigna un tipo y además el nombre lleva un carácter que la identifica como tal tipo, si se utiliza el sistema de notación hungara.

La notación hungara, consiste en prefijos en minúsculas que se añaden a los nombres de las variables, y que indican su tipo.
El resto del nombre indica, lo más claramente posible, la función que realiza la variable.

4.5. Operadores.

Indican que tipo de acción se ha de realizar con dos variables.
Hemos quedado que las variables contienen datos.
Los datos son para manejarlos y obtener otros datos a partir de ellos.
Para eso hay que realizar distintos tipos de operaciones y cada operación ha de estar representada por un operador.
Los operadores se dividen por el tipo de operación que realizan.

Las distintas operaciones que se pueden realizar en un programa son:

Aritméticas.             Sumas restas ...
Lógicas.                  Condición And Condición, o Condición Or Condición.
Relacionales.           Mayor o Igual, >=, <=, =, >, <

Que se corresponde con los tipos de operadores descritos anteriormente.
Luego para cada tipo de operación son necesarios unos símbolos que identifiquen la acción que se desea realizar.
A continuación exponemos los operadores en un formato que suele ser habitual, pero que después habrá que volver a ver en el lenguaje correspondiente.

Con el fin de poder realizar los ejemplos, se han utilizado los símbolos que se utilizan en Visual Basic.

1    Aritméticos.

Para indicar cálculos de tipo matemático.
Suma                      +
Resta                     -
Multiplicación          *
División                   /, División entera, o DIV
Resto división         Mod
Raíz cuadrada          Sqr
Exponenciación       ^
Ejemplos.
Variable = Variable + 1                                Suma y además es un Contador.
Variable = Variable + OtraVariable                Suma, y lo llamamos Acumulador.
Variable = Variable * 3 + OtraVariable

2    Lógicos.

And, Or, Not, Xor, Imp. Eqv
Los operadores lógicos unen dos o más condiciones para formar una única expresión.

2.1 And.

Se utiliza para efectuar una conjunción lógica de dos expresiones.

Sintaxis
resultado = expresión1 And expresión2

La sintaxis del operador And consta de las siguientes partes:

Parte                              Descripción
resultado            Obligatorio;      cualquier variable numérica.

Comentarios
Si y sólo si ambas expresiones se evalúan como True, el resultado es True. Si cualquiera de las expresiones es False, el resultado es False. La siguiente tabla ilustra cómo se determina el resultado:

La tabla de verdad es:

El operador Or ejecuta una comparación bit a bit para identificar los bits de dos expresiones numéricas que tienen la misma posición y establece el bit correspondiente en el resultado según la siguiente tabla de decisión lógica:
La tabla de verdad es:
 

2.3 Not.

Se utiliza para ejecutar una negación lógica sobre una expresión.

Sintaxis
resultado = Not expresión

La sintaxis del operador Not consta de las siguientes partes:

Parte                              Descripción
resultado            Obligatorio;      cualquier variable numérica.
expresión                       Obligatorio; cualquier expresión.

Comentarios
La siguiente tabla muestra cómo se determina el resultado:

Además, el operador Not invierte los valores de bit de cualquier variable y establece el bit correspondiente en resultado, de acuerdo con la siguiente tabla de decisión lógica:
La tabla de verdad es:
 

2.4 Xor.

Se utiliza para realizar una exclusión lógica entre dos expresiones.

Sintaxis
[resultado =] expresión1 Xor expresión2

La sintaxis del operador Xor consta de las siguientes partes:

Parte                              Descripción
resultado            Obligatorio;      cualquier variable numérica.

Comentarios
Si una y sólo una de las expresiones es True, el resultado es True. Sin embargo, si cualquiera de las expresiones es Null, el resultado es también Null. Cuando ninguna de las expresiones es Null, el resultado se determina de acuerdo con la siguiente tabla:
La tabla de verdad es:
 

El operador Xor funciona como operador lógico y bit a bit. Ejecuta una comparación bit a bit para identificar los bits de dos expresiones utilizando lógica de O exclusivo para obtener el resultado, según la siguiente tabla de decisión lógica:
La tabla de verdad es:
 

2.5 Imp.

Se utiliza para efectuar una implicación lógica de dos expresiones.

Sintaxis
resultado = expresión1 Imp expresión2

La sintaxis del operador Imp consta de las siguientes partes:

Parte                              Descripción
resultado            Obligatorio;      cualquier variable numérica.

Comentarios
La siguiente tabla ilustra cómo se determina el resultado:
La tabla de verdad es:
 

El operador Imp ejecuta una comparación bit a bit para identificar los bits de dos expresiones numéricas que tienen la misma posición y establece el bit correspondiente en el resultado según la siguiente tabla de decisión lógica:
La tabla de verdad es:
 

2.6 Eqv.

Se utiliza para efectuar una equivalencia lógica de dos expresiones.

Sintaxis
resultado = expresión1 Eqv expresión2

La sintaxis del operador Eqv consta de las siguientes partes:

Parte                              Descripción
resultado            Obligatorio;      cualquier variable numérica.

Comentarios
Si cualquiera de las expresiones es de tipo Null, el resultado es también Null. Si ninguna de las expresiones es Null, el resultado se determina según la siguiente tabla:
La tabla de verdad es:
 

El operador Eqv ejecuta una comparación bit a bit para identificar los bits de dos expresiones numéricas que tienen la misma posición y establece el bit correspondiente en el resultado según la siguiente tabla de decisión lógica:
La tabla de verdad es:

Unidad 4. Las expresiones (IV)

2.5 Imp.

Se utiliza para efectuar una implicación lógica de dos expresiones.

Sintaxis
resultado = expresión1 Imp expresión2

La sintaxis del operador Imp consta de las siguientes partes:

Parte                              Descripción
resultado            Obligatorio;      cualquier variable numérica.

Comentarios
La siguiente tabla ilustra cómo se determina el resultado:
La tabla de verdad es:
Expresión1
Expresión2
Resultado
True
True
True
True
False
False
False
True
True
False
False
True
El operador Imp ejecuta una comparación bit a bit para identificar los bits de dos expresiones numéricas que tienen la misma posición y establece el bit correspondiente en el resultado según la siguiente tabla de decisión lógica:
La tabla de verdad es:
Bit1
Bit2
Resultado
0
0
1
0
1
1
1
0
0
1
1
1

2.6 Eqv.

Se utiliza para efectuar una equivalencia lógica de dos expresiones.

Sintaxis
resultado = expresión1 Eqv expresión2

La sintaxis del operador Eqv consta de las siguientes partes:

Parte                              Descripción
resultado            Obligatorio;      cualquier variable numérica.

Comentarios
Si cualquiera de las expresiones es de tipo Null, el resultado es también Null. Si ninguna de las expresiones es Null, el resultado se determina según la siguiente tabla:
La tabla de verdad es:
Expresión1
Expresión2
Resultado
True
True
True
True
False
False
False
True
False
False
False
True
El operador Eqv ejecuta una comparación bit a bit para identificar los bits de dos expresiones numéricas que tienen la misma posición y establece el bit correspondiente en el resultado según la siguiente tabla de decisión lógica:
La tabla de verdad es:
Bit1
Bit2
Resultado
0
0
1
0
1
0
1
0
0
1
1
1

3    Cadenas, strings.

El símbolo utilizado habitualmente es el + y el &, que no representa una suma, sino la concatenación o unión de dos variables alfanuméricas, creando una nueva con el contenido de ambas.

4    Relacionales

>, >=, <>, <, <=, =.
Son los símbolos que se usan en una comparación para indicar como hacerla, si A ha de ser mayor que B, etc.…