Algoritmo
En matematicas, ciencias de la computación, y disciplinas
relacionadas, un algoritmo (del latín, dixit algorithmus y éste a
su vez del matematico persa al-Jwarizmi) es una lista bien definida ,
ordenada y finita de operaciones que permite hallar la solución a un
problema. Dado un estado inicial y una entrada, a través de pasos
sucesivos y bien definidos se llega a un estado final, obteniendo una
solución. Los algoritmos son objeto de estudio de la algoritmia.
En la vida cotidiana se emplean algoritmos en multitud de ocasiones para
resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos
(manuales de usuario), los cuales muestran algoritmos para usar el aparato en
cuestión o inclusive en las instrucciones que recibe un trabajador por
parte de su patrón. También existen ejemplos de índole
matematico, como el algoritmo de la división para calcular el
cociente de dos números, el algoritmo de Euclides para calcular el
maximo común divisor de dos enteros positivos, o el método
de Gauss para resolver un Sistema lineal de ecuaciones.
Tipos de Algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan calculos
numéricos para definir los pasos del proceso
Definición de Lenguajes Algorítmicos.
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de
estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificación de los lenguajes para algoritmos puedeenunciarse de la
siguiente manera :
Lenguaje Natural.
Lenguaje de Diagrama de Flujo.
Lenguaje Natural de Programación.
Lenguaje de Programación de Algoritmos.
Historia y apliacacion de los lenguajes algoritmicos.
Al igual que los idiomas sirven de vehículo de comunicación entre
los seres humanos, existen lenguajes que realizan la comunicación entre
los seres humanos y las computadoras. Estos lenguajes permiten expresar los
programas o el conjunto de instrucciones que el operador humano desea que la
computadora ejecute.
Los lenguajes de computadoras toman diferentes formas; los de las primeras
computadoras, como la ENIAC y la EDSAC, se componían en el lenguaje real
de las maquinas mismas. La dificultad de programar las maquinas
de esta manera limitaba drasticamente su utilidad y proporcionaba un
fuerte incentivo para que se desarrollaran lenguajes de programación
mas orientados hacia la expresión de soluciones con la
notación de los problemas mismos.
Los primeros lenguajes de programación se conocieron como Lenguajes
Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora
FERUT. En los lenguajes ensambladores se define un código especial
llamado mnemónico para cada una de las operaciones de la maquina
y se introduce una notación especial para especificar el dato con el
cual debe realizarse la operación.
El grado de un polinomio esta expresado por el grado del monomio de
mayor grado.
Supongamos el siguiente ejemplo :
P(x) = -2x3 + 5/8x2 + 3x - √5
En éste caso, el término de mayor grado es de grado 3, por lo
cual el polinomio también es de grado 3.
Al coeficiente del monomio de mayor grado se lo llama coeficiente principal. En
éste caso, el coeficiente principal es -2. Cuando el coeficiente
principal de un polinomio es igual a 1, el polinomio recibe el nombre de
polinomio mónico.
En el ejemplo anterior, el polinomio tiene todos sus términos ordenados
de acuerdo a su grado, en forma decreciente. Dado que no siempre los polinomios
se encuentran expresados ordenadamente, debemos proceder a ordenarlos (nosotros
lo haremos en forma decreciente)
Puede suceder también que en un polinomio no figure alguno de los
términos. Veamos el siguiente ejemplo :
Q(x) = 8x4 - 0,4x + 2/3
En éste polinomio de orden 4 faltan los términos correspondientes
al orden 3 y al orden 2, por lo cual se dice que estaincompleto. Para
poder efectuar operaciones entre polinomios, éstos deben estar
completos, por lo cual debemos agregar los términos faltantes,
acompaña-
-dos de un coeficiente nulo. De ésta manera, el polinomio anterior,
ordenado y completo, tomaría la forma
Q(x) = 8x4 + 0x3 + 0x2 – 0,4x + 2/3
Los términos 0x3 y 0x2 son monomios nulos.
Ejercitación :
1-Ordenar y completar los siguientes Polinomios
P(x) = 2 – 3/4x3 + √7x .. . . . . . . . .
. . . . . . . . . . . . .
Q(x) = -0,6x5 + 3 – 1/5x2 + 4x4 .. . . . . . . . .
. . . . . . . . . . . . . ..
R(X) = -5x2 + 0,9 – 7x4 .. . . . . . . . . .
. . . . . . . . . . . . . ..
S(x) = √8x – 3/5x6 + 0,25 + 2x3 .. . . . . . . .
. . . . . . . . . . . . . . ..
T(x) = 3x5 – 7/8 + 2,5x2 .. . . . . . . . . .
. . . . . . . . . . . . . ..
U(x) = 4x4 – 0,85x – 5x2 … …… ……
…… …… …… …… … ……
…… …… …… …… ….
2-Completar la tabla siguiente
|Polinomio |¿Ordenado? |¿Completo? |¿Mónico? |Orden
|Coef. Ppal. |
|3x – 5 + 4x2
|8x – 4x4 + 7 + 9x5 – 3x2
|2x5 + 8x4 – 9x3 – 4x2 + 7x – 15
|- 3 + x3 – 8x
|X4 + 3x3 – 10x2 – 5x + 1
|9x8 + 5 – 72x10 + 4x4 | |
|4x4 – 7x + 9 – 2x3 + 12x2
|X - 5
Operaciones con Polinomios
Suma de Polinomios
Para efectuar la suma de dos polinomios, se deben colocar ambos sumandos,
ordenados y completos, uno encima del otro, manteniendo encolumnados los
términos semejantes (que son los que tienen el mismo grado), y luego se
suman los coeficientes de dichos términos.
Supongamos la siguiente suma de polinomios A(x) + B(x)
A(x) = 3 - 9x5 + 3x2 – 6x6 B(x) = 2x4 – 8 + 5x2 – 6x5 + 9x6
El primer paso consiste en ordenar y completar los polinomios
A(x) = – 6x6 – 9x5 + 0x4 + 0x3 + 3x2 + 0x + 3 ; B(x) = 9x6 –
6x5 + 2x4 + 0x3 + 5x2 + 0x – 8
Luego, los encolumnamos y efectuamos la suma
– 6x6 – 9x5 + 0x4 + 0x3 + 3x2 + 0x + 3
+ 9x6 – 6x5 + 2x4 + 0x3 + 5x2 + 0x – 8
3x6 – 15x5 + 2x4 + 0x3 + 8x2 + 0x – 5
La suma de dos polinomios da como resultado otro polinomio.
Resta de Polinomios
Para ejecutar la resta de dos polinomios se deben cumplir las mismas
condiciones que en el caso de la suma, vale decir, ambos miembros deben estar
ordenados y completos, luego de lo cual procedemos a escribir el sustraendo
debajo del minuendo, encolumnando los términos semejantes, y luego
efectuamos la resta entre los coeficientes de los términos semejantes
del minuendo y del sustraendo. Existen dos procedimientos para realizar la
resta de polinomios, pero en ambos casos el resultado final es el mismo.
Supongamos la siguiente resta de polinomios C(x) - D(x)
C(x) = 8x2 – 3 + 6x5 + 4x3 D(x) = 2 + 5x2 – 8x5 + 3x + 5x3
Primero los ordenamos y completamos
C(x) = 6x5 + 0x4 + 4x3 + 8x2 + 0x – 3 ; D(x) = –8x5 + 0x4 + 5x3 +
5x2 + 3x + 2
Uno de los procedimientosconsiste en efectuar la resta en forma directa
6x5 + 0x4 + 4x3 + 8x2 + 0x – 3
– – 8x5 + 0x4 + 5x3 + 5x2 + 3x + 2
14x5 + 0x4 - 1x3 + 3x2 - 3x – 5
El otro procedimiento consiste en efectuar la suma entre el minuendo y el
sustraendo cambiado de signo. En nuestro caso, el sustraendo cambiado de signo
pasa a ser
- D(x) = 8x5 + 0x4 - 5x3 - 5x2 - 3x – 2 ( A D(x) y –
A mediados de los años 60's aparecieron los primeros lenguajes de
propósito general como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I,
ADA, C,C++, PASCAL, etc. pero el desarrollo de nuevastecnologías, tanto
en arquitectura de computadoras como en lenguajes de programación,
continúa a paso acelerado, cada vez con mayor velocidad, el panorama
esta cambiando de una etapa de sistemas y lenguajes especialmente
desarrollados para aplicaciones individuales. Los lenguajes de
programación actuales son los conocidos como Lenguajes visuales, como
por ejemplo Visual Fox, Visual Basic, Visual C .
Problema suele ser un asunto del que se espera una rapida y efectiva
solución. Puede referirse a:
En matematica, un problema es una pregunta sobre objetos y estructuras
matematicas que requiere una explicación y demostración.
Preguntas que pueden ser muy específicas ('¿Cuales
son las soluciones reales de x² + 1 = 0?') o bastante generales
('¿Por qué estos números aparecen en situaciones
aparentemente muy distintas? Formule y demuestre una conjetura').
Diagrama de flujo es UNA ILUSTRACIÓN DE ACCION SECUENCIAL O una forma
mas tradicional de especificar los detalles algorítmicos de un
proceso y constituye la representación grafica de un proceso
multifactorial. Se utiliza principalmente en programación,
economía y procesos industriales, pasando también a partir de
estas disciplinas a formar parte fundamental de otras, como la
psicología cognitiva; estos diagramas utilizan una serie de
símbolos con significados especiales. Son la representación
grafica de los pasos de un proceso, que se realiza para entenderlo
mejor. Son modelos tecnológicos utilizados para comprender los
rudimentos de la programación lineal.