Taller 2 Algoritmos y Programación
Paola Peña, Sandy Sanchez
Fundaciones Universitaria del Area Andina
Facultad de Ingeniería Y Ciencias Básicas
Ingeniería Industrial
Profesor Ing. Santiago Villarraga Castañeda
Email: [email protected]
01 de Abril del 2024
1- Realizar un cuadro comparativo entre algoritmo, diagrama de flujo y
pseudocódigo resaltando las principales características de cada uno.
2- Dibujar, nombrar y definir la función de los elementos utilizados en los
diagramas de flujo.
3- Realice 5 ejemplos de algoritmo, 5 de diagrama de flujo y 5 de
pseudocódigo.
4- Defina que es PseInt, y describa paso a paso su forma de uso.
5- Realice los siguientes ejercicios:
a- Cree un algoritmo que represente el proceso de planificación de un
viaje. Debe incluir pasos cómo elegir el destino, hacer reservaciones
de hotel y compra de tiquetes aéreos.
b- Diseñe un diagrama de flujo para calcular el promedio de una lista de
números ingresados por el usuario. El programa debe seguir
solicitando números hasta que el usuario ingrese un valor específico
para detenerse.
SOLUCIÓN
1.
CUADRO COMPARATIVO
NOMBRE CONCEPTO VENTAJAS DESVENTAJAS
ALGORITMO Es un conjunto de instrucciones o
● Es conveniente depurar ● Es complejo y difícil de
reglas definidas y no-ambiguas,
errores. entender.
ordenadas y finitas que permite,
● La solución es mostrada en ● Cuesta más tiempo crear un
típicamente, solucionar un problema,
lenguaje natural. algoritmo
realizar un cómputo, procesar datos y
llevar a cabo otras tareas o ● Es más fácil resolver ● Suelen requerir
actividades. problemas complejos de de conocimiento previo y
Dado un estado inicial y una entrada, manera rápida y más fácil. sobre todo técnico, ya que a
siguiendo los pasos sucesivos se llega menudo los algoritmos se
● Permiten el ordenamiento
expresan (excepto los más
a un estado final y se obtiene una secuencial de los procesos y cotidianos y sencillos) en
solución disminuyen, por lo tanto, el un lenguaje adaptado al
rango posible de errores. caso en cuestión.
● Son precisos y permiten ● La confianza ciega en un
ceñirse a una guía método lógico para resolver
específica. los problemas puede obviar
soluciones creativas más
● permiten realizar tareas
innovadoras pero
complejas de manera más
impredecibles.
rápida y con menos recursos.
Esto hace que los resultados ● La solución puede generar
finales sean más fiables y un gran consumo de
oportunos. recursos, como, por
ejemplo, memoria, tiempo
● Estos permiten controlar y
de procesamiento, energía
monitorear el acceso a los
y espacio para
datos de manera segura, así almacenamiento.
como detectar y prevenir
● conllevan algunos desafíos.
vulnerabilidades y amenazas.
Una desventaja de los
algoritmos es que a veces
no producen los resultados
deseados. Esto puede ser
debido a la falta de datos, a
una mala implementación
de los pasos del algoritmo o
a un mal diseño del
algoritmo en sí.
DIAGRAMA DE Representación gráfica de la
● Es muy fácil de entender. ● Ocupa mucho espacio.
FLUJO secuencia de actividades de un
proceso en los algoritmos. Cada
símbolo tiene un significado que
● Es bastante sencillo. ● No se elabora con base a
representa una acción, emplea
los principios de
rectángulos, óvalos diamantes y otras ● Se identifican los problemas
programación.
numerosas figuras para definir el tipo y oportunidades para mejorar
● Muestran el flujo del
de paso, junto con flechas conectores los procesos.
proceso, pero no su
que establecen el flujo y la secuencia.
● Es de fácil implementación.
estructura.
● Es más fácil explicar el ● Puede contar con muchas
programa a otros. ramificaciones.
● Facilitan la comprensión de ● Si son detallados, suelen
problemas muy largos y ser laboriosos en su
complicados. planteamiento y diseño.
● No tiene tantas reglas ● Aunque se module, no
comparadas a la permite al usuario incluir
programación. todos los detalles que
desee exponer
● Son virtualmente mas
complejos por el mayor
espacio que ocupan.
PSEUDOCÓDIGO Es una descripción de alto nivel
● Ocupan menos espacios que ● Puede ser muy difícil de
compacto e informal del principio
las líneas de código de un entender si el problema es
operativo de un programa informático
programa (en ciertos casos) muy extenso.
u otro algoritmo.
● No se usan sintaxis ● No todos usamos la misma
Pretende describir un algoritmo sin la
específicas. sintaxis para referirnos al
necesidad de difundir cuáles son sus
desarrollo del mismo
● Se puede solucionar un
principios básicos. Utilizados en obras
problema.
científicas y educativas en las etapas problema sin usar un
lenguaje de programación. ● La falta de normas
previas al desarrollo de un software, a
la manera de boceto antes de
● Se puede obtener una ● Como no hay reglas
proceder a la programación.
estructura lógica. determinadas la lógica no
es la misma de un individuo
● Puede ser usado en
a otro.
cualquier lenguaje de
programación. ● Las instrucciones no
siempre tienen un orden
● Permite representar
claro.
operaciones respectivas y
complejas de forma más ● El pseudocódigo requiere
simple. de ciertos símbolos y
lenguajes
● Es útil para la escritura rápida
de la solución de algoritmos ● Puede ser complejo.
2. Simbología de un Diagrama de flujo
SÍMBOLO NOMBRE FUNCION
Representa el inicio y el final de un
Inicio / final
proceso
Línea de Flujo Indica el orden de la ejecución de las
operaciones, la flecha indica la siguiente
instrucción
Representa la lectura de datos en la
Entrada / Salida entrada y la impresión de datos en la
salida
Proceso Representa cualquier tipo de operación
Decisión Nos permite analizar una situación, con
base en los valores verdadero y falso
Muestra el movimiento de un output entre
Movimiento
distintos puntos de la organización
Señala que output de ese proceso puede
A Conector ser el input de otro (la letra indica el
proceso de entrada)
Documento Documento / registro
Base de datos Punto de archivo donde se retiene
temporalmente la información, en espera
que se cumplan otras condiciones para
continuar el proceso. Puede llevar
asociada una tarea de administración de
almacenamiento
3.
❖ Ejemplos algoritmos
● Los pasos para seguir una receta de cocina: Aunque no tenga que
ver con la informática, este es el ejemplo más tradicional de algoritmo
que existe: una serie de pasos secuenciales que se deben emprender
de manera programática para producir el plato adecuado, tomando en
cuenta diferentes factores (la temperatura del horno, el tamizado de la
harina, el tiempo de cocción de los vegetales, etcétera).
● Los algoritmos de recomendación de las redes sociales: Los
algoritmos que controlan el contenido que se muestra en las redes
sociales utilizan como entrada la información voluntariamente
suministrada por el usuario al sistema (datos básicos, “me gusta”,
interacciones) para escoger del contenido disponible en la red social
aquello que podría gustarle o captar su atención, y descartan aquello
que es menos probable que le interese.
● Los algoritmos de búsqueda de Google: El más conocido de estos
algoritmos, llamado Pagerank, elige qué página web mostrar de acuerdo
a la entrada que se ha provisto en forma de una palabra clave o conjunto
de palabras, aplicando diferentes criterios de pertinencia, visibilidad y
confiabilidad para filtrar el contenido problemático y brindarle al usuario
una búsqueda lo más ajustada posible a su deseo.
● El algoritmo que regula las luces del semáforo: Este algoritmo tan
cotidiano maneja los tiempos de cambio de luz para garantizar un
tránsito más fluido y sin colapsos, tomando como referencia los cambios
de luz de los semáforos cercanos.
● Los algoritmos de ruta de transporte público: Empleados en la
coordinación de las distintas rutas de autobús de una misma ciudad,
este tipo de algoritmos se usan para encontrar maneras más eficientes
de asignar la ruta del transporte público, lo cual requiere de enormes
cálculos y el manejo de múltiples sistemas de datos simultáneos.
❖ Ejemplos diagrama de flujo
➔ Flujo de procesos
➔ Flujo de decisiones
➔ Flujo de Datos
➔ Flujo de documentos
➔ Flujo de servicios
❖ Ejemplos de Pseudocódigo
➔ Suma de Dos números
>>
Inicio
Leer num 1
Leer num 2
Suma = num 1 + num 2
Mostrar suma
Fin
>>
➔ Cálculo del área de un triángulo
>>
Inicio
Leer base
Leer altura
area = (base*altura)/2
mostrar área
Fin
>>
➔ Determinar si un número es par o impar
>>
Inicio
Leer num
Si num % 2==0
Mostrar << el número es par>>
Sino
Mostrar << el número es impar>>
Fin
>>
➔ Precio medio de un producto
>>
Inicio
Mostrar 34 Euros: pedir precio 1
Mostrar 35 Euros: pedir precio 2
Mostrar 37 Euros: pedir precio 3
Media=(precio 1+precio 2+precio 3)/3
Mostrar “el precio medio del producto es”,Media, “Euros”
Fin
>>
4. Defina que es PseInt
Es una herramienta educativa para ayudar a los estudiantes en los primeros
pasos dentro de la programación. Este software utiliza un pseudolenguaje
complementado con diagramas de flujos, lo que hace que el estudiante centre
su atención en los conceptos principales del algoritmo computacional con
numerosas ayudas y recursos didácticos.
Este software educativo se origina de la abreviatura de los estados de
computación de Pseudo Interprete, esta herramienta educativa fue creada en
Argentina y completamente en español. Este software es utilizado por
estudiantes en el aprendizaje de los fundamentos de la programación y el
desarrollo de la lógica.
El mismo es un software bastante popular, ya que es muy utilizado en las
universidades de Latinoamérica y España para la enseñanza educativa de la
programación. Por lo que te enseñaremos qué es PSeInt en el transcurso de
este post.
❖ FORMA DE USO
1. Descarga e Instalación:
● Descargar PSeInt desde su sitio web oficial o desde un repositorio
confiable.
● Instala el programa siguiendo las instrucciones proporcionadas
para tu sistema operativo.
2. Apertura de PSeInt:
● Abre el programa haciendo doble clic en el ícono del programa o
buscándolo en el menú de inicio.
3. Interfaz de Usuario:
● Al abrir PSeInt, verás una interfaz de usuario sencilla con un
editor de texto en blanco y algunas herramientas en la barra de
menú.
4. Escribir Pseudocódigo:
● Utiliza el editor de texto para escribir tu pseudocódigo. Puedes
empezar escribiendo un algoritmo básico como "Inicio", "Fin",
"Escribir", etc.
5. Ejecutar el Pseudocódigo:
● Una vez que hayas escrito tu pseudocódigo, puedes ejecutarlo
seleccionando "Ejecutar" en la barra de menú o presionando la
tecla F5.
● PSeInt te mostrará los resultados de tu pseudocódigo en la parte
inferior de la ventana.
6. Depurar el Pseudocódigo:
● Si encuentras errores en tu pseudocódigo, PSeInt te mostrará
mensajes de error para ayudarte a corregirlos.
● Corrige los errores y vuelve a ejecutar el pseudocódigo hasta que
funcione correctamente.
7. Guardar y Cargar Pseudocódigo:
● Puedes guardar tu pseudocódigo seleccionando "Guardar" en la
barra de menú o presionando Ctrl + S.
● Para cargar un pseudocódigo guardado previamente, selecciona
"Abrir" en la barra de menú o presione Ctrl + O.
8. Explorar Recursos Adicionales:
● PSeInt ofrece una variedad de recursos adicionales, como
ejemplos de pseudocódigo y documentación para ayudarte a
aprender y practicar.
● Explora estos recursos para mejorar tus habilidades de
programación.
9. Practicar y Experimentar:
● Utiliza PSeInt para practicar escribiendo diferentes tipos de
algoritmos y experimenta con diferentes estructuras y comandos
de pseudocódigo.
● Cuanto más practiques, más cómodo te sentirás con la
programación y más podrás aprender.
10. Consultar la Ayuda:
● Si necesitas ayuda con alguna función específica o tienes alguna
pregunta sobre el uso de PSeInt, consulta la documentación del
programa o busca en línea para obtener ayuda adicional.
5.
A. Algoritmo que represente el proceso de planificación de un viaje
● Inicio del proceso de planificación del viaje:
1. Definir el objetivo del viaje (vacaciones, negocios, etc.).
2. Calcular el presupuesto total disponible para el viaje.
● seleccionar el destino:
3. Investigar diferentes destinos que se ajusten al presupuesto y al
propósito del viaje.
4. Considerar factores como el clima, las atracciones turísticas, la cultura
local, etc.
5. Consultar opiniones de otros viajeros y guías de viaje para obtener
información adicional.
● Tomar decisión sobre el destino
6. Elegir el destino que mejor se adapte a tus preferencias y necesidades.
7. Verificar la disponibilidad de actividades y lugares de interés en el
destino seleccionado.
● Reservar alojamiento
8. Investigar diferentes opciones de alojamiento
9. Comparar precios, ubicaciones, servicios y comentarios de otros
huéspedes.
10. Realizar la reserva del alojamiento seleccionado del interés
11. Reservar online, utilizando plataformas como Booking.com, Airbnb,
Expedia, etc.
● Compra de tiquetes aéreos
12. Buscar vuelos disponibles hacia el destino seleccionado
13. Comparar precios, aerolíneas, leer opiniones y verificar disponibilidad.
14. Seleccionar el vuelo más conveniente y realizar la compra de los
tiquetes aéreos.
15. Considerar políticas de equipaje y tarifas adicionales.
● Planificar actividades y transporte local:
16. Investigar actividades y excursiones disponibles en el destino.
17. Reservar tours, alquiler de vehículos o transporte público según sea
necesario.
18. Crear un itinerario detallado para aprovechar al máximo el tiempo en el
destino.
19. Crear un itinerario con los lugares que se desean visitar y las actividades
que se desean realizar.
20. Considerar tiempo de traslado entre lugares y disponibilidad de
entradas.
● Preparar maletas
21. Empacar ropa adecuada para el clima y las actividades del viaje.
22. Medicamentos necesarios.
23. Artículos de higiene personal.
24. Cargadores y adaptadores de corriente.
25. Hacer una lista de empaque y asegurarse de tener todo lo necesario
para el viaje.
26. Revisar las políticas de salud y seguridad en el destino y tomar las
precauciones necesarias.
27. Obtener cualquier documentación necesaria, como pasaportes, visas o
permisos de viaje.
● Disfrutar del viaje:
28. Seguir el itinerario planificado y disfrutar de todas las experiencias que el
destino tiene para ofrecer.
29. Tener nuevas experiencias y disfrutar del destino.
30. Mantenerse informado sobre cualquier cambio en los horarios de vuelo o
alojamiento.
31. Estar preparado para adaptarse a cualquier imprevisto y disfrutar de una
experiencia de viaje memorable.
32. Documentar el viaje con fotos, videos y recuerdos.
● Regreso a casa:
33. Regresar al lugar de origen siguiendo los horarios de vuelo
programados.
34. Desempacar y organizar las pertenencias.
35. Compartir las experiencias del viaje con amigos y familiares.
36. Reflexionar sobre la experiencia de viaje y considerar cualquier mejora
para futuros viajes.
B. Calcular el promedio de 10 número
● Se requiere 10 variables
n1 n6
n2 n7
n3 n8
n4 n9
n5 n10
● Se requiere de otra variable que se llamara PROMEDIO (quien se va a
encargar de sumar desde la variable n1 a la n10 y lo va a dividir entre
10)
n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 Promedio
50 60 80 63 63 45 50 89 45 90 63,5