Está en la página 1de 17

2012

UNIDAD I:
GENERALIDADES DE LOS
ALGORITMOS

Ing. en Sistemas
Sistema Modalidad Sabatino
Unidad I: Generalidades de los algoritmos

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, tales como: Proveer a los mdicos informacin actualizada sobre la salud del
paciente, preparar grficas de patrones climatolgicos y producir planes de vuelo de
acuerdo con las condiciones climatolgicas, prestar ayuda en la oceanografa y la
navegacin, etc.

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.

2
Unidad I: Generalidades de los algoritmos

Ejemplo: Procedimiento que muestre los pasos necesarios para cambiar una llanta
pinchada de un carro.

Una posible solucin sera:

1 Iniciar
2 Sacar la llanta y herramientas de la maleta del carro
3 Sacar la llanta pinchada
4 Colocar la llanta buena
5 Guardar la llanta pinchada y la herramienta
6 Subirse al carro
7 Reanudar el viaje
8 Terminar

Posiblemente alguien dir: antes de hacer una de las tareas propuestas es necesario hacer
otras, tales como:

Para llegar al paso uno:

Primero debe orillar el carro

Detener el carro

Bajarse del carro

abrir la maleta del carro

Sacar las seales de peligro y colocarlas a cierta distancia

Para llegar al paso dos:

Introducir la llave en la tuerca

Aflojar levemente las tuercas

Levantar mediante un gato hidrulico el carro

Sacar las tuercas

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.

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.

3
Unidad I: Generalidades de los algoritmos

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.
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.

Proceso Suma

Leer a,b;

c <- a+b;

Escribir 'La suma es:', c;

FinProceso

4
Unidad I: Generalidades de los algoritmos

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.

Los lenguajes de programacin se clasifican en:

Lenguaje Mquina: Son aquellos cuyas instrucciones son directamente


entendibles por la computadora y no necesitan traduccin posterior para que la CPU
pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se
expresan en trminos de la unidad de memoria mas pequea el bit (dgito binario 0 o 1).

Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se


escriben en cdigos alfabticos conocidos como mnemotcnicos para las operaciones y
direcciones simblicas.

Lenguaje de Alto Nivel: Son aquellos en los que las instrucciones o sentencias a la
computadora son escritas con palabras similares a los lenguajes humanos, lo que facilita la
escritura y comprensin del programa, entre los cuales se encuentran: BASIC, PASCAL,
FORTRAN, C, C++, JAVA.

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.

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 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 solucin.

5
Unidad I: Generalidades de los algoritmos

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 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 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.

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.

6
Unidad I: Generalidades de los algoritmos

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.

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.

7
Unidad I: Generalidades de los algoritmos

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 como 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 si 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.

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.

8
Unidad I: Generalidades de los algoritmos

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.

1.7.2 PSEUDOCDIGO:

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.

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.

Forma General de un Algoritmo en PseudoCdigo :

Todo algoritmo en pseudocdigo tiene la siguiente estructura general:

Proceso Titulo

accion 1;

accion 1;

9
Unidad I: Generalidades de los algoritmos

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 si-entonces 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

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 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.

10
Unidad I: Generalidades de los algoritmos

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 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.

1.8.2 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.

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
% Mdulo (Resto de la resto <- num MOD div
MOD divisin entera)

11
Unidad I: Generalidades de los algoritmos

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.

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 * (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 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.

12
Unidad I: Generalidades de los algoritmos

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


&oY Conjuncin (y) (7>4) & (2=1) //Falso
|oO Disyuncin (o) (1=1 | 2=1) //Verdadero
~ NO Negacin (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

Operador ~ (Negacin)

Operando Resultado
V F
F V

13
Unidad I: Generalidades de los algoritmos

Tabla de Prioridad de los Operadores Lgicos:


1. ~
2. &
3. |

Prioridad de los Operadores en General:

1. ()
2. ^
3. *, /, MOD o %, ~
4. +, -, &
5. >, <, > =, < =, < >, =, |

1.8.3 IDENTIFICADORES:

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
posicin en la memoria de la computadora, que nos permite accesar a su contenido.

Reglas para formar un Identificador:

o Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben


contener espacios en blanco.
o Despus del primer carcter estn permitidos: letras, dgitos (09) y el
carcter (_).

Ejemplos: MisDatos

CantHoras

Calif1

1.8.4 TIPOS DE DATOS:

Para que una computadora pueda hacer clculos debe tener almacenados en la memoria
principal los valores con los cuales ha de trabajar; por lo tanto, se necesita un espacio
interno para guardar esos valores en forma temporal.

14
Unidad I: Generalidades de los algoritmos

Esos espacios internos de la memoria son grupos de bits biestables denominados campos;
a stos se les asigna una nica direccin de memoria y su capacidad o valor mximo que se
puede almacenar en ellos depender del tamao del grupo. Los campos pueden ser de dos
clases:

 Campos variables.
 Campos constantes.

1.8.4.1 CAMPOS VARIABLES:

Son todos aquellos campos que permiten que el contenido almacenado en el espacio de
memoria asignado, pueda ser alterado en el transcurso de la ejecucin del programa; o
sea, en un momento tiene un valor y ms adelante puede tener otro distinto, pero nunca
ms de un valor al mismo tiempo.

Esta clase de campos, que en lo sucesivo se denominarn simplemente variables, se


identifican por un nombre con el cual actan durante todo el transcurso del proceso, por
lo tanto, deben ser nicos. El nombre dado a la variable debe iniciar con una letra seguida,
si se quiere, de letras o dgitos. Es el programador quien da nombre a sus variables
teniendo en cuenta la regla anterior.

Ejemplos de nombres de variables:

A
b1
datos
NOMBRE
Salario_hora

Es buena prctica de programacin utilizar nombres de variables significativas


(nemotcnicas), es decir, que sugieran lo que ellas representan, ya que esto hace que el
algoritmo, y por ende el programa, sea ms legible y fcil de comprender.

Si se quiere dar nombre a una variable que va a almacenar un pago, por ejemplo,
perfectamente lo podemos llamar K, pero sera ms diciente si la denominamos PAG o ms
directamente PAGO. Tampoco estos nombres deben ser tan excesivamente largos debido a
que dificultan la escritura del algoritmo.

CLASIFICACIN DE LAS VARIABLES:

15
Unidad I: Generalidades de los algoritmos

1.8.4.2 POR SU CONTENIDO:

 Variable Numricas: Son aquellas en las cuales se almacenan valores numricos,


positivos o negativos, es decir almacenan nmeros del 0 al 9 y el punto decimal.

Ejemplo: iva<-0.15, pi <- 3.1416, costo<-2500

 Variables Lgicas: Son aquellas que solo pueden tener dos valores (verdadero o
falso), estos representan el resultado de una comparacin entre otros datos.

 Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras,


nmeros y caracteres especiales).

Ejemplo: 'H', "hola mundo", F

1.8.4.3 POR SU USO:

 Variables de Trabajo: Variables que reciben el resultado de una operacin


matemtica completa y que se usan normalmente dentro de un programa.
Ejemplo: Suma <- a + b /c

 Variables Contadores: Se utilizan para llevar el control del nmero de ocasiones


en que se realiza una operacin o se cumple una condicin.

 Variables 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.

1.8.4.4 CAMPOS CONSTANTES:

Es otra forma de manejar el grupo de elementos asignados en memoria, pero que a


diferencia de las variables su contenido no puede cambiar durante el proceso. Esta clase
de campos se identifica directamente por la informacin que tiene almacenada y es
asignada desde el momento en que se hace la compilacin. Pueden existir campos
constantes, o simplemente constantes, de tipo numrico, carcter o lgico.

Por ejemplo: Pi <- 3.1416

16
Unidad I: Generalidades de los algoritmos

EJERCICIOS PROPUESTOS:

1. Escriba las siguientes expresiones algebraicas como expresiones algortmicas:

.     



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

A<-4;

B<-5;

C<-9;

X<-B*A-B^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 )

17