Está en la página 1de 15

Algoritmos y diagramas de flujo

Hola de nuevo aprendices, en el anterior material tuvieron la


oportunidad de acercarse a las partes bsicas del computador,
sus partes genricas, la relacin con el lenguaje de programacin
y los componentes fundamentales del algoritmo y los diagramas
de flujo.
De qu se trata el siguiente material?

Hola Aprendices, hola psilon, un gusto estar con


ustedes de nuevo. En el siguiente material vamos
a ver con mayor detalle cmo se estructuran
los algoritmos y los diagramas de flujo con sus
respectivas partes.
As que los invito a ingresar para ver de qu
estamos hablando

Es por esto que el siguiente material


vamos a ver con mayor detalle cmo se
estructuran los algoritmos y los diagramas
de flujo con sus respectivas partes.
Un algoritmo est compuesto bsicamente
por tres partes: cabecera, declaraciones y
cuerpo. En dicha estructura un algoritmo
est compuesto de variables y constantes;

de operadores aritmticos o lgicos; de


los tipos de datos que determinan el
conjunto de valores que puede tomar
una variable; de las expresiones que
son combinaciones de variables y
constantes; as como de los smbolos
de operacin y funciones especiales
que se clasifican en: aritmticas,
relacionales y lgicas.

Servicio Nacional de Aprendizaje - SENA

Mapa de contenido

As mismo vamos profundizar un


poco ms en el pseudocdigo, que
como vimos es la representacin
descriptiva de los pasos que debe
seguir cualquier algoritmo para dar
la solucin a un problema especfico
que utiliza palabras similares al
lenguaje de programacin, que
indican el proceso a realizar y, por
esta razn, utiliza smbolos que
tienen un significado establecido, que
se les conoce como palabras clave.

Ejemplo 1
Para empezar veamos de nuevo unas
breves definiciones de estos dos aspectos
para que podamos distinguirlos con
claridad.
Como ya hemos mencionado con
anterioridad el algoritmo es una secuencia
de instrucciones o reglas, ordenadas y
finitas, que permite realizar una tarea o
actividad en la solucin de un problema
determinado.

Realizar el algoritmo para registrar y


despachar un pedido a domicilio.
1. Inicio
2. Atender la solicitud
3. Buscar cliente, si est registrado
continuar, si no registrar cliente
4. Registrar pedido
5. Entregar recibo y despacho de pedido
6. Fin

Un ejemplo prctico de la vida real


siguiendo los pasos para el diseo de un
algoritmo sera de la siguiente manera:

Servicio Nacional de Aprendizaje - SENA

Diagrama de Flujo
Por otro lado, el diagrama de flujo es la
representacin grfica del algoritmo que
queremos representar en la solucin del
problema.
Para la realizacin del diagrama de
flujo se tiene en cuenta los smbolos
utilizados y vistos en el anterior material
de aprendizaje. La siguiente figura
nos da una idea de lo que queremos
realizar ms adelante en un lenguaje de
programacin.
Tomando el ejemplo 1 realicemos el
diagrama de flujo

Figura 1. Diagrama de flujo para registrar y


despachar un pedido a domicilio.
Fuente: SENA

Estructura de un algoritmo
En un algoritmo la estructura nos sirve
para organizar los elementos que se
encuentran en l. Los algoritmos tienen
la misma estructura, la cual viene definida
por tres partes importantes:

Cabecera: En esta parte del algoritmo


se debe indicar el nombre (identificador)
asignado al mismo. As:

Cabecera
Declaraciones
Cuerpo

Declaraciones: En esta parte del algoritmo


se declaran las variables como constantes,
los tipos de datos y las variables locales.
La forma en que deben aparecer es la
siguiente:

Veamos cmo aparece cada una de estas


partes en el algoritmo, con los elementos
que complementan la estructura: las
variables, los operadores, los tipos de
datos y las expresiones.

Algoritmo <nombre_del_algoritmo>

Constantes <declaracin_de_constantes>
Tipos de datos <declaracion_de_tipos_de_datos>
Variables <declaracin_de_variables>

Servicio Nacional de Aprendizaje - SENA

Cuerpo: En esta parte del algoritmo


se escriben todas las instrucciones del
algoritmo.
Inicio y fin: Esta parte marca el principio
y el final de la seccin del cuerpo, que
es donde est el bloque de instrucciones
principal del algoritmo.

Comentarios:Es conveniente escribir


comentarios para explicar el diseo o
funcionamiento del mismo para tener
una idea ms clara de cada bloque de
instrucciones. Estas aclaraciones se
escriben de la siguiente manera:
/* Cabecera */

Variables y constantes
Ya hemos visto la estructura bsica del algoritmo, ahora veamos los elementos que
complementan la estructura: las variables, los operadores, los tipos de datos y las
expresiones. Empecemos por las variables y constantes.
En programacin una variable es un espacio
de memoria reservado para almacenar un valor
que corresponde a un tipo de dato soportado por
el lenguaje de programacin. Una variable es
representada y usada a travs de una etiqueta
(un nombre) que le asigna un programador o que
ya viene predefinida" (alegsa, s.f.)
Ejemplo 3:
Declarar las variables N1 y N2
Dnde: int es el tipo de dato entero y N1, N2 las
variables que reciben los datos a almacenar.
Se debe tener en cuenta que cuando se nombran
variables con trminos que ya han sido definidos
previamente por el propio lenguaje de programacin,
ya no se pueden utilizar como nombres de variables.
Estas palabras se denominan palabras reservadas

Figura 2. Declaracin de variables N1 y N2

Servicio Nacional de Aprendizaje - SENA

Fuente: SENA

Variables tipo cadena


Otro tipo de variables son las de tipo cadena, que
se declaran como un conjunto de caracteres.
Ejemplo 4:
Declarar la variable nombre de tipo carcter
Dnde: char es el tipo de dato carcter y nombre[30]
es el identificador de la variable con un tamao de
30 caracteres.

Figura 3. Declaracin de variables nombre


de tipo caracter

Inicializacin de variables

Fuente: SENA

Inicializar una variable consiste


en asignarle un valor luego de
declarado, para llevarlo a cabo
es necesario inicializar antes
de ejecutar las sentencias del
programa en las que se van a
utilizar.
Por ejemplo en el lenguaje de
programacin C, se le puede
dar un valor a una variable a la
vez que se declara. La forma
general y prctica de inicializar
una variable es la siguiente:

Figura 4. Declarar las variables n1, n2 e inicializar en cero


Fuente: SENA

Constantes
Las constantes son variables
cuyos valores asignados a esta
no pueden ser modificados una
vez se haya dado su valor.
Figura 5. Declarar la variable PI y asignar el valor constante.
Fuente: SENA

Servicio Nacional de Aprendizaje - SENA

Operadores, tipos de datos y expresiones


Que interesante todo lo que nos has contado hasta este
momento Iris. Pero antes mencinanos otros elementos de
esta estructura as que por favor mustranos ahora en qu
consisten los operadores, los tipos de datos y las expresiones.

Operadores
Un operador en el lenguaje de
programacin C, C++ es un
smbolo que indica al compilador
la realizacin de clculos lgicos
o matemticos especficos, que
el programador determina para
la solucin del problema.
Existen varios tipos de operadores
entre ellos se encuentran los
siguientes.

Tabla 1. Operadores aritmticos


Pseudocdigo

ombre del operador

Suma

Resta

Multiplicacin

Divisin

Modulo

Modulo

Mdulo o resto
de divisin entera

Fuente: Fundamentos de programacin (2006)

Existen dos operadores caractersticos


del lenguaje C que son: el incremento y
el decremento. (++ Aumenta en uno a
su operando y -- le resta 1).
Ejemplo 7:
x=x+1; es equivalente a x++;
x=x-1; equivale a x--;

Lenguaje CN

El lenguaje de programacin C admite


abreviaturas que simplifican la escritura de
ciertos tipos de sentencias de asignacin.
Ejemplo 8:
x=x+10; es igual a x+=10;

Servicio Nacional de Aprendizaje - SENA

Operadores relacionales
Tabla 2. Operadores relacionales
Pseudocdigo

Lenguaje CN

ombre del operador

>

>

Mayor que

<

<

Menor que

>

>=

Mayor o igual que

<

<=

Menor o igual que

<>

!=

Diferente

==

Igual

Estos operadores funcionan con


todo tipo de datos y devuelven
un valor lgico.

Fuente: Fundamentos de programacin (2006)

Operadores lgicos
Tabla 3. Operadores lgicos
Operadores Lgicos

Lenguaje CN

ombre del operador

And

&&

Or

||

Not

Negacin

Fuente: Fundamentos de programacin (2006)

El orden de prioridad para


los operadores lgicos es el
siguiente:
1 . Not
2 . And
3. Or

Para cerrar este apartado tenga en cuenta que el


orden de prioridad de los operadores, en general,
es el siguiente:
1.
2.
3.
4.
5.

()
^
*, /, Mod, Not
+, -, And
>, <, > =, < =, < >, =, Or

Servicio Nacional de Aprendizaje - SENA

Tipos de datos
En cualquier lenguaje de programacin
los datos tienen un tipo asociado con
ellos, es decir, el tipo de dato determina
el conjunto de valores que puede tomar
una variable segn se le haya asignado.
En el siguiente cuadro se describen los
tipos de datos utilizados en el lenguaje
de programacin C, C++ y en otros
lenguajes, adems de los valores
aceptados en cada tipo. (Ver tabla 4)
Tabla 4. Tipos de datos
Tipo de daro

Lenguaje CR

ango

Entero

int

-2147483648 a 2147483647.

Real

float

1.17549e-3 a 3.40282e+3

Carcter

char

0 a 255

Doble precisin

double

+/-1,18E-4932 a 1,18E-4932

Booleano

Bool

0,1 (verdadero o falso)

Una expresin consta de operadores y


operandos. Segn sea el tipo de datos que
manipulan, las expresiones se clasifican en:


Aritmticas
Relacinales
Lgicas

Para abrir este apartado definamos


de qu estamos hablando. Un
pseudocdigo es la representacin
descriptiva de los pasos que debe
seguir cualquier algoritmo para dar
solucin a un problema especfico.
El pseudocdigo utiliza palabras
similares al lenguaje de programacin
que indican el proceso a realizar.

Fuente: Fundamentos de
programacin(2005)
Expresiones
Las expresiones son combinaciones de
variables, constantes, smbolos de operacin y nombres de funciones especiales.
Ejemplo 10:
a+(b + 8)/c

Servicio Nacional de Aprendizaje - SENA

Estructura de un algoritmo en pseudocdigo


El pseudocdigo tiene unas ventajas frente
al diagrama de flujo, una de ellas es la facilidad de utilizacin ya que utiliza un lenguaje
similar al lenguaje natural como C, C++.
Para su funcionamiento, este lenguaje necesita de algunos smbolos que ya tienen
significado establecido, a los que se les
conoce como palabras clave. En el siguiente
cuadro se listan algunas palabras clave que
se pueden utilizar en pseudocdigo en el
desarrollo de cualquier algoritmo para la
solucin de un problema. (Ver la tabla 5).
En el siguiente ejemplo se describe paso
a paso la estructura del pseudocdigo en
la solucin de un problema.
Ejemplo 11
Realizar el algoritmo en pseudocdigo para
calcular rea del crculo.

Tabla 5. Diccionario de pseudocdigo


Instrucciones en C.
Main
{
}
/*....*/
printf
scanf
break
continue
do-while
for (I=VI; I<=VF;I++)
go to
if - else
if
return
switch
Case
While
do while
Int
Char
Flota
double
String

Pseudocdigo
principal
inicio
fin
comentarios
imprimir
leer
interrumpir
continuar
hacer mientras
desde I=VI; I<=VF;Inc I
ir a
si - entonces- sino
si
regresar
segn sea
en - caso
mientras
hacer - mientras
Entero
Carcter
Real
Doble
Cadena

Fuente: Fundamentos de
programacin(2006)
Declarar otras variables Definir las variables
necesarias y el tipo de dato a utilizar para
resolver el problema.

Encabezado
Inicio
Declarar la variable constante
Definir la variable y los valores que permanecen o que no cambian en el transcurso
del algoritmo.

Real Radio, rea

Real Pi = 3.1416

Servicio Nacional de Aprendizaje - SENA

Leer calcular o imprimir


En esta parte permite leer, calcular o imprimir Para traducir el algoritmo en lenguaje entendible
las veces que se necesite.
para la mquina debemos escribir el cdigo
fuente, para ello se utiliz el entorno de proa) Leer datos: en esta parte permite intro- gramacin Dev C y C++ para el lenguaje de
ducir los valores de las variables de entrada programacin C.
definidas
Radio
Tomando el ejemplo 11, escrito en el lenguaje de
b) Calcular: esta parte permite procesar los programacin C, queda de la siguiente manera:
valores de entrada para producir datos de
salida
rea = Radio *2*pi
c) Mostrar: muestra los resultados de salida
En resumen los siguientes son los pasos del
algoritmo en pseudocdigo para calcular el
rea de un crculo:
INICIO
Datos real pi=3.1416 /*declaro constante*/
Leer Radio /*Entrada (Lectura) de datos*/
rea = Radio *2*pi /*Realizar calculo*/
Imprimir rea /*Imprimir resultado*/
FIN
El resultado es el siguiente despus
de realizar la compilacin y ejecutar
el programa.

Figura 7. Compilacin
Fuente: SENA

Servicio Nacional de Aprendizaje - SENA

Glosario
Archivo: es un conjunto de registros lgicos.
Cdigo fuente: (source code, code base). Texto escrito en un lenguaje de
programacin especfico y que puede ser ledo por un programador. Debe
traducirse a lenguaje mquina para que pueda ser ejecutado por la computadora
o a bytecode para que pueda ser ejecutado por un intrprete. Este proceso se
denomina compilacin. (Alegsa, s.f.)
Cdigo mquina: para ejecutar un programa debe estar en lenguaje de mquina
de la computadora que lo est ejecutando.
Compilador: programa de computadora que produce un programa en lenguaje
de mquina, de un programa fuente que generalmente est escrito por el
programador en un lenguaje de alto nivel.
Constante: valor o conjunto de caracteres que no pueden cambiar su valor.
Dato: los datos son las seales individuales en bruto y sin ningn significado
que manipulan las computadoras para producir informacin.
Depurador (debugger): es un programa que asiste en la depuracin de un
programa.
Editor: es un software empleado para crear y manipular archivos de texto, tales
como programas en lenguaje fuente, lista de nombres y direcciones.
Informacin: es lo que se obtiene del procesamiento de datos, es el resultado
final.
Interfaz: es la conexin e interaccin entre hardware, software y usuario, es
decir como la plataforma o medio de comunicacin entre usuario o programa.
Interprete: dispositivo o programa que recibe una por una las sentencias de
un programa fuente, la analiza y la convierte en lenguaje de maquina si no hay
errores en ella. Tambin se puede producir el listado de las instrucciones del
programa.

Servicio Nacional de Aprendizaje - SENA

Glosario
Instruccin o sentencia: conjunto de caracteres que se utilizan para dirigir un
sistema de procesamiento de datos en la ejecucin de una operacin.
Programa: es una secuencia de instrucciones que indican a la computadora
que debe hacer. Un programa se denomina software, por lo tanto, programa,
software e instruccin son sinnimos.
Programador: un individuo que disea la lgica y escribe las lneas de cdigo
de un programa de computadora.
Programa ejecutable: los archivos de programa a menudo se denominan
programas ejecutables, puesto que, al teclear su nombre o al hacer clic sobre
el icono que le corresponda en un entorno grfico, logra que la computadora
cargue y corra, o ejecute las instrucciones del archivo.
Programa ensamblador: es un programa de computador preparado por un
programador que toma las instrucciones que no estn en lenguaje de mquina
y las convierte en una forma que puede ser usada por el computador.
Programa fuente: instruccin escrita por el programador en un lenguaje de
programacin para plantear al computador el proceso que debe ejecutar.
Programa objeto: instrucciones en lenguaje maquina producida por el
computador.
Pseudocdigo: herramienta de anlisis de programacin. Versiones falsificadas
y abreviadas de las actuales instrucciones de computadora que son escritas
en lenguaje ordinario natural
Registro: es un grupo de campos relacionados que se usan para almacenar
datos acerca de un tema (registro maestro) o actividad (registro de transaccin).

Servicio Nacional de Aprendizaje - SENA

Glosario
Rutina: es el conjunto de instrucciones dentro del mismo programa, que
se puede llamar a ejecucin desde diferentes partes del mismo programa.
Subrutina: programa (conjunto de instrucciones), que desde otro programa
se pueden llamar a ejecucin o bien se puede, decir grupo de instrucciones
que realizan una funcin especfica, tal como una funcin o marco. Una
subrutina grande se denomina usualmente MODULO o PROCEDIMIENTO,
pero todos los trminos se utilizan de manera alternativa. ( Universidad
Nacional de Colombia, s.f )
Usuario: cualquier individuo que interacta con la computadora a nivel de
aplicacin. Los programadores, operadores y otro personal tcnico no son
considerados usuarios cuando trabajan con la computadora a nivel profesional.

Servicio Nacional de Aprendizaje - SENA

Fuentes
Alegsa, (s.f.). Diccionario de informtica y tecnologa. Definicin de variable. Consultado
el 30 de junio de 2014 de http://www.alegsa.com.ar/Dic/variable.php
Fundamentos de programacin, (2006). McGraw-Hill.
Universidad Nacional de Colombia, ( s.f. ) Programacin de computadores. Consultado
el 30 de junio de 2014 de http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/
docs_curso/contenido.html

Servicio Nacional de Aprendizaje - SENA

Crditos
Lder de lnea de produccin
Alba Luca Ramrez

Asesora pedaggica
Ofelia Corrales

Guionizacin

Carlos Andrs Huertas


Sandra Maritza Prez R

Diseo grfico

Sandra Liliana Giral


Edmundo Watts
Jos Mario Alzate
Alejandro Valencia

Diagramacin
Edmundo Watts

Desarrollo multimedia
Urlieson Len
Gabriel Len
Julin Poveda

Servicio Nacional de Aprendizaje - SENA