Está en la página 1de 23

Taller Algoritmos

3.2Actividades de contextualización e identificación de conocimientos necesarios para el


aprendizaje
Actividad de Aprendizaje: Conceptualización de algoritmos.
Por medio de un navegador de internet y buscador investigue, consulte y conceptualice los
siguientes términos para algoritmos:
¿Qué es un Algoritmo?
Un algoritmo es una serie de pasos organizados, que describe el proceso que se debe seguir, para
dar solución a un problema específico.

Como tal pensar en un algoritmo, es pensar la forma en la que podemos resolver un problema
paso a paso, si no se resuelve un paso del problema no se puede pasar al siguiente.

Tipos de problemas y ejemplos

Problemas de ajedrez. El ajedrez es un tema recurrente en el planteamiento de problemas


algorítmicos. Los movimientos de las distintas piezas que componen el juego, sobre todo del
caballo, han servido de inspiración para el planteamiento de muchos problemas matemáticos y
algorítmicos. Los problemas de ajedrez pueden ser modelados en general como problemas de
grafos. Las 8 x 8 = 64 casillas del tablero pueden visualizarse como un grafo de 64 vértices cuya
adyacencia dependerá, en general, de la pieza que se esté considerando mover. Por ejemplo:

El caballo avanza diagonalmente, luego hacia abajo, se dirige


hacia la derecha, repite el paso hacia abajo dos veces y
finalmente hacia la derecha nuevamente.

Codificación/Decodificación. En esta categoría englobamos


problemas que se plantean como procesos de codificación o
decodificación de determinados datos. Típicamente, aunque no
siempre, los datos en cuestión son caracteres, y estos
problemas suelen plantearse como códigos de cifrado para
comunicaciones. Por ejemplo:

MIME. Multipurpose Internet Mail Extensions. Convierte los datos de un correo electrónico -texto,
archivos adjuntos, PDFs e imágenes- en una secuencia de caracteres.

Si quieres enviarle un correo electrónico a alguien de tu trabajo. Al hacerlo, escribes un mensaje y


adjuntas tres archivos. Un documento editable en formato DOC, un informe para la impresión en
formato PDF y una imagen en formato JPEG.

Al hacer clic en “enviar”, el sistema codifica toda la información en un lenguaje mucho más simple,
es decir, un código binario. Esta información viaja por la red como si fuera una cadena de
caracteres. Al llegar al destinatario, el sistema la decodifica para que este pueda verla en su estado
original, es decir, que se pueda leer el texto y descargar los archivos adjuntos.
Conversión de caracteres. Son problemas parecidos a los anteriores, casi un caso particular, con
la diferencia de que los datos de entrada son caracteres y la codificación se realiza también en
forma de caracteres. Habitualmente, cada ejemplar de entrada suele tener un tamaño máximo lo
suficientemente pequeño para que pueda alojarse y manejarse en un array de caracteres o un
string como los que proporcionan las librerías estándar de Pascal o C++. Por ejemplo: Cadenas
de texto y contraseñas de cualquier red social.

Cálculos de combinaciones/permutaciones. Se trata de problemas que piden calcular el número


de combinaciones que pueden realizarse entre los elementos de un determinado conjunto que
puede darse de forma explícita o implícita. Para abordar con éxito este tipo de problemas conviene
observar cuidadosamente las características del problema y de la solución requerida, y en
particular cuestiones como el orden de los elementos (si es relevante o no, es decir, si se trata de
combinaciones o permutaciones), la repetición o no de un mismo elemento en una de las
soluciones, etcétera. Por ejemplo:

 Mi ensalada de frutas es una combinación de manzanas, uvas y bananas": no importa en


qué orden pusimos las frutas, podría ser "bananas, uvas y manzanas" o "uvas, manzanas y
bananas", es la misma ensalada.
 La combinación de la cerradura es 472": ahora sí importa el orden. "724" no funcionaría, ni
"247". Tiene que ser exactamente 4−7−2.

Laberintos y grafos en general. Englobamos aquí a todos los problemas que se plantean como
laberintos y, en general, los que desde su enunciado nos proponen manejar un grafo. Los
laberintos suelen ser fácilmente modelables como un grafo en el que las intersecciones (o
habitaciones) son los nodos del grafo y la conectividad/accesibilidad entre unas y otras pueden ser
modeladas mediante los arcos de dicho grafo. Por ejemplo:

Los laberintos son algoritmos dirigidos ya que solo tiene un camino:

Problemas matemáticos. Llamamos problemas matemáticos a aquellos problemas cuyo paso


fundamental para su resolución es la obtención de un modelo matemático del problema, y que una
vez bien planteado este modelo suele ser relativamente sencilla su resolución, al menos en
términos conceptuales. A menudo este tipo de problemas se encuentran escondidos detrás de
planteamientos que intentan conducir al concursante hacia determinada técnica de diseño
algorítmico que en la mayoría de los casos le suele llevar a rebasar el límite de tiempo máximo
disponible en la ejecución. Por ejemplo:

Se necesita obtener el promedio simple de un estudiante a partir de sus tres notas parciales

Solución:

Datos
Salida Promedio P

Entrada Primera Nota Parcial N1

Segunda Nota Parcial N2

Tercera Nota Parcial N3

Inicio

Leer N1

Leer N2

Leer N3

P=(N1 + N2 + N3)/3

Escribir P

Fin

Características de un Algoritmo

Los algoritmos tienen características fundamentales, estas son:

 Tiene que ser finito: un algoritmo necesita tener un determinado número de los pasos
seguidos.
 Tiene que definir tres partes: una entrada, el proceso y la salida
 Necesita ser preciso: debe dar indicación del orden en el que se necesita realizar cada
uno de los pasos a seguir para llegar a una solución.
 Tiene que ser legible: tiene que haber claridad en el texto que describe al algoritmo, de tal
manera que sea posible leerlo y entenderlo con facilidad.
 Tiene que estar definido: sin importar que un algoritmo sea seguido dos veces, el
resultado deber ser el mismo en cada ocasión.

Pseudocodigo

El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa, de la
forma más parecida a un lenguaje de programación. Su principal función es la de representar por
pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un
lenguaje cercano al de programación. El pseudocódigo no puede ejecutarse en un ordenador ya
que entonces dejaría de ser pseudocódigo, como su propio nombre indica, se trata de un código
falso (pseudo = falso), es un código escrito para que lo entienda el ser humano y no la máquina.
Diagrama de flujo

El diagrama de flujo o también diagrama de actividades es una manera de representar


gráficamente un algoritmo o un proceso de alguna naturaleza, a través de una serie de pasos
estructurados y vinculados que permiten su revisión como un todo.

La representación gráfica de estos procesos emplea, en los diagramas de flujo, una serie


determinada de símbolos que representan cada paso puntual del proceso que está siendo
evaluado. Estas formas definidas de antemano se conectan entre sí a través de flechas y líneas
que marcan la dirección del flujo y establecen el recorrido del proceso, como si de un mapa se
tratara.

Programa

Es un tipo de software que funciona como un conjunto de herramientas diseñado para realizar


tareas y trabajos específicos en tu computador.

Mientras los sistemas operativos se encargan de hacer funcionar tu computador. Los programas se
presentan como herramientas para mejorar tu desempeño. Algunos ejemplos de estos programas
o aplicaciones son los procesadores de texto, como Microsoft Word; las hojas de cálculo, como
Excel ; y las base de datos, como Microsoft Access.
3.3 Actividades de apropiación del conocimiento (Conceptualización y Teorización).

En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos


problemas como por ejemplo para poner 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 ir al cine 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.

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.

Así pues, si queremos que un ordenador 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.

Investigue y mencione las 3 fases o etapas en la solución de un algoritmo.

Análisis del Problema: Esta fase requiere una clara definición donde se contemple exactamente
lo que debe hacer el programa y el resultado o solución deseada. Dado que se busca una solución

Diseño del Algoritmo: En la fase de análisis en el proceso de programación se determina que


hace el programa. En la fase de diseño se determina como hace el programa la tarea solicitada y
precisan especificaciones de entrada y salida.

Verificación manual de algoritmos: La forma más común de comprobar un algoritmo es


mediante su ejecución manual usando datos significativos que abarquen todos los valores posibles
y anotando en una hoja de papel los valores que van tomando en las diferentes fases.
Por medio de que se representa la esquematización gráfica de un algoritmo y señale
cada elemento o símbolo correspondiente y describa su uso.

Un Diagrama de Flujo representa la esquematización gráfica de un algoritmo, el cual muestra


gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Su correcta
construcción es sumamente importante porque, a partir del mismo se escribe un programa en
algún Lenguaje de Programación.

El primer símbolo que se muestra es la flecha, un símbolo de conexión utilizado para indicar una
interconexión entre otros dos símbolos, y la dirección del flujo.

A continuación, vamos a mostrar varios diseños de formas con el respectivo significado de estos
símbolos en el diagrama de flujo del proceso.

Nombre: Terminación

Significado del símbolo en diagramas de flujo: Indica el comienzo o el final de un flujo en el


diagrama de procesos.

Nombre: Proceso

Significado del símbolo en diagramas de flujo: Indica un determinado proceso y sus funciones y
actividades.
Nombre: Decisión

Significado del símbolo en diagramas de flujo: Esto demuestra que se debe tomar una decisión y
que el flujo del proceso va a seguir cierta dirección según esta decisión.

Nombre: Retardo

Significado del símbolo en diagramas de flujo: Significa que pasará un tiempo antes de que el flujo
del proceso continúe.

Nombre: Datos

Significado del símbolo en diagramas de flujo: Representa cualquier tipo de dato en el diagrama de
flujo.

Nombre: Documento
Significado del símbolo en diagramas de flujo: Es un tipo de dato o información que las personas
pueden leer, como un informe impreso, por ejemplo.

Nombre: Varios documentos

Significado del símbolo en diagramas de flujo: Indica que son varios documentos.

Nombre: Sub-rutina o proceso predefinido

Significado del símbolo en diagramas de flujo: Un proceso que ya está definido previamente.

Nombre: Preparación

Significado del símbolo en diagramas de flujo: Esto indica que hay que hacer, ajustar o modificar
algo en el proceso antes de proceder.

Nombre: Display
Significado del símbolo en diagramas de flujo: Indica que se exhibirá alguna información o dato
para leer en una pantalla u otra forma de visualización.

Nombre: Entrada manual

Significado del símbolo en diagramas de flujo: Esto indica que una persona hará un procedimiento
manualmente.

Nombre: Loop manual

Significado del símbolo en diagramas de flujo: Indica que una secuencia de comandos ocurrirá,
repitiéndose continuamente hasta que una persona la detenga manualmente.

Nombre: Límite del loop

Significado del símbolo en diagramas de flujo: Muestra el comienzo de un proceso de loop.


Nombre: Datos almacenados

Significado del símbolo en diagramas de flujo: Esto muestra que existen datos almacenados.

Nombre: Conector

Significado del símbolo en diagramas de flujo: Indica que habrá una inspección en este punto.

Nombre: Conector para otra página

Significado del símbolo en diagramas de flujo: Esto indica que hay una referencia cruzada y un
enlace de este proceso, a otro proceso diseñado en otra página.
Nombre: O

Significado del símbolo en diagramas de flujo: Se utiliza para indicar la “o” lógica.

Nombre: Sumador

Significado del símbolo en diagramas de flujo: Se utiliza para indicar la “y” lógica.

Nombre: Agrupar

Significado del símbolo de diagrama de flujo: Indica una etapa en la que se organizan los datos de
una manera estándar.
Nombre: Clasificar

Significado del símbolo en diagramas de flujo: Esto indica que en este punto se generará una lista
que organiza elementos en un orden determinado.

Nombre: Mezclar

Significado del símbolo en diagramas de flujo: Indica un paso en el que se combinarán diversos
conjuntos en uno solo.

Nombre: Base de datos

Significado del símbolo en diagramas de flujo: Una lista de información con una estructura
estandarizada que permite la investigación y la clasificación.
Nombre: Almacenamiento interno

Significado del símbolo en diagramas de flujo: Indica un dispositivo de almacenamiento interno.

Investigue que herramientas existen para elaborar diagramas de flujo, seleccione


una e instálela en su equipo.

Draw.io

Draw.io es una aplicación web que se puede utilizar a través de un navegador. Esto significa que
no hay necesidad de descargar o instalar nada. Una vez abierta, simplemente tienes que decidir
dónde quieres guardar tu diagrama una vez creado. Es muy fácil de usar y da una buena variedad
de figuras y opciones para utilizar. Puedes cambiar sus formas, añadir color, cambiar su tamaño y
hacer muchas otras modificaciones para personalizar sus diagramas. Por supuesto, también se
puede añadir texto. Cuando hayas terminado, simplemente haces clic en “Archivo > Descargar”
para descargarlo a tu ordenador. Podrás descargar tu diagrama en diversos formatos de archivo.

Draw de LibreOffice

Para aquellos que no están familiarizados con LibreOffice, se trata de una aplicación ofimática para
personas que no quieren pagar por Microsoft Office, pero quieren una suite que funciona de
manera similar. Draw te ayuda a hacer tus propios planes, esquemas y otras representaciones de
datos visuales. Te permite introducir símbolos y flechas para conectar mejor las ideas y una vez
haya terminado, puedes exportar el dibujo y guardarlo como un PDF, archivo de imagen o en una
diversidad de formatos.

yEd

Esta herramienta, de descarga gratuita, te ofrece una gran cantidad de opciones al crear
diagramas. Puedes utilizar una gran variedad de nodos y símbolos de forma. Es fantástico para
crear diagramas de flujo. Hay opciones de diseño automático que sirven de plantilla si no se te
ocurre nada. El diagrama es fácilmente exportable tras su finalización, y te permite exportar a XML.

ArgoUML

Si estás buscando una solución de código abierto para la creación de diagramas, ArgoUML será
probablemente la mejor opción disponible. Te permitirá crear muchos tipos de diagramas,
incluyendo diagramas de colaboración, secuencia y despliegue. También hay un gran número de
opciones cuando se trata de formateo. Aunque estos diagramas pudieran no ser tan estéticamente
agradables como el resto, harán su trabajo y ArgoUML probablemente te dará el mayor número de
opciones de personalización cuando se trate de herramientas gratuitas.
Dia

Esta es otra opción simple aunque muy amigable cuando se trata de creación de diagramas con
herramientas libres. Ofrece una gran variedad de plantillas para ser utilizadas, y va más allá de la
simple correspondiencia de ideas. Puedes utilizar plantillas para crear diagramas de trabajo óptico,
planos de ingeniería, soluciones HVAC, y mucho más. Es una herramienta descargable de uso
gratuito y fácil de instalar y comprender.

Gliffy

Gliffy es otra gran solución para personas que prefieren trabajar directamente desde sus
navegadores web. No hay nada que descargar e instalar, simplemente ejecutalo en tu navegador
preferido. Es una de las mejores herramientas si estás buscando colaborar con compañeros
intercambiando ideas con el uso de diagramas. También puedes permitir que tus colegas editen tus
diagramas, con el fin de compartir ideas.

Diagram Designer

Diagram Designer te ofrece muchas plantillas personalizables con las que trabajar. La herramienta
incorpora por defecto un corrector ortográfico, que no ofrecen muchas herramientas de
diagramación gratuitas. Hay una gran cantidad de tipos de archivo que se pueden importar y
exportar usando esta herramienta, incluyendo WMF, BMP, JPEG, GIF, PCX y más. También
incluye una herramienta calculadora que te permite realizar ecuaciones matemáticas dentro de los
diagramas.

Pencil

Pencil está disponible como herramienta descargable y como extensión para Firefox. Multitud de
personas lo utilizan para adentrarse en el diseño de aplicaciones móviles, ya que incorpora formas
para Android e iOS. Con esta aplicación, el dibujo de diagramas es increíblemente fácil e intuitivo.
Hay muchas formas para elegir, ya que la comunidad de usuarios de Pencil crea sus propias
formas y las comparte con cualquier persona que esté interesada en su uso.

Lucidchart

es una herramienta de diagramación basada en la web, que permite a los usuarios colaborar y
trabajar juntos en tiempo real, creando diagramas de flujo, organigramas, esquemas de sitios web,
diseños UML, mapas mentales, prototipos de software y muchos otros tipos de diagrama.

Resuelva la siguiente sopa de letras y encuentre las 8 palabras relacionadas con el


desarrollo de la presente guía.
3.4 Actividades de transferencia del conocimiento.

2. Visualice los Ejemplos que están en esta guía y luego desarrolle los siguientes ejercicios:

A) Desarrolle en pseudocódigo los siguientes problemas de la vida diaria:

Ir al Cine.

1. Escoger el cine.

2. Determinar la película que verás.

3. Decidir si iras solo o llevarás otras personas.

4. De ser necesario, ir al banco a sacar dinero.

5. Tomar una cantidad aproximada de dinero.

6. Salir de la casa.

7. Decidir que transporte usarás para llegar a tu destino.

8. Tomar el transporte para llegar al cine.

9. Si va en auto propio, estacionarlo.

10. Llegar al cine.

11. Caminar hacia la taquilla.


12. Ver las funciones que están en cartelera.

13. Decidir la película.

14. Decidir un horario.

15. Hacer fila para comprar el respectivo boleto.

16. Decidir que asiento/s ocupara y en que fila se sentara.

17. Pagar los boletos.

18. Si desea comprar algo, hacer fila en la dulcería.

19. Caminar hacia la entrada de la sala.

20. Buscar los asientos.

21. Sentarse y disfrutar la película.

22. Fin

Cocinar el arroz del almuerzo.

1. Ir a la cocina.

2. Conectar la olla arrocera.

3. Sacar el aceite, la cebolla, la sal, el arroz, una cuchara y la tapa.

4. Agregar 2 cucharadas de aceite por cada taza de arroz en la olla arrocera.

5. Agregar la cebolla y dejar sofreír por 5 minutos.

6. Lavar el arroz.

7. Escurrir el arroz con un colador.

8. Verter el agua y arroz a su gusto.

9. Agregar sal a su gusto.

10. Revolver todos los ingredientes que están en la olla arrocera con la cuchara.

11. Tapar la olla.

12. Cuando esté listo el arroz, desconectar la olla arrocera.

13. Servir el arroz

14. Fin

Desvararse en la pinchada de un carro.

1. Detenga el vehículo en un lugar seguro.

2. Coloque el freno de mano.

3. Abra la puerta.

4. Bájese del vehículo.


5. Cierre la puerta.

6. Diríjase hacia el maletero o baúl.

7. Saque el kit de emergencia y extraiga los triángulos de seguridad.

8. Coloque los triángulos de seguridad unos 50 metros atrás del vehículo.

9. Saque la cruceta y afloje las tuercas.

10. Instale el levantador de vehículos en la parte inferior del vehículo.

11. Utilice la palanca que trae el levantador para elevar el vehículo.

12. Retire las tuercas y saque la llanta.

13. Diríjase de nuevo al baúl.

14. Saque la llanta de repuesto.

15. Coloque la llanta de repuesto.

16. Ponga las tuercas ubicadas en los extremos de la base de la llanta.

17. Ajústelos con la cruceta.

18. Baje el levantador suavemente.

19. Recoja los elementos utilizados y ubique los en el baúl.

20. Quite loa triángulos se seguridad.

21. Guárdelos en el baúl.

22. Diríjase a la puerta del conductor.

23. Abra la puerta.

24. Encienda el carro.

25. Cierre la puerta.

26. Retire el freno de mano y continúe con el recorrido.

27. Fin

Pagar un servicio público en el Banco.

1. Reunir el dinero.

2. Tomar el recibo.

3. Tomar el dinero.

3. Salir de la casa.

4. Dirigirse al banco.

5. Entrar al banco.

6. Hacer la fila.

7. Esperar el turno.
8. Pasar el recibo al cajero.

9. Entregar el dinero al cajero.

8. Verificar que si fue pagado el recibo.

9. Salir del banco

10. Fin

Llegar a estudiar al colegio.

1. Levantarme.

2. Ir al baño.

3. Quitarme la ropa.

4. Entrar a la ducha.

5. Abrir la llave de la ducha.

6. Echarme jabón.

7. Cerrar la llave de la ducha.

8. Echarme champo.

9. Abrir la llave de la ducha.

10. juagarme.

11. Cerrar la llave de la ducha.

12. Salir de la ducha.

13. Cepillarme los dientes.

14. Ir a la pieza.

15. Vestirme.

16. Peinarme.

17. Salir de la pieza y dirigirme al comedor.

18. Desayunar.

19. Coger la maleta.

20. Coger las llaves.

21. Colocar las llaves dentro de la maleta.

22. Abrir la puerta de la casa.

23. Salir de la casa.

24. Cerrar la puerta.

25. Caminar hasta llegar al colegio.

26. Entrar al colegio.


27. Fin.

B) Realice un algoritmo con la suma de 5 números primero en pseudocódigo y luego en el


diagrama de flujo

Inicio

 Deme el primer número


 Deme el segundo número
 Deme el tercer número
 Deme el cuarto número
 Deme el quinto número

Resultado=primer número +segundo número +tercer número +cuarto número +quinto numero

Mostrar el resultado

Fin
C) Realice un algoritmo con la resta de 5 números primero en pseudocódigo y luego en el
diagrama de flujo.

Inicio

 Deme el primer número


 Deme el segundo número
 Deme el tercer número
 Deme el cuarto número
 Deme el quinto número

Resultado=primer número -segundo número -tercer


número -cuarto número -quinto número

Mostrar el resultado

Fin

D) Realice un algoritmo con la multiplicación de 2 números primero en pseudocódigo y luego en el


diagrama de flujo.
Inicio

 Deme el primer número

 Deme el segundo número

Resultado=primer número *segundo número

Mostrar el resultado

Fin

E) Realice un algoritmo que divida números primero en pseudocódigo y luego en el diagrama de


flujo.

Inicio
 Deme el primer número

 Deme el segundo número

Resultado=primer número /segundo número

Mostrar el resultado

Fin

También podría gustarte