Vous êtes sur la page 1sur 27

INTRODUCCIN A LA ALGORITMIA

Estructura de contenidos
INTRODUCCIN........................................................................... 3
1. CONCEPTO DE ALGORITMOS...................................................... 3
2. UN POCO DE HISTORIA............................................................. 3
3. RESOLUCIN DE PROBLEMAS CON ALGORITMOS.......................... 4
4. SOLUCIN DE PROBLEMAS CON DIAGRAMAS DE FLUJO Y LENGUAJE
NATURAL (SEUDOCDIGO)............................................................ 14
5. ESTRUCTURAS ALGORTMICAS O DE PROGRAMACION................... 18

FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Mapa conceptual
INTRODUCCIN A LA ALGORITMIA

Introduccin a la Algoritmia

2
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

INTRODUCCIN
Nuestro actuar como personas se basa en obedecer por medio de ordenes
Secuenciales y lgicas a nuestro cerebro; hoy en da un computador
realiza tareas y maneja datos obedeciendo secuencias de pasos lgicos
para lo cual ha sido programado a travs de algoritmos, los cuales permiten
solucionar problemas por medio de la escritura secuencial (paso a paso)
de lenguaje natural y organizado, para luego llevarlos a un computador
mediante un lenguaje de programacin.
Es muy importante que usted como aprendiz logre desarrollar y despertar
su mentalidad algortmica, ya que durante todo su proceso estar inmerso
en aprender a solucionar problemas durante la etapa lectiva y esto se
logra por medio del diseo, creacin e implementacin de un algoritmo.

1.

CONCEPTO DE ALGORITMOS

Un algoritmo se puede definir como un conjunto de instrucciones que


conducen a la solucin de un problema determinado, las cuales deben
estar relacionadas lgica y ordenadamente.

UN POCO DE HISTORIA

Los algoritmos fueron creados con la necesidad de resolver problemas


matemticos, sus inicios se dan con la creacin de las reglas de sumar,
multiplicar y dividir nmeros decimales (Mohammed al-Khowarizmimatemtico persa), de ah nace el nombre de
la Algoritmo, Su apellido fue traducido al latn
como Algorismus y posteriormente paso al
espaol como Algoritmo; ms adelante Euclides,
gran matemtico griego utilizo algoritmos
cuando invento el mtodo para encontrar el
mximo comn divisor de dos nmeros; y por
ltimo se puede decir que el gran padre de la
algoritmia es Niklaus Wirth el cual tuvo el gran
invento de Pascal.
Los algoritmos fueron creados con el fin de
utilizarlos para resolver problemas, para luego
llevarlos a un computador mediante un lenguaje

3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

de programacin; para realizar un algoritmo se debe establecer una


metodologa de desarrollo, una de estas es la llamada resolucin de
problemas, la cual permite realizar un diseo organizado del algoritmo.

RESOLUCIN DE PROBLEMAS CON ALGORITMOS

Para solucionar un problema mediante un algoritmo es necesario seguir


un orden, uno de los primeros pasos es el diseo previo de un algoritmo,
con la resolucin de problemas podemos seguir este orden de la siguiente
manera:
a. A
 nalizar el problema (entender el problema)
b. D
 isear el algoritmo: En este paso se describe la secuencia ordenada
de pasos que conduce a la solucin del problema citado (diagrama de
flujo o seudocdigo).
c. E
 xpresar el algoritmo: el algoritmo se debe expresar como un programa
en un lenguaje de programacin adecuado. (Fase de codificacin.)
d. E
 jecucin y validacin: Se pone en ejecucin el programa realizado en
un computador.

Analizar
el problema
Depurar el
problema

Disear un
algoritmo

Traducir el
algoritmo

4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

3.1 Analizar el problema


La finalidad como ya se ha mencionado de un algoritmo es resolver un
problema, lo primero y esencial es analizar el problema para lograr un
entendimiento claro

Formular el
problema
Procesos
necesarios

Resultados
esperados

Restricciones

Datos
disponibles

Reformular el problema: Si el problema que se ha planteado no se


encuentra bien formulado, redactado o no se entiende al momento de
leerse, debe reformularlo de tal manera que usted lo entienda y tenga
claro la situacin problema a solucionar).
Resultados Esperados: Debe especificar, describir y/o escribir los
resultados que espera, por ejemplo (cul es el producto final que se quiere
tener para dar solucin al problema, cual es la informacin a la que se
necesita llegar, que se espera del problema citado)
Datos Disponibles: Identificar la informacin disponible se resuelve
hacindose las siguientes preguntas: que informacin es importante o
relevante para solucionar el problema? Cules son los datos de entrada?,
cual es la incgnita?, que informacin me falta para resolver el problema?,

5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

es decir todos los datos que tengo disponibles que me permitan solucionar
el problemas.
Restricciones: Determina las condiciones que plantea el problema para
lograr el resultado, lo que est permitido, lo prohibido.
Procesos necesarios: En esta fase debe definir los procesos para poder
convertir la informacin disponible, en resultados esperados que den
solucin al problema ya que se determinan los procesos que se necesitan,
las formulas a utilizar y el orden de lo que se debe realizar.
Ejemplo 1
Carlos Andrs, se encuentra ahorrando para comprar una patineta que vale
55.000 pesos. Su pap le ha dado para sus gastos 5.000 pesos durante
7 semanas. Por lavar el auto de su to tres veces recibi 8.000 pesos. Su
hermano Juan Antonio gan 10.000 pesos por hacer los mandados de su
mam y 4.000 por sacar a pasear el perro. Carlos Andrs tiene ahorrado
el dinero suficiente para comprar la patineta o an le falta?
Formular el problema: Ya se encuentra claramente planteado, pero si
no entiende la redaccin puede redactarlo a su manera, hasta es posible
realizar un resumen de lo planteado.
Resultados esperados: Saber si Carlos Andrs tiene o no tiene ahorrado
el dinero para comprar su patineta, la cual cuesta 55.000 pesos.
Datos disponibles: Los ingresos de Carlos Andrs 5.000 pesos por
7semanas + 8.000 pesos, los datos irrelevantes serian: Los 10.000 y
4.000 pesos qu gan el hermano ya que no aportan informacin para la
solucin de este problema y se pueden omitir.
Restricciones: no se encuentra ninguna.
Procesos: Calcular el valor ahorrado por Carlos
para saber si le alcanza para comprar la patineta.
ValorAhorrado = 5000 + 8000 = 13.000
Es decir no le alcanza para la patineta.

6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

Ejemplo 2
Se necesita calcular el rea de un tringulo rectngulo cuya Base mide 3
cm, la Altura 4 cm y la Hipotenusa 5 cm.
Formular el problema: Ya se encuentra claramente planteado, pero si
no entiende la redaccin puede redactarlo a su manera, hasta es posible
realizar un resumen de lo planteado.
Resultados esperados: El rea de un tringulo rectngulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de tringulo.
La incgnita es el rea y todos los valores son constantes. El valor de la
hipotenusa se puede omitir.
El aprendiz debe preguntarse si sus conocimientos actuales de matemticas
le permiten resolver este problema; de no ser as, debe plantear una
estrategia para obtener los conocimientos requeridos.
Determinar las restricciones: Utilizar las medidas dadas, y saber que
se debe aplicar la frmula del rea de un tringulo rectngulo.
Procesos necesarios: Guardar en dos variables los valores de Base
y Altura; Guardar en una constante el divisor 2; aplicar la frmula
rea=base*altura/2; comunicar el resultado (rea).

m
5c

3 cm

4 cm

7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

3.2 Diseo de un algoritmo


El diseo de un algoritmo se puede realizar mediante un diagrama
de flujo o mediante seudocdigo. Los algoritmos tienen las siguientes
caractersticas
Caractersticas de los algoritmos
Un algoritmo debe:
1. Ser preciso e indicar el orden de realizacin de cada paso.
2. Estar definido. Si se sigue un algoritmo dos veces, se debe obtener
el mismo resultado cada vez.
3. Ser finito. Si se sigue un algoritmo, se debe terminar en algn
momento.
Un algoritmo de contener como mnimo las siguientes partes:
Entrada
Proceso
Salida.

Por ejemplo para realizar una receta de comida por medio de un algoritmo,
cada parte podr estar determinada as:
Entrada: ingredientes y utensilios empleados.
Proceso: elaboracin de la receta en la cocina.
Salida: terminacin del plato (por ejemplo, cordero).

3.2.1

Diseo de un algoritmo mediante diagrama de flujo

Los algoritmos pueden representarte de varias maneras, entre ellas est


la representacin de diagramas de flujo. La representacin en diagramas
de flujo tiene como objetivo seguir paso a paso la solucin de un problema
mediante grficos

8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

3.2.1.1 Definicin Diagrama de flujo


Un diagrama de flujo es un conjunto secuencial de figuras geomtricas
standard conectadas lgicamente entre s para dar solucin a un problema
especfico, cada figura tiene un significado propio .
La secuencia lgica se da por medio de flechas llamadas lneas de flujo
que indican el flujo lgico del algoritmo. Al ser un diagrama grafico facilita
la visin de la ejecucin del algoritmo.
La simbologa utilizada en estos diagramas ha sido estandarizada por las
organizaciones ANSI(American National Institute) y por ISO (International
Estndar Organization).
Existen herramientas software que permiten realizar los grficos
mencionados anteriormente, una de las ms utilizadas es DFD, el cual es
de fcil uso y libre acceso en la web, algunos beneficios de utilizar estos
son:

9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

Almacenar digitalmente los diagramas construidos.

Introducirles modificaciones fcilmente.

I mprimir copias de los diagramas para compartirlos con compaeros


o documentar sus trabajos.

 xportarlos en varios formatos grficos para utilizarlos en otros


E
programas.

Alinear y organizar los smbolos automticamente

Simbologa Estndar de un diagrama de flujo

Para iniciar y terminar un diagrama

Para representar un proceso

Para toma de decisiones:


utilizado tambin en estructuras cclicas

10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

Para representar entrada de datos

Para representar salida de datos

Flechas conectoras

Iteracin: Indica
que una instruccin
o un grupo de
instrucciones deben
ejecutarse repetidamente.

11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

3.2.1.2 Reglas para la elaboracin de un diagrama de flujo:


1. L
 os diagramas se deben realizar de arriba hacia abajo y de izquierda
hacia derecha.
2. Los smbolos de inicio y final deben aparecer solo una vez
3. L
 a ejecucin de un programa siempre empieza en la parte superior del
programa.
4. La direccin del flujo se debe representar por medio de flechas.
5. T
 odas las lneas de flujo deben llegar a un smbolo o a otra lnea.
6. S
 e deben inicializar las variables que se utilicen o permitir la asignacin
de valores mediante la consulta a un usuario.
3.2.2

Diseo de un algoritmo mediante seudocdigo

La representacin de seudocdigo sigue paso a paso la solucin de


un problema con lenguaje natural, pero recuerde que debe realizar la
metodologa resolucin de problemas para poder iniciar su algoritmo con
seudocdigo. Podra recordarse la imagen de resolucin de problemas
explicada anteriormente.



Paso
Paso
Paso
Paso

1: Inicio
2: .
3
nFin

Ejemplo1:
Se retoma el ejemplo de Carlos Andrs para llevarlo en forma de algoritmo:
Carlos Andrs, se encuentra ahorrando para comprar una patineta que vale
55.000 pesos. Su pap le ha dado para sus gastos 5.000 pesos durante
7 semanas. Por lavar el auto de su to tres veces recibi 8.000 pesos. Su
hermano Juan Antonio gan 10.000 pesos por hacer los mandados de su
mam y 4.000 por sacar a pasear el perro. Carlos Andrs tiene ahorrado
el dinero suficiente para comprar la patineta o an le falta?

12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia


Paso 1: Inicio

Paso 2: Asignarle el valor del dinero ahorrado por Carlos
Andres a la Variable ValorAhorrado = 5.000+8000

Paso 3: Mostrar el ValorAhorrado, indicando si le alcanza o no
para la patineta.

Paso 4: Fin.

Ejemplo 2
Se retoma el ejemplo anterior tambin por continuidad.
Se necesita calcular el rea de un tringulo rectngulo cuya Base mide 3
cm, la Altura 4 cm y la Hipotenusa 5 cm.
Paso1:Inicio
Paso2:Indicar que la variable Base tiene un valor de 3cm
Paso3: Indicar que la variable Altura es de 4cm
Paso4: Calcular el rea a=( Bases*Altura )/2
Paso 5 : Mostar el rea
Paso 6 Fin.

Ejemplo 3
Tambin se pueden resolver problemas cotidianos: por medio de
seudocdigo escriba un algoritmo para poder pasarse los semforos, una
vez usted se encuentra esperando pasar como peatonal.
Paso1:Inicio
Paso2:Ver el color del semforo
Paso3: Si el semforo esta en rojo : hay que detenerse
Paso 4: Mostar mensaje Hay que detenerse.
Paso 5: Si el semforo esta en amarillo: alistarse para pasar
Paso 6: Mostar mensaje alistarse.
Paso7: Si el semforo esta en verde: pasarse la calle.
Paso 8: Mostar mensaje puede pasarse y la persona se pasa la calle.
Paso 0 Fin.

13
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

3.3 Expresar el algoritmo en un lenguaje de programacin:


Una vez el algoritmo este diseado en diagrama de flujo o en lenguaje
natural (seudocdigo), se pone en marcha la traduccin de este a un
lenguaje de programacin especifico.
Existen diferentes tipos de lenguajes que permiten traducir el algoritmo
para que pueda ser entendido por el computador entre los cuales son java,
c#, visual basic, entre otros, los cuales son tratados especficamente ms
adelante.

4 SOLUCIN DE PROBLEMAS CON DIAGRAMAS DE


FLUJO Y LENGUAJE NATURAL (SEUDOCDIGO).

Constante
Componentes

Identificador

Variable

Acumulador

Contador

Recuerde cuando se plantee un problema ya sabe que puede resolverlo


por medio de diagrama de flujo o por lenguaje natural.
Es importante conocer y aprender a utilizar los siguientes conceptos que
estn inmersos al momento de realizar algoritmos.
4.1.1 Variables:
Recordemos que cuando se inicia con el anlisis del problema se identifican
los datos iniciales, estos datos se estructuran o se definen como variables;

14
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

en ellas se pueden almacenar valores y son nombradas con identificadores,


es decir nombres para poder identificarlas dentro del algoritmo. Por
ejemplo, si en el problema de calcular el rea de un tringulo tengo como
datos iniciales la base y la altura, estas dos anteriores serian llamadas
variables y sus nombres sern BASE y ALTURA.
Un aspecto importante de las variables es que pueden cambiar su valor
durante la ejecucin del algoritmo.
Se debe tener en cuenta que una variable puede ser declarada, asignada
o solicitada mediante un algoritmo para poder ser utilizada.
Declaracin de una variable: Para utilizar una variable tanto en
seudocdigo como en diagrama de flujo es necesario siempre declararla,
es decir indicarle al algoritmo que va a utilizar una variable por ejemplo
nombre , quiere decir que usted necesita una variable que almacene los
nombres de las personas.
Asignacin de valor a una variable: Luego de declararla puede usted
necesitar que esa variable inicie por defecto con un valor por ejemplo
Saldo = 2000, quiere decir que utilizara la variable saldo pero que esta
inicializada con un valor de 2000, puede inicializar una variable segn el
valor que necesite para solucionar el problema.
Asignarle un valor a una variable, constante, acumulador o contador,
expresiones complejas o simples, por ejemplo.
Variable = expresin
Por ejemplo: Nombre = Carmen
Saldo = 2000
rea = (Base*altura)

Solicitar una variable: Cuando se necesita que el valor de la variable


pueda ser ingresado por un usuario al computador, entonces debe
solicitarse este valor de la variable.

15
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

Diagrama de flujo
Solicitar una variable

Uso

Seudocdigo

Cuando se necesita que el

Nombre

Declarar una variable

valor de la variable pueda ser

cont=0

ingresado por un usuario al

Leer Nombre

computador.

Conocer Nombre

Indica al algoritmo que va a

Declarar una variable

utilizar una variable por ejem-

Nombre

plo

nombre,

esta

variable

almacena nombres.
Asignarle valor a una variable
Nombre
Base

Carolina
2

Solicitar una variable

Para asignarle un valor a una


variable, constante, acumulador o contador, expresiones complejas o simples.

Declarar Variable Nombre

Asignarle valor a una variable


Nombre= Carolina
Base = 2

4.1.2 Constantes:
Almacenan datos al igual que las variables, pero su gran particularidad
es que sus datos no cambian durante la ejecucin del algoritmo, es decir
siempre el valor de la constante va ser el mismo.
Las constantes se deben declarar e inicializar.
Diagrama de flujo
Declarar Una constante
e inicializarla

Maximo

Seudocdigo

Declarar Una constante


e inicializarla

100

Constante Mximo =100

16
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

4.1.3 Contadores:
Permiten almacenar valores con el objetivo de llevar a cabo un conteo en
las secuencias de ejecucin.
Como su palabra lo dice permiten contar, para poder utilizar un contador
es necesario inicializarlo en un valor y luego incrementar su valor de una
manera constante para permitir realizar el conteo.
Diagrama de flujo

Seudocdigo

Declarar e iniciar un contador

Declarar e inicializar un contador

cont

Utlizar contador
cont

cont=0
Utilizar un contador

cont+1

cont=cont+1

4.1.4 Acumuladores:
Permiten almacenar el valor de una variable A, sumando el valor de ella
ms el valor de una variable B
Como su palabra lo dice permiten acumular el valor de una variable, para
poder utilizar un acumulador es necesario inicializarlo en un valor y luego
iniciar con la acumulacin del valor.
Diagrama de flujo

Seudocdigo

Declarar e iniciar un contador

Declarar e inicializar un contador

cont

Utlizar contador
cont

acum=0
Utilizar un contador

cont+1

acum=acum+suma

17
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

4.1.5 Identificadores:
Los identificadores son nombres que se dan a las variables, constantes,
acumuladores y contadores para as poder diferenciarlos. Para asignar los
nombres se debe tener en cuenta lo siguiente:

 os nombres pueden estar formados por una combinacin de letras


L
y nmeros (saldoMes, salario, fecha2, baseTringulo, etc).

El primer carcter de un nombre debe ser una letra.

a mayora de los lenguajes de programacin diferencian las


L
maysculas de las minsculas.

 os nombres deben ser nemotcnicos, con solo leerlos se puede


L
entender lo que contienen. Deben ser muy descriptivos; no utilizar
abreviaturas, a menos que se justifique plenamente.

No utilizar caracteres reservados (%, +, /, >, etc).

No utilizar palabras reservadas por los lenguajes de programacin.

ara cumplir con convenciones ampliamente utilizadas (Jimnez,


P
2002), los nombres de procedimientos, variables y constantes
deben empezar con minscula. Ejemplo, fecha, suma, etc. Si es un
nombre compuesto por varias palabras, cada una de las palabras
(con excepcin de la primera) debe empezar con mayscula.
Ejemplo: fechaInicial, baseTringulo, etc.

5. ESTRUCTURAS ALGORTMICAS O DE PROGRAMACION


Las estructuras algortmicas estn creadas para orientarnos en la forma
de disear algoritmos, cada una de ellas representa cierto concepto que
permite lograr encontrar la solucin del problema, entre ellas tenemos:
5.1 Estructura secuencial
Es una de las estructuras ms sencilla, conocida tambin como estructura
lineal y se compone de instrucciones que deben ejecutarse secuencialmente.

18
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

Diagrama de flujo

accin 1

Seudocdigo
Inicio
<accion1>
<accion2>

accin 2

*
*
*

accin n

<accionN>
Fin

Correspondencia de seudocdigo a diagrama de flujo


Paso 1: Inicio

Inicio

Paso 2: Asingar el numero 2 a la constante DIV

DIV=2

Paso 3: Saber la base del tringulo y guardarlo en la variable BASE

BASE

Paso 4: Saber la altura del tringulo y guardarla en la


variable ALTURA

ALTURA
AREA=BASE*ALTURA
AREA=AREA/DIV
AREA
Final

Paso 5: Guardar en la variable AREA el valor de


BASE*ALTURA
Paso 6: Guardar en la variable AREA la divisin entre el
AREA sobre la variable DIV
Paso 7: Mostar el valor de rea.
Paso 8: Fin

19
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

5.2 Estructuras de decisin


Son utilizadas para tomar decisiones lgicas, llamadas tambin estructuras
selectivas o alternativas, en ellas se evala una condicin y en funcin del
resultado de la misma se realiza una opcin u otra.

Diagrama de flujo

Seudocdigo
Inicio

No

A==5

Si

Si condicin entonces

.
Fin-si
Else condicin

Las estructuras de decisin pueden ser:


Simples: (llamada si-entonces), ejecuta una determinada accin cuando
se cumple una determinada condicin. La seleccin si-entonces evala la
condicin y si la condicin es verdadera, entonces ejecuta la accin; si la
condicin es false entonces no hace nada.

Diagrama de flujo

verdadera

condicin

falsa

Seudocdigo
Inicio
Si <condicin>
<accin>

accin S2

else
fin-si

20
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

Dobles: La estructura anterior es muy limitada y normalmente se necesitar


una estructura que permita elegir entre dos opciones o alternativas
posibles, en funcin del cumplimiento o no de una determinada condicin

Diagrama de flujo

si

condicin

no

Seudocdigo
Si <condicin> entonces
<accion S1>
si_no

accin S2

accin S2

<accion S2>
fin-si

5.3 Estructuras cclicas y/o repetitivas


Un tipo muy importante de estructura es el algoritmo necesario para repetir
una o varias acciones un nmero determinado de veces. Las estructuras
que repiten una secuencia de instrucciones un nmero determinado de
veces se denominan bucles, y se llama iteracin al hecho de repetir la
ejecucin de una secuencia de acciones.
Y as sucesivamente para cada nmero de la lista. En otras palabras, el
algoritmo repite muchas veces las acciones.
Tales opciones repetidas se denominan bucles o lazos. La accin (o
acciones) que se repite en un bucle se denomina iteracin. Las dos
principales preguntas a realizarse en el diseo de un bucle son: qu
contiene el bucle? y cuntas veces se debe repetir?
Se manejan entonces 3 tipos de estructuras cclicas que permiten dar
respuesta a los anteriores interrogantes

21
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

5.3.1

Estructura para

Diagrama de flujo
Inicio
suma=100

Seudocdigo
Inicio
suma=100

Contador = 0
sumatoria = 0

repite 1, 100

Contador=contador+1

contador=100
sumatoria=0
Para 1 hasta 100
contador=contador=1

sumatoria=sumatoria+
contador
Contador
sumatoria

sumatoria=sumatoria+contador
Mostrar contador
Mostrar sumatoria
fin-para

[El valor de la suma 1+2+3+


...+100 es] sumatoria

Mostrar "el valor de la suma


1+2+3+...+100 es" sumatoria

Fin

Fin

En muchas ocasiones se conoce de antemano el nmero de veces que se


desean ejecutar las acciones de un bucle. Esta estructura permite ejecutar
una o varias instrucciones un determinado de veces finita, fija.

22
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

5.3.2

Estructura mientras

Diagrama de flujo

Seudocdigo
Inicio

Inicio

contador=0
0

Contado

numero

numero > 0

leer numero
mientras numero>0 hacer
contador = contador+1
leer numero

Contado

Contado

fin-mientras
numero

escribir El nmero de enteros


positivos es contador

Cierre

Fin

El numero es

Fin

Se llama Mientras a la estructura algortmica que se ejecuta mientras la


condicin evaluada resulte verdadera. Se evala la expresin booleana y,
si es cierta, se ejecuta la instruccin especificada, llamada el cuerpo del
bucle. Entonces se vuelve a evaluar la expresin booleana, y si todava

23
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Introduccin a la Algoritmia

es cierta se ejecuta de nuevo el cuerpo. Este proceso de evaluacin de la


expresin booleana y ejecucin del cuerpo se repite mientras la expresin
sea cierta.
Cuando se ejecuta la instruccin mientras, la primera cosa que sucede es
que se evala la condicin (una expresin booleana). Si se evala falsa,
ninguna accin se toma y el programa prosigue en la siguiente instruccin
del bucle. Si la expresin booleana es verdadera, entonces se ejecuta
el cuerpo del bucle, despus de lo cual se evala de nuevo la expresin
booleana. Este proceso se repite una y otra vez mientras la expresin
booleana (condicin) sea verdadera.
5.3.3

Estructura repita

La estructura cclica REPITA, al igual que la estructura cclica mientras, se


ejecuta un nmero indeterminado de veces, estas dos estructuras tienen
un comportamiento similar, presentando su principal diferencia en el
lugar de estructura donde se evala la condicin, dado que la estructura
MIENTRAS evala la condicin del ciclo al inicio del mismo y la estructura
REPITA lo hace al final del mismo, de este modo, en la estructura cclica
REPITA, el programador garantiza que el ciclo se ejecuta al menos una
vez.

accin

no

condicin

si

24
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

GLOSARIO
ALGORITMO: Es un conjunto de instrucciones que conducen a la solucin
de un problema determinado, las cuales deben estar relacionadas lgica
y ordenadamente.
ANSI (American National Standards Institute): El Instituto Nacional
Estadounidense de Estndares, es una organizacin sin nimo de lucro
que supervisa el desarrollo de estndares para productos, servicios,
procesos y sistemas en los Estados Unidos.
ISO (International Organization for Standardization): La
Organizacin Internacional para la Estandarizacin, es una federacin
mundial que agrupa a representantes de cada uno de los organismos
nacionales de estandarizacin (como lo es el ICONTEC en Colombia), y
que tiene como objeto desarrollar estndares internacionales que faciliten
el comercio internacional entre otros.
SEUDOCODIGO: Es una descripcin informal de alto nivel de un algoritmo,
que utiliza las convenciones estructurales de un lenguaje de programacin
verdadero, pero que est diseado para la lectura.

25
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

BIBLIOGRAFA
[1]. JOYANES Luis. Fundamentos de programacin, Algoritmos y estructura
de datos. McGraw Hill
[2] Lopes Garcia, Juan Carlos. Algoritmos Y Programacin (Gua Para
Docentes), Segunda Edicin, 2007, 2009.

26
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Control de documento
Construccin Objeto de Aprendizaje
Introduccin a la Algoritmia
Desarrollador de contenido
Experto temtico

Leydy Carolina Muoz

Asesor pedaggico

Rafael Neftal Lizcano Reyes


Claudia Milena Hernndez

Produccin Multimedia

Luis Fernando Botero Mendoza


Victor Hugo Tabares

Programadores

Daniel Eduardo Martnez

Lder expertos temticos

Ana Yaqueline Chavarro Parra

Lder lnea de produccin

Santiago Lozada Garcs

27
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje