Está en la página 1de 8

Integrantes: Daurin Novas

Lesly Saviñon
Manny Rodríguez
Anllelin Mercedes
Erick Álvarez

Matriculas: 20-EISN-6-023
20-EISN-6-001
12-EISN-6-045
20-EISN-6-021
20-EISN-6-022

Sección: 313

Profesor: Elvin Rafael Ramón Araujo

Asignatura: Algoritmos Computaciones


TEMA I: CONCEPTOS ELEMENTALES DE ALGORITMOS.
1.1 ALGORITMOS.
Un algoritmo es una secuencia lógica y finita de pasos que permite
solucionar un problema o cumplir con un objetivo.

En matemáticas, lógica, ciencias de la computación y disciplinas


relacionadas, un algoritmo es un conjunto de instrucciones o reglas
definidas y no-ambiguas, ordenadas y finitas que permite,
típicamente, solucionar un problema, realizar un cómputo, procesar
datos y llevar a cabo otras tareas o actividades.

     1.1.1 Tipos de algoritmos.


Existen cuatro tipos de algoritmos en informática:
 Algoritmos computacionales. Un algoritmo cuya resolución
depende del cálculo, y que puede ser desarrollado por una
calculadora o computadora sin dificultades.

 Algoritmos no computacionales. Aquellos que no requieren de


los procesos de un computador para resolverse, o cuyos pasos
son exclusivos para la resolución por parte de un ser humano.
por ejemplo, la programación de un televisor.

 Algoritmos cualitativos. Se trata de un algoritmo en cuya


resolución no intervienen cálculos numéricos, sino secuencias
lógicas y/o formales. Un ejemplo de este tipo de
algoritmos son las instrucciones o los “paso a paso”
que se dan de forma oral.
.
 Algoritmos cuantitativos. Todo lo contrario, es un algoritmo que
depende de cálculos matemáticos para dar con su resolución.
Por ejemplo, para encontrar una raíz cuadrada o resolver una
ecuación.

  
1.2 HISTORIA DE LOS ALGORITMOS.
El origen del término 'algoritmo' surgió a mediados del siglo IX cuando
el distinguido matemático y astrónomo Mohammed Ibn Musa-al-
Khwarizmi desarrolló en su obra "Al-yebr-mugabata" fórmulas para
posibilitar que con un número limitado de procesos fuese posible
resolver ecuaciones de primer y segundo grado. Aunque no fuese el
creador en sí del primer algoritmo, el icónico matemático fue el
primero en pensar en modo algorítmico pues explicó que, mediante
una especificación clara y concisa de cómo calcular sistemáticamente,
se podrían definir algoritmos que fueran usados en dispositivos
mecánicos similares a un ábaco en vez de las manos.
'Algoritmo', por tanto, se refería originalmente sólo a las reglas de la
aritmética con números arábigos. Fue en el siglo XVIII cuando se
expandió su significado para abarcar en su definición a toda clase de
procedimientos utilizados con el propósito de resolver problemas o
realizar determinadas tareas.
El primer caso de un algoritmo escrito para una computadora son las
notas escritas por Ada Byron, reputada matemática británica, en 1842
para el motor analítico de Charles Babbage. Es, por esta razón, por lo
que se considera a Ada Byron como la primera programadora de la
historia. Sin embargo, dado que Babbage nunca terminó su motor
analítico, el algoritmo que realizó jamás llegó a implementarse.
   1.3 LENGUAJES ALGORÍTMICOS.
Es una serie de símbolos y reglas que se utilizan para describir de
manera explícita un proceso. Teniendo en cuenta la forma en que
describen el proceso, existen dos tipos de lenguajes algorítmicos:
 Gráficos: Es la representación gráfica de las operaciones que
realiza un algoritmo (diagrama de flujo).
Ejemplo Grafico

 No Gráficos: Representa en forma descriptiva las operaciones


que debe realizar un algoritmo (pseudocódigo).
Ejemplo No Grafico
INICIO
Edad: Entero
ESCRIBA “cual es tu edad?”
Lea Edad
SI Edad >=18 entonces
ESCRIBA “Eres mayor de Edad”
FINSI
ESCRIBA “fin del algoritmo”
FIN

 1.3.1 DIAGRAMA DE FLUJO.


Un diagrama de flujo, también llamado Flujograma de Procesos o
Diagrama de Procesos, representa la secuencia o los pasos lógicos
(ordenados) para realizar una tarea mediante unos símbolos.

Dentro de los símbolos se escriben los pasos a seguir.

Los diagramas de flujo representan la secuencia lógica o los pasos


que tenemos que dar para realizar una tarea mediante unos
símbolos y dentro de ellos se describen los pasos ha realizar.

Un diagrama de flujo debe proporcionar una información clara,


ordenada y concisa de todos los pasos a seguir.

Por lo dicho anteriormente, podríamos decir que: "Un diagrama de


flujo es una representación gráfica o simbólica de un proceso".

 
   1.3.2 PSEUDOCÓDIGO.
 El pseudocódigo es una forma de escribir los pasos que va a realizar
un programa de la forma más cercana al lenguaje de programación
que vamos a utilizar posteriormente. Es como un falso lenguaje, pero
en nuestro idioma, en el lenguaje humano y en español.

   
1.3.3 DIAGRAMA N-S.
Este diagrama también es conocido como estructograma, ya que sirve
para representar la estructura de los programas. Combina la
descripción textual del pseudocódigo con la representación gráfica
del diagrama de flujo.

   1.4 NIVELES DE COMPLEJIDAD DE LOS ALGORITMOS.


O(1): Complejidad constante. Cuando las instrucciones se ejecutan
una vez.
O(log n): Complejidad logarítmica. Esta suele aparecer en
determinados algoritmos con iteración o recursión no estructural,
ejemplo la búsqueda binaria.
O(n): Complejidad lineal. Es una complejidad buena y también muy
usual. Aparece en la evaluación de bucles simples siempre que la
complejidad de las instrucciones interiores sea constante.
O(n log n): Complejidad cuasi-lineal. Se encuentra en algoritmos de
tipo divide y vencerás como por ejemplo en el método de ordenación
quicksort y se considera una buena complejidad. Si n se duplica, el
tiempo de ejecución es ligeramente mayor del doble.
O(n2): Complejidad cuadrática. Aparece en bucles o ciclos
doblemente anidados. Si n se duplica, el tiempo de ejecución aumenta
cuatro veces.
O(n3): Complejidad cúbica. Suele darse en bucles con triple anidación.
Si n se duplica, el tiempo de ejecución se multiplica por ocho. Para un
valor grande de n empieza a crecer dramáticamente.
O(na): Complejidad polinómica (a > 3). Si a crece, la complejidad del
programa es bastante mala.
O(2n): Complejidad exponencial. No suelen ser muy útiles en la
práctica por el elevadísimo tiempo de ejecución. Se dan en
subprogramas recursivos que contengan dos o más llamadas internas.
N

También podría gustarte