1 Algoritmos Informatica 2
1 Algoritmos Informatica 2
1 Algoritmos Informatica 2
INFORMÁTICA II
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
Lectura: ¿QUÉ ES UN ALGORITMO?
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un
problema.
Generalmente los algoritmos se presentan a diario con las diversas vivencias de las personas, todo lo que nos rodea
es siempre una secuencia de pasos que nos llevan a realizar nuestras labores en ocasiones ordenadamente. En la vida
cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas, como por ejemplo para hacer
funcionar una lavadora (conjunto de instrucciones pegadas en la tapa de la máquina), para tocar música (partituras), para
construir un aeroplano a escala (expresados en las instrucciones), para hacer trucos de magia (pasos para hacer el truco)
o, incluso, para hacer recetas de cocina (pasos de la receta). Otros ejemplos, como el algoritmo de la división para
calcular el cociente de dos números o el algoritmo de Euclides para calcular el máximo común divisor de dos enteros
positivos pertenecen al ámbito de las matemáticas.
De un modo más formal, un algoritmo es una secuencia finita de instrucciones realizables, no ambiguas, cuya
ejecución conduce a una resolución de un problema.
El algoritmo nos da la solución genérica a un problema y lo podremos emplear todas las veces que se nos presente
ese mismo problema, por ejemplo: el algoritmo de la división es genérico e independiente de los números que tengamos
que dividir.
Una vez descubierto un algoritmo para efectuar una tarea, la realización de ésta ya no requiere entender los principios
en que se basa dicho algoritmo, pues el proceso se reduce a seguir las instrucciones del mismo. Por ejemplo, podemos
hacer una división siguiendo el algoritmo sin entender por qué funciona el algoritmo. La inteligencia requerida para llevar a
cabo la tarea está codificada en el algoritmo.
Un algoritmo puede ser escrito en lenguaje natural, pero esta descripción puede ser ambigua, por lo que se utilizan
diferentes métodos de representación, que permiten evitar dicha ambigüedad y al mismo tiempo que sean fácilmente
codificables. Los métodos más usuales para la representación de algoritmos son:
• Descripción narrada
• Diagrama de flujo
• Pseudocódigo
DESCRIPCIÓN NARRADA
Es la forma más sencilla de describir o expresar un algoritmo. Consiste en hacer un relato de la solución en lenguaje
natural. Por ejemplo:
Algoritmo (en descripción narrada) para calcular la suma de 2 números:
1. Obtener los 2 números a sumar.
2. Sumar los números.
3. Mostrar el resultado.
El uso del lenguaje natural provoca frecuentemente que la descripción sea imprecisa y poco confiable, por lo que este
tipo de representación no es recomendable.
DIAGRAMA DE FLUJO
Es la representación gráfica de un algoritmo. Utiliza símbolos normalizados, con los pasos del algoritmo escritos en el
símbolo adecuado y los símbolos unidos por flechas, denominadas “líneas de flujo”, que indican el orden en que los pasos
deben ser ejecutados.
PSEUDOCÓDIGO
El pseudocódigo en un lenguaje de especificación de algoritmos que utiliza palabras reservadas y exige la
indentación, o sea, sangría en el margen izquierdo de algunas líneas. Se concibió para superar las dos principales
desventajas de los diagramas de flujo: lento de crear y difícil de modificar sin un nuevo proceso de redibujo. Es una
Profesor:
1
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
herramienta muy efectiva para el seguimiento de la lógica de un algoritmo y para transformar con facilidad los algoritmos a
programas.
En el ámbito de las computadoras, los algoritmos se expresan como programas. Los programas son algoritmos
codificados con un lenguaje no ambiguo cuya sintaxis y semántica "entiende" la computadora.
Así pues, si queremos que una computadora efectúe una tarea, primero debemos descubrir un algoritmo para llevarla
a cabo; programar el algoritmo en la máquina consiste en representar ese algoritmo de modo que se pueda comunicar a
una máquina. En otras palabras, debemos transformar el algoritmo conceptual en un conjunto de instrucciones y
representar estas últimas en un lenguaje sin ambigüedad.
Gracias a la capacidad para comunicar nuestros pensamientos mediante algoritmos, podemos construir máquinas
cuyo comportamiento simula, en alguna medida, la inteligencia. El nivel de inteligencia que simula la máquina está limitado
por la inteligencia que podamos comunicarle por medio de algoritmos. Las máquinas sólo pueden realizar tareas
algorítmicas. Si encontramos un algoritmo para dirigir la ejecución de una tarea, podemos construir una máquina para
llevarla a cabo siempre que la tecnología haya avanzado lo suficiente. Si no encontramos un algoritmo, es posible que la
ejecución esté fuera de las capacidades de las máquinas.
La resolución de los problemas consta de 5 etapas que garantizan la llegada correcta a la solución: identificación del
problema, planteamiento de alternativas de solución, elección de una alternativa de solución, elección de una alternativa,
desarrollo de la solución y evaluación de esta.
Profesor:
2
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
de encontrar la vía correcta. Se debe destacar que no es conveniente extender demasiado el número de alternativas, pues
si el número de éstas es demasiado alto, se presentará una mayor dificultad para elegir la mejor de todas, que es en
definitiva el objetivo del proceso.
DESARROLLO DE SOLUCIÓN
Después de decidir cuál es la mejor alternativa de todas, se llega a la etapa de la solución. En esta fase, a partir de los
datos relacionados con la alternativa seleccionada, se aplican las operaciones necesarias para solucionar el problema. La
selección de los procesos también debe ser determinada en función de la optimidad, es decir, las operaciones deben
llegar a la solución por el camino más corto para garantizar la mayor eficiencia en el funcionamiento. Si la alternativa es la
óptima, llevará a la solución deseada que fue prevista en la identificación del problema.
EVALUACIÓN DE LA SOLUCIÓN
Luego de haber desarrollado la solución queda aún una etapa, que es la evaluación. En los procesos industriales a
este procedimiento se le llama control de la calidad y consiste en determinar que la solución obtenida es lo que esperaba
conseguir comprobando que el resultado sea correcto. En esta fase se deben “pulir” los procesos ya realizados y tratar de
llevarlos a un grado mayor de optimidad, pues el algoritmo más eficiente en la solución de un problema es el que llega a
su objetivo final con la mayor economía de procedimientos que sea posible.
SITUACIÓN DIDÁCTICA:
El área de ciencias sociales está organizando un viaje de estudios al Museo de Historia Natural en San
Diego, California.* Los organizadores pueden elegir contratar una de dos opciones de transporte: rentar un
autobús de lujo cuesta $20,000.00 y rentar un autobús sencillo les costaría $15,000.00. El precio por persona
dependerá de la cantidad de asistentes.
A ti te han encargado enlistar las actividades necesarias a través de un algoritmo y un diagrama de flujo
para planear el viaje.
¿Qué debes saber para lograr elaborar el algoritmo y diagrama de flujo para planear el viaje?
¿Cuánto se debe pagar para asistir, dependiendo de la opción de transporte, es decir de lujo o
sencillo?
*
Profesor:
3
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
DEFINICIÓN
Es la representación gráfica de flujo de un algoritmo o de secuencia rutinarias Se basan en la utilización de diversos
símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se
conectan por medio de flechas para indicar la secuencia de la operación.
SÍMBOLOS UTILIZADOS
Los símbolos que se utilizan para diseño se someten a una normalización, es decir, se hicieron símbolos casi
universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en
forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar.
La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a las normas
preestablecidas universalmente para dichos símbolos o datos. Los siguientes símbolos son los principales:
Profesor:
4
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
• Existe un único punto de fin para el proceso de flujo (salvo del rombo que indica una comparación con dos caminos
posibles).
ESTRUCTURAS ALGORÍTMICAS
Las estructuras de operación de programas 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 se clasifican de acuerdo con su complejidad en:
Profesor:
5
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
Secuenciales: Para dar solución a éste tipo de problemas, se emplea una serie de acciones ejecutadas repetidamente
en un solo orden secuencial.
Condicionales: Para dar solución a éste tipo de problemas, se emplean acciones en las que la ejecución de alguna
dependerá que se cumplan una o varias condiciones
Cíclicas: Son aquellas que para dar una solución, es necesario utilizar el mismo conjunto de acciones que puedan
ejecutarse más de una vez.
EJEMPLO:
Definición del Problema: Elaborar un algoritmo para calcular la suma de dos números y representar el algoritmo
gráficamente.
Fin
Profesor:
6
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
Lectura: PSEUDOCÓDIGO
DEFINICIÓN
Mucho se habla del pseudocódigo en las carreras de Analista de Sistemas y Programación. Pero no existe mucha
bibliografía al respecto. Digamos que el pseudocódigo es una forma de diagramar un algoritmo para resolver un
determinado problema, sin atenerse a ningún lenguaje de programación en especial.
En vez de escribir el programa directamente en un lenguaje de programación determinado (C, Basic, etc.), crearemos
un borrador entendible para todos, para luego de tener bien en claro lo que se debe hacer, pasar a la programación
propiamente dicha. No hay que confundirlo con un diagrama de flujo.
En el diagrama de flujo se representa el transcurso del programa, el momento donde se obtienen los datos, cuando se
procesan y el momento de presentar los resultados. Si bien son dos herramientas que se utilizan en conjunto, cada una
representa dos partes distintas en el diseño de un sistema.
El pseudocódigo se refiere a crear un código para orientar a los programadores, pero sin la sintaxis ni la estructura
propia de ningún lenguaje. El pseudocódigo es la mezcla de lenguaje de programación y español (o inglés, o cualquier
otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa.
En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. El Pseudocódigo
utiliza palabras que indican el proceso a realizar.
Profesor:
7
BLOQUE I: DISEÑA Y ELABORA ALGORITMOS
ACTIVIDADES
1.- Realiza una lectura de los temas “¿Qué es un algoritmo?”, “Diagramas de flujo”, “Pseudocódigo”, y elabora
un resumen en el cuaderno de apuntes.
2.- Con la finalidad de practicar y tener los conocimientos para elaborar el algoritmo y diagrama de flujo para
planear el viaje, trabaja colaborativamente en parejas para elaborar los siguientes ejercicios:
▪ Elabora un algoritmo para preparar un sándwich.
▪ Elabora un algoritmo para obtener el área de un triángulo.
▪ Elabora el algoritmo para convertir una cantidad de pesos a dólares.
Resuelve los ejercicios aplicando la metodología para llegar a una mejor solución de los problemas:
Identificar el problema a resolver.
Plantear alternativas de solución.
Elegir una alternativa.
Desarrollar la solución (el algoritmo).
Evaluar la solución (el algoritmo).
• Elabora un reporte en el cuaderno de apuntes de las soluciones planteadas.
3.- Trabaja en equipo de tres integrantes para elaborar en el cuaderno de apuntes el algoritmo que de solución
a los siguientes problemas:
▪ Un alumno desea saber cuál será su calificación final en la asignatura de Informática II. Dicha calificación
se compone de tres calificaciones parciales con valor de 80% y un examen semestral con valor de 20%.
▪ El maestro de informática II desea saber qué porcentaje de hombres y qué porcentaje de mujeres hay en
su grupo.
• Elabora el algoritmo para planear el viaje al zoológico de San Diego, tomando en cuenta el costo a
pagar, dependiendo del tipo de transporte.
4.- Trabaja colaborativamente en equipo de tres integrantes para revisar el siguiente ejemplo que viene en
diagramas de flujo (Pag. 6) y realizar en el cuaderno de apuntes los diagramas de flujo de los algoritmos que se
elaboraron en las actividades 2 y 3.
5.- Emplea el programa Microsoft Word 2007 para elaborar los diagramas de flujo que se presentan en la
actividad 4.
6.- Trabaja colaborativamente en parejas y resuelve el problema planteado en la situación didáctica: “Enlistar
las actividades necesarias a través de un algoritmo y un diagrama de flujo para planear el viaje. ¿Cuánto se
debe pagar para asistir, dependiendo de la opción de transporte, es decir de lujo o sencillo?”
• Elabora un documento que contenga el algoritmo y diagrama de flujo, con introducción, desarrollo y
conclusión en el programa Microsoft Word 2007.
• Expongan al grupo la solución planteada, con ideas claras y la temática bien organizada.
Profesor:
8