Logo Passei Direto

Generalidades de Algoritmos

Herramientas de estudio

Material
¡Estudia con miles de materiales!

Vista previa del material en texto

Ing. Karina Esquivel 
DEPARTAMENTO 
COMPUTACIÓN 
UNAN-LEÓN 
UNIDAD I: GENERALIDADES DE LOS 
ALGORITMOS 
 
Unidad I: Generalidades de los algoritmos 
 
 
2 
UNIDAD I: GENERALIDADES DE LOS ALGORITMOS 
 
1.1 INTRODUCCIÓN: 
 
La computadora no ha cumplido ni los cien años de existencia desde su primera generación. 
Sin embargo es un invento que ha venido a revolucionar la forma en la que trabajamos, nos 
entretenemos y se ha convertido en un aparato esencial en nuestra vida diaria. La 
computadora no solamente es una máquina 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. Más aún, si estos 
involucran operaciones matemáticas complejas y/o repetitivas, o requieren del manejo de 
un volumen muy grande de datos. 
 
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). Se ha 
convertido en un auxiliar del hombre que le presta ayuda en una enorme gama de 
actividades. 
 
1.2 LA LÓGICA: 
 
Cuando se desarrolla un algoritmo que da solución a un problema determinado, 
previamente se han debido cumplir los pasos anteriores a él. Como éstos son previos a la 
construcción del programa que ejecutará la computadora, debe haber coherencia y 
concatenación en cada uno de los pasos seleccionados para la solución del problema. El 
orden en que se disponen los pasos del algoritmo debe ser riguroso; esto implica que deben 
existir unos pasos antes que otros u otros antes de unos. No se podrá multiplicar A por B si, 
previamente, no se conocen sus respectivos valores. 
 
El algoritmo es la antesala del programa que ejecutará la computadora, y cuando éste se 
traslada al lenguaje escogido para representarlo se debe conservar el orden preestablecido 
en él, independientemente del lenguaje seleccionado. Un algoritmo, una vez construido, 
puede expresarse en lenguajes diferentes de programación y ejecutarse en computadoras 
distintas; sin embargo, el algoritmo será siempre el mismo. De ahí que los errores lógicos 
que se cometan en la elaboración de éste pasarán al lenguaje y, por ende, a la computadora, 
el cual reproducirá exactamente lo que se le ha mandado; éste no tiene el poder para 
detectar errores humanos. 
 
1.3 PROCEDIMIENTO: 
 
Un procedimiento es un conjunto de instrucciones o pasos descritos mediante palabras, 
para llegar a la solución o resultado(s) de un problema que no involucra cálculos 
matemáticos; pero aunque la descripción de cada paso rigurosamente debe conservar un 
orden, la entendibilidad o generalidad de éste depende en forma exclusiva de la persona 
que lo construye. Posiblemente, una persona distinta divida un paso en varios o condense 
dos o más pasos en uno solo, según él lo entienda. 
 
 
 
Unidad I: Generalidades de los algoritmos 
 
 
3 
1.4 METODOLOGÍA PARA RESOLVER PROBLEMAS A TRAVÉS DE COMPUTADORAS: 
 
Las computadoras pueden ejecutar un gran número de operaciones a muy altas velocidades 
y con intervención mínima de seres humanos. Sin embargo, a una computadora se le debe 
indicar exactamente qué operaciones debe ejecutar y en qué orden. A estos conjuntos de 
instrucciones se les denomina programas para computadora y son elaborados por 
programadores. 
Un programa es una serie de instrucciones escritas en forma codificada que la 
computadora puede traducir a su propio lenguaje. 
La solución de problemas por medio de computadora debe emplear la siguiente 
metodología: 
• Definición del Problema: Esta fase está dada por el enunciado del problema, el 
cual requiere una definición clara y precisa. Es importante que se conozca lo que se 
desea que realice la computadora; mientras esto no se conozca del todo no tiene 
mucho caso continuar con la siguiente etapa. 
 
• Análisis del Problema: Una vez que se ha comprendido lo que se desea de la 
computadora, es necesario definir: 
o Los datos de entrada. 
o Los métodos y fórmulas que se necesitan para procesar los datos. 
o Cuál es la información que se desea producir (salida). 
 
• Diseño del Algoritmo: Cuando el programador tiene toda la información necesaria 
acerca del programa, elabora un algoritmo. Los algoritmos son muy útiles porque 
muestran, en orden, las operaciones que se van a ejecutar con los datos y las 
comparaciones que formarán parte del programa. 
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, 
para dar solución a un problema específico. 
Los tipos de algoritmos son: 
o Cualitativos: Son aquellos en los que se describen los pasos utilizando 
palabras. 
o Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para 
definir los pasos del proceso. 
Lenguajes Algorítmicos: Serie de símbolos y reglas que se utilizan para describir de 
manera explícita un proceso. Los tipos de lenguajes algorítmicos son: 
o Gráficos: Es la representación gráfica de las operaciones que realiza un 
algoritmo (diagrama de flujo) 
o No Gráficos: Representan en forma descriptiva las operaciones que debe 
realizar un algoritmo (pseudocódigo). 
 
Unidad I: Generalidades de los algoritmos 
 
 
4 
Ejemplo: Algoritmo representado mediante un pseudocódigo que suma dos números de 
tipo entero. 
Proceso Suma 
 Definir a,b,c como entero; 
 Leer a,b; 
 c <- a+b; 
 Escribir 'La suma es: ', c; 
FinProceso 
 
• Codificación: Con base en el algoritmo terminado, se escribe una serie de 
instrucciones detalladas. Las que se denominan programa fuente y suelen estar 
escritas en algún lenguaje de programación. 
Lenguajes de Programación: Es un conjunto de símbolos, caracteres y reglas (programas) 
que le 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. 
• Prueba y Depuración: Cuando el programa fuente se desea traducir a lenguaje de 
máquina, o sea, cuando se compila, sucede otra cosa importante. Dado que el 
programa fuente puede contener muchos errores, el compilador produce una lista 
impresa en donde aparece el programa fuente y otra lista de todos los errores que 
contiene el programa. Indican en qué instrucción hay un error y de qué tipo es éste. 
Todos los errores señalados por los diagnósticos del tiempo de compilación deben 
corregirse antes de que el sistema pueda procesar los datos. 
 
• Documentación: La documentación es la etapa final en la elaboración de un 
programa y tiene lugar después de que se ha almacenado y corregido. Documentar 
el programa se refiere a la recopilación, en un solo lugar, de toda aquella 
información de importancia que se usó para elaborar el programa. 
 
 
1.5 DEFINICIÓN DE ALGORITMO: 
 
En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del 
griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi) es un 
conjunto de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar 
una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha 
actividad. Dados un estado inicial y una entrada, siguiendo los pasos se llega a un estado 
final y se obtiene una solución. 
 
Cuando se quiere solucionar un problema a través de la computadora, se exige un algoritmo 
que muestre la secuencia de solución del mismo. 
Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de 
algorítmica y programación, todas ellas muy similares: 
Unidad I: Generalidades de los algoritmos5 
• Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las 
operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo 
más finito. [Donald E. Knuth, 1968] 
• Descripción de un esquema de comportamiento expresado mediante un reportorio 
finito de acciones y de informaciones elementales, identificadas, bien comprendidas 
y realizables a priori. Este repertorio se denomina léxico [Pierre Scholl, 1988] 
• Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y 
formulados con base a un conjunto finito de reglas no ambiguas, que proveen un 
procedimiento para dar la solución o indicar la falta de esta a un problema en un 
tiempo determinado. [Rodolfo Quispe-Otazu, 2004] 
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. 
Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un 
aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos 
ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos 
números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros 
positivos, etc. 
 
1.6 CARACTERÍSTICAS DE LOS ALGORITMOS: 
 
Las características fundamentales que debe cumplir todo algoritmo son: 
• Ser limitado o finito: Todo algoritmo debe tener un número de instrucciones que limitan 
el proceso en algún momento, es decir, la ejecución debe detenerse. No puede existir un 
algoritmo, por muy grande que sea o por muchos resultados que produzca, que se quede en 
forma indefinida ejecutando sus instrucciones o repitiendo la ejecución de un subconjunto 
de ellas. 
• Tener cero o más entradas: La entrada hace referencia a la información proporcionada 
al algoritmo, la cual debe sufrir un proceso para obtener los resultados. Un algoritmo tiene 
cero o más datos de entrada. Estos valores le son dados por medio de una instrucción o 
mandato que se debe cumplir al ejecutarse el algoritmo. Si no existen datos de entrada es 
porque una o más instrucciones generan los valores de partida, de los que hará uso el 
algoritmo para producir los datos o valores de salida. 
• Tener una o más salidas: Todo algoritmo debe proporcionar uno o más valores como 
resultado, una vez se ha ejecutado la secuencia de pasos que lo conforman. La salida es la 
respuesta dada por el algoritmo o el conjunto de valores que el programador espera se le 
proporcionen. Estos resultados pueden ser de cualquier tipo: uno o más valores numéricos, 
valores lógicos o caracteres. La facilidad o complejidad de un algoritmo no la determinan la 
cantidad de datos que se desean obtener. Un algoritmo puede tener un alto grado de 
complejidad y, sin embargo, producir un solo valor como resultado. 
• Tener un punto de finalización: Un algoritmo debe indicar el orden de realización de 
cada uno de sus pasos. Debe mostrar la primera, la intermedia y la última instrucción que 
debe realizarse. Esto permite mostrar que en algún momento debe culminar la acción o 
tarea que hace el algoritmo. 
Unidad I: Generalidades de los algoritmos 
 
 
6 
• Tener claridad: Todo el conjunto de pasos debe ser entendible y factible de realizar, de 
tal manera, que al hacer un seguimiento del algoritmo éste produzca siempre los resultados 
requeridos. No puede entonces existir incertidumbre en las acciones a tomar cuando se 
sigue la lógica (flujo del programa) del algoritmo. 
Todo algoritmo debe tener tres partes: 
♦ Entrada. Información dada al algoritmo, o conjunto de instrucciones que generen 
los valores con que ha de trabajar, en caso de que no tenga datos de entrada. 
♦ Proceso. Cálculos necesarios para que a partir de un dato de entrada se llegue a los 
resultados. 
♦ Salida. Resultados finales o transformaciones que ha sufrido la información de 
entrada a través del proceso. 
 
 
EJEMPLO: Se desea conocer cuántos meses han transcurrido entre los inicios de dos años 
cualesquiera dados. 
Datos de entrada 
Como en el momento de construir el algoritmo no se conocen cuáles son los valores del año 
inicial y final, éstos deben representarse mediante variables para que sus valores sean 
dados en el momento de la ejecución. 
• Valor del año inicial o año menor. 
• Valor del año final o año mayor. 
Datos de salida 
• Número de meses transcurridos entre el año inicial y el año final. 
Definición de variables a utilizar 
AINICIO: Año inicial. 
AFINAL: Año final. 
NATRAN: Número de años transcurridos entre AlNICIO y AFINAL. 
NMESES: Número de meses que hay en el período AFINAL - AINICIO. 
1 Inicia el algoritmo. 
2 Acepte valores para AINICIO y AFINAL. 
3 A NATRAN llévele AFINAL - AINICIO. 
4 A NMESES llévele NATRAN * 12. 
Unidad I: Generalidades de los algoritmos 
 
 
7 
5 Muestre el valor que hay almacenado en la variable NMESES. 
6 Termina el algoritmo. 
1.7 REPRESENTACIÓN DE ALGORITMOS: 
 
Los algoritmos deben ser representados usando algún método que les permita ser 
independizados del lenguaje de programación que se requiera utilizar. Los métodos más 
usuales son: diagramas de flujo y pseudocódigos. 
1.7.1 DIAGRAMAS DE FLUJO: 
 
Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir 
que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la 
computadora para producir resultados. 
Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos 
en la computadora), se relacionan entre sí mediante líneas que indican el orden en que se 
deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto 
norteamericano de normalización (ANSI). 
SÍMBOLO 
 
DESCRIPCIÓN 
 
 
Indica el inicio y el final de nuestro diagrama de flujo.
 
 
Indica la entrada y salida de datos. 
 
 
Símbolo de proceso y nos indica la asignación de un 
valor en la memoria y/o la ejecución de una 
operación aritmética. 
 
 
 
Se utiliza para representar los subprogramas. 
 
 Conector dentro de página. Representa la continuidad 
del diagrama dentro de la misma página. 
 
 Conector fuera de página. Representa la continuidad 
del diagrama en otra página. 
 
 
 
Líneas de flujo o dirección. Indican la secuencia en 
que se realizan las operaciones. 
 
 
 
Unidad I: Generalidades de los algoritmos 
 
 
8 
EJEMPLO: Se desea conocer cuántos meses han transcurrido entre los inicios de dos años 
cualesquiera dados. 
 
1.7.2 PSEUDOCÓDIGO: 
 
El pseudocódigo es la representación de los pasos del algoritmo a través de palabras, 
utilizando una nomenclatura estandarizada para denotar el significado de cada paso. 
El pseudocódigo es tan claro como el diagrama y es una herramienta útil para el 
seguimiento de la lógica de un algoritmo y, sobretodo, facilita la transcripción a un lenguaje 
de programación. Tiene la desventaja de que el programador trata de escribir los pasos del 
algoritmo utilizando palabras reservadas, propias del lenguaje en el cual está acostumbrado 
a trabajar. Es necesario, entonces, al igual que en el diagrama, establecer unos parámetros o 
formas de expresar cada instrucción, independientemente de la terminología de los 
lenguajes de programación. 
 
1.7.3 Forma General de un Algoritmo en PseudoCódigo : 
 
Todo pseudocódigo tiene la siguiente estructura general: 
 Proceso Titulo 
 accion 1; 
 accion 1; 
 . 
 . 
 
 accion n; 
 FinProceso 
 
Unidad I: Generalidades de los algoritmos 
 
 
9 
Comienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue 
una secuencia de instrucciones y finaliza con la palabra FinProceso. Una secuencia de 
instrucciones es una lista de una o más instrucciones, cada una terminada en punto y coma. 
Las acciones incluyen operaciones de entrada y salida, asignaciones de variables, 
condicionalessi-entonces o de selección múltiple y/o lazos mientras, repetir o para. 
 
EJEMPLO: Se desea conocer cuántos meses han transcurrido entre los inicios de dos años 
cualesquiera dados. 
Solución: 
Proceso MesesTranscurridos 
 Definir ainicio,afinal,natran,nmeses como entero; 
 Escribir 'Anyo Inicio:'; 
 Leer ainicio; 
 Escribir 'Anyo Fin:'; 
 Leer afinal; 
 natran<-afinal-ainicio; 
 nmeses<-natran*12; 
 Escribir 'Entre ',ainicio,' y ',afinal,' hay ',nmeses,' meses'; 
FinProceso 
 
Las soluciones a problemas propuestos, de ahora en adelante, se harán utilizando 
pseudocódigo. 
Aspectos a tener en cuenta: 
♦ Trate de entender y hacer el mejor análisis posible del problema a solucionar. 
♦ A las variables se les asignan valores en el momento de ejecución, bien sea a través 
de una instrucción de entrada de datos o una instrucción de asignación. 
♦ Cuando se le asigna valor a una variable; lo que había antes en esa determinada 
dirección es destruido, no se puede recuperar. 
♦ No todos los valores de partida al hacer el algoritmo son datos de entrada, sólo lo 
son aquellos valores que desconocemos en el momento, pero que serán suministrados en la 
fase de ejecución. 
♦ Se aprende a construir algoritmos haciendo algoritmos. Trate de hacer el máximo 
número de algoritmos propuestos. 
 
 
 
 
 
 
 
 
 
 
Unidad I: Generalidades de los algoritmos 
 
 
10 
1.8 ELEMENTOS DE LOS ALGORITMOS: 
 
1.8.1 VARIABLES: 
 
Una variable en un algoritmo computacional es una posición de memoria donde se puede 
almacenar información. Como su nombre lo indica, el valor almacenado en una variable 
puede ir variando a medida que el programa avanza. En un pseudocódigo el concepto es 
similar. Una variable representa un lugar donde guardar cierta información. 
En un algoritmo o programa se hace referencia a una variable mediante un identificador (el 
nombre de la variable). 
Un identificador: 
• Debe comenzar con letras, y puede contener solo letras, números y el guión bajo. 
• No puede contener ni espacios ni operadores, ni coincidir con una palabra reservada 
o función del lenguaje, para no generar ambigüedad. 
Ejemplos de identificadores válidos son: 
A, B, C, Lado1, Total, Nombre_y_Apellido, DireccionCorreo, ... 
En la mayoría de los lenguajes reales los nombres de variables no pueden contener acentos, 
ni diéresis, ni eñes. En PSeInt, esto se permite si se activa la Sintaxis Flexible (ver Opciones 
del PSeudocódigo). 
En PSeInt las variables tienen un tipo de dato asociado, por lo que durante la ejecución del 
algoritmo una variable deberá guardar datos siempre del mismo tipo. Por ejemplo, si una 
variable se utiliza para guardar números, no puede utilizarse luego para guardar texto. Este 
tipo se puede declarar explícitamente con la palabra clave Definir, o se puede dejar que el 
intérprete intente deducirlo a partir de los datos que se guardan en la misma y la forma en 
que se la utiliza en el algoritmo. Si utiliza el perfil de lenguaje por defecto (Flexible), la 
definición explícita es opcional, pero se puede configurar el lenguaje para que la misma sea 
obligatoria. 
Hay dos formas de crear una variable y/o asignarle un valor: la lectura y la asignación. Si 
se lee o asigna un valor en una variable que no existe, esta se crea. Si la variable ya existía, 
esta toma el nuevo valor, perdiendo el viejo. Por esto se dice que la asignación y la lectura 
son acciones destructivas (aunque se debe notar que en la asignación pueden intervenir 
más de una variable, y solo se destruye el contenido previo de la que se encuentra a la 
izquierda del signo de asignación). Una vez inicializada, la variable puede utilizarse en 
cualquier expresión. 
1.8.2 TIPOS DE DATOS: 
 
• Tipos Simples: Numérico, Lógico, Caracter. 
• Estructuras de Datos: Arreglos. 
• Definición explícita de variables. 
Los tipos de datos simples se determinan automáticamente cuando se crean las variables. 
Las dos acciones que pueden crear una variable son la lectura (LEER) y la asignación (<-). 
Unidad I: Generalidades de los algoritmos 
 
 
11 
Por ejemplo, la asignación "A<-0;" está indicando implícitamente que la variable A será una 
variable numérica. Una vez determinado el tipo de dato, deberá permanecer constante 
durante toda la ejecución del proceso; en caso contrario el proceso será interrumpido. 
Se puede definir el tipo de una variable antes de utilizarla. Esta definición puede ser 
obligatoria u opcional dependiendo de la configuración del lenguaje. 
Los arreglos son estructuras homogéneas (es decir, que todos sus elementos son del mismo 
tipo simple de dato). El tipo de sus elementos se determina cuando se utiliza alguno de ellos 
de igual forma que para las variables de tipos simples. Pueden ser mono o 
multidimensionales, pero deben ser dimensionados antes de ser utilizados por primera vez 
mediante la directiva DIMENSION (ejemplo: "DIMENSION A[10,20];"). 
Los identificadores, o nombres de variables, deben constar sólo de letras, números y/o 
guin_bajo (_), comenzando siempre con una letra. 
1.8.3 EXPRESIONES: 
 
Una expresión es un grupo de operadores que actúan sobre operandos, para proporcionar 
un único resultado. Una expresión consta de operadores y operandos. Según sea el tipo de 
datos que manipulan, se clasifican las expresiones en: 
⇒ Aritméticas: En este caso los operandos son constantes o variables numéricas 
unidas a través de operadores aritméticos, donde el resultado obtenido de la expresión es 
un número. 
⇒ Lógicas: En este tipo de expresiones existe por lo menos un operador lógico 
actuando sobre variables numéricas, lógicas o caracteres. El resultado siempre será falso o 
verdadero. Los operadores lógicos son de dos clases: relacionales y booleanos. 
⇒ Relacionales: En este tipo de expresiones existe por lo menos un operador 
relacional actuando sobre variables. El resultado siempre será falso o verdadero. 
 
1.8.4 OPERADORES Y OPERANDOS: 
 
Operadores: Son elementos que relacionan de forma diferente, los valores de una o más 
variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Este 
pseudolenguaje dispone de un conjunto básico de operadores que pueden ser utilizados 
para la construcción de expresiones más o menos complejas. 
Tipos de Operadores: 
♦♦♦♦ Aritméticos 
♦♦♦♦ Lógicos 
♦♦♦♦ Relacionales 
 
Operadores Aritméticos: Permiten la realización de operaciones matemáticas con los 
valores (variables y constantes), pueden ser utilizados con tipos de datos enteros o reales. 
 
 
Unidad I: Generalidades de los algoritmos 
 
 
12 
Operador Significado Ejemplo 
+ Suma total <- cant1 + cant2 
- Resta stock <- disp - venta 
* Multiplicación area <- base * altura 
/ División porc <- 100 * parte / total 
^ Potenciación sup <- 3.41 * radio ^ 2 
% 
ó MOD 
Módulo (Resto de la 
división entera) 
resto <- num MOD div 
 
Ejemplos: 
Expresión Resultado 
7/2 3.5 
12 MOD 7 5 
4+2*5 14 
Nota: Las expresiones aritméticas que involucran más de un operador son evaluadas 
dependiendo de la prioridad que tenga el operador. Si dos o más operadores consecutivos 
tienen la misma prioridad, las operaciones se ejecutarán en la instrucción de izquierda a 
derecha. 
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. 
� Los operadores en una misma expresión con igual nivel de prioridad se evalúan de 
izquierda a derecha. 
 
Tabla de Prioridad de los Operadores Aritméticos: 
1. ^ 
2. *, /, 
3. +, - Suma y resta. 
 
Ejemplos: 
���� 4 + 2 * 5 = 14 � 4 + 10 = 14 
���� 45 * 10 / 2 = 225 � 45 * 5 = 225 
���� 52 / 5 = 10,4 
���� 4 + 8 * (15 - (8+4)) = 28 � 4+ 8 * (15 - 12) = 4 + 8 * 3 = 4 + 24 = 28 
���� 3 + 5 * (10-6) = 23 � 3 + 5 * 4 = 3 + 20 = 23 
���� 3,5 + 5,09 - 22,0 / 30 = 7,86 � 3,5 + 5,09 – 0,73 = 7,86 
���� 7,6 * (5,7 + 7,0 * 9,4) = 543,4 � 7,6 * 71,5 = 543,4 
 
♦ Operadores Relacionales: Permiten realizar comparaciones de tipo numérico, 
carácter o lógico, y tienen la misma prioridad en su evaluación. 
 
Unidad I: Generalidades de los algoritmos 
 
 
13 
� Se utilizan para establecer una relación entre dos valores. 
� Compara estos valores entre si y esta comparación produce un resultado (verdadero 
o falso). 
� Los operadores relacionales comparan valores del mismo tipo (numéricos o 
cadenas). 
� Tienen el mismo nivel de prioridad en su evaluación. 
� Los operadores relacionales tiene menor prioridad que los aritméticos. 
 
Operador Significado Ejemplo 
> Mayor que 5>2 //Verdadero 
< Menor que 3<1 //Falso 
>= Mayor o igual que 5>=5 //Verdadero 
<= Menor o igual que 2<=2 //Verdadero 
= Igual que 4=5 //Falso 
 <> Diferente 4<>5 //Verdadero 
 
Ejemplos: Si x = 5 y = 12 z = 25 
� x + y > z Falso 
� x - y > z Falso 
� x - y = z Falso 
� x * y < > z Verdadero 
� x = z Falso 
� (x + 20) <> (z+1) Verdadero 
 
♦ Operadores Lógicos: Operan sobre información lógica, uniendo condiciones 
simples para formar condiciones compuestas. 
 
Operador Significado Ejemplo 
& o Y Conjunción (y) (7>4) & (2=1) //Falso 
| o O Disyunción (o) (1=1 | 2=1) //Verdadero 
~ ó NO Negación (no) ~(2<5) //Falso 
 
Operador & (and) 
Operando1 Operador Operando2 Resultado 
V & V V 
V & F F 
F & V F 
F & F F 
 
Operador | (or) 
Operando1 Operador Operando2 Resultado 
V | V V 
V | F V 
F | V V 
F | F F 
 
Unidad I: Generalidades de los algoritmos 
 
 
14 
Operador ~ (Negación) 
Operando Resultado 
V F 
F V 
 
♦ Tabla de Prioridad de los Operadores Lógicos: 
1. ~ 
2. & 
3. | 
 
 
 
La siguiente tabla exhibe la totalidad de los operadores de este lenguaje reducido: 
 
Unidad I: Generalidades de los algoritmos 
 
 
15 
La jerarquía de los operadores matemáticos es igual a la del álgebra, aunque puede alterarse 
mediante el uso de paréntesis. 
Prioridad de los Operadores en General: 
1. ( ) 
2. ^ 
3. *, /, MOD o %, ~ 
4. +, -, & 
5. >, <, > =, < =, <>, =, | 
 
1.8.5 FUNCIONES: 
 
Las funciones en el pseudocódigo se utilizan de forma similar a otros lenguajes. Se coloca su 
nombre seguido de los argumentos para la misma encerrados entre paréntesis y se pueden 
utilizar dentro de cualquier expresión. A continuación se listan las funciones integradas 
disponibles: 
 
Unidad I: Generalidades de los algoritmos 
 
 
16 
EJERCICIOS PROPUESTOS: 
1. Escriba las siguientes expresiones algebraicas como expresiones algorítmicas: 
• ca + cb = c(a + b) 
• 12x2 + 18xy = 3x(4x + 6y) 
• 
• 
• ex (coseno( y) + i seno y) 
• 
• 
�����
√���
 
2. Muestre cuáles son los valores impresos en el siguiente algoritmo. 
 
Proceso impresión 
 Definir i,j,k,l Como Entero; 
 k=2; 
 l=7; 
 i=9+3*5; 
 j=8%6+4*2; 
 l=12^3*2/3+3*7; 
 k=3.5-3*2%6+5; 
 Escribir sin saltar i," ",j," ",k," ",l; 
FinProceso 
 
3. ¿Cuál es el resultado de las siguientes expresiones, tomando en cuenta que: a<-9, 
b<-45, c<-38, d<-21? 
a) ((a>=c) | (c=d)) | ((d>=d) & (b>d)) 
 
b) ((a=b+7) Y (c<-1)) O no(b<>b) 
 
4. ¿Qué imprime el siguiente pseudocódigo? 
Proceso simular 
 a<-5; 
 b<-3; 
 c<-8; 
 t1 <-2*b+3*(a-c); 
 t2 <- a % b; 
 t3 <- a+c mod b; 
 t4 <- 5*a/4*b; 
 t5 <- ((a=b+7) Y (c<-1)) O no(b<>b); 
 Escribir t1,',',t2,',',t3,',',t4,',',t5; 
FinProceso