1. Universidad de margarita
Alma mater del Caribe
Vicerrectorado académico
Decanato de estudios generales
Julián Carneiro
Algebra discreta
Junior Rico
28.166.844
EL VALLE DEL ESPÍRITU SANTO, MARZO DEL
2020
2. “Un Algoritmo es la aplicación de
pasos lógicos, secuenciales y
metódicamente aplicados Para dar
solución a un problema en cuestión.”
En otras palabras un algoritmo es
una Fórmula para resolver
problemas.
3. El propósito del análisis del
problema es ayudar al
programador para llegar a
una cierta comprensión de
la naturaleza del problema.
Una buena definición de
Un problema junto con una
descripción detallada de las
especificaciones de entrada
y de salida, son los
requisitos más importantes
para llegar a una solución
eficaz.
4. Normalmente los pasos diseñados en un primer esbozo del algoritmo son incompletos e
indican solo unos pocos pasos, tras esta primera descripción estos se amplían en una
descripción más detallada con pasos específicos este proceso se denomina refinamiento
del Algoritmo.
Calcular la superficie de un círculo
Calculo de la superficie
S = PI * R ^2Entrada de
datos
Entrar el Radio
Salida de
resultados
S
5. Pseudocódigo
Mezcla de lenguaje de
programación y español (o
inglés o cualquier otro
idioma) que se emplea,
dentro de la programación
estructurada, para realizar el
diseño de un programa. En
esencial, el pseudocódigo se
puede definir como un
lenguaje de especificaciones
de algoritmos.
Diagrama de flujo
Esta
representación
gráfica se da
cuando varios
símbolos (que
indican diferentes
procesos en la
computadora), se
relacionan entre sí
mediante líneas
que indican el
orden en que se
deben ejecutar los
procesos.
Estructura de control
Los algoritmos vistos hasta
el momento han consistido
en simples secuencias de
instrucciones; sin embargo,
existen tareas más
complejas que no pueden
ser resueltas empleando un
esquema tan sencillo, en
ocasiones es necesario
repetir una misma acción un
número determinado de
veces o evaluar una
expresión y realizar acciones
diferentes en base al
resultado de dicha
evaluación.
6. La estructura secuencial es la más
sencilla de todas, simplemente
indica al procesador que debe
ejecutar de forma consecutiva
una lista de acciones (que pueden
ser, a su vez, otras estructuras de
control); para construir una
secuencia de acciones basta con
escribir cada acción en una línea
diferente. A continuación se
muestra una composición
secuencial de acciones en
notación algorítmica y su
equivalente FORTRAN.
La estructura alternativa doble es similar a
la anterior con la salvedad de que en este tipo
de estructura se indican acciones no sólo para
la rama “verdadera” sino también para la
“falsa”; es decir, en caso de la expresión lógica
evaluada sea cierta se ejecutan una acción o
grupo de acciones y en caso de que sea falsa se
ejecuta un grupo diferente.
Estructura selectiva doble
Esta estructura permite evaluar una
expresión lógica y en función de dicha
evaluación ejecutar una acción (o
composición de acciones) o no ejecutarla;
también se la suele denominar SI-
ENTONCES. A continuación se muestra la
notación algorítmica y FORTRAN para la
estructura alternativa simple.
7. Estructura multialternativa
Esta estructura evalúa una
expresión que pueda tomar
n valores (enteros,
caracteres y lógicos pero
nunca reales) y ejecuta una
acción o grupo de acciones
diferente en función del
valor tomado por la
expresión selectora.
La estructura repetitiva o
interactiva permite, como su
propio nombre indica, repetir
una acción (o grupo de
acciones); dicha repetición
puede llevarse a cabo un
número prefijado de veces o
depender de la evaluación de
una expresión lógica. Existen
tres tipos de estructuras
repetitivas: desde-hasta,
mientras y repetir-hasta.
Estructura desde-hasta
Esta estructura permite repetir la ejecución de
una acción o de un grupo de acciones un número
determinado de veces; la sintaxis
Es la siguiente: desde índice «inicio hasta fin [con
paso valor] hacer acción fin desde
Do índice=inicio, fin, paso acción end do.
8. Estructura mientras
Esta estructura repite una acción o grupo
de acciones mientras una expresión
lógica sea cierta; la sintaxis en la notación
algorítmica y en FORTRAN es la siguiente:
Mientras expresión lógica hacer acción fin
desde
Do while (expresión lógica) acción end do
Estructura repetir-hasta
Esta estructura repite una acción o grupo de
acciones hasta que una expresión lógica sea
cierta; la sintaxis en la notación algorítmica es
la siguiente (no existe equivalente en
FORTRAN pero sí en otros lenguajes de
programación):
Repetir
Acción
Hasta expresión lógica.
1. Las estructuras de control permiten alterar el flujo secuencial de los algoritmos
que hemos visto hasta el momento.
2. Una estructura de control:
• Tiene un único punto de entrada y un único punto de salida.
• Se compone de sentencias o de otras estructuras de control.
3. Existen tres tipos fundamentales de estructuras de control:
• Secuencial.
• Alternativa.
• Repetitiva.
4. La estructura secuencial es una lista consecutiva de acciones donde el orden de
aparición indica el orden de ejecución.
5. La estructura alternativa se presenta en tres formas:
• Simple.
• Doble.
• Multialternativa.
9. ALGORITMOS DE BÚSQUEDA
Un problema de búsqueda puede
enunciarse del siguiente modo: dado
un conjunto de elementos CB
(Conjunto Búsqueda) de un cierto tipo
determinar si un elemento ("dato") se
encuentra en el conjunto o no.
BÚSQUEDA SIN CENTINELA
El algoritmo simplemente recorre el array comparando cada elemento con el
dato que se está buscando:
/*
*ejemplo8_1.c
*/
#include
#include
La complejidad del algoritmo medida en número de iteraciones en el mejor
caso será 1, y se corresponderá con aquella situación en la cual el elemento
a buscar está en la primera posición del array.
10. ORDENACIÓN DE ALGORITMO
La ordenación o clasificación es un proceso
de organizar un conjunto de datos en algún
orden o secuencia específica, tal como
creciente o decreciente para datos numéricos
o el orden alfabético para datos compuestos
por caracteres. Los algoritmos de ordenación
permutan los elementos del conjunto de datos
hasta conseguir dicho orden. Para ello se
basan en dos operaciones básicas: la
comparación y el intercambio. Existen muchos
algoritmos de ordenación con diferentes
ventajas e inconvenientes; en este tema
veremos los más comunes.
MÉTODO DE LA BURBUJA
Se basa en recorrer el array
("realizar una pasada") un cierto
número de veces, comparando
pares de valores que ocupan
posiciones adyacentes (0-1,1-
2,...). Si ambos datos no están
ordenados, se intercambian. Esta
operación se repite n-1 veces,
siendo n el tamaño del conjunto
de datos de entrada. Al final de la
última pasada el elemento mayor
estará en la última posición; en la
segunda, el segundo elemento
llegará a la penúltima, y así
sucesivamente.
BURBUJA MEJORADA
Existe una forma muy obvia para mejorar el algoritmo de la
burbuja. Basta con tener en cuenta la posibilidad de que el
conjunto esté ordenado en algún paso intermedio. Si el
bucle interno no necesita realizar ningún intercambio en
alguna pasada, el conjunto estará ya ordenado.
11. MÉTODO DE INSERCIÓN
Se utiliza un método similar al anterior, tomando un
elemento de la parte no ordenada para colocarlo en su
lugar en la parte ordenada. El primer elemento del array
(CB [0]) se considerado ordenado (la lista inicial consta
de un elemento). A continuación se inserta el segundo
elemento (CB [1]) en la posición correcta (delante o
detrás de CB [0]) dependiendo de que sea menor o
mayor que CB [0]. Repetimos esta operación
sucesivamente de tal modo que se va colocando cada
elemento en la posición correcta. El proceso se repetirá
TAM-1 veces.
12. El algoritmo es de carácter general y puede aplicarse a cualquier operación
matemática o a cualquier problema. La formulación de algoritmos fue uno de los más
grandes adelantos dentro de la ciencia matemática ya que a partir de ellos se
pudieron resolver infinidad de problemas.
Algoritmos son una de las herramientas más complejas y aplicables en el área no solo
de la informática y el mundo de los computadores sino también en el mundo
empresarial y de trabajo. Pudimos comprobar que mientras más potente, completo y
eficiente es el computador o la aplica
Los algoritmos poseen hoy una gran importancia tanto para informática, robótica y
ciencias de la computación, por medio de algoritmos se llega a un orden de ideas y un
proceso correcto en la elaboración de maquinarias y robots lo que conlleva a un
avance en la tecnología y un mayor progreso a nivel mundial
-Los algoritmos conllevan a llevar un proceso y un orden de ideas en todos los
aspectos, pues cada actividad por mínima que sea requiere un orden que se da por
medio de los grandes algoritmos que creamos así sean mentalización que corre sobre
el mismo más grande, complejo y exacto es el algoritmo que utiliza.