2. CONCEPTO DE ALGORITMO
un algoritmo es una secuencia de instrucciones
secuenciales, gracias al cual pueden llevarse a cabo
ciertos procesos y darse respuesta a determinadas
necesidades o decisiones. Se trata de conjuntos
ordenados y finitos de pasos, que nos permiten resolver
un problema o tomar una decisión.
3. CARACTERISTICAS
Los algoritmos presentan las siguientes características:
Secuenciales. Los algoritmos operan en secuencia, debe procesarse uno
a la vez.
Precisos. Los algoritmos han de ser precisos en su abordaje del tema, es
decir, no pueden ser ambiguos o subjetivos.
Ordenados. Los algoritmos se deben establecer en la secuencia precisa y
exacta para que su lectura tenga sentido y se resuelva el problema.
Finitos. Toda secuencia de algoritmos ha de tener un fin determinado, no
puede prolongarse hasta el infinito.
Concretos. Todo algoritmo debe ofrecer un resultado en base a las
funciones que cumple.
Definidos. Un mismo algoritmo ante los mismos elementos de entrada
(input) debe dar siempre los mismos resultados.
4. FORMAS DE REPRESENTAR
ALGORITMOS
Lenguaje natural
Son aquellas lenguas que han sido generadas espontáneamente en un grupo
de hablantes con propósito de comunicarse, a diferencia de otras lenguas,
como puedan ser una lengua construida, los lenguajes de programación o los
lenguajes formales usados en el estudio de la lógica formal, especialmente la
lógica matemática.
Pseudocódigo
Es una descripción de alto nivel de un algoritmo que emplea una mezcla de
lenguaje natural con algunas convenciones sintácticas propias de lenguajes
de programación, como asignaciones, ciclos y condicionales, aunque no está
regido por ningún estándar. Es utilizado para describir algoritmos en libros y
publicaciones científicas, y como producto intermedio durante el desarrollo
de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja
importante sobre estos, y es que los algoritmos descritos en pseudocódigo
requieren menos espacio para representar instrucciones complejas.
5. Diagramas de Flujo
Son descripciones gráficas de algoritmos; usan símbolos
conectados con flechas para indicar la secuencia de
instrucciones y están regidos por ISO.
Diagramas estructurados (Nassi-Schneiderman)
El diagrama estructurado N-S también conocido como
diagrama de chapin es como un diagrama de flujo en el que
se omiten las flechas de unión y las cajas son contiguas.
Las acciones sucesivas se pueden escribir en cajas
sucesivas y como en los diagramas de flujo, se pueden
escribir diferentes acciones en una caja
6. CLASIFICACIÓN DE ALGORITMO
POR NATIRALEZA
Sustitución: En un cifrado por sustitución, cada letra o grupo de letras
se reemplaza por otra letra o grupo de letras. Un ataque básico a este
sistema de cifrado aprovecha las propiedades y estadísticas del
lenguaje natural .
Transposición: Los cifrados por sustitución conservan el orden de los
símbolos de texto llano, pero los disfrazan. Los cifrados por
transposición reordenan las letras sin disfrazarlas. Para descifrarlo el
criptoanalista debe estar consciente de que se encuentra con un cifrado
de este tipo (por ejemplo por transposición de columnas), adivinar la
cantidad de columnas y ordenarlas lo cual es más complicado que la
sustitución.
Rellenos de una sola vez: Se escoge una clave al azar, se convierte el
texto plano en una cadena de bits y se realiza un XOR entre la clave y
el texto bit por bit. Este método es inmune a cualquier ataque dado que
se rompe completamente con las propiedades y estadísticas del
lenguaje natural. El único problema es que la clave no puede ser
memorizada por lo que el emisor y receptor deben cargar una copia con
ellos (lo cual es un peligro) junto con la sensibilidad del método a algún
carácter perdido