Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

1 Algoritmos Informatica 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

BLOQUE I: DISEÑA Y ELABORA ALGORITMOS

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.

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
número finito de pasos.
La estructura de un algoritmo debe estar integrada por tres partes: Entrada,
Proceso y Salida.
La entrada se refiere a algo que existe y es utilizado por el algoritmo para
transformarlo en los resultados que uno planifica.

METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS


Antes de hablar de metodologías de solución de problemas debes tener muy claro el concepto de método, que a lo
largo de la historia ha llamado la atención de gran cantidad de filósofos y científicos. El Diccionario Larousse define el
término método como “el conjunto de operaciones ordenadas con que se pretende obtener un resultado”. La
metodología es la ciencia que aplica este método. Existen muchos tipos de metodologías, como la metodología de
investigación, metodología de enseñanza–aprendizaje, etc., así como la metodología de solución de problemas, que
aplicamos constantemente en la vida diaria. Pero en este caso hablaremos específicamente de la solución de problemas
que podemos resolver mediante el uso de la computadora.

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.

IDENTIFICACIÓN DEL PROBLEMA


La identificación del problema es una fase muy importante en la metodología, pues de ella depende el desarrollo
posterior en busca de la solución. Un problema bien delimitado es una gran ayuda para que el proceso general avance
bien; un problema mal definido provocará desvíos conceptuales que serán difíciles de remediar posteriormente. En esta
etapa es fundamental el análisis de la información inicial (entrada) con el fin de distinguir los datos pertinentes de los que
no lo son, de manera que se pueda elegir la configuración más conveniente respecto a las soluciones posibles. También
deben definirse los datos de salida que garanticen la continuidad del proceso para que sea más fácil eliminar las
expectativas negativas.

PLANTEAMIENTO DE ALTERNATIVAS DE SOLUCIÓN


Después de la definición del problema y del análisis de los datos de entrada, el proceso continúa con el análisis de las
alternativas de solución. Por lo general, la solución de un problema puede alcanzarse por distintas vías. Es útil tratar de
plantear la mayor cantidad de alternativas posibles de solución, pues de esta forma las probabilidades aumentan a favor

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.

ELECCIÓN DE UNA ALTERNATIVA


Después de tener todo el repertorio de alternativas, es necesario pasar a otra etapa: la elección de la mejor entre
todas las posibilidades. Esta fase es muy importante porque de la elección realizada depende el avance final hasta la
solución. La orientación hacia delante supone la irreversibilidad si la decisión es acertada o una “reversibilidad costosa”,
pues si la decisión no es acertada, es necesario retroceder, lo que afecta la “optimidad” del proceso.
Por tanto, es necesario que cada alternativa sea bien analizada para que la toma de decisiones sea bien justificada.
Deberá elegir la alternativa que sea la más adecuada para la solución de problemas, tomando en cuenta las
características del problema y las características que deberá tener la solución, así como los elementos, datos o
información con la que cuentas.

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

Lectura: DIAGRAMAS DE FLUJO

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:

DESCRIPCIÓN DE LOS SÍMBOLOS


• Flujo de datos: Indica la secuencia (flujo) de operación del diagrama, que a su vez indican el sentido y trayectoria.
• Inicio o fin: Se utiliza para señalar el comienzo así como el final de un diagrama. Tradicionalmente se colocan las
palabras "INICIO" ó "FIN" dentro de la figura para hacerlo más explícito.
• Proceso: Es el símbolo más comúnmente utilizado. Se usa para representar un evento o proceso determinado que
es controlado dentro del diagrama de flujo en que se encuentra, sumar, restar y cualquier operación aritmética es un
proceso.
• Decisión. Se utiliza para representar una pregunta o interrogante que tiene al menos dos respuestas posibles, para
cada una de las cuales hay un camino de continuación del proceso. Lo anterior hace que a partir de éste el proceso
tenga dos o más caminos posibles.
• Conector: Representa un punto de conexión entre procesos. Se utiliza cuando es necesario dividir un diagrama de
flujo en varias partes o procesos dentro de la misma hoja, por razones de espacio o simplicidad. Se usa para
conectar procesos contenidos dentro de la misma hoja. La mayoría de las veces se utilizan números en los círculos
para hacer la referencia.
• Entrada de datos: Representa una operación de entrada. En este símbolo se indican los valores iníciales que
deberá recibir el proceso. Esto se hace asignándoles letras o nombres de variables para cada uno de los valores y
anotando estas letras en el interior de la figura.
• Despliegue de resultados: Este símbolo se utiliza para mostrar un resultado, el cual puede representar la solución
al problema que se pretende resolver y que fue conseguida a través del resto del diagrama. Dentro de su interior se
anotará la variable con el resultado final o el mensaje que represente el resultado del algoritmo.

CARACTERÍSTICAS QUE DEBE CUMPLIR UN DIAGRAMA DE FLUJO


• Existe siempre un camino que permite llegar a una solución (finalización del algoritmo).
• Existe un único inicio del proceso.

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).

DESARROLLO DEL DIAGRAMA DE FLUJO


Las siguientes son acciones previas a la realización del diagrama de flujo:
• Identificar las ideas principales a ser incluidas en el diagrama de flujo.
• Definir qué se espera obtener del diagrama de flujo.
• Identificar quién lo empleará y cómo.
• Establecer el nivel de detalle requerido.
• Determinar los límites del proceso a describir.
Los pasos a seguir para construir el diagrama de flujo son:
• Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama.
Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.
• Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden
cronológico.
• Si el nivel de detalle definido incluye actividades menores, listarlas también.
• Identificar y listar los puntos de decisión.
• Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
• Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

VENTAJAS DE LOS DIAGRAMA DE FLUJO


• Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El cerebro humano reconoce
fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.
• Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos redundantes,
los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de
decisión.
• Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el
análisis de las mismas.
• Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea,
cuando se realizan mejoras en el proceso.

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.

Análisis del problema:


Entrada: A y B representan los dos números. Inicio
Proceso: Suma= A + B
Salida: Resultado es Suma
A, B
Algoritmo: Diagrama de flujo:

1.- Inicio Suma= A+B


2.- Leer A y B
3.- Suma= A + B
4.- Imprime (“El resultado es: Suma) El resultado
5.- Fin.
es: Suma

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.

Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo


1. Ocupan mucho menos espacio en el desarrollo del problema.
2. Permite representar de forma fácil operaciones repetitivas complejas.
3. Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación formal.
4. Si se siguen las reglas de identación se puede observar claramente los niveles en la estructura del programa.
5. En los procesos de aprendizaje de los alumnos de programación, estos están más cerca del paso siguiente
(codificación en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo).
Mejora la claridad de la solución de un problema.

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

También podría gustarte