1.- ALGORITMOS Un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema. Los hay tan sencillos y cotidianos como seguir la receta del médico, abrir una puerta, lavarse las manos, entre otros, hasta los que conducen a la solución de problemas muy complejos. Un algoritmo es un método para resolver un problema, debe presentarse como una secuencia lógica y ordenada de instrucciones que se ejecutan en un tiempo finito y con una cantidad de esfuerzo también finito. En un algoritmo siempre debe haber un punto de inicio y un punto de terminación, estos deben ser únicos y deben ser fácilmente identificables. 1.1.- CARACTERÍSTICAS DE UN ALGORITMO Todo algoritmo debe cumplir las siguientes características o propiedades: Debe ser Preciso: Esto es, debe especificar sin ambigüedad el orden en que se deben ejecutar las instrucciones. Debe estar Definido: Esto es, debe producir los mismos resultados para las mismas condiciones de entrada. Debe ser Finito: Esto es, siempre que sea adecuado se realizarán un número finito de instrucciones, en un tiempo finito y requiriendo una cantidad finita de esfuerzo. Debe ser General: Debe estar orientado a la resolución de problemas generales más bien que problemas específicos, ósea, que sea aplicable a diferentes casos con datos diversos del mismo problema. Debe poseer tres partes básicas: Entrada: que es la lectura de los datos, Proceso: se refiere a todas las operaciones que se deben realizar sobre los datos. Salida: esta relacionad con la escritura de los resultados y/o datos. 1.2.- PASOS A SEGUIR PARA LA RESOLUCIÓN DE UN PROBLEMA Las siguientes son las etapas que se deben cumplir para resolver con éxito un problema de programación: Definición del problema: Entender la naturaleza del problema, es decir, ¿Qué es lo que piden? Selección de la mejor alternativa: Analizado el problema, posiblemente se tenga varias formas de resolverlo; lo importante es determinar cuál es la mejor alternativa: la que produce los resultados esperados en el menor tiempo y al menor costo. ¿Cómo se resuelve? Análisis del problema: Entendido el problema, para resolverlo es preciso determinar los requerimientos de entrada y salida. ¿Qué entra y que sale? Diagramación: Una vez que sabemos cómo resolver el problema, pasamos a construir el algoritmo. Codificación: Una vez que hayamos verificado el algoritmo codificamos el programa en el lenguaje Fortran para obtener el denominado Programa Fuente. Prueba: Probar el programa y corregir los errores. 1.3.- INSTRUCCIONES BASICAS EN UN ALGORITMO Existen cuatro tipos básicos de instrucciones: Instrucciones de Asignación: Mediante estas instrucciones se indica la ejecución de operaciones matemáticas, literales o lógicas y que el resultado final de las mismas sea asignado a cierta entidad. Obedecen a la siguiente forma general: Variable = Expresión Instrucciones de Entrada – Salida: Son instrucciones de transferencia de información de algún dispositivo externo a la computadora (Entrada) o viceversa (Salida). Instrucciones de Selección (ó Decisión): Permite la elección de un camino de solución entre varias alternativas posibles en base a la evaluación de ciertas consideraciones. Instrucciones Repetitivas: Estas instrucciones permiten la ejecución repetida de un conjunto de instrucciones un número determinado o indeterminado de veces. 1.4.- TECNICAS DE REPREENTACION DE ALGORITMOS: Son técnicas para la representación de los algoritmos en donde a través de convenciones y el empleo de símbolos estandarizados se expresa en forma clara y sencilla el proceso establecido en el algoritmo. Hay varias técnicas de representación de los algoritmos: Diagrama de Flujo (DF): Representa la esquematización gráfica de un algoritmo, el cual muestra mediante símbolos o figuras geométricas, los pasos o procesos a seguir para alcanzar la solución de un problema. Su correcta construcción es sumamente importante porque, a partir del mismo se escribe un programa en algún Lenguaje de Programación. Si el Diagrama de Flujo está completo y correcto, el paso del mismo a un Lenguaje de Programación es relativamente simple y directo. Simbología utilizada en los Diagramas de Flujo: Nombre Símbolo Significado TERMINADOR Inicio / Fin ENTRADA Lectura por teclado PROCESO Operaciones a realizar SALIDA Escritura por pantalla DECISION Estructura de selección REPETICION Estructura cíclica FLECHAS Orden lógico Símbolo Seudolenguaje (SL): No es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras. Es una técnica para diseño de programas que permite definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema. Utiliza un Seudolenguaje (términos o palabras) muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programación. Se concibió para superar las dos principales desventajas de los flujogramas: lento de crear y difícil de modificar sin un nuevo redibujo. El pseudocódigo también va a utilizar una serie de palabras claves o palabras especiales que van indicando lo que significa el algoritmo. 1. INICIO / FIN: Para indicar dónde empieza y/o termina el algoritmo. 2. LEER: Para darle entrada a los valores de las variables 3. ESCRIBIR: Para mostrar o visualizar los datos y/o salidas. 4. SÍ (Condición) ENTONCES ….. Estructura selectiva 5. MIENTRAS (condición) ….. PARA Estructura repetitiva 1.5.- TIPOS DE DATOS Los datos a procesar por una computadora pueden clasificarse en: Simples: La principal característica de los datos simples es que ocupan solo una casilla de memoria, por lo tanto, una variable simple hace referencia a un único valor a la vez. Dentro de este grupo de datos se encuentran: enteros, reales, caracteres y booleanos. Estructurados: Los datos estructurados se caracterizan por el hecho de hacer referencia con un nombre a un grupo de casillas de memoria, es decir, un dato estructurado tiene varios componentes. Cada uno de los componentes puede ser a su vez un dato simple o estructurado. Sin embargo, los componentes básicos de cualquier tipo estructurado son datos simples. Dentro de este grupo de datos se encuentran: arreglos, cadenas de caracteres, registros y conjuntos. 1.6.- IDENTIFICADORES, CONSTANTES, VARIABLES Y EXPRESIONES Identificadores: Los datos a procesar por una computadora, ya sean simples o estructurados, deben almacenarse en casillas o celdas de memoria para su posterior utilización. Es un identificador conformado por uno o más caracteres alfanuméricos, el primero de los cuales es usualmente una letra. Constantes: Se refiere a una posición de memoria cuyo valor permanece inalterable durante la ejecución de un programa y está asociado a cierto tipo de datos. Se identifica por el valor mismo. Existen tipos de constantes como tipo de dato, por lo tanto puede haber constantes enteras, reales, carácter, booleanas, etc. Variable: Se refiere a una posición de memoria cuyo valor puede cambiar durante la ejecución de un programa y está asociada a cierto tipo de datos. Se identifica a través de un identificador. En el curso de la ejecución de un programa el valor actual de una variable es el último que le ha sido asignado. Expresión: Es una combinación de variables, constantes, operadores y referencias a funciones que expresan cálculos aritméticos, literales y / o lógicos a ser realizados. En su forma más simple una expresión está constituida por una variable o constante. 1.7.- TIPOS DE OPERADORES: Operadores: Son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Existen tres tipos de operadores: Relacionales: Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso).Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación. Los operadores relaciónales tiene menor prioridad que los aritméticos. Los operadores relacionales son: Operación Operador Algoritmo Programa Igual a = = .EQ. == Mayor que > > .GT. > Mayor o igual que ≥ ≥ .GE. >= Menor que < < .LT. < Menor o igual que ≤ ≤ .LE. <= Distinto a ≠ ≠ .NE. /= Aritméticos: Para realizar operaciones aritméticas se necesitan utilizar los operadores aritméticos. Estos operadores permiten expresar operaciones aritméticas entre operandos: números, constantes o variables. El resultado de una operación aritmética será un número. Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. Los Operadores aritméticos son: Operación Operador Algoritmo Programa Potencia B**E 22 = 4 2**2 = 4 Multiplicación * 2*2 = 4 2*2=4 División / 4/2 = 2 4/2=2 Suma + 2+2 = 4 2+2 = 4 Resta - 4-2 = 2 4-2 = 2 División Modulo Mod(Dd,Ds) = R Mod(7,2) = 1 Mod(7,2) = 1 (Residuo) Dd: Dividendo Ds :Divisor R: Residuo Jerarquía de operadores aritméticos: ( () ) ** Paréntesis de internos a externos Potencia * y / Con igual prioridad de izquierda a derecha + y - Con igual prioridad de izquierda a derecha Lógicos: Los operadores lógicos son operadores que permiten formular condiciones complejas a partir de condiciones simples. Los operadores lógicos son de Conjunción que se representa (y ó ^) para el algoritmo y (.AND.) para el programa y la Disyunción que se representa (o (.OR.).para el programa. ó v ) para el algoritmo y 1.8.- FUNCIONES MATEMATICAS INTRINSECAS Fortran tiene una serie de funciones propias intrínseca como lo son: LOG (x) ln Logaritmo neperiano LOG10 (x) EXP (x) SQRT (x) SINH (x) Seno hiperbólico Log, en base 10 COSH (x) Coseno hiperbólico Exponencial TANH (x) Tangente hiperbólica Raiz cuadrada MAX (x1, x2, ..) Máximo SIN (x) Seno MIN (x1, x2, ..) Mínimo COS (x) Coseno MOD (x, y) Resto de x / y TAN (x) Tangente REAL (x) Convierte x a real ABS (x) Valor absoluto ASIN (x) Arco seno INT (x) Trunca x a entero ACOS (x) Arco coseno Redondea x a entero ATAN (x) Arco tangente NINT (x) 1.9.- USOS BASICOS DE LAS VARIABLES Las variables pueden ser utilizadas para diversos propósitos durante el curso de las operaciones planteadas en un algoritmo. Entre esos usos básicos se tienen: Acumulador de Suma: En este caso la variable contiene el resultado de sumas sucesivas de varios términos, esta suma se define a través de la ejecución repetida de un grupo de instrucciones en donde en cada ejecución se suma un nuevo término. Esta variable debe ser inicializada en el elemento neutro de la suma (SUM=0), antes de ciclo que la vaya a utilizar. La expresión genérica para los acumuladores de suma es: SUM = SUM + (lo que se esté sumando) Acumulador de producto: La variable va a contener el resultado del producto de varios términos. Este producto se define generalmente a través de la ejecución repetida de un grupo de instrucciones en donde en cada ejecución se multiplica lo acumulado por un nuevo termino de los varios que van a ser multiplicados. Esta variable debe ser inicializada en el elemento neutro del producto (PRO=1), antes de ciclo que la vaya a utilizar. La expresión genérica para los acumuladores de producto es: PRO = PRO * (lo que se esté multiplicando) Contador: El uso de la variable en este caso es el llevar la cuenta del número de veces que una determinada situación se presentó. Por lo general se define su valor en un proceso en donde cada vez que se presente la ocurrencia de una determinada situación se incrementa el valor del contador para reflejar esta ocurrencia. Esta variable debe ser inicializada en cero (CON =0), antes de ciclo que la vaya a utilizar. La expresión genérica para los contadores es: CON = CON + 1 Variable de Control: Esta variable permite establecer el número de veces que la ejecución de un determinado grupo de instrucciones se ve a efectuar. Este grupo de instrucciones se ejecuta una vez para cada valor que esta variable tome a lo largo de este proceso repetitivo.
© Copyright 2024 ExpyDoc