You are on page 1of 43

Algoritmos y Diagramas de Flujo

OBJETIVO
El alumno comprender los tipos de datos y
expresiones mas comunes, el concepto y
caractersticas de lo que es un algoritmo, as
como las reglas y aspectos bsicos de un
diagrama de flujo, adems de adquirir la
habilidad de desarrollar un algoritmo
secuencial.
CONTENIDO
Tipos de Datos y Expresiones
Conceptos de Algoritmos
Diagramas ( reglas y smbolos bsicos)
Algoritmos Secuenciales

Tipos de datos

Los datos a procesar por una computadora pueden clasificarse
en:
Simples
Estructurados
Los datos simples se caracterizan porque ocupan slo 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 encontramos:
Enteros
Reales (flotantes)
Caracteres
Cadena de caracteres
Booleanos

Los datos estructurados se caracterizan por el hecho de que con
un nombre se hace referencia a un grupo de casillas de memoria.
Es decir, un dato estructurado tiene varios componentes. Cada
uno de sus componentes puede ser a su vez un dato simple.
Dentro de este grupo de datos se encuentran:
Arreglos
Cadena de caracteres
Registros

Dato simple
Dato estructurado
Identificador
Identificador

Datos simples
Enteros.- son nmeros que no contienen componentes
fraccionarias y, por lo tanto, no incluyen el punto decimal, pueden
estar precedidos del signo + o --. Por ejemplo:
465 -387 9 99 -1578 125550
Reales (flotantes).- son nmeros que contienen una parte
fraccionaria y, por lo tanto, incluyen el punto decimal, pueden esta
precedidos del signo + o --. Por ejemplo:
125.87 -124.0 158000.75 -38.5879
Carcter.- contiene un solo carcter y va encerrado entre comillas
simples. Por ejemplo:
a A $ # 7 + h H
Algoritmos y diagramas de flujo

Cadena de caracteres.- contiene un conjunto de caracteres alfabticos,
numricos, y especiales, que sirven para representar y
manejar datos como: nombres, descripciones de artculos,
direcciones, etc. Van encerrados entre comillas dobles, por
ejemplo:
abc Carlos Jimnez 83-15-24-65 $8#2
Booleanos.- toma los valores de verdadero (true) o falso (false), no
puede ser ledo o escrito, slo asignado, es til para
plantear cierto tipo de condiciones en el manejo de las
estructuras lgicas de control.

Algoritmos y diagramas de flujo

Identificadores, constantes y variables
Identificadores.- son nombres que se usamos para referirnos a
variables, constantes, funciones o cualquier objeto
definido por el usuario.
Un identificador se forma de acuerdo a ciertas reglas
bsicas:
El primer carcter que forma un identificador debe ser
una letra o el smbolo de subrayado ( _ ).
Los dems caracteres pueden ser letras, dgitos o
smbolo de subrayado.
La longitud del identificador depende del lenguaje de
programacin a utilizar.

Algoritmos y diagramas de flujo

Constantes
Son datos que no cambian durante la ejecucin de un programa.
Existen tipos de constantes como tipos de datos, por lo tanto, puede
haber constantes enteras, reales (flotantes), de carcter, de
cadenas de caracteres, booleanas, etc.
Variables
Es un identificador que puede cambiar su valor durante la ejecucin
de un programa.
Se utiliza para representar un dato tipo entero, real (flotante), o una
constante de carcter. Por ejemplo:
Variable i es de tipo entero
variable prom es de tipo real (flotante)
Variable opcin es de tipo carcter

Algoritmos y diagramas de flujo

Operaciones aritmticas
Para poder realizar operaciones aritmticas necesitamos de
operadores aritmticos.
Estos operadores nos permiten realizar operaciones aritmticas
entre operandos: nmeros, constantes o variables. El resultado de
una operacin aritmtica es un nmero.
A continuacin presentamos en una tabla los operadores aritmticos,
la operacin que puede realizar y, un ejemplo de su uso y su
resultado:
Algoritmos y diagramas de flujo

Operadores Aritmticos
Operador Aritmtico Operacin Ejemplo Resultado
**
Potencia 3**2 9
*
Multiplicacin 5.25*3 15.75
/
Divisin 17/4 4.25
+
Suma 58+79 137
-
Resta 25.96 -11.25 14.71
Mod
Mdulo (residuo) 21 mod 2 1
div
Divisin entera 19/3 6
Algoritmos y diagramas de flujo

Al evaluar expresiones que contienen operadores aritmticos
debemos respetar la jerarqua en el orden de aplicacin. Es decir, si
tenemos en una expresin ms de un operador, debemos aplicar
primero el operador de mayor jerarqua, resolver esa operacin y as
sucesivamente.
Jerarqua de los operadores aritmticos
Operador Jerarqua Operacin
** (Mayor)


(menor)
Potencia
*, /, mod,
div
Multiplicacin, divisin, mdulo, divisin entera
+, - Suma, resta
Algoritmos y diagramas de flujo

Reglas para resolver una expresin aritmtica:
1. Si una expresin contiene subexpresiones entre parntesis, stas
se evalan primero, respetando claro la jerarqua de los operadores
aritmticos en esta subexpresin.
Si las subexpresiones se encuentran anidadas por parntesis,
primero se evalan las subexpresiones que se encuentran en el
ltimo nivel de anidamiento.
2. Los operadores aritmticos se aplican teniendo en cuenta la
jerarqua y de izquierda a derecha.
Algoritmos y diagramas de flujo

Por ejemplo:
Dados los siguientes casos, resolver cada caso aplicando las reglas
correspondientes:
1). 7 + 5 6 2). 9 +7 * 8 36 / 5 3). 7 * 5 ** 3 / 4 div 3
1 1 1
12 6 9 + 56 36 / 5 7 * 125 / 4 div 3
2 2 2
= 6 9 + 56 7.2 875 / 4 div 3
3 3
65 7.2 218.75 div 3
4 4
= 57.8 = 72
Algoritmos y diagramas de flujo

4). 7 * 8 * (160 mod 3 ** 3) div 5 * 13 28 3640 - 28
1 7
7 * 8 * (160 mod 27) div 5 * 13 28 = 3612
2
7 * 8 * 25 div 5 * 13 28
3
56 * 25 div 5 * 13 28
4
1400 div 5 * 13 28
5
280 * 13 28
6

Algoritmos y diagramas de flujo

Expresiones lgicas
Las expresiones lgicas o booleanas, estn constituidas por nmeros,
constantes o variables y operadores lgicos o relacionales. El valor
que pueden tomar estas expresiones es de verdadero o falso.
Se utilizan con frecuencia en las estructuras selectivas y en las
estructuras repetitivas.
Operadores relacionales
Son operadores que permiten comparar dos operandos, los operandos
pueden ser nmeros, caracteres, constantes o variables.
Las constantes o variables, a su vez, pueden ser de tipo entero, real
(flotante), carcter o cadena de caracteres.
Algoritmos y diagramas de flujo

El resultado de una expresin con operadores relacionales es
verdadero o falso.
Operadores Relacionales
Operador Operacin Ejemplo Resultado
==
Igual que lalo == lola Falso
< >
Diferente a x < > y Verdadero
<
Menor que 14 < 25 Verdadero
>
Mayor que 35 > 10 Verdadero
< =
Menor o igual que 5 <= 6 Verdadero
>=
Mayor o igual que 15 >= 7 Verdadero
Algoritmos y diagramas de flujo

Operadores lgicos
Son operadores que permiten formular condiciones complejas a partir de
condiciones simples.
Los operadores lgicos son de:
Conjuncin (y).- relaciona dos operandos booleanos. Proporciona un
valo verdadero (V), si los dos son verdaderos; en caso
contrario da un resultado falso (F).
Disyuncin (o).- relaciona dos operandos booleanos. Proporciona un
valor verdadero (V), si uno de los dos es verdadero; en
caso contrario da un resultado falso (F).

Negacin (No).- este operador relaciona slo un operando booleano y
da como resultado un valor opuesto al que tenga
el operando.

Algoritmos y diagramas de flujo

Operadores Lgicos
Operador Jerarqua Expresin lgica
No (~)
(Mayor)


(Menor)
No P
Y (^) P y Q
o P o Q
Tabla de verdad de los Operadores
Lgicos
P Q P ^ Q P o Q ~ P ~ Q
V V V V F F
V F F V F V
F V F V V F
F F F F V V
Jerarqua de todos los
Operadores
Operadores Jerarqua
( )
(Mayor)






(Menor)
**
*, /, div, mod
==, < >, <, >, < =,
> =
No ( ~ )
y ( ^ )
o
Algoritmos y diagramas de flujo

Por ejemplo:
Dados los siguientes casos, resolver cada caso aplicando las reglas
correspondientes:
1). A = 5, B = 16 2). X = 6, B = 7.8
(A ** 2) > (B * 2) (X * 5 + B ** 3 / 4) < = (X ** 3 div B)
1 1
25 > (B * 2) (X * 5 + 474.552 / 4) < = (X ** 3 div B)
2 2
25 > 32 (30 + 474.552 / 4) < = (X ** 3 div B)
3 3
(30 + 118.638) < = (X ** 3 div B)
Falso 4
Continua
Algoritmos y diagramas de flujo

Continuacin 2)
148.638 < = (X ** 3 div B)
5
148.638 < = (216 div B)
6
148.638 < = 27

Falso

3). ~(15 > = 7 ** 2) o (43 8 * 2 div 4 < > 3 * 2 div 2)
1
~(15 > = 49) o (43 8 * 2 div 4 < > 3 * 2 div 2)
2 3 Continua
Algoritmos y diagramas de flujo

Continua 3).
~ Falso o (43 16 div 4 < > 3 * 2 div 2) Verdadero o Verdadero
4 10
~ Falso o (43 4 < > 3 * 2 div 2) Verdadero
5
~ Falso o (43 4 < > 6 div 2)
6
~ Falso o (43 4 < > 3)
7
~ Falso o (39 < > 3)
8
~ Falso o Verdadero
9
Algoritmos y diagramas de flujo

Concepto de algoritmo
Los seres humanos realizamos una serie de pasos, procedimientos o
acciones que nos permiten alcanzar un resultado o resolver un
problema, esto se repite innumerables veces durante el da. En
realidad estamos aplicando un algoritmo para resolver un problema.

Definicin de Algoritmo.- secuencia ordenada y cronolgica de pasos
que llevan a la solucin de un problema o a la ejecucin de una tarea (o
actividad).
Algoritmos y diagramas de flujo

El algoritmo debe tener las siguientes caractersticas:
Tener un principio
Ser simples, claros, precisos, exactos.
Tener un orden lgico.
Debe ser finito.
Tener un fin.

La definicin de un algoritmo debe describir tres partes:
Entrada.
Proceso.
Salida
Algoritmos y diagramas de flujo

La serie de pasos, procedimientos o acciones que nos permiten
alcanzar un resultado o resolver un problema a travs de algoritmos,
los desarrollamos por medio de pseudocdigo.

El pseudocdigo describe un algoritmo utilizando una mezcla de
frases en lenguaje comn, instrucciones de programacin y palabras
clave que definen las estructuras bsicas.

El objetivo del pseudocdigo es permitir que el programador se
centre en los aspectos lgicos de la solucin, evitando las reglas de
sintaxis de los lenguajes de programacin.

No siendo el pseudocdigo un lenguaje formal, los pseudocdigos
varan de un programador a otro, es decir, no hay un pseudocdigo
estndar.

Algoritmos y diagramas de flujo

Diagramas de flujo
Un diagrama de flujo representa la esquematizacin grfica de un
algoritmo.
En realidad muestra grficamente los pasos o procesos a seguir para
alcanzar la solucin de un problema.
Su correcta construccin es sumamente importante porque, a partir
del mismo se escribe un programa en algn lenguaje de programacin.
Si el diagrama de flujo est completo y correcto, el paso del mismo a
un lenguaje de programacin es relativamente simple y directo.
A continuacin, presentamos los smbolos que utilizaremos y una
explicacin de los mismos. Estos satisfacen las recomendaciones de la
ISO y la ANSI.
Algoritmos y diagramas de flujo

Smbolo utilizado para marcar el inicio y el fin del diagrama flujo.
Smbolo utilizado para introducir los datos de entrada. Expresa
lectura.
Smbolo utilizado para representar un proceso. En su interior se
expresan asignaciones, operaciones aritmticas, cambios de valor
de celdas en memoria, etc.
Smbolo utilizado para representar una decisin. En su interior se
almacena una condicin y dependiendo del resultado de la evaluacin
de la misma se sigue por una de las ramas o caminos alternativos:
verdadero o falso.

Algoritmos y diagramas de flujo

Smbolo utilizado para representar la impresin de un resultado.
Expresa escritura.
Smbolo utilizado para expresar conexin dentro de una misma
pgina.
Smbolos utilizados para expresar la direccin del flujo del
diagrama
Smbolo utilizado para expresar conexin entre pginas diferentes.
Algoritmos y diagramas de flujo

Smbolo utilizado para representar una decisin mltiple. En su interior
se almacena un selector y dependiendo del valor de dicho selector se
sigue por una de las ramas o caminos alternativos.
Algoritmos y diagramas de flujo

Estructura y diseo de un algoritmo
Existe una gran cantidad de problemas que requieren de un anlisis
profundo y de un pensamiento flexible y estructurado para la
solucin.
La idea es ofrecer un conjunto de tcnicas y herramientas
metodolgicas que permitan flexibilizar y estructurar el
razonamiento utilizado en la solucin de problemas, esto provocar
finalmente la construccin de algoritmos eficientes.
A continuacin en la figura podemos observar las etapas que debemos
seguir para la solucin de un problema
Algoritmos y diagramas de flujo

Problema
Anlisis
profundo del
problema
Construccin
del
algoritmo
Verificacin
el
algoritmo
Nota.- Por verificacin del algoritmo entendemos el seguimiento del mismo con datos que
sean representativos del problema que queremos resolver
Algoritmos y diagramas de flujo

La secuenciacin es una estructura de control que permite a la
computadora ejecutar una accin, despus otra, luego la que sigue y
as sucesivamente hasta la ltima.
Dichas acciones pueden consistir en operaciones primitivas
elementales como declaraciones de variables, leer datos, imprimir
datos o calcular alguna expresin.
Es conveniente etiquetar cada accin con nmeros desde el uno en
forma ascendente de uno en uno, para denotar el orden secuencial.
Por lo tanto los elementos bsicos que integran la estructura de un
algoritmo son:
Algoritmos y diagramas de flujo

1. Encabezado.- todo algoritmo debe tener un encabezado como
identificacin, el cual debe empezar con la palabra Algoritmo
seguida por una descripcin del problema a resolver.
2. Inicio.- todo algoritmo debe empezar con la etiqueta 1, que marca
el inicio del mismo.
3. Declaraciones.- despus de marcar el inicio se debe hacer las
declaraciones que se necesiten como: variables, constantes, tipos
de datos, etc.
4. Leer, calcular e imprimir.- los siguientes pasos pueden consistir en
acciones tales como: leer datos, calcular algunas expresiones
aritmticas e imprimir datos tantas veces como se requiera y en el
orden apropiado para resolver el problema en cuestin.
Algoritmos y diagramas de flujo

5. Fin del algoritmo.- el ltimo paso del algoritmo consiste en incluir
la indicacin fin.
Ejemplo No 1 de algoritmos secuenciales
Calcular e imprimir el sueldo de un empleado, se pedir la clave del
empleado, las horas trabajadas y el pago por hora trabajada.
Algoritmo Calcular el sueldo de un empleado
1. Inicio 5. Imprimir cve, sueldo
2. Declaracin de variables: 6. Fin
cve, ht: entero
pht, sueldo: real (flotante)
3. Leer cve, ht, pht
4. sueldo = ht * pht
Algoritmos y diagramas de flujo

Ejemplo No 2.- desarrollar un algoritmo que permita leer un nmero
en radianes e imprima su equivalencia en grados; as mismo, leer un
nmero en grados e imprima su equivalencia en radianes.
Algoritmo Convierte radianes a grados y grados a radianes
1. Inicio
2. Declaracin de variables:
PI = 3.145926536: real (flotante)
rad, grad, numrad, numgrad: real (flotante)
3. Leer rad, grad
4. numgrad = rad * (180 / PI)
5. numrad = grad * (PI / 180)
6. Imprimir numgrad, numrad
7. Fin
Algoritmos y diagramas de flujo

Ejemplo No 3.- desarrollar un algoritmo para calcular el promedio de
un estudiante, se pedir la matricula del estudiante y cuatro
calificaciones de los exmenes. Se imprimir la matricula del
estudiante y el promedio.
Algoritmo calcular promedio de un estudiante
1. Inicio
2. Declaracin de variables
matest: entero
cal1, cal2, cal3, cal4, calfin: real (flotante)
3. Leer matest, cal1, cal2, cal3, cal4
4. calfin = (cal1 + cal2 + cal3 + cal4) / 4
5. Imprimir matest, calfin
6. Fin
Algoritmos y diagramas de flujo

Reglas para la construccin de diagramas de flujo
Debemos recordar que un diagrama de flujo debe ilustrar
grficamente los pasos o procesos a seguir para alcanzar la solucin
de un problema.
Los smbolos colocados adecuadamente, permiten crear una
estructura grfica flexible que ilustra los pasos a seguir para
alcanzar un resultado especfico.
El diagrama de flujo facilitar ms tarde la escritura del programa
en algn lenguaje de programacin.
Reglas
1. Todo diagrama de flujo debe tener un inicio y un fin.
Algoritmos y diagramas de flujo

2. Las lneas utilizadas para indicar la direccin del flujo del diagrama
deben ser rectas, verticales y horizontales.
3. Todas las lneas utilizadas para indicar la direccin del flujo del
diagrama deben estar conectadas. La conexin puede ser a un
smbolo que exprese lectura, proceso, decisin, impresin, conexin
o fin de diagrama.
4. El diagrama de flujo debe ser construido de arriba hacia abajo
(top-down) y de izquierda a derecha (right to left).
5. La notacin utilizada en el diagrama de flujo debe ser
independiente del lenguaje de programacin.
6. Es conveniente cuando realizamos una tarea compleja poner
comentarios que expresen o ayuden a entender lo que hicimos.

Algoritmos y diagramas de flujo

7. Si el diagrama de flujo requiere ms de una hoja para su
construccin, debemos utilizar los conectores adecuados y
enumerar las pginas convenientemente.
8. No puede llegar ms de una lnea a un smbolo.
Algoritmos y diagramas de flujo

Diagrama de flujo del algoritmo, ejemplo 1:
inicio
cve, ht
pht
sueldo = ht * pht
cve
sueldo
fin
Algoritmos y diagramas de flujo

Diagrama de flujo del algoritmo, ejemplo 2:
inicio
rad
grad
numgrad = rad * (180 / PI)
numgrad
numrad
fin
numrad = grad * (PI / 180)

Algoritmos y diagramas de flujo

Diagrama de flujo del algoritmo, ejemplo 3:

inicio
matest, cal1
cal2, cal3
cal4
calfin = (cal1 + cal2 + cal3 + cal4) / 4
matest
calfin
fin

3. Algoritmos y Diagramas de Flujo

Actividades:

El alumno evaluara diferentes expresiones aritmticas
simples y compuestas, haciendo nfasis en el uso del
estatuto de asignacin

Ejercicios para el diseo y desarrollo de algoritmos y
diagramas de flujo secuenciales

You might also like