You are on page 1of 0

2013

DepartamentodeComputacinUNANLen

UNIDAD I:
GENERALIDADES DE LOS
ALGORITMOS
Unidad I: Generalidades de los algoritmos

2
UNIDAD I: GENERALIDADES DE LOS ALGORITMOS

1.1 INTRODUCCIN:

La computadora no ha cumplido ni los cien aos de existencia desde su primera generacin.
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 mquina que puede realizar procesos para darnos
resultados, sin que tengamos la nocin exacta de las operaciones que realiza para llegar a
esos resultados. Con la computadora adems de lo anterior tambin podemos disear
soluciones a la medida de problemas especficos que se nos presenten. Ms an, si estos
involucran operaciones matemticas complejas y/o repetitivas, o requieren del manejo de
un volumen muy grande de datos.

Computadora: Es un dispositivo electrnico utilizado para procesar informacin y obtener
resultados. Los datos y la informacin se pueden introducir en la computadora como
entrada (input) y a continuacin 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 LGICA:

Cuando se desarrolla un algoritmo que da solucin a un problema determinado,
previamente se han debido cumplir los pasos anteriores a l. Como stos son previos a la
construccin del programa que ejecutar la computadora, debe haber coherencia y
concatenacin en cada uno de los pasos seleccionados para la solucin 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 programacin y ejecutarse en computadoras
distintas; sin embargo, el algoritmo ser siempre el mismo. De ah que los errores lgicos
que se cometan en la elaboracin de ste pasarn 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 solucin o resultado(s) de un problema que no involucra clculos
matemticos; pero aunque la descripcin 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 ms pasos en uno solo, segn l lo entienda.



Unidad I: Generalidades de los algoritmos

3
ANLISIS DEL PROBLEMA

Entrada:
Dos rebanadas de pan.
Mayonesa.
Jamn.
Queso.
Lechuga.
Tomate, etc.

Proceso:
Colocar mayonesa una cara de cada respectiva rebanada de pan.
En una de las rebanadas colocar el jamn.
Encima del jamn colocar el queso.
Arriba del queso colocar la lechuga.
Sobre la lechuga las rodajas de tomate.
Por ltimo cerrar tu sndwich con la otra rebanada de pan.
Salida:
Un delicioso sndwich.

ALGORITMO:
1. Inicio
2. Conseguir dos rebanadas de pan, mayonesa, 1 rebanada jamn y de queso, lechuga y
rodajas de tomate.
3. Colocar mayonesa en una cara de cada rebanada de pan.
4. En una de las rebanadas colocar el jamn.
5. Encima del jamn colocar el queso.
6. Arriba del queso colocar la lechuga.
7. Sobre la lechuga poner el tomate
8. Con la otra rebanada cerrar tu sndwich
9. Listo ya tienes tu delicioso sndwich
10. Fin

Posiblemente alguien dir: antes de hacer una de las tareas propuestas es necesario hacer
otras, tales como:
Unidad I: Generalidades de los algoritmos

4
Para llegar al paso uno:
Todo esto puede ocurrir antes o despus de cada uno de los pasos descritos inicialmente; de
tal manera, que un procedimiento puede ser tan refinado o tener tantas instrucciones como
cree quien lo elabora; en cambio en los algoritmos los pasos no dependen de quien los
realiza, sino de la lgica del problema.
Ejemplo 2:
DEFINICION DEL PROBLEMA: Elabora el algoritmo para redactar y enviar un correo
electrnico.
ANALISIS DEL PROBLEMA
Entrada:
Cuenta de correo electrnico, contenido de correo en mente, destinatario de correo,
computadora con internet.
Proceso:
Encender la computadora y abrir el navegador de internet.
En el recuadro del link colocar la direccin de tu portal de correo electrnico.
Acceder a tu cuenta de correo electrnico.
Ir a la opcin Redactar
Llenar los campos de destinatario y asunto
En el rea en blanco escribir el texto que se desee
Seleccionar la opcin Enviar
Cerrar tu cuenta de correo electrnico.
Salida:
Un correo redactado y enviado a su destino
ALGORITMO
1. Inicio
2. Tener una computadora con acceso a internet.
3. Tener una cuenta de correo electrnico
4. Saber qu texto se va a enviar y el destinatario
5. Prender la computadora y abrir tu navegador de internet.
6. En el rea del recuadro del link colocar la direccin del portal de tu cuenta de correo
Unidad I: Generalidades de los algoritmos

5
7. Abrir tu correo e ir a la opcin enviar nuevo 8. En el rea en blanco escribir el texto que
se desee.
9. Llenar los campos de destinatario y asunto.
10. Seleccionar la opcin enviar.
11. Cerrar tu cuenta de correo electrnico.
12. Ahora ya as enviado tu correo.
13. Fin
1.4 METODOLOGA PARA RESOLVER PROBLEMAS A TRAVS DE COMPUTADORAS:

Las computadoras pueden ejecutar un gran nmero de operaciones a muy altas velocidades
y con intervencin mnima 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 solucin de problemas por medio de computadora debe emplear la siguiente
metodologa:
Definicin del Problema: Esta fase est dada por el enunciado del problema, el
cual requiere una definicin 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.

Anlisis 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 mtodos y frmulas que se necesitan para procesar los datos.
o Cul es la informacin que se desea producir (salida).

Diseo del Algoritmo: Cuando el programador tiene toda la informacin 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 formarn parte del programa.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir,
para dar solucin a un problema especfico.
Los tipos de algoritmos son:
o Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
Unidad I: Generalidades de los algoritmos

6
o Cuantitativos: Son aquellos en los que se utilizan clculos numricos para
definir los pasos del proceso.
Lenguajes Algortmicos: Serie de smbolos y reglas que se utilizan para describir de
manera explcita un proceso. Los tipos de lenguajes algortmicos son:
o Grficos: Es la representacin grfica de las operaciones que realiza un
algoritmo (diagrama de flujo)
o No Grficos: Representan en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocdigo).
Ejemplo: Algoritmo representado mediante un pseudocdigo que suma dos nmeros de
tipo entero.
Proceso Suma
Definir a,b,c como entero;
Leer a,b;
c < a+b;
Escribir 'La suma es: ', c;
FinProceso

Codificacin: Con base en el algoritmo terminado, se escribe una serie de
instrucciones detalladas. Las que se denominan programa fuente y suelen estar
escritas en algn lenguaje de programacin.
Lenguajes de Programacin: Es un conjunto de smbolos, caracteres y reglas (programas)
que le permiten a las personas comunicarse con la computadora. Los lenguajes de
programacin tienen un conjunto de instrucciones que nos permiten realizar operaciones
de entrada/salida, calculo, manipulacin de textos, lgica/comparacin y
almacenamiento/recuperacin.
Prueba y Depuracin: Cuando el programa fuente se desea traducir a lenguaje de
mquina, 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 instruccin hay un error y de qu tipo es ste.
Todos los errores sealados por los diagnsticos del tiempo de compilacin deben
corregirse antes de que el sistema pueda procesar los datos.

Documentacin: La documentacin es la etapa final en la elaboracin de un
programa y tiene lugar despus de que se ha almacenado y corregido. Documentar
el programa se refiere a la recopilacin, en un solo lugar, de toda aquella
informacin de importancia que se us para elaborar el programa.







Unidad I: Generalidades de los algoritmos

7
1.5 DEFINICIN DE ALGORITMO:

En matemticas, ciencias de la computacin y disciplinas relacionadas, un algoritmo (del
griego y latn, dixit algorithmus y este a su vez del matemtico persa AlJuarismi) 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 solucin.

Cuando se quiere solucionar un problema a travs de la computadora, se exige un algoritmo
que muestre la secuencia de solucin del mismo.
Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de
algortmica y programacin, todas ellas muy similares:
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
ms finito. [Donald E. Knuth, 1968]
Descripcin 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 lxico [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 solucin o indicar la falta de esta a un problema en un
tiempo determinado. [Rodolfo QuispeOtazu, 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 patrn. Algunos
ejemplos en matemtica son el algoritmo de la divisin para calcular el cociente de dos
nmeros, el algoritmo de Euclides para obtener el mximo comn divisor de dos enteros
positivos, etc.

1.6 CARACTERSTICAS DE LOS ALGORITMOS:

Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Ser limitado o finito: Todo algoritmo debe tener un nmero de instrucciones que limitan
el proceso en algn momento, es decir, la ejecucin 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 ejecucin de un subconjunto
de ellas.
Tener cero o ms entradas: La entrada hace referencia a la informacin proporcionada
al algoritmo, la cual debe sufrir un proceso para obtener los resultados. Un algoritmo tiene
cero o ms datos de entrada. Estos valores le son dados por medio de una instruccin o
mandato que se debe cumplir al ejecutarse el algoritmo. Si no existen datos de entrada es
porque una o ms instrucciones generan los valores de partida, de los que har uso el
algoritmo para producir los datos o valores de salida.
Unidad I: Generalidades de los algoritmos

8
Tener una o ms salidas: Todo algoritmo debe proporcionar uno o ms 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 ms valores numricos,
valores lgicos 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 finalizacin: Un algoritmo debe indicar el orden de realizacin de
cada uno de sus pasos. Debe mostrar la primera, la intermedia y la ltima instruccin que
debe realizarse. Esto permite mostrar que en algn momento debe culminar la accin o
tarea que hace el algoritmo.
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 lgica (flujo del programa) del algoritmo.
Todo algoritmo debe tener tres partes:
Entrada. Informacin 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. Clculos necesarios para que a partir de un dato de entrada se llegue a los
resultados.
Salida. Resultados finales o transformaciones que ha sufrido la informacin de
entrada a travs del proceso.


EJEMPLO: Se desea conocer cuntos meses han transcurrido entre los inicios de dos aos
cualesquiera dados.
Datos de entrada
Como en el momento de construir el algoritmo no se conocen cules son los valores del ao
inicial y final, stos deben representarse mediante variables para que sus valores sean
dados en el momento de la ejecucin.
Valor del ao inicial o ao menor.
Valor del ao final o ao mayor.
Datos de salida
Nmero de meses transcurridos entre el ao inicial y el ao final.


Unidad I: Generalidades de los algoritmos

9
Definicin de variables a utilizar
AINICIO: Ao inicial.
AFINAL: Ao final.
NATRAN: Nmero de aos transcurridos entre AlNICIO y AFINAL.
NMESES: Nmero de meses que hay en el perodo AFINAL AINICIO.
1 Inicia el algoritmo.
2 Acepte valores para AINICIO y AFINAL.
3 A NATRAN llvele AFINAL AINICIO.
4 A NMESES llvele NATRAN * 12.
5 Muestre el valor que hay almacenado en la variable NMESES.
6 Termina el algoritmo.
1.7 REPRESENTACIN DE ALGORITMOS:

Los algoritmos deben ser representados usando algn mtodo que les permita ser
independizados del lenguaje de programacin que se requiera utilizar. Los mtodos ms
usuales son: diagramas de flujo y pseudocdigos.
1.7.1 DIAGRAMAS DE FLUJO:

Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir
que es la representacin detallada en forma grfica de cmo deben realizarse los pasos en la
computadora para producir resultados.
Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos
en la computadora), se relacionan entre s mediante lneas que indican el orden en que se
deben ejecutar los procesos. Los smbolos utilizados han sido normalizados por el instituto
norteamericano de normalizacin (ANSI).
SMBOLO

DESCRIPCIN


Indica el inicio y el final de nuestro diagrama de flujo.


Indica la entrada y salida de datos.


Smbolo de proceso y nos indica la asignacin de un
valor en la memoria y/o la ejecucin de una
operacin aritmtica.

Unidad I: Generalidades de los algoritmos

10


Se utiliza para representar los subprogramas.

Conector dentro de pgina. Representa la continuidad
del diagrama dentro de la misma pgina.

Conector fuera de pgina. Representa la continuidad
del diagrama en otra pgina.



Lneas de flujo o direccin. Indican la secuencia en
que se realizan las operaciones.


EJEMPLO: Se desea conocer cuntos meses han transcurrido entre los inicios de dos aos
cualesquiera dados.






Unidad I: Generalidades de los algoritmos

11
1.7.2 PSEUDOCDIGO:

El pseudocdigo es la representacin de los pasos del algoritmo a travs de palabras,
utilizando una nomenclatura estandarizada para denotar el significado de cada paso.
El pseudocdigo es tan claro como el diagrama y es una herramienta til para el
seguimiento de la lgica de un algoritmo y, sobretodo, facilita la transcripcin a un lenguaje
de programacin. 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 parmetros o
formas de expresar cada instruccin, independientemente de la terminologa de los
lenguajes de programacin.

1.7.3 Forma General de un Algoritmo en PseudoCdigo :

Todo pseudocdigo tiene la siguiente estructura general:
Proceso Titulo
accion 1;
accion 1;
.
.

accion n;
FinProceso
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 ms instrucciones, cada una terminada en punto y coma.
Las acciones incluyen operaciones de entrada y salida, asignaciones de variables,
condicionales sientonces o de seleccin mltiple y/o lazos mientras, repetir o para.

EJEMPLO: Se desea conocer cuntos meses han transcurrido entre los inicios de dos aos
cualesquiera dados.
Solucin:
Proceso MesesTranscurridos
Definir ainicio,afinal,natran,nmeses como entero;
Escribir 'Anyo Inicio:';
Leer ainicio;
Escribir 'Anyo Fin:';
Leer afinal;
natran<afinalainicio;
nmeses<natran*12;
Escribir 'Entre ',ainicio,' y ',afinal,' hay ',nmeses,' meses';
FinProceso

Unidad I: Generalidades de los algoritmos

12
Las soluciones a problemas propuestos, de ahora en adelante, se harn utilizando
pseudocdigo.
Aspectos a tener en cuenta:
Trate de entender y hacer el mejor anlisis posible del problema a solucionar.
A las variables se les asignan valores en el momento de ejecucin, bien sea a travs
de una instruccin de entrada de datos o una instruccin de asignacin.
Cuando se le asigna valor a una variable; lo que haba antes en esa determinada
direccin es destruido, no se puede recuperar.
No todos los valores de partida al hacer el algoritmo son datos de entrada, slo lo
son aquellos valores que desconocemos en el momento, pero que sern suministrados en la
fase de ejecucin.
Se aprende a construir algoritmos haciendo algoritmos. Trate de hacer el mximo
nmero de algoritmos propuestos.

1.8 ELEMENTOS DE LOS ALGORITMOS:


1.8.1 VARIABLES:

Una variable en un algoritmo computacional es una posicin de memoria donde se puede
almacenar informacin. Como su nombre lo indica, el valor almacenado en una variable
puede ir variando a medida que el programa avanza. En un pseudocdigo el concepto es
similar. Una variable representa un lugar donde guardar cierta informacin.
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, nmeros y el guin bajo.
No puede contener ni espacios ni operadores, ni coincidir con una palabra reservada
o funcin del lenguaje, para no generar ambigedad.
Ejemplos de identificadores vlidos son:
A, B, C, Lado1, Total, Nombre_y_Apellido, DireccionCorreo, ...
En la mayora de los lenguajes reales los nombres de variables no pueden contener acentos,
ni diresis, ni ees. En PSeInt, esto se permite si se activa la Sintaxis Flexible (ver Opciones
del PSeudocdigo).
En PSeInt las variables tienen un tipo de dato asociado, por lo que durante la ejecucin del
algoritmo una variable deber guardar datos siempre del mismo tipo. Por ejemplo, si una
variable se utiliza para guardar nmeros, no puede utilizarse luego para guardar texto. Este
tipo se puede declarar explcitamente con la palabra clave Definir, o se puede dejar que el
intrprete 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
definicin explcita es opcional, pero se puede configurar el lenguaje para que la misma sea
obligatoria.
Unidad I: Generalidades de los algoritmos

13
Hay dos formas de crear una variable y/o asignarle un valor: la lectura y la asignacin. Si
se lee o asigna un valor en una variable que no existe, esta se crea. Si la variable ya exista,
esta toma el nuevo valor, perdiendo el viejo. Por esto se dice que la asignacin y la lectura
son acciones destructivas (aunque se debe notar que en la asignacin pueden intervenir
ms de una variable, y solo se destruye el contenido previo de la que se encuentra a la
izquierda del signo de asignacin). Una vez inicializada, la variable puede utilizarse en
cualquier expresin.
1.8.2 TIPOS DE DATOS:

Tipos Simples: Numrico, Lgico, Caracter.
Estructuras de Datos: Arreglos.
Definicin explcita de variables.
Los tipos de datos simples se determinan automticamente cuando se crean las variables.
Las dos acciones que pueden crear una variable son la lectura (LEER) y la asignacin (<).
Por ejemplo, la asignacin "A<0;" est indicando implcitamente que la variable A ser una
variable numrica. Una vez determinado el tipo de dato, deber permanecer constante
durante toda la ejecucin del proceso; en caso contrario el proceso ser interrumpido.
Se puede definir el tipo de una variable antes de utilizarla. Esta definicin puede ser
obligatoria u opcional dependiendo de la configuracin del lenguaje.
Los arreglos son estructuras homogneas (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 slo de letras, nmeros y/o
guin_bajo (_), comenzando siempre con una letra.
1.8.3 EXPRESIONES:

Una expresin es un grupo de operadores que actan sobre operandos, para proporcionar
un nico resultado. Una expresin consta de operadores y operandos. Segn sea el tipo de
datos que manipulan, se clasifican las expresiones en:
Aritmticas: En este caso los operandos son constantes o variables numricas
unidas a travs de operadores aritmticos, donde el resultado obtenido de la expresin es
un nmero.
Lgicas: En este tipo de expresiones existe por lo menos un operador lgico
actuando sobre variables numricas, lgicas o caracteres. El resultado siempre ser falso o
verdadero. Los operadores lgicos 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.




Unidad I: Generalidades de los algoritmos

14
1.8.4 OPERADORES Y OPERANDOS:

Operadores: Son elementos que relacionan de forma diferente, los valores de una o ms
variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Este
pseudolenguaje dispone de un conjunto bsico de operadores que pueden ser utilizados
para la construccin de expresiones ms o menos complejas.
Tipos de Operadores:
Aritmticos
Lgicos
Relacionales

Operadores Aritmticos: Permiten la realizacin de operaciones matemticas con los
valores (variables y constantes), pueden ser utilizados con tipos de datos enteros o reales.

Operador Significado Ejemplo
+ Suma total < cant1 + cant2
Resta stock < disp venta
* Multiplicacin area < base * altura
/ Divisin porc < 100 * parte / total
^ Potenciacin sup < 3.41 * radio ^ 2
%
MOD
Mdulo (Resto de la
divisin entera)
resto < num MOD div

Ejemplos:
Expresin Resultado
7/2 3.5
12 MOD 7 5
4+2*5 14
Nota: Las expresiones aritmticas que involucran ms de un operador son evaluadas
dependiendo de la prioridad que tenga el operador. Si dos o ms operadores consecutivos
tienen la misma prioridad, las operaciones se ejecutarn en la instruccin de izquierda a
derecha.
Prioridad de los Operadores Aritmticos:
Todas las expresiones entre parntesis se evalan primero. Las expresiones con
parntesis anidados se evalan de dentro a fuera, el parntesis ms interno se evala
primero.
Dentro de una misma expresin los operadores se evalan en el siguiente orden.
Los operadores en una misma expresin con igual nivel de prioridad se evalan de
izquierda a derecha.

Unidad I: Generalidades de los algoritmos

15
Tabla de Prioridad de los Operadores Aritmticos:
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 * (106) = 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 numrico,
carcter o lgico, y tienen la misma prioridad en su evaluacin.

Se utilizan para establecer una relacin entre dos valores.
Compara estos valores entre si y esta comparacin produce un resultado (verdadero
o falso).
Los operadores relacionales comparan valores del mismo tipo (numricos o
cadenas).
Tienen el mismo nivel de prioridad en su evaluacin.
Los operadores relacionales tiene menor prioridad que los aritmticos.

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 Lgicos: Operan sobre informacin lgica, uniendo condiciones
simples para formar condiciones compuestas.

Operador Significado Ejemplo
& o Y Conjuncin (y) (7>4) & (2=1) //Falso
| o O Disyuncin (o) (1=1 | 2=1) //Verdadero
~ NO Negacin (no) ~(2<5) //Falso

Unidad I: Generalidades de los algoritmos

16
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

Operador ~ (Negacin)
Operando Resultado
V F
F V

Tabla de Prioridad de los Operadores Lgicos:
1. ~
2. &
3. |











Unidad I: Generalidades de los algoritmos

17
La siguiente tabla exhibe la totalidad de los operadores de este lenguaje reducido:

La jerarqua de los operadores matemticos es igual a la del lgebra, aunque puede alterarse
mediante el uso de parntesis.
Prioridad de los Operadores en General:
1. ( )
2. ^
3. *, /, MOD o %, ~
4. +, , &
5. >, <, > =, < =, < >, =, |




Unidad I: Generalidades de los algoritmos

18
1.8.5 FUNCIONES:

Las funciones en el pseudocdigo se utilizan de forma similar a otros lenguajes. Se coloca su
nombre seguido de los argumentos para la misma encerrados entre parntesis (por ejemplo
trunc(x)). Se pueden utilizar dentro de cualquier expresin, y cuando se evale la misma, se
reemplazar por el resultado correspondiente. Actualmente, todas la funciones disponibles
son matemticas (es decir que devolvern un resultado de tipo numrico) y reciben un slo
parmetro de tipo numrico. A continuacin se listan las funciones integradas disponibles:

1.9 ACCIONES SECUENCIALES:

Las primitivas secuenciales son:
Asignacin.
Lectura.
Escritura.




Unidad I: Generalidades de los algoritmos

19
1.9.1 ASIGNACIN:

La instruccin de asignacin permite almacenar un valor en una variable.
<variable > < <expresin> ;
Al ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se asigna el
resultado a la variable de la izquierda. El tipo de la variable y el de la expresin deben
coincidir.
Si la variable de la izquierda no exista previamente a la asignacin, se crea. Si la variable
exista se pierde su valor anterior y toma el valor nuevo, razn por la cual se dice que la
asignacin es "destructiva" (destruye el valor que tena la variable de la izquierda). Los
contenidos de las variables que intervienen en la expresin de la derecha no se modifican.
Existen dos operadores de asignacin alternativos que pueden utilizarse indistintamente en
cualquier caso.
<variable> := <expresin> ;
<variable> = <expresin> ;
1.9.2 LECTURA:

La instruccin Leer permite ingresar informacin desde el ambiente.
Leer <variablel> , <variable2> , ... ,<variableN> ;
Esta instruccin toma N valores desde el ambiente (en este caso el teclado) y los asigna a las
N variables mencionadas. Pueden incluirse una o ms variables, por lo tanto el comando
leer uno o ms valores.
Si una variable donde se debe guardar el valor ledo no existe, se crea durante la lectura. Si
la variable existe se pierde su valor anterior ya que tomar el valor nuevo, razn por la cual
se dice que la lectura es "destructiva" (destruye el valor que tena previamente la variable).
El ejemplo Suma muestra un algoritmo muy simple que lee dos nmeros y calcula e imprime
la suma de los mismos.
Proceso Suma
Definir A,B,C como entero;
Escribir "Ingrese el primer numero:";
Leer A;
Escribir "Ingrese el segundo numero:";
Leer B;
C < A+B;
Escribir A," + ", B," = ",C;
FinProceso




Unidad I: Generalidades de los algoritmos

20
1.9.3 ESCRITURA:

La instruccin Escribir permite mostrar valores al ambiente.
Escribir <exprl> , <expr2> , ... , <exprN> ;
Esta instruccin informa al ambiente (en este caso escribiendo en pantalla) los valores
obtenidos de evaluar N expresiones. Dado que puede incluir una o ms expresiones,
mostrar uno o ms valores. Si hay ms de una expresin, se escriben una a continuacin de
la otra sin separacin, por lo que el algoritmo debe explicitar los espacios necesarios para
diferenciar dos resultados si as lo requiere. Si en algn punto de la lnea se encuentran las
palabras clave "SIN SALTAR" o "SIN BAJAR" los valores se muestran en la pantalla, pero no
se avanza a la lnea siguiente, de modo que la prxima accin de lectura o escritura
continuar en la misma lnea. En caso contrario, se aade un salto de lnea luego de las
expresiones mostradas.
Escribir Sin Saltar <exprl> , ... , <exprN>;
Escribir <exprl> , ... , <exprN> Sin Saltar;
1.9.4 OTRAS ACCIONES SECUENCIALES:

Borrar Pantalla; (o "Limpiar Pantalla") permite, como su nombre lo indica, borrar la


pantalla y colocar el cursor en la esquina superior izquierda.
Esperar Tecla; Detiene su algoritmo hasta que el usuario presione una tecla cualquiera de
su teclado.
La instruccin "Esperar" tambin puede utilizarse para pausar el algoritmo durante un
intervalo de tiempo predefinido, indicando a continuacin de la palabra clave la longitud y
unidad de dicho intervalo. Las unidades vlidas son Segundos y Milisegundos.
Ejemplo: Esperar 3 Segundos;










Unidad I: Generalidades de los algoritmos

21
EJERCICIOS PROPUESTOS:
1. Escriba las siguientes expresiones algebraicas como expresiones algortmicas:

.

e. e
x
(coseno(y)+isenoy) f.

2. Si el valor interno de la variable A = 4, el de B = 5, de C = 1, L =.V (Verdadero).
Muestre cules son los valores impresos en el siguiente algoritmo.
Proceso probar
Definir A,B,C,X,V,Z como entero;
A<4;
B<5;
C<9;
X<B*AB^2/4*C;
V < (A*B/(3^2));
Z<(((B+C) /2*A+10)*3*B);
Escribir X,V,Z;
FinProceso

3. Usando los valores de A, B, C y L, arriba mencionados, calcule el valor almacenado en
las siguientes variables:
X < ( A > B ) & ( ~L ) | ( C < 30 )
Y < ( B < = 100 ) ~ ( A > C ) | ( C = 1 )
Z < ( B = 5 ) & ( C = 30 ) & ~L
W < (( B + 20 ) > ( C 1 )) | (( A + 5 ) <= 50 )

4. Qu imprime el siguiente pseudocdigo?
Proceso imprimir
x<23;
yy<15;
z<5;
res1 < 3*(xyy+z)+6*yy/3;
res2 < x%yy*6;
res3 < 12+res2;
Escribir res1,',',res2,',',res3;
FinProceso

5. Cul es el resultado de la siguiente expresin, tomando en cuenta que a<9,
b<45, c<38, d<21?
((a>=c) | (c=d)) | ((d>=d) & (b>d))

You might also like