Você está na página 1de 10

ALGORITMO

Conjunto de acciones o secuencias de operaciones ejecutadas en un determinado


orden para resolver un problema.
Acción
Acontecimiento producido por un actor en un tiempo finito que produce un
resultado definido y preciso y además genera cierta transformación.
Analizaremos la acción
Existen diferentes tipos de acciones:
 Acción simple: Realizadas directamente
 Acción compleja: No se pueden realizar directamente sino a través de una
descomposición de acciones más simples (diseño Top-down).

Transformación Generada en los elementos intervinientes. Para determinar la


transformación debo conocer el ESTADO.
ESTADO Es la observación de los elementos del sistema en un instante de tiempo
dado.
Hay tres tipos de estado
 Estado inicial Instante donde comienza la acción.(Ei)
 Estado intermedio Instante observado en cualquier momento entre el
comienzo y la finalización de la acción.
 Estado Final Instante observado donde finaliza la acción (Ef)

Características de los algoritmos


 Definido (confiable)
 Debe indicar un orden a seguir
 Debe ser finito, terminar en un número finito de pasos.

*Nota: Algoritmo Se trata de una herramienta capaz de resolver un problema.


Todas las situaciones problemáticas pueden ser resueltas a través de algoritmos.
UNIDAD II

ALGORITMOS
Lenguaje algorítmico: Se realiza análisis y se elige el método a utilizar, el
conjunto de operaciones y orden conforman el algoritmo.
PROGRAMAS:
Lenguaje informático: Es aquel por el cual dicho algoritmo se codifica a la
computadora.
Programa > algoritmo destinado a gobernar una computadora.
Lenguaje de programación:
 Pueden haber diferentes "lenguajes" tales como: visual Basic, delphi, c++,
java, etc.
 Pueden tener diferente metodología de programación tales como: Modular,
estructurada, orientada a objetos, etc.
 Cubren necesidades específicas como ser: el visual Fox Pro, es para
programar bases de datos.

Metodología para la resolución de problemas


Hay cinco etapas para resolver problemas algorítmicos, estas son:
1. Definición del sistema: definir que va a hacer el programa y que solución
obtendremos.
2. Diseño del sistema: Establecer que tipo de metodología usaremos para
solucionar el problema (Ej. Top down o Botton up).

Cuando se compila el algoritmo, hay un "antes" y un "después"


o Antes > Programa Fuente (lenguaje de programación).
o Después > Programa ejecutable (lenguaje de maquina).
3. Codificación: Es la etapa en donde se escribe el algoritmo en un lenguaje
de programación.
4. Prueba y depuración: Se realizan pruebas para verificar el
funcionamiento del programa, se prueba con valores válidos y con no válidos
para ver como se comporta y corregir si es necesario.
5. Documentación y Mantenimiento: Se basa en la instalación,
funcionamiento y características del programa. Permite corregir errores o
modificar el programa (estos cambios son el mantenimiento del programa).

Hay dos tipos de documentación, estas son:


 Interna > viene dentro del programa (Ej. Readme, características operativas)
 Externa > Viene fuera del programa, diagramas de flujo, manuales de
usuario, consejos de uso, etc.

UNIDAD III

Técnicas de diseño
Hay tres tipos de técnicas, estas son:
1. TOP DOWN (Diseño descendente): Consiste en tomar el problema inicial y
descomponerlo en problemas más pequeños, de solución sencilla.
2. BOTTON UP: Consiste en partir de los detalles más precisos del algoritmo
completando módulos de mayor complejidad – es inverso al anterior - .
3. WARNIER ORR: Utiliza una representación semejante a cuadros sinópticos
para Mostar el funcionamiento y organización del algoritmo.
UNIDAD IV

Técnicas para la formulación de algoritmos


Hay dos tipos, estas son:
*Estos no pueden ser ejecutados por una computadora

1. Diagramas de Flujo > se basan en la utilización de símbolos para


representar las acciones.
2. Pseudo código > Es un 1er borrador al igual que el diagrama de flujo.

El pseudo código siempre utiliza "programación estructurada"(conjunto de


técnicas y métodos para diseñar y escribir programas)
La programación estructurada se basa en el teorema de la programación
estructurada, propuesto por Bohny y Jacopini, ellos dicen que "todo algoritmo
puede ser escrito usando tres tipos de estructuras: Secuencial,
Condicional o Repetitiva".
Las especificaciones de la programación estructurada son tres:
 Un solo punto de Entrada y Salida (E/S).
 Todas las acciones deben ser accesibles.
 No posee ciclos o bucles infinitos.

Para diseñar un algoritmo utilizando pseudo código se emplean instrucciones en


nuestro idioma.
Además para escribir este programa en pseudo código se deben conocer un
conjunto de instrucciones reglas que DEFINEN como COMBINAR las
instrucciones.
Algunas sentencias tienen equivalencia directa con los símbolos de los diagramas
de flujo.
Todo algoritmo necesita de un DATO (Expresión general que describe objetos con
los cuales opera una computadora)
Hay diferentes Tipos de Datos, estos son:
 Numérico > Representan una cantidad ó un valor determinado, pueden ser
enteros o reales.
 Alfanumérico > Representan información textual ( no tiene valor) , pueden
ser caracteres de tipo

*Numérico (0, 1, 2,3...)


*Alfabéticos (A, B, C, a, b, c)
*Especiales (+,-,*, /, < >, $)
 Lógicos ó Booleano > pueden tomar dos valores, Verdadero o Falso, Sirve
para representar alternativas a determinadas condiciones.

Estructuras de Datos
Es una colección de datos organizados particularmente que se utilizan para la
resolución de problemas.
Hay dos tipos de estructuras de datos:
1. Se divide en dos tipos:
o Simples

*Constantes: Representa una zona de memoria en la cual se almacena un


dato. El dato no puede ser modificado. Su forma:
Definición: nombre/tipo de dato. Estas simplifican la programación.
*Variables: Representa una zona de memoria en donde podemos hacer que el
contenido "varíe". Su forma:
Definición: nombre/tipo de dato
o Compuestas: se utilizan en

*Registros
*Arreglos
*Estructuras de Archivos
o Dinámicas > Utilizan una cantidad variable de memoria, esta puede
aumentar o disminuir mientras se ejecute el algoritmo. Se utilizan en

*Punteros
*Variable de Cadena de caracteres de longitud variable
UNIDAD V

OPERADORES > Símbolo que determina qué tipo


de operación se va a realizar entre los "operandos"
Se clasifican en:
o Aritméticos > Permiten cálculos aritméticos, utilizan operandos y
resultados numéricos {+,-,*, /, DIV, MOD, ^, ABS ( ), TRUNC ( ),
REDOND ( )}.
o Relacionales > Permiten realizar comparaciones de valores de tipo
numérico ó carácter. Los resultados son lógicos {<, >, =, <=, >=, < >}.
o Lógicos > Permiten la combinación de condiciones para formar una
sola expresión lógica. Utilizan operandos y resultados lógicos {-, ^, v}.
ASIGNACIÓN > Permite darle valores a una variable.
Se representa por el símbolo ‘:=’
*No podemos usar variables/constantes que no estén definidas
El formato de la Asignación es: VARIABLE:=EXPRESIÓN
Donde Expresión es la Combinación de variables, constantes y operadores
que representan una o un conjunto de operaciones que devuelven un
resultado.
EJ. Z:= X*Pi + 2*(X-Y)
Entrada/Salida de información (E/S)
La mayoría de los programas requiere de un cierto grado de interacción con
los usuarios. Si un algoritmo no interactúa con el usuario (no permite que
ingrese o vea datos), su utilidad es muy poca.
Operaciones de E/S > Nos permiten ingresar o leer datos.
o Datos de Entrada: Dispositivos de entrada. Teclado, unidades de
disco, etc.
o Datos de Salida: Dispositivos de Salida. Pantalla, impresora, etc.

Hay dos tipos de sentencias, una nos permite la entrada de datos y la otra es
la salida de datos. Estas son:
o Sentencia Leer ( ) – Entrada de Datos > Dentro del ( ) se coloca el
nombre de las variables que almacenaran los datos de entrada. También se
la conoce como "Asignación Externa" ya que modifica el valor de las
variables involucradas.
o Sentencia Escribir ( ) – Salida de Datos > Dentro de ( ) se escriben los
datos de salida, pueden ser

*Cadenas de Texto (T)


*Nombres de Variables (V)
*Nombres de Constantes (C)
Cada elemento de salida debe estar separado por comas
Ej. ("T", V, C)
UNIDAD VI

La Estructura del algoritmo es la siguiente:


Acción (nombre de la acción) es
- Ambiente
(Declaración de variables)
(Declaración de constantes)
- Algoritmo
(Sentencias del programa)
Fin Acción
Dentro del algoritmo hay dos secciones, estas son:
o Ambiente > Sección declarativa. Se declaran todas las estructuras
de datos que utilizaremos en el algoritmo.
o Algoritmo > Incluiremos aquí todas las "acciones" tendientes a
resolver problemas. Solamente se usaran aquí las estructuras de datos
DECLARADAS en el ambiente.

Teorema de la Programación Estructurada


"Todo algoritmo estructurado puede ser escrito por tres tipos de
estructuras de control"
Estructuras de Control
o Secuencial > Las acciones se suceden una a continuación de la
siguiente. Tiene una entrada y una salida. Nunca se ejecuta más de una
acción por vez.
o Condicional > Se evalúa una condición y en función del resultado de
la misma se realiza una operación u otra

*Simples (SI-Entonces) > Ejecuta una acción cuando se cumple la


condición.
*Alternativas (Si- Entonces-sino) > Ejecuta una/s acción/es cuando se
cumple la condición. Caso contrario (condición falsa) ejecuta otra/s
acción/es.
*Múltiples (SEGÚN) > Permite ejecutar una sentencia según el valor de
una variable.
o Repetitivas > Repiten una secuencia un Número de veces (Bucles) y
al hecho de repetir la ejecución de una secuencia de acciones (Iteración).

Estas son:
*Estructura MIENTRAS > Permite ejecutar una sentencia "mientras" se
cumpla la condición (booleana o lógica). Es importante que la condición sea
falsa en algún momento para que no se genere un "ciclo infinito".
*Estructura REPETIR > Permite ejecutar la sentencia "hasta que" cumpla
la condición (booleana o lógica). Es importante que la condición sea
verdadera en algún momento para que no se genere un "ciclo infinito".
*Estructura PARA > Permite ejecutar una sentencia un número especifico
de veces. Las sentencias se ejecutan dentro del "bucle". Comienza con un
Valor inicial hasta llegar a un valor final.
 
 
 
Autor:
Santiago Conti
o Estáticas > Utilizan una cantidad fija de memoria para almacenar
datos. Esta capacidad no puede variar mientras se ejecuta el algoritmo

Características de los Algoritmos:


Las características fundamentales que debe cumplir todo algoritmo son:
·Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
·Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
·Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún
momento; o sea, debe tener un numero finito de pasos.
La definición de un algoritmo debe definir tres partes: Entrada, Proceso y Salida. En
el algoritmo de receta de cocina citado anteriormente se tendrá:
Entrada: ingrediente y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, cordero).
Ejemplo de Algoritmo:
Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco de datos la
ficha del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en
caso contrario rechazara el pedido

CARACTERÍSTICAS DE LOS
ALGORITMOS
- Finitos: Debe acabar en algún momento.
- Eficientes: Deben ocupar la mínima memoria y minimizar el tiempo de
ejecución.
- Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo
y leerlo fácilmente.
- Modificables: Estarán diseñados de modo que sus posteriores
modificaciones sean fáciles de
realizar, incluso por programadores diferentes a sus propios autores.
- Modulares: La filosofía utilizada para su diseño debe favorecer la división
del problema en
módulos pequeños.
- Único punto de entrada, único punto de salida: A los algoritmos y a los
módulos que lo integran
se entra por un sólo punto, inicio, y se sale por un sólo punto también, fin

ALGORITMOS

DEFINICIÓN: Un Algoritmo, se puede definir como una secuencia de instrucciones


que representan un modelo de solución para determinado tipo de problemas. O
bien como un conjunto de instrucciones que realizadas en orden conducen a
obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto
ordenado y finito de pasos que nos permite solucionar un problema.
Los algoritmos son independientes de los lenguajes de programación. En cada
problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de
diferente programación. El algoritmo es la infraestructura de cualquier solución,
escrita luego en cualquier lenguaje de programación.

Programa: Un programa es una serie de instrucciones ordenadas, codificadas en


lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en
un computador.

CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro


tipos:
 Algoritmo computacional: Es un algoritmo que puede ser ejecutado en
una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz
cuadrada de un valor x.
 Algoritmo no computacional: Es un algoritmo que no requiere de una
computadora para ser ejecutado. Ejemplo: Instalación de un equipo de
sonido.
 Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o
instrucciones no están involucrados cálculos numéricos. Ejemplos: Las
instrucciones para desarrollar una actividad física, encontrar un tesoro.
 Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus
pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de
una ecuación de segundo grado.

CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las


siguientes características:

 1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera
precisa e inequívoca que se debe hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de
pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las
mismas condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de
efectuar las instrucciones.

PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:

· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser

ejecutado.

· Proceso, es la secuencia de pasos para ejecutar el algoritmo.

· Salida de resultados, son los datos obtenidos después de la ejecución del

algoritmo.
TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes
de ser convertido a lenguaje de programación, se utilizan algunos métodos de
representación escrita, gráfica o matemática. Los métodos más conocidos son:

· Diagramación libre (Diagramas de flujo).


· Diagramas Nassi-Shneiderman.
· Pseudocódigo.
· Lenguaje natural (español, inglés, etc.).
· Fórmulas matemáticas.

Você também pode gostar