banners

CONCEPTOS BÁSICOS Y METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS POR MEDIO DE COMPUTADORAS

{ viernes, 8 de mayo de 2009 }
1.1 INTRODUCCIÓN

La computadora no solamente es una maquina que puede realizar procesos para darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza para llegar a esos resultados. Con la computadora además de lo anterior también podemos diseñar soluciones a la medida, de problemas específicos que se nos presenten. Mas aun, si estos involucran operaciones matemáticas complejas y/o repetitivas, o requieren del manejo de un volumen muy grande de datos.
El diseño de soluciones a la medida de nuestros problemas, requiere como en otras disciplinas una metodología que nos enseñe de manera gradual, la forma de llegar a estas soluciones.
A las soluciones creadas por computadora se les conoce como programas y no son más que una serie de operaciones que realiza la computadora para llegar a un resultado, con un grupo de datos específicos. Lo anterior nos lleva al razonamiento de que un programa nos sirve para solucionar un problema específico.
Para poder realizar programas, además de conocer la metodología mencionada, también debemos de conocer, de manera específica las funciones que puede realizar la computadora y las formas en que se pueden manejar los elementos que hay en la misma.


Computadora: Es un dispositivo electrónico utilizado para procesar información y obtener resultados. Los datos y la información se pueden introducir en la computadora como entrada (input) y a continuación se procesan para producir una salida (output).


Proceso de información en la computadora

Datos de Proceso Datos de
entrada salida

Programa: Es el conjunto de instrucciones escritas de algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema especifico.


Organización física de una computadora


CPU
Unida de Unidad
Dispositivos de Control Arit.-Log. Dispositivos de Entrada Salida
Memoria


Dispositivos de Entrada: Como su nombre lo indica, sirven para introducir datos (información) en la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Ejemplos: teclado , scanners (digitalizadores de rastreo), mouse (ratón), trackball (bola de ratón estacionario), joystick (palancas de juego), lápiz óptico.

Dispositivos de Salida: Regresan los datos procesados que sirven de información al usuario. Ejemplo: monitor, impresora.

La Unidad Central de Procesamiento (C.P.U) se divide en dos:
Ø Unidad de control
Ø Unidad Aritmético - Lógica

Unidad de Control: Coordina las actividades de la computadora y determina que operaciones se deben realizar y en que orden; así mismo controla todo el proceso de la computadora.

Unidad Aritmético - Lógica: Realiza operaciones aritméticas y lógicas, tales como suma, resta, multiplicación, división y comparaciones.

La Memoria de la computadora se divide en dos:
Ø Memoria Central o Interna
Ø Memoria Auxiliar o Externa

Memoria Central (interna): La CPU utiliza la memoria de la computadora para guardar información mientras trabaja con ella; mientras esta información permanezca en memoria, la computadora puede tener acceso a ella en forma directa. Esta memoria construida internamente se llama memoria de acceso aleatorio (RAM).

La memoria interna consta de dos áreas de memoria:
La memoria RAM (Randon Access Memory): Recibe el nombre de memoria principal o memoria del usuario, en ella se almacena información solo mientras la computadora esta encendida. Cuando se apaga o arranca nuevamente la computadora, la información se pierde, por lo que se dice que la memoria RAM es una memoria volátil.

La memoria ROM (Read Only Memory): Es una memoria estática que no puede cambiar, la computadora puede leer los datos almacenados en la memoria ROM, pero no se pueden introducir datos en ella, o cambiar los datos que ahí se encuentran; por lo que se dice que esta memoria es de solo lectura. Los datos de la memoria ROM están grabados en forma permanente y son introducidos por el fabricante de la computadora.
Memoria Auxiliar (Externa): Es donde se almacenan todos los programas o datos que el usuario desee. Los dispositivos de almacenamiento o memorias auxiliares (externas o secundarias) mas comúnmente utilizados son: cintas magnéticas y discos magnéticos.

1.2 DEFINICION DE LENGUAJE

Lenguaje: Es una serie de símbolos que sirven para transmitir uno o mas mensajes (ideas) entre dos entidades diferentes. A la transmisión de mensajes se le conoce comúnmente como comunicación.

La comunicación es un proceso complejo que requiere una serie de reglas simples, pero indispensables para poderse llevar a cabo. Las dos principales son las siguientes:
* Los mensajes deben correr en un sentido a la vez.
* Debe forzosamente existir 4 elementos: Emisor, Receptor, Medio de Comunicación y Mensaje.

Lenguajes de Programación

Es un conjunto de símbolos, caracteres y reglas (programas) que les permiten a las personas comunicarse con la computadora.
Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada/salida, calculo, manipulación de textos, lógica/comparación y almacenamiento/recuperación.

Los lenguajes de programación se clasifican en:

Ø Lenguaje Maquina: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria mas pequeña el bit (dígito binario 0 o 1).

Ø Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas.

Ø Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC, pascal, cobol, frotran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensión del programa.

1.3 DEFINICION DE ALGORITMO

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema especifico.

Tipos de Algoritmos

Ø Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Ø Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

1.4 EJEMPLOS ALGORITMOS COTIDIANOS

Algoritmos cualitativos

Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo, para desarrollar una actividad física o encontrar un tesoro, son ejemplos de algoritmos cualitativos.

Ejemplo No. 1: Administración de un medicamento

Vaya al botiquín de su casa y tome un medicamento cualquiera. Muchos de ellos traen en el interior de su empaque un documento con las indicaciones para su correcta aplicación.

Piense y analice: ¿Qué sucede si se omite un paso en este algoritmo?

Ejemplo No. 2: Receta de cocina

Vaya a la alacena de su casa y tome un producto alimenticio cualquiera. Muchos de ellos traen en el empaque las indicaciones para su correcta preparación.

Piense y analice: ¿Qué sucede si se invierte un par de pasos en este algoritmo?

El siguiente ejercicio que se presenta trata de poner de manifiesto lo importante que es seguir instrucciones en forma adecuada y correcta, si se quiere llegar a un resultado satisfactorio.

Ejemplo No. 3: Cambio de una llanta pinchada

Supongamos que usted necesita programar un autómata, el señor A, para que conduzca un auto de una ciudad a otra; indudablemente necesita considerar muchas situaciones, pero por ahora va a centrar su atención en un sólo problema: cómo cambiar una llanta cuando se pinche durante el viaje.

Como chofer precavido que es, usted ha dotado al auto con la llanta de repuesto y con las herramientas necesarias para estos casos.

Vamos a hacer un diagrama de flujo que señale las principales actividades que el señor A debe considerar para despincharse. ¿Qué es lo primero? ¿Y qué viene luego?

A continuación tenemos la solución que primero se nos ocurre:
1. Sacar la llanta de repuesto del baúl
2. Quitar la llanta pinchada
3. Poner la llanta buena
4. Guardar la llanta pinchada y la herramienta
5. Reanudar el viaje.

Gráficamente este problema quedaría resuelto como se muestra en la siguiente figura:


¿Está de acuerdo con la solución? ¿Seguro qué hemos considerado todo lo importante? ¡Definitivamente no! El problema no lo hemos analizado bien y hemos pasado por alto algunos detalles muy importantes. Veamos:

· Si el auto va en movimiento, lo lógico es que lo detenga para que su autómata pueda bajarse de él.
· Pero, ¿detener el auto en plena vía? Quizás el auto que le sigue estrelle al señor A, y hasta ahí llegó el viaje. Parece que lo lógico es que primero orille el auto y luego lo detenga para que el señor A pueda bajarse.
· ¿Y las señales de peligro que se deben poner a prudente distancia del auto?. Lo lógico es que deben ser utilizadas, por lo cual el autómata debe abrir el baúl, sacar las señales de peligro y ponerlas a prudente distancia del auto.
· Ignoramos la posibilidad de que el repuesto no esté bueno, caso en el cual termina este problema, puesto que el señor A debe buscar otra solución que tendremos debidamente programada; el enunciado de este problema sólo habla de cambiar una llanta pinchada.
· Considerado todo lo anterior, ahora si se puede pensar en ordenar que el señor A saque la llanta de repuesto junto con la herramienta requerida.
· La segunda instrucción que se nos ocurrió en la solución original fue quitar la llanta pinchada. Así, ¿de buenas a primeras?, posiblemente el señor A nunca lo logre, y si lo consigue habrá dañado el auto. Vamos por partes: lo lógico es que tendrá que bloquear el auto, subir el gato (??) ¡subir al auto!... ¡Olvidamos aflojar las tuercas! Revisemos: bloquear el auto, aflojar las tuercas, subir el auto con el gato, quitar las tuercas y ahora si, quitar la llanta mala y montar el repuesto bueno; después colocar las tuercas, bajar el auto y apretar las tuercas.
· Ahora si le podemos ordenar al señor A desbloquear el auto, recoger la herramienta, quitar las señales y guardar todo, antes de continuar el viaje.

Si tenemos en cuenta lo analizado, estamos en condiciones de elaborar un diagrama de flujo más completo, con el cual estamos seguros que al señor A podrá cambiar exitosamente su llanta pinchada. Veamos el nuevo diagrama en la siguiente figura:





¿Cómo le pareció el problema? ¡Sencillo y hasta divertido! Así es la diagramación, cuando conocemos bien lo que se espera y analizamos cuidadosamente el problema para identificar lo que hay que hacer.

Por lo general, un problema podemos resolverlo de diferentes formas, posiblemente todas válidas. Pero habrá una forma más sencilla, funcional y eficiente que las demás; es lo ideal que la encontremos. ¿Cómo?, analizando bien el problema. Todas esas formas de resolver un problema tendrán una característica común: serán una secuencia lógica de pasos, planteados en esa forma porque de otra manera no producen el resultado correcto. Así, por ejemplo, en el problema anterior antes de sacar la llanta de repuesto era necesario:

· Ordenar que el señor A orillara el auto y lo detuviera
· Ordenar que se colocaran las señales de peligro
· Considerar que el repuesto estuviera bueno
· Ordenar bloquear el auto, aflojar las tuercas y subirlo con ayuda del gato, antes de quitar la llanta pinchada; etc.

En diagramación, la lógica, juega un papel fundamental: si las cosas no se plantean en su orden correcto, y no se consideran todas las posibles condiciones, probablemente no se consiga el resultado esperado.

¿Y cómo saber que es lo primero y qué viene luego?, tenga paciencia, que como todo en la vida, esto se aprende practicando.

Ejemplo No. 4: Actividades de un domingo

Diagrame las actividades de un domingo suyo, desde que se despierta hasta que se acuesta a dormir. Tenga en cuenta que para los solteros el programa puede ser diferente al de los casados, y que probablemente:

· El día es lluvioso
· Quiere ir a misa
· Hay una película muy buena
· Usted está disgustado(a) con su novia(o) o esposa(o)
· Hay un cartel excelente para la corrida de toros
· Trasmiten una buena película por televisión o la final del campeonato de fútbol
· Hay muchas diversiones posibles pero no tiene dinero y entonces se queda estudiando en casa, Etc.

Ejemplo No. 5: Llamada telefónica

Se entrega una moneda de $100, un número telefónico y un mensaje al mismo señor A (el autómata), para que busque un teléfono público, marque el número señalado y transmita el mensaje. No se espera respuesta alguna. Finalmente el señor A debe regresar e informar si pudo dar el mensaje o no.

Como sugerencias le recomendamos tener en cuenta que:

· El teléfono público encontrado puede estar dañado, pero habrán otros teléfonos buenos en la ciudad.
· Posiblemente haya personas en la cola y el señor A deber esperar su turno.
· Puede ocurrir que no le contestan o que está ocupado y deberá hacer otro intento, hasta un máximo de 5.
· En uno de los intentos el teléfono no le devolvió la moneda.

No se preocupe porque el señor A (no tenga en cuenta):

· Olvidó el número telefónico o el mensaje.
· Marcó un número equivocado.
· Encontró que todos los teléfonos de la ciudad están dañados.
· Lo atropelló un auto al cruzar una calle, etc.



1.5 DEFINICION LENGUAJES ALGORITMICOS

Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.

Tipos de Lenguajes Algorítmicos

Ø Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
Ø No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

DISEÑO DEL ALGORITMO








Diseño del algoritmo














































Diseño descendente

Refinamiento por pasos

Representación del algoritmo

Un computador sólo es capaz de ayudarnos a resolver un problema cuando le suministramos los pasos sucesivos a realizar para resolver dicho problema. Estos pasos sucesivos que indican las instrucciones que debe realizar la máquina constituyen el algoritmo.

La información suministrada al algoritmo constituye su entrada, mientras que la información producida por el algoritmo constituye su salida.

v Diseño descendente. Los problemas complejos se pueden resolver más eficazmente con el computador, cuando se dividen en subproblemas que sean más fáciles de resolver que el original. Este método se denomina divide y vencerás (divide and conquer) y consiste en dividir un problema complejo en otros más simples.

El diseño descendente (Top-down Design) es la descomposición de un problema en subproblemas más simples y la posterior división de estos subproblemas en otros todavía más simples, que puedan ser implementados para su solución en el computador.

El diseño descendente presenta algunas ventajas, entre las cuales están las siguientes:
El problema se comprende más fácilmente al dividirse en partes más simples, a las que denominamos módulos.
Las modificaciones en los módulos son más fáciles de realizar.
La comprobación del problema se puede verificar fácilmente.

v Refinamiento por pasos. El refinamiento del algoritmo (Stepwise Refinement) es la ampliación detallada con pasos específicos de los subproblemas obtenidos en la etapa anterior. Para problemas complejos, se necesita con frecuencia diferentes niveles de refinamiento antes de que se pueda obtener un algoritmo claro, preciso y completo.

v Representación del algoritmo. La representación hace referencia a la utilización de herramientas de programación para expresar el algoritmo, tales como los diagramas de flujo y los seudocódigos.

Un diagrama de flujo es una representación gráfica del flujo lógico de datos que se utilizará en la formulación, generalmente de una determinada parte del programa. Esto quiere decir que los diagramas se dibujan antes de escribir el programa, para asegurar un desarrollo lógico.

Un diagrama de flujo es un diagrama que utiliza unos símbolos estándares y que contiene los pasos del algoritmo escritos en esos símbolos, los cuales se encuentran unidos por medio de flechas, denominadas líneas de flujo, que indican la secuencia en que se deben ejecutar.

El seudocódigo es un lenguaje de especificación (descripción) de algoritmos. El uso de tal lenguaje hace el paso de codificación final relativamente fácil. El seudocódigo no puede ser ejecutado por el computador y es considerado como un primer borrador, debido a que tiene que traducirse posteriormente a un lenguaje de programación.

Cuando expresamos el contenido de un programa en nuestra lengua natural, utilizando ciertas expresiones simples, se dice entonces que el programa está escrito en seudocódigo. Esta forma de expresión normalmente no constituye el programa final, pero sí una descripción del algoritmo del cual se puede obtener el programa, una vez que se codifique en un lenguaje de programación de alto nivel.

Otras actividades en el diseño del algoritmo

v Selección de la mejor alternativa. Analizando el problema, posiblemente tengamos varias formas de resolverlo, y entonces será necesario determinar cuál es la mejor alternativa. La mejor alternativa será aquella que produzca los resultados esperados en el menor tiempo posible y al mínimo costo.

v Prueba de escritorio. Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo, hasta obtener los resultados. El análisis de éstos resultados nos indicará si el algoritmo está correcto o si por el contrario hay necesidad de hacer ajustes.





1.6 METODOLOGIA PARA LA SOLUCION DE PROBLEMAS POR MEDIO DE COMPUTADORA







Solución en el PC














































Codificación y edición

Compilación y ejecución

Comprobación y depuración

Una vez que se ha analizado el problema y se ha diseñado el algoritmo, se debe pasar a la fase de solución práctica del problema con el computador.

En el diseño del algoritmo, éste se escribe en una herramienta de programación tal como el diagrama de flujo o el seudocódigo. Sin embargo, el programa que implementa el algoritmo debe ser escrito en un lenguaje de programación y siguiendo las reglas gramaticales o de sintaxis del mismo. La fase de conversión del algoritmo en un lenguaje de programación se denomina codificación, ya que el algoritmo escrito en un lenguaje específico de programación se denomina código.

v Codificación. La codificación consiste en la conversión del algoritmo en instrucciones detalladas que constituyen el programa, mediante la utilización de un lenguaje de programación de alto nivel.

v Edición. La edición consiste en digitar las instrucciones del programa utilizando un procesador de textos cualquiera y luego grabarlas en un dispositivo de almacenamiento secundario, tal como el disco duro, un disquete, etc. Este programa recibe el nombre de programa fuente.

v Compilación. La compilación es la traducción del programa fuente a lenguaje de máquina. Este proceso lo lleva a cabo el compilador del lenguaje (programa de traducción de lenguajes) y es un proceso transparente para el programador.

En términos generales la traducción puede ser de dos tipos, a saber:
La interpretación: Es el proceso mediante el cual cada instrucción recibida en un lenguaje de alto nivel, es traducida por medio de un programa llamado intérprete y ejecutada inmediatamente.
La compilación: Es el proceso mediante el cual todas las instrucciones recibidas en un lenguaje de alto nivel, son traducidas por medio de un programa llamado compilador, al código de máquina. El programa así traducido recibe el nombre de código objeto. Una vez hecha esta operación, un programa llamado enlazador se encarga de unir el código objeto con los recursos necesarios para convertirlo en código ejecutable.

v Ejecución. La ejecución (Run) consiste en poner a funcionar el programa. Cuando el programa esté ejecutándose pedirá datos, que al ser suministrados por el usuario y procesados de acuerdo a las instrucciones del programa, presentará los resultados.

v Comprobación. La comprobación consiste en la verificación de los resultados obtenidos para ver si son correctos.

v Depuración. La depuración (Debug) consiste en encontrar y corregir los errores de lógica que tenga el programa.

Todo programador experto prueba mentalmente cada instrucción cuando la está escribiendo, y simula también mentalmente, la ejecución de cualquier módulo o sección del programa antes de proceder a realizar una prueba real. La única manera en que las pruebas pueden demostrar que un programa es correcto, es examinar todos los casos posibles, situación que es imposible técnicamente, por lo cual se debe seleccionar un número relativamente pequeño de casos que nos garanticen el buen funcionamiento del programa con un alto grado de probabilidad.

Una vez terminado el programa se recomienda ejecutarlo con diferentes datos de entrada y considerar todos los posibles casos, aún los de excepción o no esperados, para asegurarnos que el programa no producirá errores durante la ejecución cuando se presenten estos casos.

Otras actividades en la solución en el computador

Finalmente se debe elaborar la documentación respectiva, realizar la implementación y con el correr del tiempo, el mantenimiento del programa desarrollado.

v Documentación. La documentación consiste en escribir explicaciones acerca del programa desarrollado. La documentación es imprescindible tanto para la manipulación del programa como para su mantenimiento.

La documentación puede realizarse en dos formas: la documentación externa, que incluye análisis, diagramas de flujo y/o seudocódigos, descripciones de los algoritmos, manuales de usuario con instrucciones para instalar y ejecutar el programa, así como para interpretar los resultados, etc, y la documentación interna, o comentarios dentro del código del programa. La documentación externa está dirigida tanto a los usuarios del programa como a los programadores. A los usuarios del programa, para su correcta manipulación y a los programadores porque los detalles se olvidan y el programa generalmente sufre modificaciones a lo largo del tiempo. La documentación interna está dirigida principalmente a los programadores.

v Implementación. La implementación consiste en poner el programa en producción para el uso real en una institución.

v Mantenimiento. El mantenimiento consiste en introducirle cambios al programa a medida que se hacen necesarios, con el correr del tiempo. Los programas se actualizan constantemente para reflejar las nuevas necesidades de los usuarios. El mantenimiento de programas es uno de los aspectos que requiere más tiempo en el proceso de programación.

TIPOS DE ERRORES

Durante el proceso de programación se pueden presentar diferentes tipos de errores, a saber:
Errores de compilación: Se producen normalmente por el uso incorrecto de las reglas del lenguaje de programación y suelen ser errores de sintaxis.
Errores de ejecución: Se producen por instrucciones que el computador puede comprender pero no ejecutar, tales como división por cero o raíces cuadradas de números negativos.
Errores lógicos: Tienen su origen en la lógica del programa, ya que los resultados obtenidos no son los esperados. Estos errores son los más difíciles de detectar, ya que el programa puede funcionar y no producir errores de compilación ni de ejecución, y sólo se puede advertir el error por la obtención de unos resultados incorrectos.

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

{ }
ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS


Contenido

2.1 Introducción

2.2 Expresiones

2.3 Operadores y operandos

2.4 Identificadores como Localizadores de memoria

2.1 INTRODUCCION

{ }
Tipos De Datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.

Numéricos
Simples Lógicos
Alfanuméricos (string)
Tipos de
datos Arreglos (Vectores, Matrices)
Estructurados Registros
(Def. por el Archivos
usuario) Apuntadores


Tipos de Datos Simples

Ø Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.

Ø Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos).

Ø Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas.

Ejemplo:
“Instituto Tecnológico de Tuxtepec”
“1997”

2.2 EXPRESIONES

{ }

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo:

a+(b + 3)/c

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:

- Aritméticas
- Relaciónales
- Lógicas

2.3 OPERADORES Y OPERANDOS

{ }

Ø Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores.


Aritméticos
Tipos de Operadores Relaciónales
Lógicos


Ø Operadores Aritméticos: Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes).
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.

Operando (Operador) Operando

Valor
(constante o variable)

Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
Mod Modulo (residuo de la división entera)

Ejemplos:
Expresión Resultado
7 / 2 3.5
12 mod 7 5
4 + 2 * 5 14





Prioridad de los Operadores Aritméticos

· Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero.
· Dentro de una misma expresión los operadores se evalúan en el siguiente orden.

1.- ^ Exponenciación
2.- *, /, mod Multiplicación, división, modulo.
3.- +, - Suma y resta.

· Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.

Ejemplos:

4 + 2 * 5 = 14

23 * 2 / 5 = 9.2 46 / 5 = 9.2

3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23

3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09

2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

Ø Operadores Relaciónales:

· Se utilizan para establecer una relación entre dos valores.
· Compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso).
· Los operadores relaciónales comparan valores del mismo tipo (numéricos o cadenas)
· Tienen el mismo nivel de prioridad en su evaluación.
· Los operadores relaciónales tiene menor prioridad que los aritméticos.




Operadores Relaciónales

> Mayor que
<> = Mayor o igual que
< = Menor o igual que < > Diferente
= Igual

Ejemplos:
Si a = 10 b = 20 c = 30

a + b > c Falso
a - b < b =" c"> c Verdadero

Ejemplos no lógicos:
a <>, <, > =, < =, < >, =, Or


Ejemplos:
a = 10 b = 12 c = 13 d =10

1) ((a > b)or(a < a =" c)"> = b))
F T F F
T F
F



2) ((a > = b) or (a <> = d) and (c > d))
F F T T
F T
F



3) not (a = c) and (c > b)
F T
T
T

2.4 IDENTIFICADORES COMO LOCALIZADORES DE MEMORIA

{ }

Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que nos permite accesar a su contenido.

Ejemplo: Nombre
Num_hrs
Calif2

Reglas para formar un Identificador

h Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco.
h Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter.
h La longitud de identificadores puede ser de hasta 8 caracteres.


Constantes y Variables

Ø Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo:
pi = 3.1416

Ø Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambia durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo.

Ejemplo:
Área = pi * radio ^ 2

Las variables son: el radio, el área y la constate es pi



Clasificación de las Variables


Numéricas
Por su Contenido Lógicas
Alfanuméricas (String)
Variables

De Trabajo
Por su Uso Contadores
Acumuladores


Por su Contenido

Ø Variable Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo:
Iva =0.15 pi=3.1416 costo=2500

Ø Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
Ø Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo:
letra=’a’ apellido=’López’ dirección=’Av. Libertad #190’
Por su Uso

Ø Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo:
Suma=a+b/c

Ø Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.

Ø Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.