TEMA 1: Composición de Algoritmos Los algoritmos están compuestos por diferentes partes, unas relacionadas íntimamente con las otras, de tal forma que muchas veces la no existencia de una provocaría una confusión en el mismo. Por ello es muy importante el saber las partes principales en las que se divide los algoritmos y saber cuales son esenciales y cuales no. 1.1 Cabecera (nombre del Algoritmo). Al comenzar cualquier algoritmo, este debe ser bautizado, de tal forma que tan solo leer la cabecera sepamos cual va a ser su propósito. Ejemplo: +-Algoritmo Factorial <- Cabecera | | Variable entera a,b,c | Escribir "Introduzca el número a factorizar." | Leer a | b = 1 | +-Para c desde 2 hasta a hacer | ³ b=b*c | À-FinPara | Escribir "El factorial es: ",b +-Final 1.2 Sección de datos (declaración de variables). Esta parte es esencial para cualquier algoritmo que trabaje con variables. En esta sección se va a declarar cuales son las variables con las que vamos a trabajar y cuales son sus tipos. 1.2.1 Tipos. El tipo de una variables define el contenido de ésta, es decir, indica cual va a ser el propósito de la variable. Los tipos de datos estándar son: - Enteras (Su contenido será un número entero) - Reales (Su contenido será un número real) - Carácter (Su contenido será un carácter alfanumérico) - Cadena (Su contenido será un un conjunto de caracteres) - Lógicas (Su valor indica un hecho cierto o falso) Existen otros tipos de variables tales como byte, word, dbyte, dword, etc. Que son variables más encaminadas a la programación profesional. Las variables se caracterizan pues poseen una jerarquía que viene definida por el número de bytes que se asignan para cada una. Así un carácter posee un longitud de un byte, (donde se almacena un número al que se le ha asociado mediante la norma ASCII) sin embargo un entero posee dos byte. Sería lógico pensar que una variable entera contuviera a un carácter y de hecho esto puede ser así, sin embargo el mezclar tipos de variables es impropio de una programación ordenada y elegante. Es decir, no se debe mezclar tipos de variables a no ser que se produzca a través de una función de conversión de tipos (convertir un entero a una cadena y viceversa). En el programa anterior se observa la declaración de variables después de la cabecera, que es el orden que debe seguirse en la elaboración de un algoritmo y en un programa informático. 1.2.2 Variables y Constantes. La principal diferencia entre variables y constantes es que las primeras pueden variar a lo largo de la ejecución del programa, mientras que las segundas permanecen constantes siempre. Las constantes se declaran después de la cabecera y antes de las variables. Ejemplo: +-Algoritmo Circunferencia | | Constante real PI=3.1416 | Variable real r,c | | Escribir "Introduzca el radio de la circunferencia" | Leer r | c=2*Pi*r | Escribir "Su longitud es: ",c | +-Final Se define Vector como una variable cuya estructura es una sucesión de elementos del mismo tipo. Así una variable de cadena es un vector de caracteres, ya que esta formado por una sucesión de variables del tipo carácter. Así podemos crear vectores de diferentes tipos. Ejemplo: Producto escalar de dos vectores en una base ortonormal. +-Algoritmo Producto_Escalar | | Vector entero a[1..3], b[1..3] | Variable entera c | | Escribir "Introduzca el vector A (x,y,z)" | Leer a[1],a[2],a[3] | Escribir "Introduzca el vector B (x,y,z)" | Leer b[1],b[2],b[3] | | c=a[1]*b[1]+a[2]*b[2]+a[3]*b[3] | | Escribir "El producto escalar es: ",c | +-Final De igual forma tenemos que una matriz es un vector de vectores que se define como: ¦ matriz entera Rotacional [1..3,1..3] Hay que decir que el concepto de [Columnas,Filas] o [Filas, Columnas] es más bien arbitrario, ya que podemos adoptar el formato que queramos, siempre y cuando lo mantengamos a lo largo del programa.