Escolar Documentos
Profissional Documentos
Cultura Documentos
Fundamentos de
algoritmos
Objetivo: El alumno explicar la
importancia de llevar un mtodo
formal para resolver problemas en la
computadora;
asimismo
aplicar
dicho mtodo en la resolucin de
problemas matemticos sencillos.
Partes de un programa
Todo programa esta constituido por un conjunto
de rdenes o instrucciones capaces de manipular
un conjunto de datos. stas rdenes o
instrucciones pueden ser divididas en tres grandes
bloques
claramente
diferenciados,
correspondientes cada uno de ellos a una parte
del diseo de un programa.
Teora de la computabilidad
Es
la
parte
de
la
computacin que estudia
los problemas de decisin
que pueden ser resueltos
con
un
algoritmo
o
equivalentemente con una
mquina de Turing.
Mquina ENIGMA
Segunda Guerra Mundial
Mquina de Turing
La Mquina de Turing se introdujo en 1936
por Alan M. Turing para resolver problemas
computables.
Es
la
base
de
las
computadoras modernas.
Mquina de Turing
Una mquina de Turing esta formada por tres
componentes: Una Cinta, Un Controlador y
Una Cabeza de lectura/escritura.
Cinta
Aun cuando las computadoras modernas utilizan un dispositivo
de acceso aleatorio con capacidad finita, la memoria de la
mquina de Turing es infinita. La cinta, en cualquier momento
mantiene una secuencia de caracteres del conjunto de
caracteres aceptado por la mquina.
Precisin
Determinismo
Finitud
Cualitativos
Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos
Son aquellos en los que se utilizan clculos numricos para definir los
pasos del proceso.
No Grficos
Representa en forma descriptiva las operaciones que debe realizar
un algoritmo (pseudocodigo).
Grficos
Es la representacin grfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
Diagrama de Flujo
Para el diseo de algoritmos se utilizan tcnicas
de representacin. Una de estas tcnicas son
los denominados Diagramas de Flujo, que se
definen como la representacin grfica que,
mediante el uso de smbolos estndar
conectados o unidos mediante lneas de flujo,
muestran la secuencia lgica de las operaciones
o
acciones
que
deben
realizar
las
computadoras, as como la corriente o flujo de
datos en la resolucin de un programa.
Tipos de Instrucciones
Una instruccin puede ser considerada como un
hecho o suceso de duracin limitada que genera
unos cambios previstos en la ejecucin de un
programa, por lo que debe ser una accin
previamente estudiada y definida.
Instrucciones de entrada
Son aquellas instrucciones encargadas de recoger el dato de un
dispositivo de entrada, y seguidamente almacenarlo en memoria en
una variable previamente definida, para la cual se ha reservado
suficiente espacio en memoria.
Simples
Estructurados
Datos Estructurados
Se caracterizan por el hecho de que con un nombre (identificador de
variable estructurada) se hace referencia a un grupo de casillas de
memoria. Es decir un dato estructurado tiene varios componentes.
Datos numricos
Dentro de los tipos de datos
numricos encontramos los
enteros y los reales.
Los enteros son nmeros que
pueden estar precedidos del
signo + -, y que no tienen
parte decimal.
Datos lgicos
Dentro de este tipo de datos encontramos los
booleanos.
Son datos que slo pueden tomar dos valores:
verdadero (true) y falso (false).
Pseudocdigo
letra
Z; letra>=A ; letra - 1
letra
fin
ALGORITMO
descripcin detallada de las rdenes y acciones
que se deben ejecutar para resolver el
problema
...
FIN DEL ALGORITMO
5.4.1.5.
CICLO ITERATIVO
CICLO ITERATIVO Se entiende por ciclo iterativo la unin de smbolos
grficos que en su conjunto indica cmo repetir cierto proceso; las
estructuras bsicas ms comunes son:
=
=
=
=
=
1
1
1
1
1
5.4.2. Combinacin de
estructuras de control.
1.5.1. Ejemplos.
Ejemplo: Obtener las races de una ecuacin
cuadrtica.
Este ejemplo presenta el pseudocdigo y el
diagrama de flujo que utiliza la frmula general
para obtener las races reales de una ecuacin de
cuadrtica:
1.5.1. Ejemplos.
1.5.1. Ejemplos.
1.5.1. Ejemplos.
Disea un algoritmo que lea un nmero natural distinto de 0
desde teclado y muestre por pantalla todos los divisores de dicho
nmero.
1.5.1. Ejemplos.
algoritmo : Divisores
# Algoritmo que escribe los divisores de un nmero dado
{numero=X (X N) X>0}
# Declaracin de variables
var numero, contador : entero fvar
# Cuerpo del algoritmo
escribe('Introduce un nmero natural no nulo : ');
lee(numero);
escribe(1);
contador := 2;
mientras (contador < numero) hacer
si (numero resto contador) = 0 entonces
escribe(contador)
fsi;
contador := contador + 1
fmientras;
escribelin(contador)
{numero=X contador=X}
falgoritmo.