Beruflich Dokumente
Kultur Dokumente
Algoritmos
Asignatura:
Diagramacin Lgica
Autor:
Leandro E. Colombo Via
27 de marzo de 2014
ndice
1. Concepto de Algoritmo
1.1. Qu es el lenguaje? . . . . . . . . . . . . . . . . .
1.2. Y entonces, qu es un lenguaje de programacin?
1.3. Definicin de Algoritmo . . . . . . . . . . . . . . .
1.3.1. Caractersticas de los Algoritmos . . . . . .
1.3.2. Representacin de Algoritmos . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
2
2
3
3
.
.
.
.
.
.
.
6
6
6
6
6
6
7
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
9
9
9
10
10
11
11
12
12
13
13
13
14
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5. Estructuras Algortmicas
14
5.1. Estructuras secuenciales . . . . . . . . . . . . . . . . . . . . . . . 15
1.
1.1.
Concepto de Algoritmo
Qu es el lenguaje?
1.2.
1.3.
Definicin de Algoritmo
1.3.1.
Representacin de Algoritmos
2.
2.1.
2.2.
Pseudocdigo
2.3.
3.
3.1.
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 o entienda del todo no
tiene mucho caso continuar con la siguiente etapa.
3.2.
3.3.
3.4.
Codificacin
La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones detalladas en un cdigo reconocible por la computadora. La serie de
instrucciones detalladas se le conoce como cdigo fuente, el cul se escribe en
un lenguaje de programacin o lenguaje de alto nivel.
3.5.
Prueba y Depuracin
3.6.
Documentacin
Es la gua o comunicacin escrita en sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello
la documentacin sirve para ayudar a comprender o usar un programa o para
facilitar futuras modificaciones (mantenimiento).
La documentacin se divide en tres partes:
Documentacin Interna
Son los comentarios o mensaje que se aaden al cdigo fuente para hacer
mas claro el entendimiento de un proceso.
Documentacin Externa
Se define en un documento escrito los siguientes puntos:
Descripcin del Problema (Enunciado).
Nombre del Autor (Analista, Programador).
Algoritmo (Diagrama o Pseudocdigo).
Diccionario de Datos (Descripcin de variables).
Cdigo Fuente (Programa).
Manual del Usuario
Describe paso a paso la manera como funciona el programa, con el fin de
que el usuario obtenga el resultado deseado.
3.7.
Mantenimiento
4.
4.1.
Tipos de datos
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un
simple carcter, tal como b, un valor entero tal como 35. El tipo de dato
determina la naturaleza del conjunto de valores que puede tomar una variable.
Numrico
Simple
Lgico
Alfanumrico
Tipo de Dato
Estructurados
Archivos
Apuntadores
Es importante destacar que depende del lenguaje de programacin que se
vaya a utilizar alguno de los tipos de datos que se presentan a continuacin puede
no existir, o no entrar dentro de la clasificacin que aqu se presenta. Tratamos de
unificar los diferentes tipos datos desde una perspectiva ms global. Al momento
de adentrarse en el aprendizaje de cada lenguaje se debe profundizar con qu
tipos de datos puede este trabajar.
4.1.1.
Datos Numricos: Permiten representar valores escalares de forma numrica, esto incluye a los nmeros enteros y los reales. Este tipo de datos
permiten realizar operaciones aritmticas comunes.
19 -23 3.14
Datos Lgicos: Son aquellos que slo pueden tener dos valores (verdadero
o falso) ya que representan el resultado de una comparacin entre otros
datos.
True y False o 1 y 0
Datos Alfanumricos (Cadenas o String): Es una secuencia de
caracteres alfanumricos que permiten representar valores identificables
de forma descriptiva, esto incluye nombres de personas, direcciones, etc.
Es posible representar nmeros como alfanumricos, pero estos pierden
su propiedad matemtica, es decir no se pueden realizar operaciones con
ellos. Este tipo de datos por lo general se representan encerrados entre
comillas.
Computadora Instituto de Formacin Tcnica Superior
4.1.2.
Arreglos: son un conjunto finito de valores escalares, ordenados y consecutivos. Un Arreglo es una estructura de datos que almacena bajo el
mismo nombre una coleccin de datos del mismo tipo. Los arreglos se
caracterizan por:
Almacenan los elementos en posiciones contiguas de memoria.
Tienen un mismo nombre de variable que representa a todos los elementos. Para hacer referencia a esos elementos es necesario utilizar
un ndice que especifica el lugar que ocupa cada elemento dentro del
archivo.
Si el arreglo es de una nica dimensin, es decir, sus elementos se
ubican con un nico ndice, se le llama vector. Si tiene ms de una
dimensin, osea, ms de un ndice, se le llama matriz.
vector
0 dato1
1 dato2
2 dato3
3 dato4
4 dato5
5 dato6
6 dato7
0
1
2
3
4
5
matriz
0
1
dato01 dato02
dato03 dato04
dato05 dato06
dato07 dato08
dato09 dato10
dato11 dato12
Definidos por el usuario: Muchos lenguajes de programacin nos permiten definir nuestro propios tipos de datos.
4.2.
Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Por ejemplo:
a + (b + 3)/c
Cada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones indicadas.
Una expresin consta de operadores y operandos. Segn sea el tipo de datos
que manipulan, se clasifican las expresiones en:
Aritmticas
Relacionales
Lgicas
4.3.
Operadores
Los operadores son elementos que se relacionan de forma diferente, los valores
de una o mas variables y/o constantes. Es decir, los operadores nos permiten
manipular valores. Tenemos tres tipos de operadores:
Aritmticos
Relacionales
Lgicos
4.3.1.
Operadores Aritmticos
Los operadores aritmticos permiten la realizacin de operaciones matemticas con los valores (variables y constantes). Los operadores aritmticos pueden
ser utilizados con tipos de datos enteros o reales. Si ambos son nmeros enteros,
el resultado es entero; si alguno de ellos es real, el resultado es real.
Suma: devuelve la suma entre dos operandos, por lo general se utiliza el
smbolo +.
Resta: devuelve la resta entre dos operandos, por lo general se utiliza el
smbolo -.
Producto: devuelve el producto entre dos operandos, por lo general se
utiliza el smbolo *.
Cociente: devuelve el cociente entre dos operandos, por lo general se
utiliza el smbolo /.
Mdulo: devuelve el resto del cociente entre dos operandos, por lo general
se utiliza el smbolo % mod.
Potenciacin: devuelve el resultado de elevar el primer operando al segundo, por lo general se utiliza el smbolo . No muchos lenguajes disponen
de este operador.
Por ejemplo:
7/2
(1)
7,0/2
3.5
(2)
(3)
14
(4)
12 %7
4+25
4.3.2.
10
Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a derecha. Es importante destacar que esto puede variar de
acuerdo al lenguaje que se est utilizando. Para ello hay que consultar las caracteristicas del lenguaje en cuestin.
Por ejemplo:
4+25
14
(5)
23 2/5 46/5
(6)
23
(7)
4.3.3.
5.09 (8)
28.35 (9)
Operadores Relacionales
Se utilizan para establecer una relacin entre dos valores. Compara valores
entre si y esta comparacin produce un resultado de certeza o falsedad (verdadero o falso).
Los operadores relacionales comparan valores del mismo tipo, no se tiene
sentido realizar comparaciones entre valores que no son del mismo tipo. Por
ejemplo querer comparar un nmero entero con una cadena de texto. Tienen
el mismo nivel de prioridad en su evaluacin. Y por lo general tienen menor
prioridad que los aritmticos.
El valor de verdad que devuelven vara de acuerdo al lenguaje utilizado.
Mayor: se suele utilizar el smbolo >.
Menor: se suele utilizar el smbolo <.
Mayor o igual: se suele utilizar el smbolo >=.
Menor o igual: se suele utilizar el smbolo <=.
No igual: se suele utilizar el smbolo != <>.
Igual: se suele utilizar el smbolo ==.
Por ejemplo, consideremos a = 10, b = 20 y c = 30:
4.3.4.
a>c
F also
(10)
a+b>c
F also
(11)
a b <= c
V erdadero
(12)
a+b !=c
F also
(13)
a b == c
F also
(14)
Operadores Lgicos
11
Operando 1
Falso
Falso
Verdadero
Verdadero
Operador
||
||
||
||
Operando 2
Falso
Verdadero
Falso
Verdadero
Resultado
Falso
Verdadero
Verdadero
Verdadero
Operador
&&
&&
&&
&&
Operando 2
Falso
Verdadero
Falso
Verdadero
Resultado
Falso
Falso
Falso
Verdadero
Operador
!
!
Resultado
Verdadero
Falso
1. Negacin.
2. Producto Lgico.
3. Suma Lgica.
4.3.6.
(15)
(16)
(17)
(18)
(19)
(20)
F also&&V erdadero
(21)
Verdadero
(22)
12
4.4.
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.
Esta secuencia es un nombre elegido por el programador ya que es mucho
ms fcil recordar un nombre que una posicin de memoria. Como por ejemplo:
Nombre Num_hrs Cantidad
4.4.1.
Estas reglas pueden variar acorde a las caractersticas sintcticas del lenguaje
en el que ests programando. Pero pueden nombrarse algunas buenas prcticas
que se respetan en la mayora de los lenguajes.
Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben
contener espacios en blanco.
Letras, dgitos y caracteres como el guin bajo (_) estn permitidos despus del primer carcter. En algunos lenguajes estas prcticas tiene significados particulares.
La longitud de identificadores no debe ser demasiado larga. Pero debe
alcanzar para ser descriptor de su contenido.
Los identificadores que se escriben todos con mayscula por lo general son
constantes.
4.4.2.
Constantes y Variables
(23)
(24)
Considerando 24 y 23, las variables son radio, perimetro y las constates son
pi y 2.
13
4.4.3.
Clasificacin de variables
Numricas
Por su contenido
Lgicas
Alfanumricas
Variables
De trabajo
Por su uso
Contadores
Banderas
Acumuladores
Por su contenido:
Variables Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es decir almacenan nmeros
del 0 al 9, signos (+ y -) y el punto decimal. Por ejemplo:
iva=0,21 pi=3,1416 costo=2500
Variables Lgicas: Son aquellas que slo 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). Por ejemplo:
letra=a apellido=lopez direccion=Mansilla 3643
Por su uso:
Variables de Trabajo: reciben el resultado de una operacin matemtica completa y que se usan normalmente dentro de un programa.
Por ejemplo:
suma=a+b/c
Contadores: Se utilizan para llevar el control del nmero de ocasiones en que se realiza una operacin o se cumple una condicin. Con
los incrementos generalmente de uno en uno. Por ejemplo:
i=i+1
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. Por ejemplo:
Sumador = Sumador + variable
5.
Estructuras Algortmicas
Las estructuras de operacin de programas son un grupo de formas de trabajo, que permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin deproblemas. Estas estructuras se
clasifican de acuerdo con su complejidad en:
14
Asignacin
Secuenciales
Entrada
Salida
Estructuras Algortmicas
Condicionales
Simples
Mltiples
Hacer para
Cclicas
Mientras
Hacer mientras
5.1.
Estructuras secuenciales
16