🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Cuestionario de Algoritmos y Seudocódigo (1).pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 -...

Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 01 ¿Qué es un algoritmo? Un algoritmo es un conjunto de instrucciones, pasos o reglas definidas, ordenadas y finitas que permiten resolver un problema, realizar un cálculo, procesar datos o llevar a cabo otras tareas. ¿Cuál es su propósito principal? El propósito principal o finalidad de un algoritmo es proporcionar un método sistemático y eficiente para resolver problemas o realizar tareas específicas ¿Cuáles son las características principales de un buen algoritmo? 1. Finitud. 2. Precisión. 3. Secuencialidad. 4. Definición. 5. Abstracción. 6. Eficiencia. 7. Generalidad. 02 Explica la diferencia entre un algoritmo y un programa. Un algoritmo es una secuencia ordenada de instrucciones o pasos que se utilizan para resolver un problema o realizar una tarea específica mientras que un programa corresponde a la implementación de uno o más algoritmos en un lenguaje de programación determinado. El programa se estructura en una serie de instrucciones que la computadora interpreta y ejecuta. 03 ¿Qué es el pseudocódigo y para qué se utiliza? El pseudocódigo es una herramienta de programación que se utiliza para representar algoritmos de manera clara y comprensible, sin tener que seguir la sintaxis estricta de un lenguaje de programación específico. El pseudocógico usa un lenguaje natural combinado con elementos similares a los de la estructura de un lenguaje de programación. Se podría decir que un pseudocódigo es el alto nivel de un algoritmo. Usos: 1. En el diseño de algoritmos para planificar la lógica de un programa. 2. En educación como herramienta didáctica para aprender sobre algoritmos. 3. Documentación porque facilita la comunicación de ideas y soluciones entre los desarrolladores. 4. Prototipado porque permite un esbozo ligero de la lógica de un programa. 04 Menciona al menos tres estructuras de control básicas en la programación. 1. La secuencia donde las instrucciones se ejecutan en el orden que aparecen. 2. La selección condicional usando: if, else y switch 3. Bucle de iteración : for, while y do-while. Estructuras de Control en Python 06 ¿Cómo se implementa una estructura condicional if-else en Python? if condición: # Código a ejecutar si la condición es verdadera else: # Código a ejecutar si la condición es falsa 07 ¿Cuál es la diferencia entre while y for en Python? La diferencia entre los bucles while y for radica principalmente en el uso y en cómo controlan la iteración. El bucle for se utiliza para iterar sobre una secuencia (como una lista, tupla, diccionario, conjunto o cadena) o sobre un rango de números. Es ideal cuando el número de iteraciones se conoce. Mientras que el bucle while ejecuta un bloque de código repetidamente mientras una condición especificada sea verdadera. Se utiliza cuando el número de interacciones no se conoce. Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 08 ¿Qué es una función en Python? ¿Para qué se utilizan? Es un bloque de código reutilizable que realiza una tarea específica y puede ser invocado desde otras partes del programa. Las funciones permiten organizar y dividir el código en partes más manejables (Estructurar el programa). Se utilizan para: 1. Reutilización de código. Se invoca la función desde otra parte del código del programa. 2. Modularidad y organización del código del programa 3. Abstracción: ocultan la complejidad de una tarea. 4. Encapsulamiento, permite encapsular datos 5. Argumentos y valores de retorno. Las funciones pueden aceptar argumentos (datos de entrada) y devolver valores como resultado de su ejecución. 6. Documentación. Escribir funciones con nombres descriptivos y documentar su propósito mediante docstrings hace que el código sea más legible y fácil de entender para otros programadores. 09 ¿Cómo se define una función en Python? def nombre_funcion(parametros): # Cuerpo de la función # Código que se ejecutará cuando se llame a la función return valor_de_retorno # Opcional 1. Palabra clave def: Indica que se está definiendo una función. 2. Nombre de la función: Debe ser un identificador válido que siga las reglas de nomenclatura de Python (comenzar con una letra o guión bajo, y puede incluir números). 3. Paréntesis (): Dentro de los paréntesis se pueden incluir parámetros, que son variables que la función puede recibir como entrada. Estos parámetros son opcionales. 4. Dos puntos :: Indican el inicio del cuerpo de la función. 5. Cuerpo de la función: Contiene las instrucciones que se ejecutan cuando se llama a la función. Este bloque debe estar indentado. 6. Sentencia return: (opcional) Se utiliza para devolver un valor desde la función. Si no se especifica, la función devolverá None por defecto. 10 Explica el concepto de recursividad y da un ejemplo en Python. La recursividad es un concepto que proviene de las matemáticas, y que aplicado al mundo de la programación nos permite resolver problemas o tareas donde las mismas pueden ser divididas en subtareas cuya funcionalidad es la misma. Ejemplo de recursividad: Cálculo del factorial def factorial_normal(n): r=1 i=2 while i 1: resultado=n*factorial(n-1) return resultado #CALCULAMOS EL FACTORIAL DE 5. Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 fact5=factorial(5) #VISUALIZAMOS RESULTADO. print(fact5) 120 13 Escribe un algoritmo para buscar un elemento en una lista ordenada (búsqueda binaria). Función busqueda_binaria(lista, elemento): izquierda = 0 derecha = longitud(lista) - 1 mientras izquierda elemento: derecha = medio - 1 // Buscar en la mitad izquierda retornar -1 // Elemento no encontrado 14 ¿Cómo se ordena una lista de números en Python utilizando el algoritmo de burbuja? Para ordenar una lista de números en Python utilizando el algoritmo de burbuja (Bubble Sort), se sigue un proceso que consiste en comparar elementos adyacentes y realizar intercambios si están en el orden incorrecto. Fuente: https://goo.su/RxZod Código en Python def bubbleSort(lista): n = len(lista) for i in range (1,n): for j in range (0, n-1): if lista[j] > lista [j + 1]: temp = lista[j] lista[j] = lista[j + 1] lista[j + 1] = temp return lista # LISTA DE ELEMENTOS EN DESORDEN lista = [20, 10, 15, 3, 0, -2, 15, 50,37, -7, 4, 1, 500,13, 24,41,63,9] print(lista) # LISTA DE ELEMENTOS ORDENADOS lista_ordenada = bubbleSort(lista) print (lista_ordenada) 15 Escribe un algoritmo para invertir una cadena de texto. # INVERTIR CADENA DE CARACTERES Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 texto = "¡Gelver Gutiérrez Domínguez - 16706124!" texto_invertido = texto[::-1] print(texto) print(texto_invertido) Estructuras de Datos 16 ¿Qué es una lista en Python? ¿Cuáles son sus principales operaciones? Las listas en Python son un tipo de contenedor, compuesto, que se usan para almacenar conjuntos de elementos relacionados del mismo tipo o de tipos distintos Son similares a matrices o arreglos que se encuentran en otros lenguajes. Sin embargo, en Python se manejan como variables con muchos elementos. Aun así, las listas se consideran un tipo de datos para guardar colecciones de información..Las listas en Python se consideran como un tipo de datos que permiten crear colecciones de datos. Podemos utilizar las listas para recopilar y organizar todo: desde configuración de usuarios hasta información, como diccionarios. 17 ¿Qué es una tupla en Python? ¿Cuál es la diferencia entre una lista y una tupla? Las tuplas en Python son un tipo o estructura de datos que permite almacenar datos de una manera muy parecida a las listas, con la salvedad de que son inmutables. La tupla es similar a una lista en el sentido de que también puede almacenar varios elementos en una misma variable, de manera ordenada. Diferencia: A diferencia de las listas, las tuplas son inmutables, lo que significa que no se pueden modificar después de su creación 18 ¿Qué es un diccionario en Python? ¿Cómo se accede a sus elementos? Los diccionarios (o dict en Python) son una forma de almacenar elementos como se haría en una lista de Python. Pero, en lugar de acceder a los elementos utilizando su índice, se les asigna una clave fija y se accede al elemento utilizando la clave. Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 19 ¿Qué es una pila (stack)? Implementa una pila utilizando una lista en Python. Las pilas (stacks) son una estructura (LIFO) de datos donde se tiene una colección de elementos, y sólo se pueden hacer dos cosas: 1. añadir un elemento al final de la pila Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 2. sacar el último elemento de la pila. Implementación PILA en Python # PILAS EN PYTHON # APILAMIENTO pila = ["2", "5", "7","10", "20", "30"] pila.append("60") pila.append("90") pila.append("120") pila.append("150") pila.append("180") print(pila) # DESAPILAMIENTO # ELIMINA DE LA PILA EL VALOR 180 pila.pop() print(pila) # ELIMINA DE LA PILA EL VALOR 150 pila.pop() print(pila) # ELIMINA DE LA PILA EL VALOR 120 pila.pop() print(pila) 20 ¿Qué es una cola (queue)? Implementa una cola utilizando una lista en Python. Una cola es una estructura de datos que almacena elementos en una lista y permite acceder a los datos por uno de los dos extremos de la lista. Un elemento se inserta en la cola (parte final) de la lista y se suprime o elimina por la frente (parte inicial, cabeza) de la lista. Esto es, el primer elemento en entrar será el primer elemento en salir (Estructura FIFO) Implementación PILA en Python # COLAS (QUEUE'S) EN PYTHON from collections import deque # INSERTAR ELEMENTOS EN LA LISTA cola = deque(["Juan", "Martha", "Olga", "Sergio", "Sebastián"]) cola.append("Esther") print(cola) cola.append("Guillermo") print(cola) cola.append("José") print(cola) cola.append("Federico") print(cola) # EXCLUIR ELEMENTOS DE LA LISTA # SALE JUAN DE LA LISTA cola.popleft() print(cola) # SALE MARTHA DE LA LISTA cola.popleft() print(cola) # SALE OLGA DE LA LISTA cola.popleft() print(cola) Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 Algoritmos y Programación en Python 21 ¿Qué es la complejidad algorítmica? ¿Por qué es importante? Es la medida del número de operaciones elementales necesarias para la ejecución de un algoritmo, en función del tamaño de la instancia del problema. La más común es la complejidad temporal, o el tiempo que tarda un algoritmo en ejecutarse. Se prefieren los algoritmos de baja complejidad temporal en lugar de los de alta complejidad temporal que resuelvan el mismo problema. Es importante porque permite optimizar el rendimiento de un algoritmo. A menos pasos, menos tiempo (más rápida la ejecución del algoritmo) para resolver un mismo problema. Lo anterior se traduce en un algoritmo óptimo. 22 Explica la diferencia entre la notación O grande y la notación Theta. 23 ¿Qué es la programación orientada a objetos? La programación orientada a objetos (Object Oriented Programming, OOP) es un modelo de programación informática que organiza el diseño de software en torno a datos u objetos y sus relaciones entre sí, en lugar de funciones y lógica. Un objeto se puede definir como un campo de datos que tiene atributos y comportamientos únicos. Este modo de programar intenta representar el mundo real, donde podemos observar que cada cosa que existe es un objeto. Fuente: https://conogasi.org/articulos/programacion-orientada-a-objetos/ 24 ¿Cuáles son las características principales de la programación orientada a objetos en Python? Los objetos definidos en Python tienen las siguientes características : Identidad: Cada objeto debe ser distinguido y ello debe poder demostrarse mediante pruebas. Estado: Cada objeto debe ser capaz de almacenar el estado. Para este fin, existen atributos, Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 tales como variables de instancias y campos. Comportamiento: Cada objeto debe ser capaz de manipular su estado. Para este fin existen métodos. Python incluye las características siguientes para dar soporte a la programación orientada a objetos: Creación de objetos basada en clase:. Las clases son plantillas para la creación de objetos. Los objetos son estructuras de datos con el comportamiento asociado. Herencia con polimorfismo: Python da soporte a la herencia individual y múltiple. Todos los métodos de instancias de Python son polimórficos y se pueden alterar temporalmente mediante subclases. Encapsulamiento con ocultación de datos. Python permite ocultar los atributos. Cuando se ocultan los atributos, se puede acceder a los mismos desde fuera de la clase únicamente mediante los métodos de la clase. Las clases implementan métodos para modificar los datos. 25 ¿Cómo se define una clase y un objeto en Python? Definición de una clase: En una clase Python, se pueden definir tanto variables como métodos. Python puede definir cualquier número de clases públicas por archivo de origen (o module). Un módulo en Python puede considerarse similar a un paquete en Java. En Python, las clases se definen utilizando la sentencia class. La sentencia class tiene el siguiente formato: class name (superclasses): statement Cuando define una clase tiene la opción de proporcionar cero o más sentencias assignment. Estos crean atributos de clase que comparten todas las instancias de la clase. Puede proporcionar cero o más definiciones de function. Estas definiciones de función crean métodos. La lista de superclases es opcional. El nombre de clase debe ser exclusivo en el mismo ámbito, esto es, dentro de un módulo, función o clase. Definición de un objeto en Python Un objeto en Python es una colección única de datos (atributos) y comportamiento (métodos). Puedes pensar en los objetos como cosas reales que te rodean. Para crear un objeto de una clase determinada, es decir, instanciar una clase, se usa el nombre de la clase y a continuación se añaden paréntesis (como si se llamara a una función). obj = MiClase() Bibliografía tuplas en Python. (s/f). El Libro De Python. Recuperado el 15 de septiembre de 2024, de https://ellibrodepython.com/tuplas-python Austin, D. (2023, agosto 8). Big O vs Big Theta Θ vs Big Omega Ω: Notation differences. Built In. https://builtin.com/software-engineering-perspectives/big-o-vs-big-theta Bucles Python ▷ While y For: Sintaxis + Ejemplos reales de su Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 uso!⭐.⭐. (2018, noviembre 7). Pythones. https://pythones.net/bucles-for- while-sintaxis-ejemplos/ ¿Cómo sería el pseudocodigo del factorial de un número entero con ciclo y diagrama de flujo? (s/f). Quora. Recuperado el 15 de septiembre de 2024, de https://es.quora.com/C%C3%B3mo-seria-el-pseudocodigo-del-factorial-de-un-numero- entero-con-ciclo-y-diagrama-de-flujo Comprender y usar la función if else en Python. (2022, septiembre 30). IONOS Digital Guide; IONOS. https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo- web/if-else-python/ De, C. (2021, mayo 17). Programación orientada a objetos, OOP. ComputerWeekly.es; TechTarget. https://www.computerweekly.com/es/definicion/Programacion-orientada-a- objetos-OOP De programacionpython, V. T. las E. (2019, enero 22). CONCEPTO DE «PILA» Y SU IMPLEMENTACIÓN EN PYTHON. El Programador Chapuzas. https://programacionpython80889555.wordpress.com/2019/01/22/concepto-de-pila-y- su-implementacion-en-python/ De programacionpython, V. T. las E. (2023, enero 26). ALGORITMOS DE ORDENACIÓN EN PYTHON: ‘ORDENAMIENTO DE BURBUJA’. El Programador Chapuzas. https://programacionpython80889555.wordpress.com/2023/01/26/algoritmos-de- ordenacion-en-python-ordenamiento-de-burbuja/ Diaz, D. (2021, julio 21). Guía para Principiantes de la Programación Orientada a Objetos (POO) en Python. Kinsta®; Kinsta. https://kinsta.com/es/blog/programacion- orientada-objetos-python/ Diferencia entre algoritmo y programa. (2019, julio 19). Diferenciador. https://www.diferenciador.com/algoritmo-y-programa/ Ejemplo_pila.Py at master · antonioam82/ejercicios-python. (s/f). Guía De Python Gratuita: Listas, Tuplas Y Diccionarios. (2023, marzo 22). Pontia.tech. https://www.pontia.tech/python-listas-tuplas-diccionario/ Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 IF, ELSE, ELIF Aprende los condicionales en Python + ejemplos reales! (2018, octubre 14). Pythones. https://pythones.net/if-else-elif-condicionales/ j2logo. (2020a, marzo 10). list python - Listas Python. El tipo de dato list. Operaciones sobre listas. J2LOGO. https://j2logo.com/python/tutorial/tipo-list-python/ j2logo. (2020b, marzo 24). Funciones en Python. J2LOGO. https://j2logo.com/python/tutorial/funciones-en-python/ Listas en Python y sus operaciones básicas. (s/f). Platzi. Recuperado el 15 de septiembre de 2024, de https://platzi.com/tutoriales/4227-python-fundamentos/24835-listas-en- python-y-sus-operaciones-basicas/ Londoño, P. (2022a, septiembre 28). Listas en Python: qué son, cómo crearlas y ordenarlas. Hubspot.es. https://blog.hubspot.es/website/lista-python Londoño, P. (2022b, octubre 5). Guía básica de funciones en Python: qué son y 8 ejemplos. Hubspot.es. https://blog.hubspot.es/website/funciones-python Maldonado, R. (2021, octubre 7). Funciones en Python [Guía 2024]. KeepCoding Bootcamps. https://keepcoding.io/blog/que-son-las-funciones-en-python/ Montero, L. (2017, febrero 25). Pilas (stacks) - Lupo Montero. Medium. https://medium.com/@lupomontero/pilas-stacks-76f3b8a31f61 Na., C.-F. C. E. (s/f). Estructuras básicas. Edu.ar. Recuperado el 15 de septiembre de 2024, de https://exa.unne.edu.ar/ingenieria/computacion/Tema%206.pdf ¿Para qué sirven las Pilas (Stacks) en programación? - ApInEm Seo Web. (2024, febrero 14). ApInEm Marketing Digital. https://www.apinem.com/pilas-en-programacion- stacks/ Perfil, V. T. mi. (s/f-a). APRENDER A PROGRAMAR CON PYTHON. Blogspot.com. Recuperado el 15 de septiembre de 2024, de https://conocepython.blogspot.com/p/pilas- y-colas.html Perfil, V. T. mi. (s/f-b). Pseudocódigos y Diagramas de Flujo. Blogspot.com. Recuperado el 15 de septiembre de 2024, de Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 https://soluciondepseint.blogspot.com/2012/03/planteamiento-30.html Programación Orientada a Objetos. (2017, noviembre 5). Conogasi. https://conogasi.org/articulos/programacion-orientada-a-objetos/ Pseudocódigo. (2007, febrero 9). Desarrolloweb.com. https://desarrolloweb.com/articulos/pseudocodigo.html ¿Qué es el Pseudocódigo y Cómo Puede Mejorar tu Programación? (2023, enero 18). Kinsta®; Kinsta. https://kinsta.com/es/base-de-conocimiento/que-es-pseudocodigo/ Recursividad. (s/f). El Libro De Python. Recuperado el 15 de septiembre de 2024, de https://ellibrodepython.com/recursividad Rodríguez, F. (2018, septiembre 3). Matemáticas con Python: Calcular Factorial. KeepCoding Bootcamps. https://keepcoding.io/blog-frr/tutorial-matematicas-con- python-calcula-el-factorial-de-un-numero/ Sancho, R. S. (s/f). Estructuras de Control · ciencia-de-datos-con-r. Gitbooks.io. Recuperado el 15 de septiembre de 2024, de https://rsanchezs.gitbooks.io/ciencia-de- datos-con-r/content/estructuras_control/estructuras_control.html SPSS Modeler Subscription. (2021, noviembre 22). Ibm.com. https://www.ibm.com/docs/es/spss-modeler/saas?topic=language-object-oriented- programming Torres, A. (2021, septiembre 14). Ejemplos de funciones en Python: Como declarar y llamar con parámetros. freecodecamp.org. https://www.freecodecamp.org/espanol/news/ejemplos-de-funciones-de-python-como- declarar-y-llamar-con-parametros/ Vida, C. E.-A. tu [@CodigoEspinoza]. (s/f). ¿Cómo invertir un string en Python de manera rápida y efectiva? Youtube. Recuperado el 15 de septiembre de 2024, de https://www.youtube.com/shorts/KcEMf0BQknM?app=desktop Walker, A. (2024, marzo 9). Algoritmo de búsqueda binaria con EJEMPLO. Guru99. https://www.guru99.com/es/binary-search.html Cuestionario de Algoritmos y Pseudocódigo (Python) Fundamentos de Algoritmos Curso Big Data - Comfenalco Gelver Gutiérrez Domínguez Clase 8 - 11 septiembre 2024 (S/f-a). Perplexity.ai. Recuperado el 15 de septiembre de 2024, de https://www.perplexity.ai/search/diferencia-entre-un-algoritmo- GnYiavG4RZ2C0dd7mv9ETA (S/f-b). Uva.es. Recuperado el 15 de septiembre de 2024, de https://www.infor.uva.es/~jvegas/cursos/prog/tema1.html (S/f-c). Datacamp.com. Recuperado el 15 de septiembre de 2024, de https://www.datacamp.com/es/tutorial/functions-python-tutorial (S/f-d). Datacamp.com. Recuperado el 15 de septiembre de 2024, de https://www.datacamp.com/es/tutorial/python-dictionary-comprehension (S/f-e). Www.uv.mx. Recuperado el 15 de septiembre de 2024, de https://www.uv.mx/personal/ermeneses/files/2021/08/Clase6-ColasFinal.pdf (S/f-f). Translate.goog. Recuperado el 15 de septiembre de 2024, de https://www- sciencedirect-com.translate.goog/topics/computer-science/algorithmic- complexity?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=rq#:~:text=Algorithmic %20complexity%20in%20computer%20science,size%20of%20the%20problem%20instan ce. (S/f-g). Training.com. Recuperado el 15 de septiembre de 2024, de https://www.eni.training.com/portal/client/mediabook/home

Use Quizgecko on...
Browser
Browser