Este documento presenta una introducción a los algoritmos y diagramas de flujo. Define algoritmo como un conjunto de pasos para resolver un problema. Explica que los lenguajes algorítmicos pueden ser gráficos o no gráficos, y proporciona ejemplos de pseudocódigo. También describe las características que deben reunir los algoritmos y los símbolos utilizados en los diagramas de flujo.
1.
ALGORITMOS Y DIAGRAMA DE FLUJOS
Algoritmo: Es un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o
resolver un problema.
TIPOS DE LENGUAJES ALGORÍTMICOS
Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (Diagrama de flujo ).
No gráficos: Representa en forma descriptiva las operaciones que debemos realizar en un algoritmo
(Pseudocódigo ). Está diseñado para la lectura humana en lugar de la lectura mediante máquina.
INICIO
// Calcule el promedio de las tres notas > Referencia
Escriba “ Ingrese la calificación1”
Lea Cal1 //Cal2, Cal3
Escriba “ Ingrese la calificación2”
Lea Cal2
Escriba “ Ingrese la calificación3”
Lea Cal3
Promedio = (Cal1 + Cal2+ Cal3)/3
Escriba “Su promedio es de: “, Promedio
FIN
CÓDIGO DE LENGUAJE DE PROGRAMACIÓN EN PseInt
http://pseint.sourceforge.net/
//Nota: No está definido las variables
2.
LAS CARACTERÍSTICAS QUE LOS ALGORITMOS DEBEN REUNIR SON LOS SIGUIENTES:
Precisión: Los pasos a seguir en el algoritmo deben ser precisos.
Determinismo: El algoritmo, dado un conjunto de datos idénticos de entrada, siempre debe arrojar los
mismos resultados. (Si ingreso un número entero, me tiene que devolver un número entero, si ingreso un número real,
me tiene que devolver un número real, etc).
Finitud: El algoritmo, independientemente de la complejidad del mismo, siempre debe ser de longuitud finita.
(Siempre tiene que tener un principio y un final).
ETAPAS DE UN ALGORITMO O PROBLEMA
REGLAS PARA CONSTRUIR DIAGRAMAS DE FLUJO
Símbolo utilizado para marcar el inicio y el final del diagrama de flujo
Símbolo utilizado para introducir los datos de entrada. Expresa lectura.
Símbolo utilizado para representar un proceso. En su interior se expresan asignaciones,
operaciones aritméticas, cambios de valor de celdas en memoria, etc.
Símbolo utilizado para representar una decisión. En su interior se almacena una condición y
dependiendo del resultado de la evaluación de la misma se sigue por una de las ramas o
caminos alternativos.
Símbolo utilizado para representar la estructura selectiva doble si entonces/sino. En su
interior se almacena una condición. Si el resultado es verdadero se continúa por el
camino de la izquierda y si es falso por el camino de la derecha.
Símbolo utilizado para representar una decisión múltiple. En su interior se almacena un
selector y dependiendo del valor de dicho selector se sigue por una de las ramas o
caminos alternativos. Este símbolo se utiliza en la estructura selectiva si múltiple, que
analizaremos en el siguiente capítulo.
Símbolo utilizado para representar la impresión de un resultado. Expresa escritura.
Símbolos utilizados para expresar la dirección del flujo del diagrama.
Símbolo utilizado para expresar conexión dentro de una misma página
Símbolo utilizado para expresar conexión entre páginas diferentes.
3.
REGLAS PARA CONSTRUIR DIAGRAMAS DE FLUJO
1. Todo diagrama de flujo debe tener un inicio y un fin.
2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas, verticales y
horizontales.
3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas. La
conexión puede ser a un símbolo que exprese lectura, proceso, decisión, conexión o fin de diagrama.
4. El diagrama de flujo debe ser construido de arriba a hacia abajo (topdown) y de izquierda a derecha
(right to left).
5. La notación utilizada en el diagrama de flujo debe ser independiente del leguaje de programación. La
solución presentada en el diagrama puede escribirse posteriormente fácilmente en diferentes
lenguajes de programación.
6. Es conveniente cuando realizamos una tarea compleja poner comentarios que expresen o ayuden a
entender lo que hicimos.
7. Si el diagrama de flujo requiere más de una hoja para su construcción, debemos utilizar los conectores
adecuados y enumerar las páginas convenientemente.
8. No puede llegar más de una línea a un símbolo.
TIPO DE DATOS
Un tipo de datos es una propiedad de un conjunto de valores que indica cuáles son los valores válidos, qué
operaciones se pueden efectuar sobre ellos y cómo son representados internamente por el computador.
En un programa, cada variable tiene asociado un tipo. Sólo se puede asignar valores de ese tipo a la variable.
Tipo Entero
El tipo Entero permite representar números enteros.
No todos los enteros son representables como un valor integer. El rango de valores permitidos depende del
computador, del compilador y del sistema operativo, pero generalmente los valores permitidos están entre
2147483648 y 2147483647.
En el código, los enteros literales se representan como una secuencia de dígitos, precedidos por un signo
opcional:
142857
123
+1935
Sobre valores de tipo integer pueden ser aplicadas las operaciones aritméticas y relacionales.
Tipo Real
El tipo real permite representar números reales.
En el código, los reales literales se representan escribiendo las partes entera y fraccional separadas por un
punto, y precedidos por un signo opcional:
3.141592654
0.345
Además, se puede utilizar notación científica, indicando con una letra e la potencia de 10 usada:
6.02e23
9.1094e31
Estos valores son respectivamente iguales a 6,02∙1023 (el número de Avogadro) y9,1094∙10−31 (la masa del
electrón en kilogramos).
4.
No todos los números reales son representables por el tipo real. Internamente, el computador representa los
números reales usando la representación de coma flotante, que permite expresar números de distintos niveles
de precisión. Esta representación no es exacta; todos los números reales y las operaciones que aparecen en
un programa son aproximaciones. Por ejemplo, en muchos computadores el siguiente código entrega como
resultado 0.99999994:
escribir *, 41.0 * (1 / 41.0)
Sobre valores de tipo real pueden ser aplicadas las operaciones aritméticas y relacionales.
Tipo lógico
El tipo logical permite representar los valores verdadero y falso.
En el código, los valores verdadero y falso se representan respectivamente como:
.true.
.false.
al imprimirlos usando print, estos valores aparecen por pantalla respectivamente como T y F.
Sobre valores de tipo logical pueden ser aplicadas sólo operaciones lógicas.
Tipo carácter
El tipo carácter permite representar símbolos como letras, dígitos, puntuación, etc.
Los caracteres literales se representan entre comillas simples:
'a'
'!'
'7'
Si se pone más de un carácter entre las comillas, se obtiene una cadena de caracteres, que permite
representar texto:
'En un lugar de La Mancha'
Ejemplo
El siguiente programa ilustra la declaración de variables de cada uno de los tipos básicos y sus asignaciones
usando valores literales:
algoritmo literales
definir n como entero
definir x como real
definir p logico p
definir c como caracter
n = 142857
n = 1234
x = 3.141592654
x = 6.02e23 ! notacion cientifica
p = .true.
p = .false.
c = 'a'
c = '#'
c = '!'
finAlgoritmo
5.
IDENTIFICADORES
Identificadores: Son los datos a procesar por una computadora, ya sean simples o estructurados, deben
almacenarse en casillas o celdas o celdas de memoria para su posterior utilización
Un identificador se forma de acuerdo a ciertas reglas:
El primer carácter que forma un identificador debe ser una letra (a, b, c, z)
CONSTANTES
Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo: pi = 3.1416
VARIABLES
Es un espacio en la memoria de la computadora, que permite almacenar temporalmente un dato durante la
ejecución de un proceso. Su contenido puede cambiar durante la ejecución del programa.
Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el
cual podemos identificarlo dentro de una algoritmo.
Ejemplo: Area = pi * radio ^2
Las variables son: radio, el área y la constante es pi
¿QUÉ ES UN OPERADOR?
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.
OPERADORES ARITMÉTICOS
Los operadores aritméticos son aquellos que sirven para realizar operadores, tales como suma, resta, división
y multiplicación.
Suma +
Resta
Multiplicación *
División /
Módulo %
OPERADORES DE ASIGNACIÓN
Sirve para dar un valor a una variable. Este valor puede ser un número que tecleados directamente o
asignando un valor a la variable mediante otra variable:
a=3; /* Metemos un valor directamente /*
a=b; /* Le damos el valor de una variable /*
OPERADORES DE RELACIONALES
Otro tipo de operadores fundamentales en programación son los operadores lógicos o de comparación. Se
usan para comparar dos variables o expresiones y obtener un valor verdadero o falso. Como operadores de
comparación disponemos de:
6.
SÍMBOLO SIGNIFICADO EJEMPLO
= Igual que A = B
> Mayor que A > B
< Menor que A < B
>= Mayor o igual que A >= B
<= Menor o igual que A <= B
<> Distinto que A <> B
OPERADORES LÓGICOS
Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos o
asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de
cero).
Los operadores lógicos son tres; dos de ellos son binarios, el último (negación) es unario. .
● Y lógico && AND
● O lógico || OR
● Negación lógica ! NOT
> Continúa en la
segunda clase.