1. INTRODUCCIÓN.. 2
2. CARACTERÍSTICAS DE LOS ALGORITMOS. 2
3. ESTRUCTURA DE UN ALGORITMO.. 2
6. OTRAS TÉCNICAS DESCRIPTIVAS. 12
1. INTRODUCCIÓN
Algoritmo: Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. (Viene del árabe Al-Jwarizmi)
2. CARACTERÍSTICAS DE LOS ALGORITMOS
– Ser fiable. Resultados exactos y precisos.
– Ser eficiente. No ocupa memoria. Rápido en su ejecución.
– Ser robusto. Tener prevista una respuesta siempre.
– Ser transportable. Funcionar en cualquier ordenador y S.O.
– Interfaz amigable. Mensajes claros y concisos. Buena documentación.
3. ESTRUCTURA DE UN ALGORITMO
3.1 Datos
3.1.1 Datos de tipo numérico
§ Enteros: Números positivos o negativos. (+5) (-5) …
§ Reales: Números con decimales. (+3.14) …
3.1.2 Datos de tipo carácter
Letras, números, cadenas de caracteres…
Comillas dobles o simples
“A” “a” “+” “1” “23/88”
3.1.3 Datos de tipo lógico (booleanos)
2 valores (Verdadero o falso)
3.1.4 Estructura de datos (estructurados)
Definidos por el usuario
3.2 Expresiones
Unión de varios operandos (variables, constantes…) unidos por operadores que realizan acción sobre ellos.
3.2.1 Operandos
3.2.1.1 Constantes
3.2.1.2 Variables
Elementos cuyo contenido puede modificarse durante la ejecución de un programa. Trozos de memoria capaces de contener un solo dato, a los que el programador les asigna un nombre.
3.2.2 Operadores
3.3 Instrucciones
3.3.1 Simples
3.3.1.1 Declarativas
Sirven para declarar librerías, variables, constantes, arreglos, punteros, estructuras…
Por ejemplo:
Para librerías:
las librerías las declaramos porque vamos a usar recursos que contienen ellas.
#include <iostream.h> ——> cin , cout..
#include <conio.h> ——> funcion getch()..
3.3.1.2 Primitivas
Instrucciones que se ejecutan de forma inmediata.
§ Entrada: Toma datos del exterior y los guarda en variables.
§ Salida: Presentan en pantalla o impresora, comentarios, mensajes al operador, contenido de variables, valor de constantes…
§ Asignación: Asigna valores a las variables dentro del programa reemplazando el valor si ya contenía uno.
3.3.1.3 De control
Permiten controlar a las instrucciones que permiten controlar la ejecución de otras instrucciones bajo ciertas circunstancias.
§ Alternativas: Se ejecutarán una serie de instrucciones dependiendo de si cumple o no una determinada condición.
o Simples
Se utiliza cuando en un programa se quiere ejecutar un bloque de instrucciones sólo bajo una determinada condición.
o Dobles
Como el anterior pero doble.
o Múltiples
Se utilizan en casos donde la ejecución de un grupo de instrucciones u otro dependen de valores concretos y conocidos de una variable.
§ Repetitivas
Se denomina bucle o ciclo a un proceso que dentro de un programa se repite un cierto número de veces.
o Mientras (while) No entra al bucle si no se cumple
o Repetir…hasta (Do-while) Entra al menos 1 vez hasta que no se cumpla.
o Para (for)
Esta estructura ejecuta las acciones del cuerpo del bucle un número especificado de veces, y de modo automático controla el número de iteraciones o pasos.
o Iterar
Evalúa la condición en cualquier lugar del bucle.
3.3.1.4 Comentarios
Favorecen la comprensión del programa. No afectan al programa.
4. DIAGRAMAS DE FLUJO
· Herramienta para poder representar de forma clara y visual el flujo de datos y la secuencia de ejecución de un programa.
· Diagramas de flujo de sistema (Organigramas)
· Diagramas de flujo del programa (Ordinogramas)
4.1 Organigramas
Parte central el proceso, rodeado en la parte superior por los soportes de entrada que utilice y en la parte inferior por los soportes de salida y a sus lados soportes de E/S
4.2 Ordinogramas
5. PSEUDOCÓDIGO
Se utilizarán distintos símbolos que indicarán todas las posibilidades de dicha instrucción.
5.1 Primitivas
5.1.1 Salida
“literal”
ESCRIBIR Nombre variable
Nombre-constante
Expresión aritmética
5.1.2 Entrada
Permite la introducción por teclado de un valor que se almacenará en la variable que lleve como operando.
Leer nombre-variable
5.1.3 Asignación
Nombre-var-destino nombre-constante
Expresión aritmética
5.2 Sentencias de Control
5.2.1 Alternativas
Permiten la ejecución de un bloque de instrucciones en el caso de que se cumpla una determinada condición.
Variable > Variable
Constante <= Constante
Exp-aritmética >= Exp-aritmética <>
5.2.1.1 Simple
Esta instrucción provoca una evaluación de la condición, en el caso de que esta se cumpla se pasaría a ejecutar el grupo de instrucciones que están detrás de ENTONCES y a continuación las que estuvieran después del FIN-SI. SI no se cumple pasará a las instrucciones que estuvieran debajo del FIN-SI.
SI condición ENTONCES
Instrucción 1
Instrucción 2
…
Instrucción N
FIN-SI
5.2.1.2 Dobles
Después de evaluar la condición, si esta se cumple, se ejecutan el grupo de instrucciones del ENTONCES y si no se cumple se ejecutan el grupo de instrucciones del SINO.
SI condición ENTONCES
Instrucción 1
…
Instrucción N
SINO
Instrucción 1
…
Instrucción M
FIN-SI
5.2.1.3 Múltiple
Se basa en el conocimiento de antemano de los valores concretos que tomará la variable que se quiere evaluar, indicando para cada uno de estos valores la secuencia de instrucciones a realizar; en el que caso de que la variable no contenga ninguno de estos valore expresado, se ejecutaría el grupo de instrucciones en el EN OTRO CASO, en cualquiera de las circunstancias que se den y una vez ejecutadas el bloque de instrucciones correspondientes.
EN CASO DE (variable)
Valor 1: instrucción 1
Instrucción 2
…
Valor 2: instrucción 1
Instrucción 2
…
…
Valor N: instrucción 1
Instrucción 2
…
EN OTRO CASO: instrucción 1
Instrucción 2
…
FIN
5.2.2 Repetitivas
La condición se evalúa antes, durante o después de ejecutar el ciclo por primera vez.
5.2.2.1 Mientras
Antes de entrar al ciclo se evalúa la condición del bucle. Si no se cumple, se pasa a la instrucción que estuviera debajo de FIN-MIENTRAS.
MIENTRAS condición HACER
Instrucción 1
…
Instrucción N
FIN-MIENTRAS
5.2.2.2 Repetir… hasta
Una vez ejecutadas las instrucciones del ciclo por primera vez, si la condición se cumple, el control del programa pasará a la instrucción que estuviera debajo del HASTA, sino, se ejecuta el bucle hasta que se cumpla.
REPETIR
Instrucción 1
…
Instrucción N
HASTA condición
5.2.2.3 Parar
Necesita una variable numérica que se inicializa automáticamente al valor inicial que se indique en la instrucción. La condición se evalúa después del incremento o decremento. El bucle termina cuando la variable supera el valor final. Por defecto el incremento es de +1.
PARA variable DE valor-inicial A valor-final [INCREMENTO incremento] HACER
Instrucción 1
…
Instrucción N
FIN-PARA
5.2.2.4 Iterar
Se ejecuta la primera orden de instrucciones de forma incondicional. Se evalúa la condición al llegar a SALIR SI. Si la condición se cumple se ejecuta la instrucción que estuviera debajo del FIN-ITERAR. Sino, se siguen ejecutando las instrucciones del bucle hasta que se cumpla la condición salida.
ITERAR
Instrucción 1
…
Instrucción N
SALIR SI condición
Instrucción 1
…
Instrucción M
FIN-ITERAR
5.3 Acciones compuestas
Formadas por grupo de instrucciones simples. Deberán de definirse en un lugar aparte del resto de las instrucciones. Se las llama desde cualquier lugar del programa.
5.3.1 Declaración
SUBPROGRAMA nombre-acción-compuesta
Instrucción 1
…
Instrucción N
FIN-SUBPROGRAMA
5.3.2 Llamada
Para llamar a un subprograma basta con utilizar su nombre.
Nombre-acción-compuesta
5.4 Comentarios
En cualquier parte del programa. Basta con utilizar ** al comenzar la línea
**comentario
5.5 Ejemplo de pseudocódigo
Programa Signo
Variables
num tipo entero
Empieza
Escribe “Ingresa numero”
Leer num
si num > 0 entonces
Escribe “El numero es positivo”
si_no
Escribe “El numero es negativo”
fin_si
Fin
6. OTRAS TÉCNICAS DESCRIPTIVAS
6.1 Diagramas de cajas
Representan las distintas instrucciones de forma de cajas, dentro de las cuales se describen las acciones
6.1.1 Descripción de una tarea
6.1.2 Instrucciones alternativas
6.1.3 Instrucciones repetitivas
6.1.4 Ejemplo de diagrama de cajas
6.2 Tablas de decisión
Técnicas que utilizan como herramientas para la descripción y representación de determinados módulos encargados de la evaluación de condiciones complejas.