Académique Documents
Professionnel Documents
Culture Documents
UNIDAD I:
GENERALIDADES DE LOS
ALGORITMOS
Ing. en Sistemas
Sistema Modalidad Sabatino
Unidad I: Generalidades de los algoritmos
1.1 INTRODUCCIN:
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.
1.2 LA LGICA:
1.3 PROCEDIMIENTO:
2
Unidad I: Generalidades de los algoritmos
Ejemplo: Procedimiento que muestre los pasos necesarios para cambiar una llanta
pinchada de un carro.
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:
Detener el carro
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.
3
Unidad I: Generalidades de los algoritmos
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.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir, para dar solucin a un problema especfico.
Proceso Suma
Leer a,b;
c <- a+b;
FinProceso
4
Unidad I: Generalidades de los algoritmos
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.
5
Unidad I: Generalidades de los algoritmos
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 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 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.
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.
Datos de salida
AINICIO: Ao inicial.
AFINAL: Ao final.
7
Unidad I: Generalidades de los algoritmos
1 Inicia el algoritmo.
6 Termina el algoritmo.
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.
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
8
Unidad I: Generalidades de los algoritmos
EJEMPLO: Se desea conocer cuntos meses han transcurrido entre los inicios de dos aos
cualesquiera dados.
1.7.2 PSEUDOCDIGO:
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
Leer ainicio;
Leer afinal;
FinProceso
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.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:
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.
11
Unidad I: Generalidades de los algoritmos
Ejemplos:
Expresin Resultado
7/2 3.5
12 MOD 7 5
4+2*5 14
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.
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
12
Unidad I: Generalidades de los algoritmos
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
Operador | (or)
Operador ~ (Negacin)
Operando Resultado
V F
F V
13
Unidad I: Generalidades de los algoritmos
1. ()
2. ^
3. *, /, MOD o %, ~
4. +, -, &
5. >, <, > =, < =, < >, =, |
1.8.3 IDENTIFICADORES:
Ejemplos: MisDatos
CantHoras
Calif1
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.
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.
A
b1
datos
NOMBRE
Salario_hora
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.
15
Unidad I: Generalidades de los algoritmos
Variables Lgicas: Son aquellas que solo pueden tener dos valores (verdadero o
falso), estos representan el resultado de una comparacin entre otros datos.
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.
16
Unidad I: Generalidades de los algoritmos
EJERCICIOS PROPUESTOS:
.
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
17