QUÉ ES UN PSEUDOCÓDIGO Un pseudocódigo (falso lenguaje), es una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software. El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema. CLASES DE ALGORITMOS Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema cualquier Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio Tipos de algoritmos de razonamiento: Algoritmos Estáticos: son los que funcionan siempre igual, independientemente del tipo de problema tratado. Algoritmos Adaptativos: algoritmos con cierta capacidad de aprendizaje. Algoritmos Probabilísticos: son algoritmos que no utilizan valores de verdad booleanos sino continuos. Existen varios tipos de algoritmos probabilísticos dependiendo de su funcionamiento, pudiéndose distinguir: § Algoritmos numéricos: que proporcionan una solución aproximada del problema. § Algoritmos de Montecarlo: que pueden dar la respuesta correcta o respuesta erróneas (con probabilidad baja). § Algoritmos de Las Vegas: que nunca dan una respuesta incorrecta: o bien dan la respuesta correcta o informan del fallo. Algoritmo Cotidiano: es la serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes tareas y actividades comunes, desde los pasos al levantarnos, así como ir de compras, etc. Algoritmo Voraz: un algoritmo voraz es aquel que, para resolver un determinado problema, sigue una meta heurística consistente en elegir la opción óptima en cada paso local con la esperanza de llegar a una solución general óptima. Algoritmo Determinista: es un algoritmo que, en términos informales, es completamente predictivo si se conocen sus entradas. Algoritmo Heurístico: es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas soluciones, aunque no hay pruebas de que la solución no pueda ser arbitrariamente errónea en algunos casos; o se ejecuta razonablemente rápido, aunque no existe tampoco prueba de que siempre será así.Las heurísticas generalmente son usadas cuando no existe una solución óptima bajo las restricciones dadas (tiempo, espacio, etc.), o cuando no existe del todo. Algoritmo de escalada: la idea básica consiste en comenzar con una mala solución a un determinado problema y, repetidamente, aplicar optimizaciones a la misma hasta que esta sea óptima o satisfaga algún otro requisito. Ejemplo: PROBLEMA: Cambiar la rueda pinchada de un automóvil teniendo un gato mecánico en buen estado, una rueda de reemplazo y una llave inglesa. ALGORITMO: Inicio PASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa. PASO 2. Ubicar el gato mecánico en su sitio. PASO 3. Levantar el gato hasta que la rueda pinchada pueda girar libremente. PASO 4. Quitar los tornillos y la rueda pinchada. PASO 5. Poner rueda de repuesto y los tornillos. PASO 6. Bajar el gato hasta que se pueda liberar. PASO 7. Sacar el gato de su sitio. PASO 8. Apretar los tornillos con la llave inglesa. Fin Qué es una Variable Representa a aquello que varía o que está sujeto a algún tipo de cambio. Se trata de algo que se caracteriza por ser inestable, inconstante y mudable. En otras palabras, una variable es un símbolo que permite identificar a un elemento no especificado dentro de un determinado grupo. Este conjunto suele ser definido como el conjunto universal de la variable (universo de la variable, en otras ocasiones), y cada pieza incluida en él constituye un valor de la variable. Qué es una Constante Una constante, como su nombre lo dice, es algo que nunca cambia de valor, a diferencia de una variable, cuyo valor puede cambiar. Una constante generalmente se representa con números, y una variable con letras, generalmente x, y, o z. Una constante también se puede representar por letras cuando su valor es arbitrario, pero nunca cambiara. Una constante representada con una letra puede identificarse porque casi siempre se representan con letras como a, b, c... CONECTIVOS LÓGICOS Y PROPOSICIONES COMPUESTAS Un conectivo lógico es una operación con dos proposiciones. Una proposición es un conjunto de palabras con un sentido del que se puede decir si es verdadero o falso. Los grillos tienen pasión por Kant, es una proposición (falsa) 130 es múltiplo de 13, es una proposición (verdadera) A partir de ellas se puede construir otra proposición con: a) el conectivo o Los grillos tienen pasión por Kant, o 130 es múltiplo de 13 Que es, por definición, verdadera si lo es alguna de las dos. b) el conectivo y Los grillos tienen pasión por Kant, y 130 es múltiplo de 13 Que es, por definición, verdadera si lo son ambas. Una proposición es un conjunto de palabras con sentido, del que se puede afirmar si es cierto o falso. A partir de proposiciones se pueden construir otras, compuestas por dos o más proposiciones, mediante las operaciones lógicas. Por ejemplo, dadas las proposiciones p, q, se llama unión de p, q a la proposición p o q, que será cierta si lo es o bien p o bien q. Si p: Buenos Aires es una ciudad Y q: Los atunes sienten pasión por Kant Entonces p o q: Buenos Aires es una ciudad o los atunes sienten pasión por Kant Operadores Relacionales y Operadores Lógicos Los operadores de relación unen un término A con otro B estableciendo su igualdad, jerarquía o cualquier otra relación posible. Son: * Menor que, <. * Menor o igual que, <=. * Mayor que, >. * Mayor o igual que, >=. * Igual que, =. * Distinto que!=. Los operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no una cierta condición. Son: *Y lógico && AND *O lógico || OR *Negación lógica! NOT *O exclusivo ^ XOR