You are on page 1of 32

Fase anlisis

ra

g
o
r
p
a
l
e
d
a
c
i
g
gramacin L

Lgica de la pr

Ao 2012 - Edicin 01

Lgica de la programacin

og ra m ac i n
L gi ca de la pr

ci
a
m
a
r
g
o
r
p
e
lgica d

Solucin de problemas
Introduccin

Fase de Anlisis

a la programacin
yecto

Actividad de pro

RequerimienDefinicin de
tos del Cliente

de los elemenIdentificacin
ra proyectos
tos de diseo pa
multimedia

Estructuras repetitivas
Estructuras de datos
Herramientas para
la simulacin

Sena

Produccin en multimedia

Actividad de
aprendizaje

Estructuras selectivas

Fase Anlisis

Sena Produccin en multimedia

id o
Ta bl a de co nt en

id o
Ta bl a de co nt en

Contenido Lgica de la programacin

01

02

03

04

Solucin de problemas

Introduccin a la

Estructuras selectivas

Estructuras repetitivas

3.1. Si Entonces (If Then)

4.1. Mientras que (While)

3.2. Si Entonces Sino (If Then Else)

4.2. Repetir para (For)

3.3. Si Anidado

4.3. Hacer mientras (Do while)

1.1. Introduccin a la solucin de problemas: Caractersticas, pasos para resolverlos,


estrategia para mejorar la compresin del
enunciado de un problema y las variables e
identificacin de los datos de un problema
1.2. Relacin entre variables y caractersticas: Relaciones parte-todo, de orden, con
inversiones, con inversiones de orden y
familiares.

programacin
2.1. Conceptos generales
2.2. Algoritmos y diagramas de flujo
2.3. Conceptos fundamentales

3.4. Si Multiple (Case)

2.4. Construccin de Algoritmos y Diagramas de flujo

page

36

page

27

page

11

1.3. Problemas acerca de las relaciones entre dos variables: tablas numricas, lgicas
y conceptuales.
page

05

05

06

Estructuras de datos

Herramientas para la

(Arreglos)

simulacin

5.1. Arreglos en una dimensin o Vectores

6.1. Pseudocdigo LPP

page

59

page

60

5.2. Arreglos multidimensionales o Matrices

Bibliografa

6.2. Diagramas de flujo DFD

Este material puede ser distribuido, copiado y exhibido por terceros si se mues-

Glosario

page

page

44

57

page

61

Crditos

tra en los crditos. No se puede obtener


ningn beneficio comercial y las obras

derivadas tienen que estar bajo los misSena Produccin en multimedia


mos trminos de licencia que el trabajo
original.

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

a
l
e
d
a
c
i
g
L
n

i
c
a
m
a
r
prog

In tro du cc i n

01

tructuras
s
E
,
n
i
c
a
m
a
r
ulacin
lemas, prog
b
im
o
s
r
a
p
r
e
a
d
p
a
n
t
i
n
c
ie
Solu
tos, herram
a
d
y
s
a
iv
it
t
e
p
selectivas, re

01

Solucin de Problemas
1.1. Introduccin a la solucin de problemas:
Caractersticas, pasos para resolverlos, estrategia
para mejorar la compresin del enunciado de un
problema y las variables e identificacin de los
datos de un problema

02

Introduccin a la programacin
2.1. Conceptos generales

Solucin de Problemas

1.1. Introduccin a la
solucin de problemas:

aractersticas, pasos para resolverlos,


estrategia para mejorar la compresin
del enunciado de un problema y las variables e identificacin de los datos de un problema.

2.2. Algoritmos y diagramas de flujo


2.3. Conceptos fundamentales
2.4. Construccin de Algoritmos y Diagramas
de flujo.

1.2. Relacin entre variables y caractersticas:


Relaciones parte-todo, de orden, con inversiones,
con inversiones de orden y familiares.

ob le m as
So lu ci n de pr

03

Estructuras Selectivas
3.1. Si Entonces (If Then)
3.2. Si Entonces Sino (If Then Else)

1.3. Problemas acerca de las relaciones entre dos


variables: tablas numricas, lgicas y conceptuales.

3.3. Si Anidado

Un problema es un enunciado en el cual se


da cierta informacin y se plantea una pregunta que debe ser respondida; en general se pide
calcular o indagar uno o ms datos faltantes o
generar explicaciones acerca de ciertos hechos
o situaciones.

3.4. Si Multiple (Case)

04

Estructuras Repetitivas
4.1. Mientras que (While)
4.2. Repetir para (For)
4.3. Hacer mientras (Do while)

05

Estructuras de Datos (Arreglos)


5.1. Arreglos en una dimensin o Vectores
5.2. Arreglos multidimensionales

06

Con frecuencia la solucin de problemas ha estado rodeada de mitos y creencias que obstaculizan el aprendizaje, se atribuyen a los problemas
dificultades no justificadas que, ms bien, surgen
de la falta de informacin acerca de lo que es
un problema y de la variedad de estrategas que
pueden utilizarse para resolverlos.

Herramientas para la Simulacin

Todo problema involucra una discrepancia o


diferencia entre dos situaciones, una observada o dada y otra deseada. Resolver el problema
es encontrar la manera de reducir o eliminar la
discrepancia.

Con frecuencia la solucin de


problemas ha estado rodeada de
mitos y creencias que obstaculizan
el aprendizaje

Tipos de Problemas
De acuerdo con la naturaleza de la informacin que se da o se proporciona, los problemas
se dividen en dos tipos: estructurados y no estructurados. En el primer tipo se proporciona la
informacin necesaria y suficiente para encontrar la solucin, y en el segundo la informacin
es incompleta o ambigua y debe complementarse
con datos adicionales.

Etapas para resolver un problema


Para llegar a la solucin de un problema la
persona debe, en primer lugar; leer cuidadosamente el enunciado, codificar toda la informacin dada e identificar la informacin relevante
y las pistas que se dan. Este proceso contribuye a lograr una clara imagen o representacin
mental del problema y es bsica para alcanzar
la segunda etapa durante el proceso de solucin
de un problema.

6.1. Pseudocodigo LPP


6.2. Diagramas de flujo DFD

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

o
S
s
a
m
e
l
b
o
r
n de p

ob le m as
So lu ci n de pr

Una estrategia es un conjunto ordenado


de pasos que permite lograr un objetivo.

ob le m as
So lu ci n de pr

Estrategia para mejorar la comprensin


del enunciado de un problema:
componentes de un problema

Caractersticas de los problemas


Un problema es un enunciado acerca de una
situacin determina en el cual se dan datos o informacin y se plantea una pregunta acerca de
una discrepancia o un desequilibrio entre una situacin observada o dada y una situacin deseada. La respuesta a la pregunta proporciona los
datos para reducir la discrepancia y constituye
la solucin el problema.

Problemas Estructurados y
Problemas no Estructurados
Problemas no estructurados
La informacin dada no es suficiente

Identificacin de las
caractersticas del
enunciado de un problema.

Estructurados
La informacin dada es la
necesaria y suficiente

a. Estado inicial: condicin de partida.


b. Estados intermedios: diferente etapas
intermedia que deben completarse para
resolver el problema.
c. Estado final: condicin de llegada
determinada por lo que se pide en el
enunciado del problema.
d. Operaciones:
diferentes
acciones,
actividades o procesos sugeridos en el
problema.
e. Condiciones: requerimientos o condiciones
que se imponen en el enunciado
f. Pregunta: lo que se desea saber o se
cuestiona en el problema

Un problema es un enunciado en el cual se plantean


datos iniciales y finales, se describen algunas
acciones realizadas, se establecen restricciones
(si existen) y se plantea una pregunta acerca de
uno o ms datos faltantes. Resolver el problema
es encontrar el o los datos faltantes.

Componentes de un problema

Estrategia general y especfica

Datos Iniciales

Estado inicial

Datos finales

Estado final

En este caso, dentro de la estrategia general


utilizamos adems dos estrategias particulares
o especficas:

Cuntos jvenes han recibido los


beneficios del plan de renovacin de
la educacin del pas Colombia?

Pasos para resolver un Problema:


Ejercicio introductorio

oluci

1. Las grandes ciudades son urbes superpobladas con una enorme diversidad de actividades comerciales y productivas, generalmente con
grandes problemas de contaminacin. Cules
son las principales causas de la contaminacin
ambiental de las grandes ciudades?

2. Cuntos jvenes han recibido los beneficios del plan de renovacin de la educacin del
pas Colombia?

Estrategia para resolver un problema.


1. Leer el problema en su totalidad e
identificar los datos y la pregunta.
2. Leer el problema parte por parte y
representar los datos en un diagrama.
3. Interpretar
el
diagrama
y
extraer
conclusiones.
4. Relacionar las conclusiones con la pregunta
del problema
5. Realizar los clculos que sean requeridos
6. Verificar resultado

3. La proteccin de la salud de la poblacin es


uno de los beneficios ms importantes que una
comunidad puede recibir. Se precisa saber hasta
qu punto este beneficio lo estn recibiendo los
habitantes de la regin del Catatumbo.
Sena Produccin en multimedia

Fase Anlisis

La identificacin de los elementos del problema


Productos intermedios

Actividades que se describen


Estados
intermedios
Acciones u
operaciones

Lo que se debe respetar

Restricciones

Lo que se desea saber

Pregunta del
problema

Fase Anlisis

La elaboracin del diagrama


La identificacin de los elementos del problema
y la elaboracin del diagrama tambin tienen
sus particulares. Una estrategia es un conjunto
ordenado de pasos que permite lograr un objetivo.

Sena Produccin en multimedia

ob le m as
So lu ci n de pr

Las variables y la identificacin


de los datos de un problema
Los datos de un problema, cualquiera que ste
sea, se expresan en trminos de variables, de los
valores de stas o de caractersticas de los objetos o situaciones involucradas en el enunciado.
Podemos afirmar que los datos siempre provienen de variables. Vale recordar que una variable es una magnitud que puede tomar valores
cualitativos o cuantitativos.
Para distinguir estos conceptos consideremos
el siguiente ejemplo. Si hablamos del peso del
cuerpo, nos referimos a una variable; si decimos que Mara pesa 60 kg, nos referimos a una
caracterstica de Mara; y si decimos que la variable peso puede tomar los valores desde cero
hasta infinito, estamos hablando de valores de
la variable.
Por lo que cabe mencionar que la comprensin del enunciado de un problema est ntimamente relacionada con la identificacin clara y
precisa de las variables que se consideran en el
enunciado.

Concepto de variable
El concepto de variable lo hemos utilizado en
temas anteriores con otro nombre, el de aspecto.
Siempre dijimos que edad, color, tamao, cantidad de dinero, lugar, etc., eran aspectos; ahora
estamos dndole al aspecto un nuevo nombre,
el de variable, y estamos aprendiendo algo ms
sobre stas. Una variable es una magnitud que
puede tomar valores cualitativos o cuantitativos.

1.2. Relacin entre


variables y caractersticas:
Relaciones parte-todo, de
orden, con inversiones,
con inversiones de
orden y familiares.
Una relacin es un nexo entre dos o ms caractersticas correspondientes a la misma variable.
En el enunciado del problema se dan los valores
de las variables que correspondan y se presentan
los nexos entre stas; del anlisis de estos nexos
surge el tipo de relacin, y de ste la estrategia
particular de representacin que se va a utilizar
para comprender el problema, lograr la imagen
mental y, en muchos casos, obtener la solucin.
Las variables, sus valores y sus relaciones conforman los datos de los problemas. Un dato puede
ser una variable, un valor de una variable o una
relacin entre dos variables o entre sus valores.

Sena Produccin en multimedia

Fase Anlisis

ob le m as
So lu ci n de pr

Problemas acerca de las


relaciones parte-todo:

Problemas acerca de las


relaciones familiares:

En este tipo de problema unimos un


conjunto de partes conocidas para formar
diferentes cantidades y generar ciertos
desequilibrios entre las partes. Son problemas
donde se relacionan partes para formar una
totalidad deseada, por eso se denominan
problemas sobre relaciones parte-todo.

En este tipo de ejercicios se presenta un tipo


particular de relacin referido a los nexos de parentesco entre los diferentes componentes de la
familia. Los tipos de relaciones o nexos que se
presentan entre los miembros de una familia pueden ser: Relaciones padre-hijo, entre hermanos,
to sobrino, entre primos, entre esposos y sus
familiares, suegros, yernos, cuados, etc.

Problemas respecto a
relaciones de orden:
La estrategia a utilizar se denomina representacin lineal y permite visualizar el enunciado
de los problemas y en la mayora de los casos,
lograr la solucin. La estrategia que permite representar datos correspondientes a una sola variable o aspecto se denomina representacin en
una dimensin.

Problemas acerca de las relaciones


con inversiones de orden:
En este caso se requiere aplicar una estrategia
adicional, llamada postergacin, que consiste en
dejar para ms tarde aquellos datos que parezcan incompletos, hasta que se presente el dato
que complete la informacin.

Problemas acerca de las relaciones


con inversiones de orden:
Ejercicios con enunciados confusos, en este
tipo de casos es necesario prestar atencin especial a la variable, a los signos de puntuacin y al
uso de ciertas palabras presentes en el enunciado.

Fase Anlisis

1.3. Problemas acerca de


las relaciones entre dos
variables: tablas numricas,
lgicas y conceptuales.
En este tipo de problemas se plantean relaciones simultaneas entre dos variables y se pide una
respuesta que corresponde a una tercera variable
que resulta de las relaciones previamente mencionadas. En este tipo de problemas la estrategia
ms apropiada para obtener las soluciones es la
construccin de tablas.
La estrategia particular que se utiliza en este
caso es la representacin mediante tablas, que
son reticulados que tienen filas y columnas, las
cuales determinan celdas. En las filas y las columnas se representan los tipos de variables consideradas y en las celdas se insertan los nmeros
o valores de las diferentes pares de variables.
De las tres variables que se dan, dos son cualitativas y permiten construir la tabla, y la tercera puede ser cualitativa, cuantitativa o lgica,
segn el tipo de respuesta que se pide encontrar
y los datos dados en el problema. Esta tercera
variable siempre est incluida en la pregunta del
problema y se utiliza para llenar las celdas o los
cuadros de la tabla.
Sena Produccin en multimedia

ob le m as
So lu ci n de pr

n
la pr og ra m ac i
In tro du cc i n a

0 2 Introduccin a la programacin

El nmero cero (0) se asocia con el concepto


de nada, de nulo o de ausencia de algo.
Tres tipos de problemas se refieren a estas
relaciones entre variables: relaciones numricas,
relaciones lgicas entre dos o ms variables y
relaciones entre conceptos. El primer tipo de
problema se resuelve mediante la construccin
de tablas numricas; el segundo tipo de problema
se apoya en las tablas lgicas y el tercer tipo se
trabaja con tablas semnticas o conceptuales. En
la primeras se registran en las celdas cantidades
o nmeros, en las segundas, relaciones lgicas
y en las terceras, conceptos.
Las tablas son instrumentos muy tiles para
resolver problemas pues permiten organizar la
informacin y visualizar el problemas; adems,
constituyen una especie de memoria externa
que nos ayuda a mantener el record de algunos
elementos de informacin que a veces deben
postergarse para relacionarse con datos que se
dan posteriormente o que se infieren durante el
proceso de resolucin de problemas.

Caractersticas de los problemas


de tablas numricas.
Este tipo de problemas se refieren a relaciones
entre dos variables (las dos cualitativas) y se
resuelve mediante la estrategia de representacin
tabular llamada tabla numrica. La estrategia se
llama as porque la tercera variable siempre toma
valores numricos y estos valores son los que
sirven para completar la tabla.
10

Sena Produccin en multimedia

Los problemas acerca de las tablas numricas


con ceros.
El nmero cero (0) se asocia con el concepto
de nada, de nulo o de ausencia de algo. Por
esa razn es muy comn confundir la falta de
informacin acerca de algo con el hecho establecido
de que no hay informacin respecto a ese algo.

Problemas acerca de tablas lgicas.


En este tipo de problemas la variable trabaja
con un tipo distinto de valor y se llama variable
lgica, que slo puede tomar como valor los
calificativos verdadero o falso, o si o no.
Por su naturaleza, una tabla lgica tiene ciertas
propiedades que resultan muy tiles al construirlas.
Una vez completada, una tabla lgica representa
lo que es cierto y lo que no es, en forma directa
y clara. En muchos casos (pero no siempre) las
posibilidades que representa son mutuamente
excluyentes.

Problemas acerca de tablas conceptuales.


Otra manera de establecer relaciones entre
variables y caractersticas es a travs de nexos
entres los conceptos; en este caso se habla de
relaciones semnticas. Las relaciones de este tipo
de problema con las variables y caractersticas es
indirecta, por medio de las caractersticas esenciales
de las clases que definen los conceptos y de sus
respectivas variables.

2.1. Conceptos generales

Qu es un programa?

Antes de iniciar el tema, es conveniente, sobre


todo para aquellos que comienzan su instruccin
informtica, hacer un breve repaso de conceptos
fundamentales que se han de tomar en cuenta
cuando se desarrollan programas que se utilizarn
en computadoras.

Conjunto de instrucciones que hacen funcionar


a la computadora.
Organizacin

fsica

de

la

computadora

Se incluye la metodologa que se requiere para


disear algoritmos de manera sencilla y funcional.

Qu es una computadora?
Es un dispositivo electrnico utilizado para
procesar informacin y obtener resultados.

Dispositivos de Entrada/Salida

Los datos de entrada y los datos de salida pueden


ser, realmente, cualquier cosa, texto, dibujos, o
sonidos.

Los dispositivos de Entrada/Salida permiten la


comunicacin entre la computadora y el usuario
para introducir datos (informacin) para su proceso.
Los datos se leen de los dispositivos de entrada y
se almacenan en la memoria principal, convierten
la informacin de entrada en seales elctricas
que se almacenan en la memoria principal.

Qu es el software?

Tipos de dispositivos de entrada:

Los datos y la informacin se pueden introducir


en la computadora por la entrada y a continuacin
se procesan para producir una salida (resultados).

Conjunto de programas escritos para una


computadora.

Qu es el hardware?
Componentes fsicos que constituyen la computadora,
junto con los dispositivos que realizan las tareas
de entrada y salida

Teclados.
Lpices pticos.
Palancas de mando (joystick).
Lectores de cdigos de barra.
Micrfonos.
Mouse
Cmaras de video, etc

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

11

n
la pr og ra m ac i
In tro du cc i n a

Los dispositivos de salida permiten


representar resultados (salida)
del proceso de los datos.
Pantalla.
Impresoras.
Trazadores grficos (plotters).
Reconocedores de voz, etc.

Memoria principal
Conocida como RAM (Random Access Memory),
almacena informacin (instrucciones de un programa
y los datos con los que operan las instrucciones) de
manera transitoria, es decir, durante la ejecucin
de un programa.

Unidad Central de Proceso (UPC)


Dirige y controla el proceso de informacin
realizado por la computadora, esta conformada por:
Unidad de control (UC).- coordina las actividades
de la computadora y determina que operaciones se
deben realizar y en que orden; as mismo controla
y sincroniza todo el proceso de la computadora.

C++
12

Sena Produccin en multimedia

n
la pr og ra m ac i
In tro du cc i n a

Tipos de Lenguajes

Los dispositivos son


herramientas que ayudan
expresar una idea,
mensaje o concepto
Unidad aritmtica Lgica (ALU).- realiza operaciones
aritmticas y lgicas, tales como sumas, restas,
multiplicaciones divisiones y comparaciones.
Los datos se pueden leer (recuperar) o escribir
(cambiar) por la upc.Memoria auxiliar (externa)
Cuando un programa se ejecuta, se debe
situar primero en la memoria principal de
igual modo que los datos, sin embargo, la
informacin almacenada en la memoria
se pierde (borra) cuando se apaga la
computadora y, por otra parte, la memoria
principal es limitada en capacidad.
Por esta razn, para poder disponer de
almacenamiento permanente, tanto para
programas como para datos se necesitan
dispositivos de almacenamiento secundario,
auxiliar o masivo.
Los dispositivos de almacenamiento
secundario o memorias auxiliares (externas
o secundarias) ms comnmente utilizadas
son CD-ROM, DVD, cintas y discos
magnticos, USB, etc.

Fase Anlisis

Para que un procesador realice un proceso


se le debe suministrar en primer lugar un

Para que un procesador realice un proceso


se le debe suministrar en primer lugar un
algoritmo adecuado. El procesador debe ser
capaz de interpretar el algoritmo, lo que
significa: Comprender las instrucciones
de cada paso, Realizar las operaciones
correspondientes.
Cuando el procesador es una computadora,
el algoritmo se ha de expresar en un
formato que se denomina programa.
Un programa se escribe en un lenguaje
de programacin y las operaciones que
conducen a expresar un algoritmo en forma
de programa se llama programacin.
As pues, los lenguajes utilizados para
escribir programas de computadoras
son los lenguajes de programacin y
programadores son los escritores y
diseadores de programas.
Los principales tipos de lenguajes
utilizados en la actualidad son:
Lenguajes mquina.
Lenguajes de bajo nivel (ensamblador)
Lenguajes de alto nivel.
programadores son los escritores y
diseadores de programas.
Los principales tipos de lenguajes
utilizados en la actualidad son:
Lenguajes mquina.
Lenguajes de bajo nivel (ensamblador)
Lenguajes de alto nivel.

Fase Anlisis

algoritmo adecuado

programadores son los escritores y


diseadores de programas.
Los principales tipos de lenguajes utilizados
en la actualidad son: Lenguajes mquina,
Lenguajes de bajo nivel (ensamblador),
Lenguajes de alto nivel.
programadores son los escritores y
diseadores de programas.
Los principales tipos de lenguajes utilizados
en la actualidad son: Lenguajes mquina,
Lenguajes de bajo nivel (ensamblador),
Lenguajes de alto nivel.

Lenguajes mquina
Son aquellos que estn escritos en lenguajes
directamente inteligibles por la mquina
(computadora), ya que sus instrucciones
son cadenas binarias (cadenas o series
de dgitos 0s y 1s) que especifican una
operacin.
Las posiciones (direccin) de memoria
implicadas en la operacin se denominan
instrucciones de mquina o cdigo mquina
(cdigo binario).
Las instrucciones en lenguaje mquina
dependen del hardware de la computadora y,
por lo tanto, diferirn de una computadora
a otra.

Sena Produccin en multimedia

13

n
la pr og ra m ac i
In tro du cc i n a

Lenguajes de bajo nivel

Lenguajes de alto nivel

Son ms fciles de utilizar que los lenguajes


mquina, pero, al igual, que ellos, dependen de
la mquina en particular.
El lenguaje de bajo nivel por excelencia es el
ensamblador.
Las instrucciones en lenguaje ensamblador son
instrucciones conocidas como nemotcnicos. Por
ejemplo, tpicos de operaciones aritmticas: ADD,
SUB, DIV.
Un programa escrito en lenguaje ensamblador
no puede ser ejecutado directamente por la computadora, en esto se diferencia esencialmente del
lenguaje mquina, sino que requiere una fase de
traduccin al lenguaje mquina.
El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje mquina se conoce
como programa objeto, ya directamente inteligible por la computadora.
El traductor de programas fuente a objeto es un
programa llamado ensamblador.

Son los ms utilizados por los programadores,


estn diseados para que las personas escriban
y entiendan los programas de un modo ms fcil que los lenguajes mquina y ensambladores.
Un programa escrito en lenguaje de alto nivel
es independiente de la mquina; esto es, las instrucciones del programa de la computadora no
dependen del diseo del hardware o de una computadora en particular.
Los programas escritos en lenguaje de alto nivel son portables o transportables, lo que significa la posibilidad de poder ser ejecutados con
poca o ninguna modificacin en diferentes tipos
de computadoras.
Los programas fuente en lenguaje de alto nivel
tiene que ser traducidos por los programas traductores, llamados en este caso compiladores.

Tipos de lenguajes de alto nivel:


C, C++, Fortran, C#, VisualBasic, Java

Muy extendidos:
Modula-2, Prolog, LISP, Smaltalk

Sena Produccin en multimedia

2.2. 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).

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.

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.

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.

Borland Delphi, C++ Builder, Power Builder

La definicin de un algoritmo debe describir


tres partes:

Su correcta construccin es sumamente importante


porque, a partir del mismo se escribe un programa
en algn lenguaje de programacin.

Aunque hoy en da el mundo de Internet consume


gran cantidad de recursos en forma de lenguajes
de programacin como:

HTML, XML, JavaScript, etc.

Entrada.
Proceso.
Salida

Si el diagrama de flujo est completo y correcto,


el paso del mismo a un lenguaje de programacin
es relativamente simple y directo.

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.

A continuacin, presentamos los smbolos que


utilizaremos y una explicacin de los mismos.
Estos satisfacen las recomendaciones de la ISO
y la ANSI.

Gran uso en el mundo profesional:

14

n
la pr og ra m ac i
In tro du cc i n a

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

15

n
la pr og ra m ac i
In tro du cc i n a

n
la pr og ra m ac i
In tro du cc i n a

Tipos de datos

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.
Smbolos utilizados para expresar la direccin
del flujo del diagrama

* Los datos a procesar por una computadora pueden clasificarse en:


Simples
Estructurados

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.

* 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:

Datos simples
Enteros

Smbolo utilizado para introducir los datos de


entrada. Expresa lectura.
Smbolo utilizado para representar la impresin
de un resultado. Expresa escritura.

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

99

-1578

125550

Reales (flotantes)

Smbolo utilizado para expresar conexin dentro de una misma pgina.


Smbolo utilizado para expresar conexin entre pginas diferentes.

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
Smbolo utilizado para representar un proceso.
En su interior se expresan asignaciones, operaciones aritmticas, cambios de valor de celdas
en memoria, etc.

16

Sena Produccin en multimedia

Smbolo utilizado para marcar el inicio y el fin


del diagrama flujo.

Fase Anlisis

Contiene un solo carcter y va encerrado entre comillas simples. Por ejemplo:


a
H

Fase Anlisis

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

Sena Produccin en multimedia

17

n
la pr og ra m ac i
In tro du cc i n a

Cadena de caracteres.

Constantes

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

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.

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.

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.

n
la pr og ra m ac i
In tro du cc i n a

Operadores Aritmticos
Operador
Aritmtico

Operacin

Ejemplo

Resultado

**

Potencia

3**2

Variables

Multiplicacin

5.25*3

15.75

1. Es un identificador que puede cambiar


su valor durante la ejecucin de un
programa.
2. Se utiliza para representar un dato tipo
entero, real (flotante), o una constante de
carcter. Por ejemplo:

Divisin

17/4 4

.25

Suma

58+79 1

37

Resta 2

5.96 -11.25 1

4.71

Mod

Mdulo (residuo) 2

1 mod 2 1

div

Divisin entera 1

9/3 6

Variable i es de tipo entero,


variable prom es de tipo real (flotante),
Variable opcin es de tipo carcter.

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.

La longitud del identificador depende del


lenguaje de programacin a utilizar.

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 aritm cos


Operador

Jerarqua

Operacin

**

(Mayor)

Potencia

*, /, mod, div
+, -

Mul plicacin, divisin, mdulo, divisin entera


(menor)

Suma, resta

A continuacin presentamos
en una tabla los operadores
aritmticos, la operacin que
puede realizar y, un ejemplo
de su uso y su resultado:
18

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

19

n
la pr og ra m ac i
In tro du cc i n a

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.

n
la pr og ra m ac i
In tro du cc i n a

Operadores relacionales

Expresiones lgicas

Son operadores que permiten comparar dos


operandos, los operandos pueden ser nmeros,
caracteres, constantes o variables.

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.

Las constantes o variables, a su vez, pueden


ser de tipo entero, real (flotante), carcter o cadena de caracteres.
El resultado de una expresin con operadores
relacionales es verdadero o falso.

Se utilizan con frecuencia en las estructuras


selectivas y en las estructuras repetitivas.

Por ejemplo:
Operadores Relacionales

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
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

20

Sena Produccin en multimedia

Operador

Operacin

==
<>
<
>
<=
>=

Igual que
Diferente a
Menor que
Mayor que
Menor o igual que
Mayor o igual que

Ejemplo
lalo == lola
x < > y
14 < 25
35 > 10
5 <= 6
15 >= 7

Resultado
Falso
Verdadero
Verdadero
Verdadero
Verdadero
Verdadero

Operadores lgicos

Fase Anlisis

Son operadores que permiten formular


condiciones complejas a partir de
condiciones simples.
Los operadores lgicos son de:

Disyuncin (o)

Conjuncin (y)

Negacin (No)

- Relaciona dos operandos booleanos. Proporciona un valor verdadero (V), si los dos son verdaderos; en caso
contrario da un resultado falso (F).

Este operador relaciona slo un operando booleano y da como resultado un valor opuesto al
que tenga el operando.

Fase Anlisis

Relaciona dos operandos booleanos. Proporciona


un valor verdadero (V), si uno de los dos es verdadero; e caso contrario da un resultado falso (F).

Sena Produccin en multimedia

21

n
la pr og ra m ac i
In tro du cc i n a

n
la pr og ra m ac i
In tro du cc i n a

Por ejemplo:

2.4. Construccin de Algoritmos


y Diagramas de flujo

Dados los siguientes casos, resolver cada caso aplicando las reglas correspondientes:

1). A = 5, B = 16
(A ** 2) > (B * 2)
1
25 > (B * 2)
2
25 > 32
3
Falso

Continuacin 2)




2). X = 6, B = 7.8
(X * 5 + B ** 3 / 4) < = (X ** 3 div B)
1
(X * 5 + 474.552 / 4) < = (X ** 3 div B)
2
(30 + 474.552 / 4) < = (X ** 3 div B)
3
(30 + 118.638) < = (X ** 3 div B)
4
Continua

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

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.

1. 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.
2. Dichas acciones pueden consistir en
operaciones
primitivas
elementales
como declaraciones de variables, leer
datos, imprimir datos o calcular alguna
expresin.
3. Es conveniente etiquetar cada accin con
nmeros desde el uno en forma ascendente
de uno en uno, para denotar el orden
secuencial.
4. Por lo tanto los elementos bsicos que
integran la estructura de un algoritmo
son:

Continua

Continua 3).






22

~ Falso o (43 16 div 4 < > 3 * 2 div 2)


4
~ Falso o (43 4 < > 3 * 2 div 2)
5
~ Falso o (43 4 < > 6 div 2)
6
~ Falso o (43 4 < > 3)
7
~ Falso o (39 < > 3)
8
~ Falso o Verdadero
9

Sena Produccin en multimedia

Verdadero o Verdadero
10
Verdadero

Fase Anlisis

Fase Anlisis

Nota.- Por verificacin del algoritmo entendemos el


seguimiento del mismo con datos que sean representativos del problema que queremos resolver.

a. 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.
b. Inicio: Todo algoritmo debe empezar con la etiqueta 1, que
marca el inicio del mismo.
c. Declaraciones: Despus de marcar el inicio se debe hacer las
declaraciones que se necesiten como Variables, constantes,
tipos de datos, etc.
d. 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.
e. 5in del algoritmo: El ltimo paso del algoritmo consiste en
incluir la indicacin fin.

Sena Produccin en multimedia

23

n
la pr og ra m ac i
In tro du cc i n a

Reglas para la construccin


de diagramas de flujo

Ejemplo No 1.- De algoritmos secuenciales

Ejemplo No 3

Calcular e imprimir el sueldo de un empleado,


se pedir la clave del empleado, las horas trabajadas y el pago por hora trabajada.

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 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

n
la pr og ra m ac i
In tro du cc i n a

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

Ejemplo No 2

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.

Diagrama de flujo del algoritmo, ejemplo 1

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

24

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Reglas
Todo diagrama de flujo debe tener un inicio
y un fin.
Las lneas utilizadas para indicar la
direccin del flujo del diagrama deben ser
rectas, verticales y horizontales.
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.
El diagrama de flujo debe ser construido
de arriba hacia abajo (top-down) y de
izquierda a derecha (right to left).
La notacin utilizada en el diagrama de
flujo debe ser independiente del lenguaje
de programacin.
Es conveniente cuando realizamos una tarea
compleja poner comentarios que expresen
o ayuden a entender lo que hicimos.
Si el diagrama de flujo requiere ms de una
hoja para su construccin, debemos utilizar
los conectores adecuados y enumerar las
pginas convenientemente.
No puede llegar ms de una lnea a un
smbolo.

Sena Produccin en multimedia

25

n
la pr og ra m ac i
In tro du cc i n a

le ct iv as
Es tru ct ur as se

03

Diagrama de flujo del algoritmo, ejemplo 2

Estructuras Selectivas

3.1. Si Entonces (If Then)


Seleccin si-entonces

Funcionamiento:

La estructura selectiva lgica si entonces


permite que el flujo siga por un camino
especfico si se cumple una condicin o un
conjunto de condiciones.
Si al evaluar la condicin (o condiciones) el
resultado es verdadero, entonces se ejecuta
(n) cierta (s) operacin (es), luego continua
con la secuencia normal del proceso.
Se utiliza cuando alguna operacin est
condicionada para que se lleve a cabo, pero
no tiene una opcin alterna.

Al llegar al si se evala la condicin (es):


a. Si se cumple, se ejecuta (n) la (s) operacin
(es) del entonces y luego salta hasta
el siguiente paso despus del fin del
condicional.
b. Si no se cumple, salta hasta despus del fin
del condicional, es decir no hace nada.

Diagrama de flujo del algoritmo, ejemplo 3

Diagrama de flujo

Formato:

si condicin entonces
operacin (es)
{ Fin del condicional }

Donde:
si.- identifica la estructura selectiva
condicin.- expresa la condicin o
conjunto de condiciones a evaluar
entonces.- indica el curso de accin a
seguir si se cumple la condicin.
operacin.- expresa la operacin o
conjunto de operaciones.
fin del condicional.- indica el fin de la
estructura de seleccin (si)

26

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

27

le ct iv as
Es tru ct ur as se

Ejemplo 1: Dado como dato una calificacin


de un alumno en un examen, desarrollar un algoritmo y diagrama de flujo, que imprima el mensaje de aprobado en caso de que la calificacin
sea mayor o igual a 70.

3.2. Si Entonces Sino


(If Then Else)

Diagrama de flujo


Algoritmo Alumno aprobado

1. Inicio

2. Declaracin de variables
cal: flotante

3. Leer cal

4. si cal >=70 entonces

imprimir Aprobado

5. Fin del condicional paso 4

6. Fin

Ejemplo 2: Dado como dato el sueldo de un


trabajador, desarrollar un algoritmo y diagrama
de flujo, que aplique un aumento del 15% si su
sueldo es inferior a $1000. se imprimir el nuevo sueldo del trabajador.
Algoritmo Aumento de sueldo de un trabajador

1. Inicio

2. Declaracin de variables:
sue, aum, nsue: flotante

3. Leer sue

4. si sue < 1000 entonces
aum = sue * 0.15
nsue = sue + aum
imprimir nsue

5. Fin del condicional paso 4

6. Fin

28

Sena Produccin en multimedia

le ct iv as
Es tru ct ur as se

Seleccin si entonces/sino

Formato:

La estructura selectiva si entonces/sino


permite que el flujo se bifurque por dos
ramas diferentes en el punto de la toma de
decisin (es).
Si al evaluar la condicin (o condiciones)
el resultado es verdadero, entonces sigue
por un camino especfico y se ejecuta (n)
cierta (as) operacin (es). Por otra parte,
si el resultado es falso entonces se sigue
por otro camino y se ejecuta (n) otra (s)
operacin (es).
En ambos casos, luego de ejecutarse la (s)
operacin (es) indicada (s), se contina con
la secuencia normal del proceso.
Por la naturaleza de stas, se debe ejecutar
una o la otra, pero no ambas a la vez, es
decir, son mutuamente excluyentes.

si condicin
entonces
hacer operacin 1

sino
hacer operacin 2

{ Fin del condicional }

Donde:
si.- identifica la estructura selectiva
condicin.- expresa la condicin o



Diagrama de flujo

conjunto de condiciones a evaluar


entonces.- indica el curso de accin a
seguir si se cumple la condicin.
operacin 1.- expresa la operacin o
conjunto de operaciones.
operacin 2.- expresa la operacin o
conjunto de operaciones.
fin del condicional.- indica el fin de la
estructura de seleccin (si)

Funcionamiento:
Al llegar al si se evala la condicin (es):
Opcin verdadera (entonces) si se cumple, se ejecuta (n)
la (s) operacin (es) del entonces y
luego salta hasta el
siguiente paso despus del fin del condicional.
Opcin falsa (sino) De lo contrario, salta hacia el sino, ejecuta
la (s) operacin (es), y despus salta hasta el siguiente paso
despus del fin del condicional.

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

29

le ct iv as
Es tru ct ur as se

le ct iv as
Es tru ct ur as se

Diagrama de flujo

Diagrama de flujo

Encontramos numerosos casos en el


desarrollo de la solucin de problemas en el
que luego de tomar una decisin y marcar
el camino correspondiente a seguir, es
necesario tomar otra decisin.. Se seala,
luego de evaluar las condiciones , la rama
correspondiente a seguir, y nuevamente
podemos tener que tomar otra decisin.
El proceso puede repetirse numerosas
veces. En este caso, para resolver el
problema, estamos aplicando estructuras
selectivas en cascada o anidadas.
A continuacin presentamos diferentes
casos de anidamiento para la estructura
selectiva si:

Diagrama de flujo

Ejemplo 1: Dado como dato una calificacin


de un alumno en un examen, desarrollar un algoritmo y diagrama de flujo, que imprima el mensaje de aprobado en caso de que la calificacin sea
mayor o igual a 70 o reprobado en caso contrario.
Algoritmo

1. Inicio

2. Declaracin de variables
cal: flotante

3. Leer cal

4. si cal >=70 entonces
imprimir Aprobado
sino
imprimir Reprobado

4. Fin del condicional paso 4

5. Fin

30

Sena Produccin en multimedia

Estructuras selectivas anidadas:


n si condicin1 entonces
n1
si condicin2

entonces

hacer operacin21

sino

hacer operacin22
n2 fin del condicional del paso n1

n + 1 fin del condicional del paso n

Ejemplo 2: Dado como dato el sueldo de un


trabajador, desarrollar un algoritmo y diagrama
de flujo, que aplique un aumento del 15% si su
sueldo es inferior a $1000 y 12% en caso contrario. Se imprimir el nuevo sueldo del trabajador.
Algoritmo

1. Inicio

2. Declaracin de variables:
sue, nsue: flotante

3. Leer sue

4. si sue < 1000 entonces
nsue = sue * 1.15
sino
nsue = sue *1,12

5. Fin del condicional paso 4

6. Imprimir nsue

7. fin

Caso 1

Caso 2

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

31

le ct iv as
Es tru ct ur as se

Lenguaje algortmico de la estructura selectiva


anidada del diagrama de flujo caso2:

Lenguaje algortmico de la estructura selectiva


anidada del diagrama de flujo caso3:


n si condicin1
entonces

n1 si condicin2

entonces

hacer operacin 21

sino

hacer operacin 22

n2 fin del condicional del paso n1

sino
n3 si condicin3 entonces

hacer operacin 31

n4 fin del condicional del paso n3

n +1 fin del condicional del paso n


n si condicin1

entonces

n1 si condicin2 entonces
hacer operacin 21
n2 fin del condicional paso n1
sino
n3 si condicin3

entonces

hacer operacin 31

sino

hacer operacin 32

n4 fin del condicional del paso n3

n +1 fin del condicional del paso n

le ct iv as
Es tru ct ur as se

Ejemplo 1: Desarrollar un algoritmo y diagrama de flujo el cual, dado un valor entero, determinar si es cero, positivo o negativo.

Diagrama de flujo

Algoritmo Dado un valor entero determinar si es


cero, positivo o negativo

1 inicio

2 Declaracin de variables:
num: entero

3 Leer num

4. si num ==0
entonces

imprimir cero
sino

4.1 si num > 0
entonces
imprimir positivo
sino
imprimir negativo
4.2 fin del condicional paso 4.1

5 fin del condicional del paso 4

Diagrama de flujo

32

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

33

le ct iv as
Es tru ct ur as se

le ct iv as
Es tru ct ur as se
Diagrama de flujo

3.4. Si Multiple (Case)


Estructura selectiva si mltiple
La estructura selectiva si mltiple permite
que el flujo del proceso se bifurque por
varias ramas en el punto de la toma de
decisin (es), esto en funcin del valor que
tome el selector.
Si el selector toma el valor 1 se ejecutar
la accin 1, si toma el valor 2 se ejecutar
la accin 2, si toma el valor n se realizar
la accin n, y si toma un valor distinto de
los valores comprendidos entre 1 y n, se
continuar con el flujo normal del proceso
realizndose la accin n + 1.

Diagrama de flujo

Formato:

Por ejemplo: Desarrollar un algoritmo y diagra-


si selector igual
valor 1: hacer accin 1
valor 2: hacer accin 2
valor 3: hacer accin 3
valor n: hacer accin n

fin del condicional

hacer accin n + 1

ma de flujo tal que dado como datos la categora


y el sueldo de un trabajador, calcule el aumento
correspondiente teniendo en cuenta la siguiente
tabla. Se imprimir la categora del trabajador y
su nuevo sueldo.

Categoria
1
2
3
4

Donde:

Selector.- variable o expresin a evaluarse, segn la cual se tomar una de las mltiples
decisiones o alternativas.

Accin 1.- expresa la operacin o conjunto
de operaciones que se van a realizar si el selector toma el valor 1.

Accin 2.- expresa la operacin o conjunto
de operaciones que se van a realizar si el selector toma el valor 2.

Accin n.- expresa la operacin o conjunto
de operaciones que se van a realizar si el selector toma el valor n.

Accin n + 1.- expresa la operacin que
se va a realizar cuando se contine con el flujo
normal del proceso.
La estructura selectiva si mltiple es muy flexible, lo que permite aplicarse de diferentes formas.
Por ejemplo observemos el siguiente formato:

Aumento
15%
10%
8%
7%

Algoritmo:

1. Inicio Dado la categora y el sueldo de un trabajador calcular el aumento

2. Declaracin de variables:
cate: entero
sue, nsue: flotante

3. Leer cate, sue
Diagrama de flujo

4. si cate igual
1: nsue = sue * 1015
2: nsue = sue * 1010
3: nsue = sue * 1.08
4: nsue = sue * 1.07

5. Fin de la condicin del paso 2

6. imprimir cate, sue

7. Fin


si selector igual
valor 1,2: hacer accin 1
valor 3,4,5: hacer accin 2
de otra forma : hacer accin 3

fin del condicional

hacer accin x
34

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

35

pe tit iv as
Es tru ct ur as re

04

pe tit iv as
Es tru ct ur as re

Estructuras Repetitivas

Diagrama de flujo

4.1. Mientras que (While)


Estructura repetitiva mientras (while)

Formato:

La
estructura
algortmica
mientras
comnmente conocida como while, es la
estructura adecuada para utilizar en un
ciclo cuando no sabemos el nmero de
veces que ste se ha de repetir.
Dicho nmero depende de las proposiciones
dentro del ciclo.
Esta estructura permite que se repita una
accin o un conjunto de acciones, en tanto
cierta condicin se mantenga verdadera.
La estructura while evala primero la
condicin, si se cumple se ejecuta una
accin o conjunto de acciones; si no se
cumple, no entra al ciclo. Por lo tanto esta
estructura se repite cero o ms veces.


Hacer PI = proposicin inicial

Mientras PI es verdadera repetir



proceso



Hacer PI = modificacin de PI

{ Fin del ciclo }

Donde:

PI.- proposicin inicial, si el valor de PI
es falso, entonces el ciclo no se
ejecuta.

Ejemplo2: Desarrollar un algoritmo y diagrama


de flujo para obtener la suma de los gastos que
hicimos en nuestro ltimo viaje, pero no sabemos exactamente cuntos fueron, deber mostrar
la suma total de los gastos.
Diagrama de flujo

Diagrama de flujo

36

Sena Produccin en multimedia

Ejemplo1: Desarrollar un algoritmo y diagrama de flujo que lea


n nmeros positivos, determine y muestre el promedio de los n nmeros positivos.

Algoritmo: Dado n nmeros positivos obtenga el promedio

1. inicio
6. prom = suma / n

2. declaracin de variables:
7. imprimir prom
i, n: enteros
8. fin
num, prom, suma =0: flotantes

2. leer n

3. i = 1

4. mientras i <= n
leer num
suma = suma + num
i = i + 1

5. fin del ciclo del paso 4
Fase Anlisis

Algoritmo: Obtener la suma de los gastos del viaje



1. inicio

2. declaracin de variables:
gasto, sumgas = 0: flotante

3. leer gasto

4. mientras gasto < > -1 repetir
sumgas = sumgas + gasto
leer gasto

5. fin del ciclo del paso 4

6. imprimir sumgas

7. fin

Fase Anlisis

Sena Produccin en multimedia

37

pe tit iv as
Es tru ct ur as re

pe tit iv as
Es tru ct ur as re

Formato:

4.2. Repetir para (For)


Estructura repetitiva repetir (for)
La estructura repetir conocida comnmente
como for, es la estructura algortmica
adecuada para realizar un ciclo que se
ejecutar un nmero definido de veces.
Este tipo de estructura est presente en
todos los lenguajes de programacin, ya
sean estructurados u orientados a objetos.
Por ejemplo cuando necesitamos calcular la
nmina total de la empresa, tenemos que
sumar los sueldos de los n empleados de la
misma.
Cuando necesitamos obtener el promedio
de calificaciones de un curso, debemos
sumar las n calificaciones de los alumnos y
dividir esa suma entre n. Es decir, sabemos
de antemano cuntas veces tenemos que
repetir una determinada operacin, accin
o tarea.
El nmero de repeticiones no depende de las
proposiciones dentro del ciclo, el nmero
de veces se obtiene del planteamiento del
problema o de una lectura que indica que el
nmero de iteraciones se debe realizar para
n ocurrencias.
Dicho de otra forma el ciclo, es controlado
por un contador que tiene que definirse
con un valor inicial, un valor final y
un incremento, esto significa que debe
conocerse de antemano el nmero de veces
que se debe repetir el ciclo.

38

Sena Produccin en multimedia

Fase Anlisis


a) Forma ascendente
b) Forma descendente

hacer V = VI
hacer V = VI

repetir con V desde VI hasta VF repetir con V desde VI hasta VF


proceso proceso

hacer V = V + ID
hacer V = V ID

{ Fin del ciclo }
{ Fin del ciclo }

Donde:

Funcionamiento:


V.- variable de control del ciclo.

VI.- valor inicial.

VF.- valor final.

ID.- incremento o decremento, segn sea
la estructura ascendente o
descendente.

V (contador del ciclo, generalmente representado por las variables i, j, k) toma un valor inicial y se compara con VF (valor final). El ciclo
se ejecuta mientras V es menor, menor o igual,
mayor, mayor o igual al valor de VF, el valor de
V se incrementa o decrementa en cada iteracin.
Cuando V supera el valor de VF entonces el ciclo se detiene.

Fase Anlisis

Sena Produccin en multimedia

39

pe tit iv as
Es tru ct ur as re

pe tit iv as
Es tru ct ur as re

Ejemplo 1: Desarrollar un algoritmo y diagrama de flu-

Diagrama de flujo

jo tal que dado como datos 10 nmeros enteros, obtenga la


suma de los 10 nmeros enteros. Se mostrar la suma de
los 10 nmeros enteros.

1. inicio Dado 10 nmeros enteros obtener la suma

2. declaracin de variables:
i, num, suma = 0: entero

3. i = 1

4. repetir con i desde 1 hasta 10
leer num
suma = suma + num
i = i + 1

5. fin del ciclo del paso 3

6. imprimir suma

7. fin

4.3. Hacer mientras (Do while)


Diagrama de flujo

Ejemplo 2: Desarrollar un algoritmo y diagrama de flujo tal que dado como datos n nmeros
enteros, obtenga la suma de los n nmeros enteros. Se mostrar la suma de los n nmeros enteros.

1. inicio Dado n nmeros enteros obtener
la suma

2. declaracin de variables:
i, num, n, suma = 0: entero

3. leer n

4. i = 1

5. repetir con i desde 1 hasta n
leer num
suma = suma + num
i = i + 1

6. fin del ciclo del paso 3

7. imprimir suma

8. fin

40

Sena Produccin en multimedia

Fase Anlisis

Estructura repetitiva hacer


mientras (do/while)
La estructura algortmica hacer mientras
comnmente conocida como do/while, es
una estructura de control que permite hacer
una repeticin en un intervalo de uno a n
veces, esto se debe a que la condicin de
control del ciclo se coloca al final de la
estructura y se entra al ciclo sin evaluar la
condicin.
Primero se ejecuta y luego se evala la
condicin, si se cumple se regresa al ciclo,
si no, termina el ciclo. Por lo tanto se
ejecutar una o ms veces.

Formato:

Hacer PI = proposicin inicial

Hacer



proceso



Hacer PI = modificacin de PI

Mientras (condicin PI)

{ Fin del ciclo }

Donde:
PI.- proposicin inicial, si el valor de PI es falso, entonces el ciclo no se ejecuta.

Fase Anlisis

Sena Produccin en multimedia

41

pe tit iv as
Es tru ct ur as re

Diagrama de flujo

pe tit iv as
Es tru ct ur as re

Ejemplo 2: Desarrollar un algoritmo y diagrama de flujo el cual, para n nmeros enteros


positivos mostrar los pares.
Algoritmo Para n nmeros enteros positivos mostrar los pares

Ejemplo 1: Desarrollar un algoritmo y diagrama de flujo el cual, obtenga el promedio de


n nmeros enteros, mostrar el promedio de los
n nmeros.


1. inicio

2. declaracin de variables:
i, n: entero

3. leer n

4. i = 2

5. hacer
imprimir i
i = i + 2

mientras (i < = n)

6. fin del ciclo del paso 5

7. fin

Algoritmo Obtener el promedio de n nmeros


enteros

Diagrama de flujo

Diagrama de flujo


1. inicio

2. declaracin de variables:
i, n: enteros
num, suma = 0, prom: flotantes

3. leer n

4. i = 1

5. hacer
leer num
suma = suma + num
i = i + 1 mientras (i < = n)

6. fin del ciclo del paso 5
7. prom = suma / n
8. imprimir prom
9. fin
42

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

43

)
Da to s (A rre gl os
Es tru ct ur as de

05

)
Da to s (A rre gl os
Es tru ct ur as de

Estructuras de Datos (Arreglos)

5.1 Arreglos en una


dimensin o Vectores

44

Arreglos

Definicin de arreglo

El arreglo es un tipo de dato estructurado


formado por un conjunto de elementos de
un mismo tipo de datos.
En las unidades anteriores trabajamos
con tipos de datos enteros, flotantes,
cadenas, etc., los cuales son considerados
como datos de tipo simple, puesto que
una variable que se define con alguno de
estos tipos slo puede almacenar un valor
a la vez, es decir, existe una relacin de
uno a uno entre la variable y el nmero
de elementos (valores) que es capaz de
almacenar.
En cambio un dato de tipo estructurado
como el arreglo, puede almacenar a ms
de un elemento (valor) a la vez, con la
condicin de que todos los elementos deben
ser del mismo tipo de dato, es decir, que
se puede tener un arreglo de datos enteros,
flotantes, etc.
Los arreglos se clasifican de acuerdo con
el nmero de dimensiones que tienen. As,
se tienen los arreglos unidimensionales
(una dimensin), los bidimensionales (dos
dimensiones) y los multidimensionales ( de
ms de dos dimensiones ), etc.

Un arreglo se define como una coleccin finita,


homognea y ordenada de elementos:

Sena Produccin en multimedia

Finita.- todo arreglo tiene un lmite, es decir se


sabe determinar cul ser el nmero mximo de
elementos que podrn formar parte del arreglo.
Homognea.- todos los elementos de un arreglo son del mismo tipo.
Ordenada.- se puede determinar cul ser el
primer elemento, el segundo, el tercero, , y
el n-simo elemento.

Un arreglo puede
representarse grficamente
como se muestra a
continuacin:

Fase Anlisis

Arreglos unidimensionales
Un arreglo unidimensional, est formado
por un conjunto de elementos de un mismo
tipo de datos que se almacenan bajo un
mismo nombre y se diferencian por la
posicin (ndice) que tiene cada elemento
dentro del arreglo de datos. Por ejemplo:
tenemos el nmero de unidades producidas
por un obrero en cada uno de los das
del mes. Para almacenarlos y manejarlos
definimos un arreglo de una dimensin
de 30 elementos, como se muestra a
continuacin:
El cual define un arreglo llamado
produccin con 30 casillas o lugares para
almacenar los datos de 30 das.

Fase Anlisis

Produccin

1
2
3
*
*
*
30

Sena Produccin en multimedia

45

)
Da to s (A rre gl os
Es tru ct ur as de

Declaracin de arreglo unidimensional

Manejo de los elementos de un arreglo

Lectura

Escritura

Cuando se declara un arreglo, es necesario hacerlo como una variable:

Cada elemento individual de un arreglo se relaciona con el nombre de la variable y un nmero


(ndice) que indica la posicin la posicin que
ocupa el elemento dentro del arreglo. Dicho nmero se pone entre [ ] y se le llama subndice.
De acuerdo con el ejemplo anterior:

El proceso de lectura de un arreglo consiste en


leer y asignar un valor a cada uno de sus elementos. Consideremos de nuevo nuestro ejemplo una
forma podra ser de la siguiente manera:

El caso de escritura es similar al de lectura. Se


debe escribir el valor de cada uno de los componentes, por ejemplo, considerando nuestro ejemplo:

Nombre Variable: Arreglo [tamao] Tipo de dato

Donde:
Nombre Variable.- Nombre de identificacin
de la variable.
Arreglo.- Palabra reservada que indica que la
variable es un arreglo.
Tamao.- Nmero entero que indica la cantidad
de elementos que tendr el arreglo.
Tipo.- Tipo de dato que tendr el conjunto de elementos del arreglo que se esta definiendo, puede
ser entero, real, carcter, etc.

El elemento 1 se relaciona con Produccin[1]


El elemento 2 se relaciona con Produccin[2]

El elemento 30 se relaciona con Produccin[30]


El subndice puede ser una constante
numrica entera como 1, 2, 3,, 30, una
variable de tipo entero, como: Produccin [
i ], o bien, una expresin algebraica que de
un resultado de tipo entero como:

Si recordamos el ejemplo anterior, la forma de


declararlo es:

Produccin: Arreglo [30] entero




46

)
Da to s (A rre gl os
Es tru ct ur as de

Produccin es el nombre de la variable.


Es un arreglo que contiene 30 elementos
(de 1 a 30).
Cada elemento del arreglo ser un dato de
tipo entero.

Sena Produccin en multimedia

Produccin [ i + 3 ]
Produccin [ (i * 4) j ]

Leer
Leer

Leer

Produccin[1],
Produccion[2],

Produccin[30]

De esta forma no resultara prctico, por lo tanto se usar un ciclo para leer todos los elementos del arreglo:
i=1
repetir con i desde 1 hasta 30
leer Produccin[i]
i=i+1
fin del ciclo

Como toda variable, una de tipo arreglo


puede usarse para leer datos, asignarle
valores mediante expresiones aritmticas,
imprimir su contenido, formar parte de
expresiones lgicas , etc.

Fase Anlisis

Fase Anlisis


i=1

repetir con i desde 1 hasta 30
imprimir Produccin[i]
i = i + 1

fin del ciclo

Ejemplo1: Desarrollar un algoritmo y diagrama


de flujo que reciba como entrada un arreglo unidimensional de n valores de tipo entero y muestre el arreglo unidimensional:
Algoritmo Arreglo de n elementos enteros
mostrarlos

1. inicio

2. declaracin de variables:
i, n: entero
arr: arreglo[n] entero

3. leer n

4. i = 1

5. repetir con i desde 1 hasta n
leer arr[i]
i = i +1

6. fin del ciclo del paso 5

7. i = 1

8. repetir con i desde 1 hasta n
imprimir arr[i]
i = i + 1

9. fin del ciclo del paso 8

10. fin

Sena Produccin en multimedia

47

)
Da to s (A rre gl os
Es tru ct ur as de

)
Da to s (A rre gl os
Es tru ct ur as de

Diagrama de flujo

48

Diagrama de flujo

Ejemplo 2: Desarrollar un algoritmo y diagra-

Algoritmo

ma de flujo que reciba como entrada un arreglo


unidimensional que corresponde a los sueldos
de un grupo de 70 empleados de una empresa y
necesitamos saber cuntos de estos empleados
tienen un sueldo superior al promedio del grupo. Mostrar el total de empleados que tiene un
sueldo superior al promedio del grupo.


1. inicio

2. declaracin de variables:
i, conta = 0: entero
prom, acsue = 0: flotante
sue: Arreglo[70] flotante

3. i = 1
4. repetir con i desde 1 hasta 70
leer sue[i]
acsue = acsue + sue[i]
i = i + 1

5. fin del ciclo del paso 4

6. prom = acsue / 70

7. i = 1

8. repetir con i desde 1 hasta 70
8.1 si sue[i] > prom entonces

conta = conta + 1
8.2 fin del condicional del paso 8.1
i = i + 1

9. fin del ciclo del paso 8

10. imprimir conta

11. fin

Sena Produccin en multimedia

Fase Anlisis

Ejemplo 3: Desarrolla un algoritmo y diagra-

Algoritmo

ma de flujo que reciba como entrada dos arreglos


unidimensionales cada uno con 20 nmeros enteros, calcular la suma uno a uno de los elementos
de los dos arreglos y almacenar el resultado en un
tercer arreglo. Mostrar al final los tres arreglos.


1. inicio

2. declaracin de variables:
a, b, c: Arreglo[20] entero
i: entero

3. i = 1
4. repetir con i desde 1 hasta 20
leer a[i]
leer b[i]
c[i] = a[i] + b[i]
i = i + 1

5. fin del ciclo del paso 4

6. i = 1

7. repetir con i desde 1 hasta 20
imprimir a[i], b[i], c[i]
i = i +1

8. fin del ciclo del paso 7

9. fin

Fase Anlisis

Sena Produccin en multimedia

49

)
Da to s (A rre gl os
Es tru ct ur as de

Diagrama de flujo

)
Da to s (A rre gl os
Es tru ct ur as de

Representacin de un
arreglo bidimensional:
Tal que:

1<=i<=M
1<=j<=N
1

1
2
.
i
.
M

Arreglos multidimensionales
Los arreglos presentados en el tema
anterior reciben el nombre de arreglos
unidimensionales o lineales, debido a que
cualquier elemento es referenciado por un
nico ndice.
Tambin existe en la mayora de los
lenguajes de programacin una estructura
de arreglos multidimensionales. El nmero
de dimensiones (ndices) que se deben
utilizar en un arreglo depende del problema
que debemos resolver.
En este tema analizaremos los arreglos
bidimensionales (caso especial de los
multidimensionales) por ser los mas
utilizados.

50

Sena Produccin en multimedia

El arreglo bidimensional o de dos


dimensiones, est formado por un conjunto
de elementos de un mismo tipo de datos
que se almacenan bajo un mismo nombre
y que al igual que en el unidimensional,
se diferencian por la posicin que tiene
cada elemento dentro del arreglo de datos,
con la aclaracin de que la disposicin de
los elementos es en forma rectangular o
cuadrada, donde la primera dimensin est
dada por los renglones y la segunda por las
columnas.
Un arreglo de este tipo, tambin conocido
como matriz, es del orden
M x N, donde
M es el nmero de renglones y N el nmero
de columnas, es decir, en forma de tabla.
Un elemento [i, j] estar en el rengln i y
en la columna j. internamente en memoria
se reservan M x N posiciones consecutivas
para almacenar todos los elementos del
arreglo.
Fase Anlisis

Declaracin de arreglos
bidimensionales

Donde:

Al declarar un arreglo es necesario hacerlo como


una variable, por la cual en la parte de declaraciones de variables se utiliza el siguiente formato:

de la variable.
Arreglo.- palabra reservada que indica que la
variable es un arreglo.
TamaoRenglones.- indica el nmero de renglones que tendr el arreglo.
TamaoColumnas.- indica el nmero de columnas que tendr el arreglo
Tipo de dato.- es el tipo de dato que tiene el
conjunto de elementos del arreglo que se est
definiendo; puede ser entero, real, etc.

NombreArreglo: Arreglo[TamaoRenglones,
TamaoColumnas] Tipo de dato.

NombreArreglo.- nombre de identificacin

Por ejemplo, si aplicamos los conceptos del formato para definir la matriz de orden 4 x 5 de nmeros enteros, tenemos:
Matriz: Arreglo[4, 5] entero
1. Matriz es el nombre de la variable.
2. Es un arreglo que contiene a renglones y 5 columnas (20 elementos).
3. Cada elemento del arreglo es un dato de tipo
entero.
Fase Anlisis

Sena Produccin en multimedia

51

)
Da to s (A rre gl os
Es tru ct ur as de

)
Da to s (A rre gl os
Es tru ct ur as de

Manejo de los elementos de una matriz

Lectura

Escritura

Para relacionar cada elemento individual de una


matriz se usan dos subndices; el primero indica
el rengln y el segundo la columna, como sigue:
Matriz[Rengln, Columna]

Para realizar la lectura de una matriz los elementos deben referenciarse por medio de dos ndices,
normalmente se usan dos ciclos (anidados) para
lograr la lectura de elementos consecutivos. Por
ejemplo leer los elementos de una matriz de orden 5 x 3, los pasos a seguir son los siguientes:

El procedimiento para una escritura es similar


al de una lectura

donde:
Rengln.- indica el nmero de rengln y
Columna.- indica el nmero de columna que
ocupa el elemento relacionado.
Los subndices pueden ser constantes, variables
o expresiones de tipo entero.
Como toda variable, una de tipo matriz puede
usarse para leer datos, asignarle valores mediante expresiones aritmticas, imprimir su contenido, formar parte de expresiones lgicas, etc.
Por ejemplo:

Matriz[1, 1] = 20
Leer Matriz[R, C]
Leer Matriz[3, 4]
Matriz[1, 2] = Matriz[1, 2] + Matriz[2, 3]
Imprimir Matriz[1, 2]

i=1

Repetir con i desde i hasta 5
j = 1
Repetir con j desde 1 hasta 3

leer matriz[i, j]

j=j+1
fin del ciclo interno
i = i + 1

fin del ciclo externo


i=1

Repetir con i desde 1 hasta 5
j = 1
Repetir con j desde 1 hasta 3

Imprimir Matriz[i, j]

j = j +1
fin del ciclo interno
i = i + 1

fin del ciclo externo

Al variar los ndices de i y j se lee un elemento de matriz, segn la posicin indicada por los
ndices i y j
Para i = 1 y j = 1, se lee el elemento del rengln
1 y columna 1
i = 1 y j = 2, se lee el elemento del rengln 1 y
columna 2

i = 5 y j =3, se lee el elemento del rengln 5 y


columna 3

52

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Ejemplo 1: Desarrollar un algoritmo y diagrama de flujo el cual, reciba como entrada un arreglo bidimensional de orden m x n con valores de
tipo entero y muestre el arreglo bidimensional:

Algoritmo

1. inicio

2. declaracin de variables:
i, j, m, n: entero
mat: Arreglo[m, n] entero

3. leer m, n

4. i = 1

5. repetir con i desde 1 hasta m
j = 1
5.1 repetir con j desde 1 hasta n

leer mat[i, j]

j=j+1
5.2 fin del ciclo del paso 5.1
i = i + 1

6. fin del ciclo del paso 5

7. i = 1

8. repetir con i desde 1 hasta m
j = 1
8.1 repetir con j desde 1 hasta n

imprimir mat[i, j]

j=j+1
8.2 fin del ciclo del paso 8.1
i = i + 1

9. fin del ciclo del paso 8

10. fin

Sena Produccin en multimedia

53

)
Da to s (A rre gl os
Es tru ct ur as de

Diagrama de flujo

)
Da to s (A rre gl os
Es tru ct ur as de

Ejemplo 2: Desarrollar un algoritmo y dia-

Algoritmo

grama de flujo el cual reciba como entrada un


arreglo bidimensional de orden m x n con valores de tipo entero, para calcular la suma de los
elementos de la diagonal principal. Mostrar el
arreglo bidimensional y la suma de los elementos de la diagonal principal.


1. inicio

2. Declaracin de variables
i, j, m, n, sumdiag=o: entero
mat: Arreglo[m, n] entero

3. Leer m, n

4. i = 1

5. repetir con i desde 1 hasta m

j=1

5.1 repetir con j desde 1 hasta n

leer mat[i, j]

5.1.1 si i == j entonces
sumdiag = sumdiag + mat[i, j]

5.1.2 fin del condicional 5.1.1

j=j+1

5.2 fin del ciclo del paso 5.1

i=i+1

6. fin del ciclo del paso 5
7. i = 1

8. repetir con i desde 1 hasta m
j = 1
8.1 repetir con j desde 1 hasta n

imprimir mat[i, j]

j=j+1
8.2 fin del ciclo del paso 8.1
i = i + 1

9. fin del ciclo del paso 8

10. imprimir sumdiag

11. fin

Continuacin del Diagrama de flujo

54

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

55

)
Da to s (A rre gl os
Es tru ct ur as de

He rra m ie nt as

i n
pa ra la si m ul ac

06

Diagrama de flujo

Herramientas para la simulacin

6.1. Pseudocdigo LPP


Lpp es un lenguaje de programacin para principiantes, el cual fue diseado con la idea de facilitar el proceso de enseanza-aprendizaje de un
leguaje de programacin en nuestro idioma, este
contiene la mayora de instrucciones que tienen
los lenguajes de programacin.

Va dirigido a todos aquellos que quieren empezar en el gran mundo de la programacin y no


saben por dnde empezar. Es una forma fcil de
aprender ya que se trata de una forma de programacin en nuestro propio lenguaje.

Continuacin del Diagrama de flujo

56

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Sena Produccin en multimedia

57

He rra m ie nt as

i n
pa ra la si m ul ac

6.2. Diagramas de flujo DFD


DFD es un editor e intrprete de diagramas de
flujo con el cual puedes dar forma grfica a un
gran nmero de algoritmos, ejecutarlos y depurarlos en caso de hallar errores.
Los diagramas de flujo (tambin llamados DFD)
sirven para representar algoritmos y procesos
similares que resuelven problemas a travs del
computador. DFD nos permite enriquecer y completar esos diagramas DFD incluyendo multitud
de elementos y guardndolos despus en el disco o imprimindolos mediante una impresora.
En la barra superior de DFD se agrupan los
objetos necesarios para la construccin de los
diagramas. Se parte siempre de una plantilla con
un estado inicial y uno final, conectados por una
flecha. Los tems se posicionan con un clic sobre
el tramo de conexin elegido: DFD se encarga
de redibujar los elementos.

Glosario
Dependiendo del tipo de objeto, hacer dobleclic abrir un cuadro de dilogo diferente en el
que introducir datos. Por ejemplo, en Condicin
se puede establecer la direccin de la condicin
verdadera y la expresin que debe verificarse.
DFD simplifica bastante el diseo de los subprogramas.
Cuando quieras probar tu diagrama, la tecla
F9 iniciar la ejecucin. Tambin puedes usar
los controles de reproduccin o recurrir al men
Depuracin para evaluar una expresin o efectuar un paso simple. El directorio de DFD incluye ejemplos de diagrama de flujo para que te
familiarices con su interfaz.

Algoritmo

Lgica

Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar
dicha actividad. Conjunto ordenado y finito de
operaciones que permite hallar la solucin de
un problema.

Ciencia que expone las leyes, modos y formas


del conocimiento cientfico. La que opera utilizando un lenguaje simblico artificial y haciendo abstraccin de los contenidos.

Instruccin
Conjunto de datos insertados en una secuencia
estructurada o especfica que el procesador interpreta y ejecuta.

Iteracin
Accin y efecto de repetir.

Lenguaje
Es un idioma artificial diseado para expresar
procesos que pueden ser llevadas a cabo por mquinas como los computadores. Pueden usarse
para crear programas que controlen el comportamiento fsico y lgico de una mquina, para
expresar algoritmos con precisin, o como modo
de comunicacin humana.

58

Sena Produccin en multimedia

Fase Anlisis

Fase Anlisis

Plataforma
Es un sistema que sirve como base para hacer
funcionar determinados mdulos de hardware o
de software con los que es compatible.

Pseucodigo
Es una descripcin de un algoritmo informtico
de programacin de alto nivel compacto e informal que utiliza las convenciones estructurales de
un lenguaje de programacin verdadero, pero que
est diseado para la lectura humana en lugar de
la lectura en mquina, y con independencia de
cualquier otro lenguaje de programacin.

Problema
Planteamiento de una situacin cuya respuesta
desconocida debe obtenerse a travs de mtodos
cientficos. Conjunto de hechos o circunstancias
que dificultan la consecucin de algn fin.

Sena Produccin en multimedia

59

en te s
fe re nc ia s y Fu
Bi bl io gr af a , Re

Bibliografa, Referencias y Fuentes

ito ria l
Cr d ito s de ed

Crditos de editorial

De Sanchez, M. (2004). Aprende a Pensar 5 Solucin de Problemas. Mxico DF: Editorial Trillas.
SENA, (2011, 20 de Diciembre). Metodologa de la Programacin de Sistemas Informticos. Bogot DC: Servicio Nacional de Aprendizaje. Recuperado el 18 de abril de 2010 de
http://www.senavirtual.edu.co.
Cair, O. (2008). Metodologa de la Programacin, algoritmos, diagramas de flujo y programas
(3a. Ed.). Buenos Aires: Alfa Omega Grupo Editor.
Descargar LPP [Lenguaje de Programacin para principiantes]. Recuperado el 20 de noviembre
de 2011 de
http://www.gratisprogramas.org/descargar/lpp-lenguaje-de-programacion-para-principiantes-rs/

Revisin, Preparacin y
Compilacin.
Freddy Oswaldo Ovalles Pabn
Instructor Multimedia SENA Regional Norte de
Santander Centro CIES.
fovalles@misena.edu.co

Diseo editorial
Alejandro Orozco Escobar

Iliana Eneth Molina Cuartas


Profesional grado 10
ilmocu@sena.pedu.co

Revisin Temtica
Dorian sully munera rua

Diseador visual Profesional


designifrit@gmail.com

Revisin Metodolgica y
Correccin de Estilo

Diagramacin

Adriana Marcela Bedoya V

Alejandro Orozco Escobar


Diseador visual Profesional
Colaboracin

Sergio Areiza
Diseador grfico
sergioareiza@hotmail.com

Sena Produccin en multimedia

Lder de produccon

dsmunera@misena.edu.co

DFD Descargar (2008, 23 de octubre). Recuperado el 20 de noviembre de 2011 de


http://dfd.softonic.com/

60

Equipo de Exper tos temticos y de


Diseo para Produccin de
Multimedia SENA

Fase Anlisis

Fase Anlisis

abedoya@misena.edu.co

Ilustracin
Alejandro Orozco Escobar
Diseador visual Profesional

Mario Andrs Sepulveda Mazo


Diseador visual Profesional
m_sepulveda@misena.edu.co

Sena Produccin en multimedia

61

Co nt ra ta pa

lisis

Fase de an

62

Sena Produccin en multimedia

Fase Anlisis

You might also like