CONCEPTOS BASICOS EN LENGUAJES DE PROGRAMACION ALGORITMO Un algoritmo es una serie de operaciones detalladas y no ambiguas. En otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas. Un algoritmo es el medio por el que se explica cómo puede resolverse un problema, mediante aproximaciones paso a paso. Se puede formular de muchas formas con el cuidado de que no exista ambigüedad. Al conjunto formado por la representación de datos utilizada y el algoritmo mismo se llama programa CARACTERISTICAS DE LOS ALGORITMOS Las principales características de los algoritmos son: El algoritmo debe ser sencillo e indicar el orden de realización de cada paso. Un algoritmo debe estar definido. El algoritmo de ser finito. PSEUDOCODIGO: (falso lenguaje) es comúnmente utilizado por los programadores para omitir secciones de código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos esto quiere decir que el pseudocódigo no es programable sino facilita la programación. El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizara para la codificación del mismo. Características y partes: Las principales características de este lenguaje son: Se puede ejecutar en un ordenador Es una forma de representación sencilla de utilizar y de manipular. Facilita el paso del programa al lenguaje de programación. Es independiente del lenguaje de programación que se vaya a utilizar. Es un método que facilita la programación y solución al algoritmo del programa. Todo documento en pseudocódigo debe permitir la descripción de: Instrucciones primitivas. Instrucciones de proceso. Instrucciones de controlSECUENCIALES Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples. Simples: Las estructuras condicionales simples se les conocen como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma: Pseudocódigo: Diagrama de flujo: Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: Pseudocódigo: Diagrama de flujo: Donde: Si: Indica el comando de comparación Condición: Indica la condición a evaluar Entonces: Precede a las acciones a realizar cuando se cumple la condición Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición si no: Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones. Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma común es la siguiente: Pseudocódigo: Diagrama de flujo: CICLOS: Los ciclos y los condicionales representan la base de la programación estructurada. Es una evolución del código ensamblador, donde la única posibilidad de iterar un código era establecer una sentencia (que en los lenguajes de programación fue sustituida por el "ir a" o GOTO). Los tres ciclos más utilizados en programación son el bucle while, el bucle for y el bucle repetir. Ejemplo en código C de sentencias repetidas: int var=0; //código que puede ser sustituido por un bucle var = var + 2; //var igual a 2 (puede ser sustituído por var+=2) var = var + 2; //var igual a 4 var = var + 2; //var igual a 6 var = var + 2; //var igual a 8 var = var + 2; //var igual a 10 // fin de código que puede ser sustituido por un bucle printf("el resultado es %i", var ); Ejemplo con un bucle: int var=0; //Código para el bucle int i; // este es el Bucle for for(i=0;i<10;i+=2) { var += 2; } printf("el resultado es %i", var); Algunos lenguajes de programación tienen sentencias que permiten "escapar" de los bucles sin llegar a la condición de fin, como el romper o el devolver. Ejemplo escapando de un bucle en Visual Basic 1: Dim h&, var& var = 0 'Codigo del Bucle do var = var + 2 if var = 10 then goto escape end if loop 'Codigo para salir del bucle escape: print "El resultado es " & var ARREGLOS: Un arreglo (una matriz o vector) (llamados en inglés arrays) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres dimensiones. Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sería más adecuado utilizar una lista, ya que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un programa.