Está en la página 1de 9

Colegio de bachilleres del estado de

Quintana roo plantel Playa del Carmen


Dafne Paloma Pacheco Buenfil
Informática 2
Bloque 2 Algoritmos y Diagramas de flujo

Los métodos que utilizan algoritmos se les denominan


métodos algorítmicos, en opción a los métodos que
implican algún juicio o interpretación, que se
denominan métodos heurísticos.
Estos son algoritmos codificados con un lenguaje
ambiguo. Cuya sintaxis y semántica <<entiende>> el
ordenador. Hay muchos lenguajes de programación
de ordenadores, entre ellos <<C>> y Java.
Los algoritmos se pueden expresar de 2 formas:
Gráfica: con símbolos, utilizando diagramas de flujo
No gráfica: describiendo las operaciones que llevara a
cabo. Utilizando un seudocódigo con base en su
funcionamiento, los algoritmos también ser:
Deterministas: en cada paso del algoritmo determina,
de forma única.
No deterministas: deben decidir en cada paso de la
ejecución entre varias alternativas
Algoritmo: El nivel superior de un diagrama IPO
mostrara el que, y el nivel interior el cómo. Los
detalles del cómo se consideraran hasta el que sea
completamente definido.
Programa: suma de tres números (ejemplo: para
numero_1=3, numero_2=2, numero_3=4)
Factores que identifican la calidad en
ellos
Corrección: El algoritmo debe estar bien planteado, de
tal modo que siempre lleve al resultado correcto.
Eficiencia: la eficiencia de un algoritmo se mide por
los recursos que este consume. En particular se habla
de la memoria y el tiempo de ejecución. A pesar de
que con la reducción de los costos del hardware es
posible diseñar computadoras más rápidas y con más
memoria, no hay que desperdiciar estos recursos, sino
tratar de desarrollar algoritmos más eficientes.
Claridad: el algoritmo debe estar bien documentado.
La documentación ayuda a comprender el
funcionamiento de los algoritmos. Ciertos detalles o
algunas partes especiales de los mismos pueden
olvidarse fácilmente o quedar oscuros si no están
adecuadamente documentados.

Fases de resolución de un problema


De manera general, las fases de resolución con
computadora se deben seguir todos los
programadores son siete.
Definición del problema. Es el anunciado del
problema. El cual debe ser caro y completo. Es
fundamental conocer y delimitar por completo el
problema. Saber qué es lo que se desea que realice la
computadora.
Análisis del problema El problema se analiza teniendo
presente la lista de los requisitos dados por el cliente
de la empresa o por la persona que encarga el
programa.

Cada programador tiene estrategias diferentes para


proyectar las soluciones de los programas de
aplicación. Sin embargo, normalmente debe
considerar ciertas preguntas sin importar el enfoque
del desarrollo de programas que se utilice.

Metodología para la solución de un problema


Definición de problema
Etimológicamente, la palabra problema deriva del
griego proballein y significa algo lanzado hacia
adelante, pero en nuestro caso lo definimos como:
Un problema es un asunto o conjunto de cuestiones
que se plantean para ser resueltas.
Diseño de algoritmo
Una vez analizado el problema, se diseña una
solución que conducirá a un algoritmo que resuelva el
problema. En este tercer paso nos enfrentaremos a la
búsqueda de representaciones operacionales, en la
cual se deben analizar las actividades que se
efectuaran y realizar consensos para la solución del
problema.

El diseño de un algoritmo que resuelva un problema


es, en general una tarea difícil. Una forma de facilitar
este labor consiste en recurrir a técnicas conocidas de
diseños de algoritmos, es decir a esquemas muy
generales que pueden adaptarse a un problema
particular, al detallar las partes de un esquema

Método voraz
Este método trata de producir un mejor resultado a
partir del conjunto de opciones. Si el algoritmo voraz
se ha diseñado correctamente, la solución encontrada
es óptima. Por tanto la dificultad principal al diseñar u
algoritmo voraz reside en encontrar un criterio de
selección que garantice la vialidad de la solución.

La solución consta de los siguientes requisitos


Un conjunto de candidatos
Una función de selección que en cada momento
determine que candidatos de los no usados parece ser
el mejor.
Una función que determine si cierto conjunto de
candidatos es válido; es decir, si permite formar
alguna solución del problema.

Estos algoritmos se llaman << voraces>> porque en


cada paso toman el mejor trozo de la solución es
decir; el mejor <<candidato>> Además nunca
cambian de opinión; una vez que un candidato es
aceptado o rechazado en la solución, la decisión es
definitiva.

El conjunto de candidatos está constituido por cada


una de las monedad de los diferentes tipos que se
pueden usar para realizar el desglose del importe
dado.

Una solución está dada por un conjunto de monedas


devuelto y cuyo valor total es igual al importe a
desglosar

La condición de factibilidad de la solución, siendo


construida establece que el desglose debe ser menor
o igual que el importe a desglosar.
La función objetivo consiste en minimizar la cantidad
total de monedas utilizadas en el desglose.

Programación dinámica
La programación dinámica (o planificación dinámica)
es un método de programación que también permite
resolver problemas mediante una secuencia de
decisiones, pero de una manera menos directa que el
método voraz. Esta vez se necesitan producir varias
secuencias de decisiones. Solamente al final se sabe
cuál es la mejor de todas.

En la programación dinámica todos los subproblemas


se resuelven de acuerdo con el criterio de tamaño
creciente y los resultados de subproblemas más
pequeños se almacenan en algún tipo de estructura
de datos.
En resumen la aplicación del método de programación
dinámica a u problema significa comprobar primero el
principio de optimalidad y desarrollar después
ecuaciones recurrentes.

Algoritmos de vuelta atrás o Backtracking


Los algoritmos de vuelta atrás no siguen reglas de
búsqueda de la solución, simplemente efectúan una
búsqueda sistemática, la cual significa que hay que
probar todo lo posible hasta encontrar la solución o
hallar que no existe.
¿Por qué se llaman algoritmos de vuelta atrás? Porque
en el caso de no encontrar una solución en una
subtarea se retrocede a la subtarea original y se
prueba otra cosa distinta (una nueva subtarea distinta
a las probadas anteriormente).

La primera pregunta que debe hacerse es: para el


conjunto de datos (entrada por teclado, archivo o
base de datos)
La segunda pregunta que debe de hacerse es: ¿el
formato de la salida depende solo de los datos de
entrada? Se da en este caso cuando, por ejemplo la
entrada del teclado es mostrada directamente en la
pantalla o cuando es capturada.
La tercera pregunta trata con el proceso <<P>> para
determinar si es simple o compuesto ¿podrá <<P>>
ser subdividido en dos o más procesos que
individualmente procesen la entrada para generar una
salida parcial? Por ejemplo, un proceso para leer un
conjunto de datos y calcular el valor promedio puede
ser dividido en un proceso para contar el número de
datos.
Diagramas HIPO
El diagrama HIPO es aquel que indica cuales son las
entradas, después, la elaboración de todas son las
entradas, después la elaboración de todas la partes
del proceso y también una de las salidas esperadas
este tipo de diagramas clasifican en grupos de datos
de entrada dependiendo de su importancia así como
cada parte del proceso en orden prioritario y también
de las salidas esperadas en den jerárquico.

Estructura de control o algorítmicas


Se refiere a las estructuras con las que podemos
llevar a cabo en nuestros programas y algoritmos.
Son un grupo de formas de trabajo que permiten,
mediante la manipulación de variables, realizar
ciertos procesos específicos que nos lleven a la
solución de problemas. Estas estructuras la podemos
dividir en tres grupos
Secuencial
Alternativa
Repetitiva
Programación de robot Karel
Después de ejecutar el programa se observara otra
ventana. La idea es crear el mundo introduciendo
algunos elementos. Que posteriormente Karel
utilizará.

También podría gustarte