Está en la página 1de 8

UNIVERSIDAD ALEJANDRO DE HUMBOLDT

FACULTAD DE INGENIERÍA
INGENIERÍA EN INFORMÁTICA
ALGORITMO Y ESTRUCTURAS
SECCIÓN: DCN0303IIV

Algoritmos

Autor: Williams Carlos


C.I: 29.662.313
Profesor: Samuel Guerrero

Caracas, marzo 2024.


Tp3.1 DCM0303 Preguntas sobre ALGORITMOS Curso Alg y Estruc
DCMO303
Nota: Algoritmos (Nota: Resaltar en Negrita cada punto o capitulo, se toma para la
evaluación,

incluya dibujo o imágenes que ayudan a fijar los conceptos se toman en cuenta
para la evaluación)

1 Mencione las Característica de un algoritmo


Tienen inicio y fin: todo algoritmo comienza en un estado inicial con una serie
de datos específicos, y culmina con una solución o salida.
Funcionan en secuencia: un algoritmo está compuesto por una serie de pasos
ordenados.
Las secuencias son concretas: cada paso es claro y no deja lugar a la
ambigüedad.
Los algoritmos son abstractos: son modelos o guías para ordenar procesos.
La cantidad de pasos de un algoritmo es finita.
2. ¿Cuáles son las Propiedades de los Algoritmos?
Debe ser finito - Toda regla debe definir perfectamente la acción a desarrollar -
Todos sus pasos deben ser simples y tener un orden definido. - Un Algoritmo no debe
resolver un solo problema particular sino una clase de problemas. - Un Algoritmo debe
ser eficiente y rápido.
Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

3. ¿Cómo se Clasifican los algoritmos?


Según su sistema de signos, es decir, cómo se describen los pasos a seguir, los
algoritmos pueden ser:
 Cuantitativos y cualitativos: si funcionan a través de cálculos matemáticos o
secuencias lógicas.
 Computacionales o no computacionales: si requieren o no del uso de un
ordenador para la solución o ejecución de una determinada tarea.
Según su función y estrategia, es decir, qué hacen y cómo lo hacen, existen
cinco tipos de algoritmos:
 Algoritmos de búsqueda: aquellos que encuentran uno o varios elementos que
presenten un conjunto de propiedades dentro de una determinada estructura de
datos. Las búsquedas pueden ser:
o Secuenciales: comparan el elemento a buscar con cada elemento del
conjunto, hasta encontrarlo.
o Binarias: comparan el elemento de búsqueda con un elemento ubicado
en el medio de una serie ordenada para determinar si son iguales.
 Algoritmo de ordenamiento: son los que se utilizan para reorganizar elementos
de un listado, siguiendo unas pautas de orden numérico o alfanumérico. Pueden
ser:
o De burbuja: comparan cada elemento de la lista a ordenar,
intercambiando posiciones si no están ordenados correctamente.
o Por selección: ordenan a partir del elemento más pequeño de forma
consecutiva.
o Rápido: eligen un elemento del conjunto y reubican el resto en torno a
este en función de si son menores o mayores respecto a él.
 Algoritmos voraces: se trata de un tipo de algoritmo aplicado a problemas de
optimización y se utiliza para la toma de decisiones lógicas para llegar a una
solución final global. Estos algoritmos no son reversibles una vez que se toma
la decisión de ejecutarlos.
 Programación dinámica: este tipo de algoritmo está asociado al método con el
que se procesa el resultado. La solución de un elemento depende de la solución
de una serie de problemas más pequeños, por lo que conforme se van
solucionando sub-problemas, se van almacenando las soluciones para que no
sea necesario calcularlas nuevamente. Con la programación dinámica se reduce
el tiempo de ejecución del algoritmo.
 Algoritmos probabilísticos: este tipo de algoritmos basa sus resultados en el
azar, de manera que, en líneas generales, se pueda obtener una buena solución
para cualquier distribución aleatoria de inputs de entrada. El azar representa
una optimización de tiempo respecto a si se determinara la mejor alternativa
para cada caso individual. Se obtiene, en consecuencia, una buena solución a
un problema para cualquier distribución de datos de entrada.

4. ¿Qué es un 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.
5. ¿Cuáles son las técnicas y /o Herramientas comunes para la formulación de
Algoritmos?
Técnicas y herramientas comunes para la formulación de algoritmos:
Técnicas:
1. Diagramas de flujo:
 Representan gráficamente los pasos de un algoritmo.
 Son fáciles de entender y comunicar.
 Permiten visualizar el flujo de datos y la lógica del algoritmo.
2. Pseudocódigo:
 Es una descripción textual del algoritmo.
 Se asemeja a un lenguaje de programación, pero sin la sintaxis formal.
 Es más compacto que un diagrama de flujo y más fácil de traducir a código.
3. Lenguaje natural:
 Se puede utilizar para describir un algoritmo en lenguaje sencillo.
 Es útil para explicar el algoritmo a personas no técnicas.
 Puede ser menos preciso que las técnicas anteriores.
Herramientas:
1. Software de diagramación de flujo:
 Permite crear diagramas de flujo de forma rápida y sencilla.
 Ofrece una variedad de símbolos y conectores para representar diferentes tipos
de pasos.
 Puede generar código a partir del diagrama de flujo.
2. Editores de texto:
 Se pueden usar para escribir pseudocódigo.
 Ofrecen resaltado de sintaxis y otras características útiles para la programación.
3. Entornos de desarrollo integrados (IDE):
 Ofrecen herramientas para la creación, edición y ejecución de algoritmos.
 Incluyen editores de código, compiladores, depuradores y otras herramientas.
Otras técnicas y herramientas:
 Diagramas Nassi-Schneiderman
 Diagramas de estado
 Tablas de decisión
 Lenguajes de descripción de algoritmos
 Pruebas de escritorio
La elección de la técnica o herramienta adecuada depende del tipo de algoritmo,
la complejidad del problema y las preferencias del programador.

También podría gustarte