Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Input (entrada). Información que damos al algoritmo con la que va a trabajar para
ofrecer la solución esperada.
Proceso. Conjunto de pasos para que, a partir de los datos de entrada, llegue a la
solución de la situación.
Output (salida). Resultados, a partir de la transformación de los valores de entrada
durante el proceso.
De este modo, un algoritmo informático parte de un estado inicial y de unos valores
de entrada, sigue una serie de pasos sucesivos y llega a un estado final en el que
ha obtenido una solución.
1. Algoritmos de búsqueda
Los algoritmos de búsqueda localizan uno o varios elementos que presenten una
serie de propiedades dentro de una estructura de datos.
Eso sí, para poder aplicarse a un problema, éste debe tener subestructuras óptimas
y subproblemas superpuestos. Es decir, que en él se puedan usar soluciones
óptimas de subproblemas para encontrar la solución óptima del problema en su
conjunto y que el problema se pueda dividir en subproblemas que se reutilizan para
ofrecer el resultado global.
La serie de Fibonacci. Sucesión de números que comienza con “0” y “1” y, a partir
de ellos, cada número es resultado de la suma de los dos que le preceden. La
relación de recurrencia la define.
Problema de la mochila.
5. Algoritmos probabilísticos
Es una técnica que usa una fuente de aleatoriedad como parte de su lógica.
Mediante un muestreo aleatorio de la entrada llega a una solución que puede no ser
totalmente óptima, pero que es adecuada para el problema planteado.
El reto o situación de partida que os proponíamos era el siguiente: «Si Java es Ñfaf
y Javascript es Ñfafxhwnuy, resuelve a través de la rueda de cifrado la siguiente
frase con tu solución programada: KJPNE INF IJ PTX UWTLWFQFITWJX».
function decoded(encodedTxt) {
let alphabet = "abcdefghijklmnñopqrstuvwxyz".split("");
let decodedTxt = "";
encodedTxt.toLowerCase().split("").forEach(item => {
if (item === " ") {
decodedTxt += item;
}
else if (alphabet.indexOf(item) != -1) {
if (alphabet.indexOf(item) >= 5) {
decodedTxt += alphabet[(alphabet.indexOf(item) - 5)];
}
else if (alphabet.indexOf(item) <= 4) {
decodedTxt += alphabet[alphabet.length + alphabet.indexOf(item) -
5];
}
}
});
console.log(decodedTxt.toUpperCase());
}
const txtEncrypted = 'KJPNE INF IJ PTX UWTLWFQFITWJX';
decoded(txtEncrypted);
Conclusión
Como hemos visto, un algoritmo informático no es más que un conjunto de
instrucciones para conseguir un fin. Los algoritmos están muy presentes en el
ámbito de la informática, pero también en nuestra vida cotidiana. Existen numerosos
tipos y ejemplos de algoritmos y, dependiendo de la situación en que nos
encontremos, unos u otros nos ayudarán a llegar a la solución que necesitemos.
Tipos de datos.
diferentes datos que van a ser procesados. Conforme aumenta la complejidad del
programa,
variables y constantes.
Un programa asigna una posición de memoria a cada variable o constante que sea
declarada en el programa. La posición en memoria puede ser vista como una casilla
de memoria, en donde el valor será determinado por el programa, y el tipo de valor
que puede ser almacenado en ella será determinado por el programador al
momento de declarar la variable.
Para una variable, el valor en dicha casilla cambiará tantas veces lo necesite en el
programa; en cambio, para una constante, su valor es fijado una vez, al, inicio del
programa, y no puede cambiar durante el transcurso de éste.
5 Operadores
Los operadores nos permiten realizar operaciones aritméticas entre los datos, ya
sean constantes o variables.
El operador mod sólo se aplica a operandos tipo entero. El mod se lee como módulo
de la división, y el resultado será el residuo de una división entera.
Para resolver expresiones con operadores lógicos, se utilizan las siguientes tablas,
conocidas como tablas de verdad:
Operadores de Asignación
Las reglas para resolver una expresión aritmética son las siguientes:
() Paréntesis
*, /, mod
|| (OR)
VARIABLES:
Las variables se suelen utilizar en muchos ámbitos diferentes, como por ejemplo, en
matemáticas. Pero aquí te encontrarás la definición de variable en programación.
Concepto de variable
Veamos un poco el concepto de lo que hemos explicado, y así sabremos para que
sirve una variable en programación (y su significado).
Primero hablaremos del identificador de una variable, que no deja de ser el nombre
de la variable que le ponemos.
Por ejemplo, la variable total serían una variable diferente de Total en Java, C, C++.
Pero en Visual Basic, no.
Eso significa otra cosa muy importante: la variable no puede almacenar otro tipo de
datos. Por ejemplo, para almacenar un número podríamos poner:
total = 10;
A esto se le llama asignación de valores a una variable.
total_Python = 10
y el lenguaje ya sabe que esa variable es un número.
Para entender un poco los ejemplos de variables que te puedes encontrar, vamos a
ver algunos tipos de variables que podemos utilizar.
Variable auxiliar
También se llaman variables temporales. Son las que necesitamos para hacer algo
de manera temporal.
c = a;
a = b;
b = c;
Una vez hecho esto, ya no es necesaria la variable c.
Variable acumuladora
Las variables acumuladoras sirven para almacenar un número y sus valores
consecutivos. Por ejemplo, si empieza por 0, luego tendrá el valor de 1, 2, 3, 4…
Variable de estado
Las variables de estado se utilizan para saber como se encuentra un objeto en cada
momento.
La más simple podría ser una variable booleana, dónde su valor sería true o false.
Pero también podrías definir varios estados. Por ejemplo, si tienes un objeto
luchador en un juego, puede estar peleando, cayendo, siendo derrotado…