Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Actividad 2 de Algoritmos, Ejercicios de Algoritmos y Programación

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Tipo: Ejercicios

2022/2023

Subido el 14/05/2023

adrian-alejandro-tovar-escamilla
adrian-alejandro-tovar-escamilla 🇲🇽

5 documentos

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Universidad Autónoma
de Nuevo León
Facultad de Ingeniería
Mecánica y Eléctrica
ALGORITMOS
COMPUTACIONALES
Maestra: JESSICA NATALIA MARTINEZ BALDERAS
Matrícula
Estudiante
Programa Educativo
1995863
Adrián Alejandro Tovar Escamilla
ITS
Día 15 del mes de septiembre del año 2022, Guadalupe, Nuevo León
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Actividad 2 de Algoritmos y más Ejercicios en PDF de Algoritmos y Programación solo en Docsity!

Universidad Autónoma

de Nuevo León

Facultad de Ingeniería

Mecánica y Eléctrica

ALGORITMOS

COMPUTACIONALES

Maestra: JESSICA NATALIA MARTINEZ BALDERAS

Matrícula Estudiante Programa Educativo 1995863 Adrián Alejandro Tovar Escamilla ITS Día 15 del mes de septiembre del año 2022 , Guadalupe, Nuevo León

Introducción

¿Qué es algoritmo? El término algoritmo proviene del idioma árabe clásico “ḥisābu lḡubār”, luego trasformada al latín “Alborarismus”, que según los expertos podría traducirse como “cálculo mediante cifras arábigas”. El origen del vocablo se remonta a la Edad Media, más precisamente de la mano del matemático Al_ Khwarizmi, en una zona de Asia Central hoy conocida como Uzbekistán, en el Asia Central. El algoritmo es una serie ordenada de procesos o pasos que deben llevarse a cabo para alcanzar la solución a un problema específico. Los algoritmos pueden ser de distintos tipos, los de la vida diaria como seguir las instrucciones para lavarse los dientes, poner en funcionamiento un lavarropas, para resolver o llevar a cabo procesos más complicados como el funcionamiento de un programa de computación. Los algoritmos nos permiten definir una serie de pasos a seguir que se deben realizar para alcanzar el resultado que deseamos, es decir un resultado previsible. En este punto cabe destacar un ejemplo de uso de algoritmos: el software de computadoras, el cual consta de instrucciones precisas para llevar a cabo un procedimiento de manera siempre igual, pero escritas en un lenguaje de programación. Sin embargo, el uso de los algoritmos no se limita a las computadoras o a los sistemas automatizados, ya que también en la naturaleza y en nuestra vida los algoritmos están bien presentes. Básicamente podría considerarse como un algoritmo cualquier tarea que deba ser llevada a cabo mediante instrucciones definidas. A la hora de crear un algoritmo hay diversos temas a tomar en cuenta para lograr que nuestro algoritmo funcione como nosotros lo deseamos. Estos temas nos ayudaran a la realización del mismo, así como disminuir los posibles errores a cometer, logrando así un algoritmo útil y limpio con el que podamos trabajar de manera sencilla y eficaz al momento de resolver los problemas planteados.

cuando se consideran en el lenguaje, pero no producen el comportamiento deseado. Estos pueden ocurrir en idiomas interpretados y compilados. Por ejemplo, en PHP, cuando "if ($ i = 1) {…}" se ingresa incorrectamente en lugar de "if ($ i == 1) {….}, " El primero significa "se convierte" mientras que el segundo significa " es igual a." La instrucción if incorrecta siempre devolvería VERDADERO como la asignación de 1 a la variable $ i. Sin embargo, en la versión correcta, la declaración solo devuelve VERDADERO cuando el valor de la variable $ i es igual a 1. La sintaxis en el caso incorrecto es perfectamente correcta según el lenguaje. Entonces, el código se compilaría exitosamente sin producir errores de sintaxis. Sin embargo, durante el tiempo de ejecución del código, la salida resultante puede ser incorrecta, lo que muestra que se ha producido un cierto error lógico. Técnicas de análisis de algoritmos Hay varias razones por las que es deseable analizar el comportamiento de un algoritmo:

  • Analizando se pueden descubrir características generales y particulares de un algoritmo y evaluar la facilidad de emplearlo en una aplicación, o compararlo con otras opciones de algoritmo para la misma aplicación.
  • El análisis de un algoritmo sirve para entender mejor sus propiedades y puede sugerir mejoras posteriores.
  • El análisis puede servir para identificar maneras de sacar las mayores ventajas del ambiente de programación (arquitectura de la computadora, sistema operativo, compilador), que puede tener un efecto significativo en el desempeño del algoritmo.
  • Muchos algoritmos poseen una estructura compleja que despierta interés matemático y permite el desarrollo de teoría útil para otras situaciones (como el análisis de otros algoritmos).

Todo esto con el objetivo general de hacer un uso óptimo de los recursos disponibles: el espacio (memoria) y el tiempo (de procesamiento). Como resultado del análisis lo más deseable es obtener el desempeño del algoritmo en el peor y mejor caso, en el caso medio y su varianza, todo en términos de la cantidad de información por procesar. Notación asintótica Las notaciones asintóticas son lenguajes que nos permitan analizar el tiempo de ejecución de un algoritmo identificando su comportamiento si el tamaño de entrada para el algoritmo aumenta. Esto también se conoce como la tasa de crecimiento de un algoritmo. ¿El algoritmo de repente se vuelve increíblemente lento cuando el tamaño de entrada crece? ¿Tiende a mantener un rápido tiempo de ejecución a medida que el tamaño de entrada aumenta? La notación asintótica nos da la capacidad para responder a estas preguntas. ¿Hay alternativas que respondan a estas preguntas? Una manera sería contar el número de operaciones primitivas en diferentes tamaños de entrada. Aunque esta es una solución válida, la cantidad de trabajo que esto conlleva, incluso para los algoritmos simples, no justifica su uso. Otra manera es medir físicamente la cantidad de tiempo que un algoritmo toma para completar su ejecución dados diferentes tamaños de entrada. Sin embargo, la exactitud y la relatividad (los tiempos obtenidos sólo serían relativos a la máquina sobre la cual se calcularon) de este método está ligado a variables ambientales tales como especificaciones de hardware, capacidad de procesamiento, etc. Eficiencia de algoritmos computacionales Es necesario entender los factores que determinan el concepto de eficiencia de los algoritmos , pues está directamente relacionado con lo productivos que estos sean y el tiempo en que demore su ejecución.

Bibliografía https://www.tecnologia-informatica.com/algoritmo-definicion/ https://definicion.de/pseudocodigo/ https://es.theastrologypage.com/logic-error https://docplayer.es/41741533-Tecnicas-de-analisis-de-algoritmos-miguel- angel-norzagaray-cosio-universidad-autonoma-de-baja-california-sur-1.html