Está en la página 1de 22

Algoritmos y Estructuras de Datos

Unidad II. Algoritmos y Programació n


Estrategias y herramientas. Representació n de algoritmos.
un programador al nacer no llora…
dice “Hola Mundo”

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y
El programador de computadora es la persona que resuelve
problemas de un modo riguroso y sistemá tico. La metodología
necesaria para resolver problemas mediante programas, se
denomina metodología de la programación. El eje central de
esta metodología es el concepto de algoritmo.
Un algoritmo es un método para resolver un problema.
Un algoritmo debe:
• ser preciso e indicar el orden de realizació n de cada paso.
• estar bien definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
• ser finito. Si se sigue un algoritmo, se debe terminar en algú n
momento; o sea, debe tener un nú mero finito de pasos.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y
herramientas

- Método de divide y vencerá s: consiste en dividir un problema


complejo en otros má s simples
- Diseñ o descendente: consiste en la descomposició n del
problema original en sub problemas má s simples y a
continuació n la divisió n de estos sub problemas en otros má s
simples que pueden ser implementados para su solució n en la
computadora.
- Refinamiento: proceso en el que se van detallando mas los
pasos diseñ ados en el primer esbozo del algoritmo ya que estos
son incompletos.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y
herramientas
Las ventajas má s importantes del diseñ o descendente son:
• El problema se comprende má s fá cilmente al dividirse en
partes má s simples denominadas mó dulos.
• Las modificaciones en los mó dulos son má s fá ciles.
• La comprobació n del problema se puede verificar fá cilmente.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y
DISEÑ O DEL ALGORITMO

Después de realizar diseñ o descendente y el refinamiento por


pasos es preciso representar el algoritmo mediante una
determinada herramienta de programació n:
• Pseudocó digo
• Diagrama de flujo
• Diagrama N-S

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y herramientas
HERRAMIENTAS PARA REPRESENTAR

El pseudocódigo nació como un lenguaje similar al inglés.


• Es un medio de representar bá sicamente las estructuras de
control de programació n estructurada
• Se considera un primer borrador
• No puede ser ejecutado por una computadora
• El programador se puede concentrar en la ló gica y en las
estructuras de control y no preocuparse de las reglas de un
lenguaje específico.
• Puede ser traducido fá cilmente a lenguajes estructurados

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y herramientas
HERRAMIENTAS PARA REPRESENTAR

Ejemplo de Pseudocó digo:


Dados dos nú meros reales calcular su suma y su producto y
mostrar los resultados.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y herramientas
HERRAMIENTAS PARA REPRESENTAR

Un diagrama de flujo es un diagrama que utiliza los símbolos


(cajas) está ndar y que tiene los pasos de algoritmo escritos en
esas cajas unidas por flechas, denominadas líneas de flujo, que
indican la secuencia en que se debe ejecutar.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y herramientas
HERRAMIENTAS PARA REPRESENTAR

Ejemplo de Diagrama de flujos:


Dados dos nú meros reales calcular su suma y su producto y
mostrar los resultados.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y herramientas
HERRAMIENTAS PARA REPRESENTAR

Un diagrama de Nassi-Schneiderman (N-S), es 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 escriben en cajas sucesivas
• Se pueden escribir diferentes acciones en una caja.
• Un algoritmo se representa con un rectá ngulo en el que cada
banda es una acció n a realizar.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias y herramientas
HERRAMIENTAS PARA REPRESENTAR

Ejemplo de Nassi-Schneiderman:
Escribir un algoritmo que lea el nombre de un empleado, las
horas trabajadas, el precio por hora y calcule los impuestos a
pagar (tasa = 25%) y el salario neto.

Algoritmos y Estructuras de Datos - Conceptos de


Estructura general de un
Un programa de computadora es un conjunto de instrucciones
(ó rdenes dadas a la má quina) que producirá n la ejecució n de una
determinada tarea.

Algoritmos y Estructuras de Datos - Conceptos de


Estructura general de un
Un programa puede ser considerado como una caja negra, como
el conjunto de có digos que transforman las entradas del
programa (datos) en salidas (resultados).

Las entradas procederá n de un dispositivo de entrada (teclado,


disco) y el proceso de introducir la informació n de entrada en la
memoria de la computadora se denomina entrada de datos,
operación de lectura o acció n de leer.
Las salidas de datos se deben presentar en dispositivos
periféricos de salida (pantalla, impresoras, discos) y la operació n
de salida de datos se conoce también como escritura o acció n de
escribir.
Algoritmos y Estructuras de Datos - Conceptos de
Estructura general de un
La codificació n del programa consiste en definir las
instrucciones que resolverá n el problema.
Las instrucciones se deben escribir y posteriormente almacenar
en memoria en el mismo orden en que han de ejecutarse.

Tipos de instrucciones:
1. instrucciones de inicio/fin,
2. instrucciones de asignació n,
3. instrucciones de lectura,
4. instrucciones de escritura,
5. instrucciones de bifurcació n.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias de resolución de

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias de resolución de

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias de resolución de

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias de resolución de

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias de resolución de
3.

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias de resolución de

Algoritmos y Estructuras de Datos - Conceptos de


Estrategias de resolución de
Diagrama de Flujos Pseudo código

Algoritmos y Estructuras de Datos - Conceptos de

También podría gustarte