ISABELA GONZÁLEZ
DAVID CARVAJAL
jueves, 23 de abril de 2020
FORMAS DE REPRESENTAR ALGORITMOS
Lenguaje natural
Son aquellas lenguas que han sido generadas espontáneamente en un grupo de hablantes con propósito de comunicarse, a diferencia de otras lenguas, como puedan ser una lengua construida, los lenguajes de programación o los lenguajes formales usados en el estudio de la lógica formal, especialmente la lógica matemática.
Los algoritmos escritos en este lenguaje se caracterizan por seguir un proceso de ejecución común y lógico, describiendo textualmente paso a paso cada una de las actividades a realizar para resolver un problema determinado.
Los inconvenientes de escribir algoritmos en este lenguaje son: la ambigüedad, la no universalidad y la amplitud del mismo lo cual genera errores y no puede ser interpretado correctamente por el computador.
Pseudocódigo
Es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.
El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.
Diagramas de Flujo
Son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.
Símbolos para representar diagramas de flujo
Diagramas estructurados (Nassi-Schneiderman)
- El diagrama estructurado N-S también conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja.
- Los diagramas estructurados, son una técnica que permite formular algoritmos mediante una representación geométrica y de asignación de espacios de un bloque específico.
TIPOS DE OPERADORES
Operadores
lógicos
Muy
utilizados en Informática, Lógica proposicional y Álgebra
booleana, entre
otras disciplinas. Los operadores lógicos nos proporcionan un resultado a
partir de que se cumpla o no una cierta condición, producen un resultado
booleano, y sus operandos son también valores lógicos o asimilables a ellos
(los valores numéricos son asimilados a cierto o falso según su valor sea cero
o distinto de cero).
Operadores gráficos
Los operadores lógicos se utilizan para usar comparaciones
numéricos o no dando como resultado un valor true (verdaderos) o false (falso) a
partir de que se cumpla o no una cierta condición, llamados booleano, todos los
días utilizamos operadores lógicos un ejemplo cuando hablamos o cuando
planeamos una actividad que vamos hacer durante el día, esto quiere decir que
los operadores lógicos suelen utilizarse para armar condiciones para las
diferentes estructuras de decisión como así también para los bucles
Los operadores lógicos pueden crear condiciones
compuestas en una fórmula, como que se
deben cumplir dos o más condiciones para elegir un determinado método de
cálculo. Con los operadores lógicos, puede describir estas combinaciones de
condiciones.
AND (Y) verdadero solo si
los dos elementos son verdaderos
OR (O) verdadero si
cualquiera de los dos elementos es verdadero
NOT (NEGACION) cambiar el
valor de falso.
Operadores aritméticos
Los operadores Aritméticos toman valores numéricos
(ya sean literales o variables) como sus operandos y retornan un valor numérico
único. Los operadores aritméticos estándar son adición o suma (+), sustracción
o resta (-), multiplicación (*), y división (/).
Estos operadores trabajan al igual que en la
mayoría de otros lenguajes de programación, excepto el operador /, que retorna
una división de punto flotante en JavaScript, no una división truncada como en
lenguajes tales como C o Java.
En la suma
La operación suma se produce mediante la suma de
número o strings concatenados.
Ejemplo: 1+2 // 3,
False + false // 0
True + 1 // 2
La resta se
produce cuando se sustraen el resultado de los operadores, produciendo su
diferencia.
Ejemplos: 5-3 // 2
3-5 // -2
Foo – 3 // NaN
La multiplicación
produce el producto de la multiplicación de los operandos.
Ejemplos: 2*2 // 4
-2*2 // -4
Infinito*infinito //
infinito
La división
se produce el cociente de la operación donde el operando izquierdo es el
dividendo y el operando derecho es el divisor.
Ejemplos: 1 / 2
// devuelve 0.5 a JavaScript
1/ 2 // devuelve 0 en java
1.0 / 2.0 // devuelve 0.5 en java y JavaScript
Operadores
relacionales
Los
operadores relacionales nos permiten comparar expresiones de tipos compatibles,
devolviendo un resultado de tipo lógico: la comparación es verdadera o falsa. Por ejemplo, la expresión (3 + 4)
> 12 sería falsa, ya que 7 es menor que 12.
Los operadores de relación se pueden aplicar a
cualquiera de los tipos que hemos visto hasta ahora:
- entero
- real
- lógico
- carácter y cadena
Las operaciones relacionales o de comparación entre
números reales y enteros no merecen mayor comentario, las matemáticas dictan
las reglas. Si comparamos expresiones lógicas, lo cual no tiene mucho sentido,
hay que saber que el valor falso se
considera menor que el valor verdadero.
ALGORITMOS SEGÚN SU ESTRATEGIA
Algoritmos probabilísticos
Es un algoritmo donde el resultado o la manera en que se
obtiene el resultado dependen de la probabilidad. A veces también son llamados
algoritmos aleatorios.
Ejemplo: decidir si un nº de 1000 cifras es primo.
Algoritmos cualitativos
Es el algoritmo más simple y también el más usado. Pues,
se basa en la cotidianidad de las personas y en su rutina diaria. Empieza desde
que se despiertan, cepillan, comen, trabajan y termina al acostarse.
Algoritmos
heurísticos
Estos algoritmos son aquellos
que encuentran soluciones entre todas las posibles, pero no garantizan que la
mejor de estas será encontrada. Por ese motivo son considerados como algoritmos
aproximados o no precisos.
Usualmente encuentran una
solución cercana a la mejor, y además la encuentran rápida y fácilmente.
Generalmente este tipo de algoritmos se usa cuando es imposible encontrar una
solución por la vía normal.
Ejemplos. Un problema de decisión puede ser formulado de manera tal que dada una entrada requiere una respuesta simple: “si” o “no”.
Algoritmo
de escalada
Es un algoritmo descendiente, que inicia con soluciones
insatisfactorias y a medida que los errores se corrigen, va escalando hasta
llegar al resultado correcto.
Algoritmo
voraz
Se aplica en problemas de optimización, mediante
soluciones voraces. Es usado a través de decisiones lógicas y analiza cada paso
como único, para obtener un resultado global. En este algoritmo se debe tener
sumo cuidado, porque luego de implementar un paso no se puede regresar o
corregir. Es de esos que cambian el futuro sin poder devolver el tiempo.
Algoritmo
determinista
Este algoritmo es completamente
predictivo si se conocen sus entradas. Dicho de otra forma, si se conocen las
entradas del algoritmo siempre
producirá la misma salida, y la máquina interna pasará por la misma secuencia
de estados.
ALGORITMOS SEGÚN SU FUNCIÓN
Algoritmo
de marcaje.
Este algoritmo utiliza la
automatización para fijar los precios de forma dinámica, basándose en factores
como el comportamiento del cliente. Es la práctica de fijar automáticamente un
precio para los elementos en rebaja, para maximizar la ganancia del vendedor.
Algoritmo
de programación dinámica.
La palabra dinámico se refiere
al método en el cual el algoritmo computa el resultado. A veces la solución de
un elemento del problema depende de la solución de una serie de problemas más
pequeños.
Para remediar esto, se puede
utilizar la programación dinámica. En este caso básicamente se recuerda el
resultado de cada subproblema; cuando se necesite, se utiliza ese valor en vez
de computarlo una y otra vez.
Algoritmos
de vuelta atrás
Son algoritmos que han sido
revocados al observar su comportamiento. Típicamente son aproximaciones del
algoritmo original que son construidos para propósitos como competición o
estudios.
Los algoritmos pueden ser
revocados para estudiar su impacto en los mercados, en la economía, en el
marcaje de precios, en las operaciones y en la sociedad.
Algoritmos
de ordenamiento
Algoritmo de
ordenamiento es un algoritmo que pone elementos de una lista o un vector en una
secuencia dada por una relación de orden,
es decir, el resultado de salida ha de ser un reordenamiento de la entrada que
satisfaga la relación de orden dada.
Los algoritmos de ordenamiento
nos permiten, como su nombre lo dice, ordenar información de una manera
especial basándonos en un criterio de ordenamiento.
Algoritmos
de búsqueda
Es un conjunto de instrucciones que
están diseñadas para localizar un elemento con ciertas propiedades dentro de
una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta
persona en una base de datos, o el mejor movimiento en una partida de ajedrez.
Algoritmos
de encantamiento
Son pasos enlazados, para
transmitir una información al público. Se basa en teorías comunicacionales
adaptativas y estáticas, como la aguja hipodérmica. Así la audiencia recibe
pasivamente el mensaje y se ajusta a la circunstancia, llegando al punto de
volverse mecánico.
ALGORITMOS SEGÚN SUS SIGNOS
Algoritmos cuantitativos
Son lo contrario de los algoritmos cualitativos, porque se colocan elementos numéricos. Este tipo de algoritmos se utilizan en las matemáticas para realizar cálculos. Por ejemplo, para encontrar una raíz cuadrada o resolver una ecuación.
Algoritmo computacional
Son los algoritmos que se hacen con una computadora; muchos de estos algoritmos son más complejos y por eso necesitan ser realizados a través de una máquina. También pueden ser algoritmos cuantitativos que se optimiza. Por ejemplo, las maquinas industriales.
Algoritmo no computacional
Estos algoritmos son aquellos que no pueden realizarse con una computadora. Por ejemplo, la programación de un televisor.
TIPOS DE ALGORITMOS
Los algoritmos pueden clasificarse en tres (3) secciones:
- Según sus signos: Alberga algoritmos verbales, matemáticos y computacionales.
- Según su función: Son algoritmos que ayudan rentabilizar un sistema económico dentro de un comercio.
- Según la estrategia: Son algoritmos técnicos, que antes de implementarse pasan por un estudio estratégico.
Suscribirse a:
Entradas (Atom)