logica_programacion (nueva ventana)

Anuncio
Fase análisis
ra
g
o
r
p
a
l
e
d
a
c
i
g
gramación Ló
o
Lógica de la pr
Año 2012 - Edición 01
Lógica de la programación
og ra m ac ió n
Ló gi ca de la pr
ón
ci
a
m
a
r
g
o
r
p
e
lógica d
Solución de problemas
Introducción
Fase de Análisis
a la programación
yecto
Actividad de pro
RequerimienDefinición de
tos del Cliente
de los elemenIdentificación
ra proyectos
tos de diseño pa
multimedia
Estructuras repetitivas
Estructuras de datos
Herramientas para
la simulación
Sena
Producción en multimedia
Actividad de
aprendizaje
Estructuras selectivas
Fase Análisis
Sena Producción en multimedia
1
id o
Ta bl a de co nt en
id o
Ta bl a de co nt en
Contenido Lógica de la programación
01
02
03
04
Solución de problemas
Introducción 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. Introducción a la solución de problemas: Características, pasos para resolverlos,
estrategia para mejorar la compresión del
enunciado de un problema y las variables e
identificación de los datos de un problema
1.2. Relación entre variables y características: Relaciones parte-todo, de orden, con
inversiones, con inversiones de orden y
familiares.
programación
2.1. Conceptos generales
2.2. Algoritmos y diagramas de flujo
2.3. Conceptos fundamentales
3.4. Si Multiple (Case)
2.4. Construcción de Algoritmos y Diagramas de flujo
page
36
page
27
page
11
1.3. Problemas acerca de las relaciones entre dos variables: tablas numéricas, lógicas
y conceptuales.
page
05
05
06
Estructuras de datos
Herramientas para la
(Arreglos)
simulación
5.1. Arreglos en una dimensión o Vectores
6.1. Pseudocódigo LPP
page
59
page
60
5.2. Arreglos multidimensionales o Matrices
Bibliografía
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
Créditos
tra en los créditos. No se puede obtener
ningún beneficio comercial y las obras
2
derivadas tienen que estar bajo los misSena Producción en multimedia
mos términos de licencia que el trabajo
original.
Fase Análisis
Fase Análisis
Sena Producción en multimedia
3
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
ulación
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
Solución de Problemas
1.1. Introducción a la solución de problemas:
Características, pasos para resolverlos, estrategia
para mejorar la compresión del enunciado de un
problema y las variables e identificación de los
datos de un problema
02
Introducción a la programación
2.1. Conceptos generales
Solución de Problemas
1.1.Introducción a la
solución de problemas:
C
aracterísticas, pasos para resolverlos,
estrategia para mejorar la compresión
del enunciado de un problema y las variables e identificación de los datos de un problema.
2.2. Algoritmos y diagramas de flujo
2.3. Conceptos fundamentales
2.4. Construcción de Algoritmos y Diagramas
de flujo.
1.2. Relación entre variables y características:
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 numéricas, lógicas y conceptuales.
3.3. Si Anidado
Un problema es un enunciado en el cual se
da cierta información y se plantea una pregunta que debe ser respondida; en general se pide
calcular o indagar uno o más 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 dimensión o Vectores
5.2. Arreglos multidimensionales
06
Con frecuencia la solución de problemas ha estado rodeada de mitos y creencias que obstaculizan el aprendizaje, se atribuyen a los problemas
dificultades no justificadas que, más bien, surgen
de la falta de información acerca de lo que es
un problema y de la variedad de estrategas que
pueden utilizarse para resolverlos.
Herramientas para la Simulación
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 solución de
problemas ha estado rodeada de
mitos y creencias que obstaculizan
el aprendizaje
Tipos de Problemas
De acuerdo con la naturaleza de la información que se da o se proporciona, los problemas
se dividen en dos tipos: estructurados y no estructurados. En el primer tipo se proporciona la
información necesaria y suficiente para encontrar la solución, y en el segundo la información
es incompleta o ambigua y debe complementarse
con datos adicionales.
Etapas para resolver un problema
Para llegar a la solución de un problema la
persona debe, en primer lugar; leer cuidadosamente el enunciado, codificar toda la información dada e identificar la información relevante
y las pistas que se dan. Este proceso contribuye a lograr una clara imagen o representación
mental del problema y es básica para alcanzar
la segunda etapa durante el proceso de solución
de un problema.
6.1. Pseudocodigo LPP
6.2. Diagramas de flujo DFD
4
Sena Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción en multimedia
5
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 comprensión
del enunciado de un problema:
componentes de un problema
Características de los problemas
Un problema es un enunciado acerca de una
situación determina en el cual se dan datos o información y se plantea una pregunta acerca de
una discrepancia o un desequilibrio entre una situación observada o dada y una situación deseada. La respuesta a la pregunta proporciona los
datos para reducir la discrepancia y constituye
la solución el problema.
Problemas Estructurados y
Problemas no Estructurados
Problemas no estructurados
La información dada no es suficiente
Identificación de las
características del
enunciado de un problema.
Estructurados
La información dada es la
necesaria y suficiente
a. Estado inicial: condición de partida.
b. Estados intermedios: diferente etapas
intermedia que deben completarse para
resolver el problema.
c. Estado final: condición 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 más datos faltantes. Resolver el problema
es encontrar el o los datos faltantes.
Componentes de un problema
Estrategia general y específica
Datos Iniciales Estado inicial
Datos finales Estado final
En este caso, dentro de la estrategia general
utilizamos además dos estrategias particulares
o específicas:
¿Cuántos jóvenes han recibido los
beneficios del plan de renovación de
la educación del país 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 contaminación. ¿Cuáles
son las principales causas de la contaminación
ambiental de las grandes ciudades?
6
2. ¿Cuántos jóvenes han recibido los beneficios del plan de renovación de la educación del
país 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 cálculos que sean requeridos
6. Verificar resultado
3. La protección de la salud de la población es
uno de los beneficios más importantes que una
comunidad puede recibir. Se precisa saber hasta
qué punto este beneficio lo están recibiendo los
habitantes de la región del Catatumbo.
Sena Producción en multimedia
Fase Análisis
La identificación 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 Análisis
La elaboración del diagrama
La identificación de los elementos del problema
y la elaboración del diagrama también tienen
sus particulares. Una estrategia es un conjunto
ordenado de pasos que permite lograr un objetivo.
Sena Producción en multimedia
7
ob le m as
So lu ci ón de pr
Las variables y la identificación
de los datos de un problema
Los datos de un problema, cualquiera que éste
sea, se expresan en términos de variables, de los
valores de éstas o de características 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 María pesa 60 kg, nos referimos a una
característica de María; 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 comprensión del enunciado de un problema está íntimamente relacionada con la identificación 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, tamaño, cantidad de dinero, lugar, etc., eran aspectos; ahora
estamos dándole al aspecto un nuevo nombre,
el de variable, y estamos aprendiendo algo más
sobre éstas. Una variable es una magnitud que
puede tomar valores cualitativos o cuantitativos.
1.2. Relación entre
variables y características:
Relaciones parte-todo, de
orden, con inversiones,
con inversiones de
orden y familiares.
Una relación es un nexo entre dos o más características 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 análisis de estos nexos
surge el tipo de relación, y de éste la estrategia
particular de representación que se va a utilizar
para comprender el problema, lograr la imagen
mental y, en muchos casos, obtener la solución.
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
relación entre dos variables o entre sus valores.
8
Sena Producción en multimedia
Fase Análisis
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 relación 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,
tío sobrino, entre primos, entre esposos y sus
familiares, suegros, yernos, cuñados, etc.
Problemas respecto a
relaciones de orden:
La estrategia a utilizar se denomina representación lineal y permite visualizar el enunciado
de los problemas y en la mayoría de los casos,
lograr la solución. La estrategia que permite representar datos correspondientes a una sola variable o aspecto se denomina representación en
una dimensión.
Problemas acerca de las relaciones
con inversiones de orden:
En este caso se requiere aplicar una estrategia
adicional, llamada postergación, que consiste en
dejar para más tarde aquellos datos que parezcan incompletos, hasta que se presente el dato
que complete la información.
Problemas acerca de las relaciones
con inversiones de orden:
Ejercicios con enunciados confusos, en este
tipo de casos es necesario prestar atención especial a la variable, a los signos de puntuación y al
uso de ciertas palabras presentes en el enunciado.
Fase Análisis
1.3. Problemas acerca de
las relaciones entre dos
variables: tablas numéricas,
lógicas 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
más apropiada para obtener las soluciones es la
construcción de tablas.
La estrategia particular que se utiliza en este
caso es la representación 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 números
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 lógica,
según 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 Producción en multimedia
9
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 Introducción a la programación
El número 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 numéricas,
relaciones lógicas entre dos o más variables y
relaciones entre conceptos. El primer tipo de
problema se resuelve mediante la construcción
de tablas numéricas; el segundo tipo de problema
se apoya en las tablas lógicas y el tercer tipo se
trabaja con tablas semánticas o conceptuales. En
la primeras se registran en las celdas cantidades
o números, en las segundas, relaciones lógicas
y en las terceras, conceptos.
Las tablas son instrumentos muy útiles para
resolver problemas pues permiten organizar la
información y visualizar el problemas; además,
constituyen una especie de memoria externa
que nos ayuda a mantener el record de algunos
elementos de información que a veces deben
postergarse para relacionarse con datos que se
dan posteriormente o que se infieren durante el
proceso de resolución de problemas.
Características de los problemas
de tablas numéricas.
Este tipo de problemas se refieren a relaciones
entre dos variables (las dos cualitativas) y se
resuelve mediante la estrategia de representación
tabular llamada tabla numérica. La estrategia se
llama así porque la tercera variable siempre toma
valores numéricos y estos valores son los que
sirven para completar la tabla.
10
Sena Producción en multimedia
Los problemas acerca de las tablas numéricas
con ceros.
El número cero (0) se asocia con el concepto
de “nada”, de nulo o de ausencia de algo. Por
esa razón es muy común confundir la falta de
información acerca de algo con el hecho establecido
de que no hay información respecto a ese algo.
Problemas acerca de tablas lógicas.
En este tipo de problemas la variable trabaja
con un tipo distinto de valor y se llama variable
lógica, que sólo puede tomar como valor los
calificativos “verdadero” o “falso”, o “si” o “no”.
Por su naturaleza, una tabla lógica tiene ciertas
propiedades que resultan muy útiles al construirlas.
Una vez completada, una tabla lógica 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 características es a través de nexos
entres los conceptos; en este caso se habla de
relaciones semánticas. Las relaciones de este tipo
de problema con las variables y características es
indirecta, por medio de las características 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 instrucción
informática, hacer un breve repaso de conceptos
fundamentales que se han de tomar en cuenta
cuando se desarrollan programas que se utilizarán
en computadoras.
Conjunto de instrucciones que hacen funcionar
a la computadora.
Organización
física
de
la
computadora
Se incluye la metodología que se requiere para
diseñar algoritmos de manera sencilla y funcional.
¿Qué es una computadora?
Es un dispositivo electrónico utilizado para
procesar información 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
comunicación entre la computadora y el usuario
para introducir datos (información) para su proceso.
Los datos se leen de los dispositivos de entrada y
se almacenan en la memoria principal, convierten
la información de entrada en señales eléctricas
que se almacenan en la memoria principal.
¿Qué es el software?
Tipos de dispositivos de entrada:
Los datos y la información se pueden introducir
en la computadora por la entrada y a continuación
se procesan para producir una salida (resultados).
Conjunto de programas escritos para una
computadora.
¿Qué es el hardware?
Componentes físicos que constituyen la computadora,
junto con los dispositivos que realizan las tareas
de entrada y salida
• Teclados.
• Lápices ópticos.
• Palancas de mando (joystick).
• Lectores de códigos de barra.
• Micrófonos.
• Mouse
• Cámaras de video, etc
Fase Análisis
Fase Análisis
Sena Producción 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 gráficos (plotters).
• Reconocedores de voz, etc.
Memoria principal
Conocida como RAM (Random Access Memory),
almacena información (instrucciones de un programa
y los datos con los que operan las instrucciones) de
manera transitoria, es decir, durante la ejecución
de un programa.
Unidad Central de Proceso (UPC)
Dirige y controla el proceso de información
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 Producción 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 aritmética Lógica (ALU).- realiza operaciones
aritméticas y lógicas, 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
información 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 razón, 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) más comúnmente utilizadas
son CD-ROM, DVD, cintas y discos
magnéticos, USB, etc.
Fase Análisis
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 programación y las operaciones que
conducen a expresar un algoritmo en forma
de programa se llama programación.
• Así pues, los lenguajes utilizados para
escribir programas de computadoras
son los lenguajes de programación y
programadores son los escritores y
diseñadores de programas.
• Los principales tipos de lenguajes
utilizados en la actualidad son:
• Lenguajes máquina.
• Lenguajes de bajo nivel (ensamblador)
• Lenguajes de alto nivel.
• programadores son los escritores y
diseñadores de programas.
• Los principales tipos de lenguajes
utilizados en la actualidad son:
• Lenguajes máquina.
• Lenguajes de bajo nivel (ensamblador)
• Lenguajes de alto nivel.
Fase Análisis
algoritmo adecuado
• programadores son los escritores y
diseñadores de programas.
• Los principales tipos de lenguajes utilizados
en la actualidad son: Lenguajes máquina,
Lenguajes de bajo nivel (ensamblador),
Lenguajes de alto nivel.
• programadores son los escritores y
diseñadores de programas.
• Los principales tipos de lenguajes utilizados
en la actualidad son: Lenguajes máquina,
Lenguajes de bajo nivel (ensamblador),
Lenguajes de alto nivel.
Lenguajes máquina
• Son aquellos que están escritos en lenguajes
directamente inteligibles por la máquina
(computadora), ya que sus instrucciones
son cadenas binarias (cadenas o series
de dígitos 0’s y 1’s) que especifican una
operación.
• Las posiciones (dirección) de memoria
implicadas en la operación se denominan
instrucciones de máquina o código máquina
(código binario).
• Las instrucciones en lenguaje máquina
dependen del hardware de la computadora y,
por lo tanto, diferirán de una computadora
a otra.
Sena Producción 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 más fáciles de utilizar que los lenguajes
máquina, pero, al igual, que ellos, dependen de
la máquina en particular.
• El lenguaje de bajo nivel por excelencia es el
ensamblador.
• Las instrucciones en lenguaje ensamblador son
instrucciones conocidas como nemotécnicos. Por
ejemplo, típicos de operaciones aritméticas: ADD,
SUB, DIV.
• Un programa escrito en lenguaje ensamblador
no puede ser ejecutado directamente por la computadora, en esto se diferencia esencialmente del
lenguaje máquina, sino que requiere una fase de
traducción al lenguaje máquina.
• El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina 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 más utilizados por los programadores,
están diseñados para que las personas escriban
y entiendan los programas de un modo más fácil que los lenguajes máquina y ensambladores.
• Un programa escrito en lenguaje de alto nivel
es independiente de la máquina; esto es, las instrucciones del programa de la computadora no
dependen del diseño 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 modificación 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 Producción 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
día. En realidad estamos aplicando un algoritmo
para resolver un problema.
Definición de Algoritmo.- secuencia ordenada
y cronológica de pasos que llevan a la solución
de un problema o a la ejecución de una tarea (o
actividad).
El algoritmo debe tener las siguientes
características:
•
•
•
•
•
Tener un principio
Ser simples, claros, precisos, exactos.
Tener un orden lógico.
Debe ser finito.
Tener un fin.
• El pseudocódigo describe un algoritmo utilizando
una mezcla de frases en lenguaje común, instrucciones
de programación y palabras clave que definen las
estructuras básicas.
• El objetivo del pseudocódigo es permitir que
el programador se centre en los aspectos lógicos
de la solución, evitando las reglas de sintaxis de
los lenguajes de programación.
• No siendo el pseudocódigo un lenguaje formal,
los pseudocódigos varían de un programador a
otro, es decir, no hay un pseudocódigo estándar.
Diagramas de flujo
• Un diagrama de flujo representa la esquematización
gráfica de un algoritmo.
• En realidad muestra gráficamente los pasos o
procesos a seguir para alcanzar la solución de
un problema.
Borland Delphi, C++ Builder, Power Builder
La definición de un algoritmo debe describir
tres partes:
• Su correcta construcción es sumamente importante
porque, a partir del mismo se escribe un programa
en algún lenguaje de programación.
Aunque hoy en día el mundo de Internet consume
gran cantidad de recursos en forma de lenguajes
de programación 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 programación
es relativamente simple y directo.
La serie de pasos, procedimientos o acciones que
nos permiten alcanzar un resultado o resolver un
problema a través de algoritmos, los desarrollamos
por medio de pseudocódigo.
• A continuación, presentamos los símbolos que
utilizaremos y una explicación 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 Análisis
Fase Análisis
Sena Producción 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
Símbolo utilizado para representar una decisión múltiple. En su
interior se almacena un selector y dependiendo del valor de dicho
selector se sigue por una de las ramas o caminos alternativos.
Símbolos utilizados para expresar la dirección
del flujo del diagrama
* Los datos a procesar por una computadora pueden clasificarse en:
• Simples
• Estructurados
Símbolo utilizado para representar una decisión. En su interior
se almacena una condición y dependiendo del resultado de la
evaluación de la misma se sigue por una de las ramas o caminos alternativos: verdadero o falso.
* Los datos simples se caracterizan porque ocupan sólo 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
Símbolo utilizado para introducir los datos de
entrada. Expresa lectura.
Símbolo utilizado para representar la impresión
de un resultado. Expresa escritura.
Son números que no contienen componentes fraccionarias y por lo tanto, no
incluyen el punto decimal, pueden estar
precedidos del signo + o --. Por ejemplo:
465
-387
9
99
-1578
125550
Reales (flotantes)
Símbolo utilizado para expresar conexión dentro de una misma página.
Símbolo utilizado para expresar conexión entre páginas diferentes.
Son números 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
Carácter
Símbolo utilizado para representar un proceso.
En su interior se expresan asignaciones, operaciones aritméticas, cambios de valor de celdas
en memoria, etc.
16
Sena Producción en multimedia
Símbolo utilizado para marcar el inicio y el fin
del diagrama flujo.
Fase Análisis
Contiene un solo carácter y va encerrado entre comillas simples. Por ejemplo:
‘a’
‘H’
Fase Análisis
‘A’
‘$’
‘#’
‘7’
‘+’
•
•
•
•
•
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
‘h’
Sena Producción 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 alfabéticos,
numéricos, y especiales, que sirven para representar
y manejar datos como: nombres, descripciones de
artículos, direcciones, etc. Van encerrados entre
comillas dobles, por ejemplo: “abc” “Carlos
Jiménez” “83-15-24-65” “$8#2”
Son datos que no cambian durante la ejecución de
un programa. Existen tipos de constantes como
tipos de datos, por lo tanto, puede haber constantes
enteras, reales (flotantes), de carácter, de cadenas
de caracteres, booleanas, etc.
Booleanos
Toma los valores de verdadero (true) o falso (false),
no puede ser leído o escrito, sólo asignado, es
útil para plantear cierto tipo de condiciones en
el manejo de las estructuras lógicas 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 básicas:
»» El primer carácter que forma un
identificador debe ser una letra o el símbolo
de subrayado ( _ ).
»» Los demás caracteres pueden ser letras,
dígitos o símbolo de subrayado.
n
la pr og ra m ac ió
In tro du cc ió n a
Operadores Aritméticos
Operador
Aritmético
Operación
Ejemplo
Resultado
**
Potencia
3**2
9
Variables
*
Multiplicación
5.25*3
15.75
1. Es un identificador que puede cambiar
su valor durante la ejecución de un
programa.
2. Se utiliza para representar un dato tipo
entero, real (flotante), o una constante de
carácter. Por ejemplo:
/
División
17/4 4
.25
+
Suma
58+79 1
37
-
Resta 2
5.96 -11.25 1
4.71
Mod
Módulo (residuo) 2
1 mod 2 1
div
División entera 1
9/3 6
• Variable i es de tipo entero,
• variable prom es de tipo real (flotante),
• Variable opción es de tipo carácter.
Operaciones aritméticas
Para poder realizar operaciones aritméticas
necesitamos de operadores aritméticos.
Estos operadores nos permiten realizar operaciones
aritméticas entre operandos: números, constantes o
variables. El resultado de una operación aritmética
es un número.
»» La longitud del identificador depende del
lenguaje de programación a utilizar.
Al evaluar expresiones que contienen operadores aritméticos debemos respetar la jerarquía en el
orden de aplicación. Es decir, si tenemos en una expresión más de un operador, debemos aplicar
primero el operador de mayor jerarquía, resolver esa operación y así sucesivamente.
Jerarquía de los operadores aritmé cos
Operador
Jerarquía
Operación
**
(Mayor)
Potencia
*, /, mod, div
+, -
Mul plicación, división, módulo, división entera
(menor)
Suma, resta
A continuación presentamos
en una tabla los operadores
aritméticos, la operación que
puede realizar y, un ejemplo
de su uso y su resultado:
18
Sena Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción en multimedia
19
n
la pr og ra m ac ió
In tro du cc ió n a
Reglas para resolver una expresión aritmética:
1.Si una expresión contiene subexpresiones entre paréntesis, éstas se evalúan primero, respetando
claro la jerarquía de los operadores aritméticos en esta subexpresión.
Si las subexpresiones se encuentran anidadas por paréntesis, primero se evalúan las subexpresiones
que se encuentran en el último nivel de anidamiento.
2. Los operadores aritméticos se aplican teniendo en cuenta la jerarquía y de izquierda a derecha.
n
la pr og ra m ac ió
In tro du cc ió n a
Operadores relacionales
Expresiones lógicas
Son operadores que permiten comparar dos
operandos, los operandos pueden ser números,
caracteres, constantes o variables.
Las expresiones lógicas o booleanas, están constituidas por números, constantes o variables y
operadores lógicos 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), carácter o cadena de caracteres.
El resultado de una expresión 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 Producción en multimedia
Operador Operación == <>
<
>
<=
>= 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 lógicos
Fase Análisis
• Son operadores que permiten formular
condiciones complejas a partir de
condiciones simples.
• Los operadores lógicos son de:
Disyunción (o)
Conjunción (y)
Negación (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 sólo un operando booleano y da como resultado un valor opuesto al
que tenga el operando.
Fase Análisis
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 Producción 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. Construcción 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
Continuación 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 diseño de un algoritmo
• Existe una gran cantidad de problemas que
requieren de un análisis profundo y de un
pensamiento flexible y estructurado para la
solución.
• La idea es ofrecer un conjunto de técnicas
y herramientas metodológicas que permitan
flexibilizar y estructurar el razonamiento
utilizado en la solución de problemas, esto
provocará finalmente la construcción de
algoritmos eficientes.
• A continuación en la figura podemos
observar las etapas que debemos seguir
para la solución de un problema.
1. La secuenciación es una estructura de
control que permite a la computadora
ejecutar una acción, después 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
expresión.
3. Es conveniente etiquetar cada acción con
números desde el uno en forma ascendente
de uno en uno, para denotar el orden
secuencial.
4. Por lo tanto los elementos básicos 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 Producción en multimedia
Verdadero o Verdadero
10
Verdadero
Fase Análisis
Fase Análisis
Nota.- Por verificación 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 identificación, el cual debe empezar con la palabra
Algoritmo seguida por una descripción del problema a
resolver.
b. Inicio: Todo algoritmo debe empezar con la etiqueta 1, que
marca el inicio del mismo.
c. Declaraciones: Después 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 aritméticas e imprimir datos tantas veces
como se requiera y en el orden apropiado para resolver el
problema en cuestión.
e. 5in del algoritmo: El último paso del algoritmo consiste en
incluir la indicación fin.
Sena Producción en multimedia
23
n
la pr og ra m ac ió
In tro du cc ió n a
Reglas para la construcción
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 exámenes. Se
imprimirá la matricula del estudiante y el promedio.
Algoritmo Calcular el sueldo de un empleado
1. Inicio
5. Imprimir cve, sueldo
2. Declaración 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. Declaración 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 gráficamente los pasos o
procesos a seguir para alcanzar la solución
de un problema.
• Los símbolos colocados adecuadamente,
permiten crear una estructura gráfica
flexible que ilustra los pasos a seguir para
alcanzar un resultado específico.
• El diagrama de flujo facilitará más tarde la
escritura del programa en algún lenguaje de
programación.
Diagrama de flujo del algoritmo, ejemplo 1
Desarrollar un algoritmo que permita leer un número en radianes
e imprima su equivalencia en grados; así mismo, leer un número
en grados e imprima su equivalencia en radianes.
Algoritmo Convierte radianes a grados y grados a radianes
1. Inicio
2. Declaración 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 Producción en multimedia
Fase Análisis
Fase Análisis
Reglas
• Todo diagrama de flujo debe tener un inicio
y un fin.
• Las líneas utilizadas para indicar la
dirección del flujo del diagrama deben ser
rectas, verticales y horizontales.
• Todas las líneas utilizadas para indicar la
dirección del flujo del diagrama deben
estar conectadas. La conexión puede ser a
un símbolo que exprese lectura, proceso,
decisión, impresión, conexión 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 notación utilizada en el diagrama de
flujo debe ser independiente del lenguaje
de programación.
• Es conveniente cuando realizamos una tarea
compleja poner comentarios que expresen
o ayuden a entender lo que hicimos.
• Si el diagrama de flujo requiere más de una
hoja para su construcción, debemos utilizar
los conectores adecuados y enumerar las
páginas convenientemente.
• No puede llegar más de una línea a un
símbolo.
Sena Producción 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)
Selección si-entonces
Funcionamiento:
• La estructura selectiva lógica “si entonces”
permite que el flujo siga por un camino
específico si se cumple una condición o un
conjunto de condiciones.
• Si al evaluar la condición (o condiciones) el
resultado es verdadero, entonces se ejecuta
(n) cierta (s) operación (es), luego continua
con la secuencia normal del proceso.
• Se utiliza cuando alguna operación está
condicionada para que se lleve a cabo, pero
no tiene una opción alterna.
Al llegar al si se evalúa la condición (es):
a. Si se cumple, se ejecuta (n) la (s) operación
(es) del entonces y luego salta hasta
el siguiente paso después del fin del
condicional.
b. Si no se cumple, salta hasta después del fin
del condicional, es decir no hace nada.
Diagrama de flujo del algoritmo, ejemplo 3
Diagrama de flujo
Formato:
si condición entonces
operación (es)
{ Fin del condicional }
Donde:
• si.- identifica la estructura selectiva
• condición.- expresa la condición o
conjunto de condiciones a evaluar
• entonces.- indica el curso de acción a
seguir si se cumple la condición.
• operación.- expresa la operación o
conjunto de operaciones.
• fin del condicional.- indica el fin de la
estructura de selección (si)
26
Sena Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción en multimedia
27
le ct iv as
Es tru ct ur as se
Ejemplo 1: Dado como dato una calificación
de un alumno en un examen, desarrollar un algoritmo y diagrama de flujo, que imprima el mensaje de aprobado en caso de que la calificación
sea mayor o igual a 70.
3.2. Si Entonces Sino
(If Then Else)
Diagrama de flujo
Algoritmo Alumno aprobado
1. Inicio
2. Declaración 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. Declaración 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 Producción en multimedia
le ct iv as
Es tru ct ur as se
Selección 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
decisión (es).
• Si al evaluar la condición (o condiciones)
el resultado es verdadero, entonces sigue
por un camino específico y se ejecuta (n)
cierta (as) operación (es). Por otra parte,
si el resultado es falso entonces se sigue
por otro camino y se ejecuta (n) otra (s)
operación (es).
• En ambos casos, luego de ejecutarse la (s)
operación (es) indicada (s), se continúa 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 condición
entonces
hacer operación 1
sino
hacer operación 2
{ Fin del condicional }
Donde:
• si.- identifica la estructura selectiva
• condición.- expresa la condición o
•
•
•
•
Diagrama de flujo
conjunto de condiciones a evaluar
entonces.- indica el curso de acción a
seguir si se cumple la condición.
operación 1.- expresa la operación o
conjunto de operaciones.
operación 2.- expresa la operación o
conjunto de operaciones.
fin del condicional.- indica el fin de la
estructura de selección (si)
Funcionamiento:
Al llegar al si se evalúa la condición (es):
• Opción verdadera (entonces) si se cumple, se ejecuta (n)
la (s) operación (es) del entonces y luego salta hasta el
siguiente paso después del fin del condicional.
• Opción falsa (sino) De lo contrario, salta hacia el sino, ejecuta
la (s) operación (es), y después salta hasta el siguiente paso
después del fin del condicional.
Fase Análisis
Fase Análisis
Sena Producción 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 solución de problemas en el
que luego de tomar una decisión y marcar
el camino correspondiente a seguir, es
necesario tomar otra decisión.. Se señala,
luego de evaluar las condiciones , la rama
correspondiente a seguir, y nuevamente
podemos tener que tomar otra decisión.
• El proceso puede repetirse numerosas
veces. En este caso, para resolver el
problema, estamos aplicando estructuras
selectivas en cascada o anidadas.
• A continuación presentamos diferentes
casos de anidamiento para la estructura
selectiva si:
Diagrama de flujo
Ejemplo 1: Dado como dato una calificación
de un alumno en un examen, desarrollar un algoritmo y diagrama de flujo, que imprima el mensaje de aprobado en caso de que la calificación sea
mayor o igual a 70 o reprobado en caso contrario.
Algoritmo
1. Inicio
2. Declaración 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 Producción en multimedia
Estructuras selectivas anidadas:
nsi condición1 entonces
n1
si condición2
entonces
hacer operación21
sino
hacer operación22
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. Declaración 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 Análisis
Fase Análisis
Sena Producción en multimedia
31
le ct iv as
Es tru ct ur as se
Lenguaje algorítmico de la estructura selectiva
anidada del diagrama de flujo caso2:
Lenguaje algorítmico de la estructura selectiva
anidada del diagrama de flujo caso3:
n si condición1
entonces
n1 si condición2
entonces
hacer operación 21
sino
hacer operación 22
n2 fin del condicional del paso n1
sino
n3 si condición3 entonces
hacer operación 31
n4 fin del condicional del paso n3
n +1 fin del condicional del paso n
n si condición1
entonces
n1 si condición2 entonces
hacer operación 21
n2 fin del condicional paso n1
sino
n3 si condición3
entonces
hacer operación 31
sino
hacer operación 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 Declaración 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 Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción 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 múltiple
• La estructura selectiva si múltiple permite
que el flujo del proceso se bifurque por
varias ramas en el punto de la toma de
decisión (es), esto en función del valor que
tome el selector.
• Si el selector toma el valor 1 se ejecutará
la acción 1, si toma el valor 2 se ejecutará
la acción 2, si toma el valor n se realizará
la acción n, y si toma un valor distinto de
los valores comprendidos entre 1 y n, se
continuará con el flujo normal del proceso
realizándose la acción n + 1.
Diagrama de flujo
Formato:
Por ejemplo: Desarrollar un algoritmo y diagra-
si selector igual
valor 1: hacer acción 1
valor 2: hacer acción 2
valor 3: hacer acción 3
valor n: hacer acción n
fin del condicional
hacer acción n + 1
ma de flujo tal que dado como datos la categoría
y el sueldo de un trabajador, calcule el aumento
correspondiente teniendo en cuenta la siguiente
tabla. Se imprimirá la categoría del trabajador y
su nuevo sueldo.
Categoria
1
2
3
4
Donde:
Selector.- variable o expresión a evaluarse, según la cual se tomará una de las múltiples
decisiones o alternativas.
Acción 1.- expresa la operación o conjunto
de operaciones que se van a realizar si el selector toma el valor 1.
Acción 2.- expresa la operación o conjunto
de operaciones que se van a realizar si el selector toma el valor 2.
Acción n.- expresa la operación o conjunto
de operaciones que se van a realizar si el selector toma el valor n.
Acción n + 1.- expresa la operación que
se va a realizar cuando se continúe con el flujo
normal del proceso.
La estructura selectiva si múltiple 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 categoría y el sueldo de un trabajador calcular el aumento
2. Declaración 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 condición del paso 2
6. imprimir cate, sue
7. Fin
si selector igual
valor 1,2: hacer acción 1
valor 3,4,5: hacer acción 2
de otra forma : hacer acción 3
fin del condicional
hacer acción x
34
Sena Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción 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
algorítmica
mientras
comúnmente conocida como while, es la
estructura adecuada para utilizar en un
ciclo cuando no sabemos el número de
veces que éste se ha de repetir.
• Dicho número depende de las proposiciones
dentro del ciclo.
• Esta estructura permite que se repita una
acción o un conjunto de acciones, en tanto
cierta condición se mantenga verdadera.
• La estructura while evalúa primero la
condición, si se cumple se ejecuta una
acción o conjunto de acciones; si no se
cumple, no entra al ciclo. Por lo tanto esta
estructura se repite cero o más veces.
Hacer PI = proposición inicial
Mientras PI es verdadera repetir
•
•
•
proceso
•
•
•
Hacer PI = modificación de PI
{ Fin del ciclo }
Donde:
PI.- proposición 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 cuántos fueron, deberá mostrar
la suma total de los gastos.
Diagrama de flujo
Diagrama de flujo
36
Sena Producción en multimedia
Ejemplo1: Desarrollar un algoritmo y diagrama de flujo que lea
n números positivos, determine y muestre el promedio de los n números positivos.
Algoritmo: Dado n números positivos obtenga el promedio
1. inicio
6. prom = suma / n
2. declaración 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 Análisis
Algoritmo: Obtener la suma de los gastos del viaje
1. inicio
2. declaración 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 Análisis
Sena Producción 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 comúnmente
como for, es la estructura algorítmica
adecuada para realizar un ciclo que se
ejecutará un número definido de veces.
• Este tipo de estructura está presente en
todos los lenguajes de programación, ya
sean estructurados u orientados a objetos.
Por ejemplo cuando necesitamos calcular la
nómina 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 cuántas veces tenemos que
repetir una determinada operación, acción
o tarea.
• El número de repeticiones no depende de las
proposiciones dentro del ciclo, el número
de veces se obtiene del planteamiento del
problema o de una lectura que indica que el
número 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 número de veces
que se debe repetir el ciclo.
38
Sena Producción en multimedia
Fase Análisis
a) Forma ascendente
b) Forma descendente
hacer V = VI
hacer V = VI
repetir con V desde VI hasta VFrepetir con V desde VI hasta VF
•
•
•
•
procesoproceso
•
•
•
•
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, según 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 iteración.
Cuando V supera el valor de VF entonces el ciclo se detiene.
Fase Análisis
Sena Producción 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 números enteros, obtenga la
suma de los 10 números enteros. Se mostrará la suma de
los 10 números enteros.
1. inicio Dado 10 números enteros obtener la suma
2. declaración 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 números
enteros, obtenga la suma de los n números enteros. Se mostrará la suma de los n números enteros.
1. inicio Dado n números enteros obtener
la suma
2. declaración 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 Producción en multimedia
Fase Análisis
Estructura repetitiva hacer
mientras (do/while)
• La estructura algorítmica hacer mientras
comúnmente conocida como do/while, es
una estructura de control que permite hacer
una repetición en un intervalo de uno a n
veces, esto se debe a que la condición de
control del ciclo se coloca al final de la
estructura y se entra al ciclo sin evaluar la
condición.
• Primero se ejecuta y luego se evalúa la
condición, si se cumple se regresa al ciclo,
si no, termina el ciclo. Por lo tanto se
ejecutará una o más veces.
Formato:
Hacer PI = proposición inicial
Hacer
•
•
•
proceso
•
•
•
Hacer PI = modificación de PI
Mientras (condición PI)
{ Fin del ciclo }
Donde:
PI.- proposición inicial, si el valor de PI es falso, entonces el ciclo no se ejecuta.
Fase Análisis
Sena Producción 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 números enteros
positivos mostrar los pares.
Algoritmo Para n números enteros positivos mostrar los pares
Ejemplo 1: Desarrollar un algoritmo y diagrama de flujo el cual, obtenga el promedio de
n números enteros, mostrar el promedio de los
n números.
1. inicio
2. declaración 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 números
enteros
Diagrama de flujo
Diagrama de flujo
1. inicio
2. declaración 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 Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción 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
dimensión o Vectores
44
Arreglos
Definición 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 sólo puede almacenar un valor
a la vez, es decir, existe una relación de
uno a uno entre la variable y el número
de elementos (valores) que es capaz de
almacenar.
• En cambio un dato de tipo estructurado
como el arreglo, puede almacenar a más
de un elemento (valor) a la vez, con la
condición 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 número de dimensiones que tienen. Así,
se tienen los arreglos unidimensionales
(una dimensión), los bidimensionales (dos
dimensiones) y los multidimensionales ( de
más de dos dimensiones ), etc.
Un arreglo se define como una colección finita,
homogénea y ordenada de elementos:
Sena Producción en multimedia
Finita.- todo arreglo tiene un límite, es decir se
sabe determinar cuál será el número máximo de
elementos que podrán formar parte del arreglo.
Homogénea.- todos los elementos de un arreglo son del mismo tipo.
Ordenada.- se puede determinar cuál será el
primer elemento, el segundo, el tercero, … , y
el n-ésimo elemento.
Un arreglo puede
representarse gráficamente
como se muestra a
continuación:
Fase Análisis
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
posición (índice) que tiene cada elemento
dentro del arreglo de datos. Por ejemplo:
tenemos el número de unidades producidas
por un obrero en cada uno de los días
del mes. Para almacenarlos y manejarlos
definimos un arreglo de una dimensión
de 30 elementos, como se muestra a
continuación:
• El cual define un arreglo llamado
producción con 30 casillas o lugares para
almacenar los datos de 30 días.
Fase Análisis
Producción
1
2
3
*
*
*
30
Sena Producción en multimedia
45
)
Da to s (A rre gl os
Es tru ct ur as de
Declaración 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 número
(índice) que indica la posición la posición que
ocupa el elemento dentro del arreglo. Dicho número se pone entre [ ] y se le llama subíndice.
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 podría 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 [tamaño] Tipo de dato
Donde:
Nombre Variable.- Nombre de identificación
de la variable.
Arreglo.- Palabra reservada que indica que la
variable es un arreglo.
Tamaño.- Número 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, carácter, etc.
El elemento 1 se relaciona con Producción[1]
El elemento 2 se relaciona con Producción[2]
•
•
•
El elemento 30 se relaciona con Producción[30]
• El subíndice puede ser una constante
numérica entera como 1, 2, 3,…, 30, una
variable de tipo entero, como: Producción [
i ], o bien, una expresión algebraica que de
un resultado de tipo entero como:
Si recordamos el ejemplo anterior, la forma de
declararlo es:
Producción: Arreglo [30] entero
46
)
Da to s (A rre gl os
Es tru ct ur as de
Producción 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 Producción en multimedia
Producción [ i + 3 ]
Producción [ (i * 4) – j ]
Leer
Leer
•
Leer
Producción[1],
Produccion[2],
•
•
Producción[30]
De esta forma no resultaría práctico, por lo tanto se usará un ciclo para leer todos los elementos del arreglo:
i=1
repetir con i desde 1 hasta 30
leer Producción[i]
i=i+1
fin del ciclo
• Como toda variable, una de tipo arreglo
puede usarse para leer datos, asignarle
valores mediante expresiones aritméticas,
imprimir su contenido, formar parte de
expresiones lógicas , etc.
Fase Análisis
Fase Análisis
i=1
repetir con i desde 1 hasta 30
imprimir Producción[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. declaración 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 Producción 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 cuántos 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. declaración 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 Producción en multimedia
Fase Análisis
Ejemplo 3: Desarrolla un algoritmo y diagra-
Algoritmo
ma de flujo que reciba como entrada dos arreglos
unidimensionales cada uno con 20 números 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. declaración 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 Análisis
Sena Producción 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
Representación de un
arreglo bidimensional:
Tal que:
1<=i<=M
1<=j<=N
1
2
.
j
.
N
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.
• También existe en la mayoría de los
lenguajes de programación una estructura
de arreglos multidimensionales. El número
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 Producción 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 posición que tiene
cada elemento dentro del arreglo de datos,
con la aclaración de que la disposición de
los elementos es en forma rectangular o
cuadrada, donde la primera dimensión está
dada por los renglones y la segunda por las
columnas.
• Un arreglo de este tipo, también conocido
como matriz, es del orden
M x N, donde
M es el número de renglones y N el número
de columnas, es decir, en forma de tabla.
• Un elemento [i, j] estará en el renglón i y
en la columna j. internamente en memoria
se reservan M x N posiciones consecutivas
para almacenar todos los elementos del
arreglo.
Fase Análisis
Declaración 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.
TamañoRenglones.- indica el número de renglones que tendrá el arreglo.
TamañoColumnas.- indica el número 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[TamañoRenglones,
TamañoColumnas] Tipo de dato.
NombreArreglo.- nombre de identificación
Por ejemplo, si aplicamos los conceptos del formato para definir la matriz de orden 4 x 5 de números 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 Análisis
Sena Producción 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 subíndices; el primero indica
el renglón y el segundo la columna, como sigue:
Matriz[Renglón, 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:
Renglón.- indica el número de renglón y
Columna.- indica el número de columna que
ocupa el elemento relacionado.
Los subíndices 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 aritméticas, imprimir su contenido, formar parte de expresiones lógicas, 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, según la posición indicada por los
índices i y j
Para i = 1 y j = 1, se lee el elemento del renglón
1 y columna 1
i = 1 y j = 2, se lee el elemento del renglón 1 y
columna 2
•
•
•
•
i = 5 y j =3, se lee el elemento del renglón 5 y
columna 3
52
Sena Producción en multimedia
Fase Análisis
Fase Análisis
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. declaración 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 Producción 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. Declaración 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
Continuación del Diagrama de flujo
54
Sena Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción 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 simulación
6.1. Pseudocódigo LPP
Lpp es un lenguaje de programación para principiantes, el cual fue diseñado con la idea de facilitar el proceso de enseñanza-aprendizaje de un
leguaje de programación en nuestro idioma, este
contiene la mayoría de instrucciones que tienen
los lenguajes de programación.
Va dirigido a todos aquellos que quieren empezar en el gran mundo de la programación y no
saben por dónde empezar. Es una forma fácil de
aprender ya que se trata de una forma de programación en nuestro propio lenguaje.
Continuación del Diagrama de flujo
56
Sena Producción en multimedia
Fase Análisis
Fase Análisis
Sena Producción 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 intérprete de diagramas de
flujo con el cual puedes dar forma gráfica a un
gran número de algoritmos, ejecutarlos y depurarlos en caso de hallar errores.
Los diagramas de flujo (también llamados DFD)
sirven para representar algoritmos y procesos
similares que resuelven problemas a través del
computador. DFD nos permite enriquecer y completar esos diagramas DFD incluyendo multitud
de elementos y guardándolos después en el disco o imprimiéndolos mediante una impresora.
En la barra superior de DFD se agrupan los
objetos necesarios para la construcción 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 conexión elegido: DFD se encarga
de redibujar los elementos.
Glosario
Dependiendo del tipo de objeto, hacer dobleclic abrirá un cuadro de diálogo diferente en el
que introducir datos. Por ejemplo, en Condición
se puede establecer la dirección de la condición
verdadera y la expresión que debe verificarse.
DFD simplifica bastante el diseño de los subprogramas.
Cuando quieras probar tu diagrama, la tecla
F9 iniciará la ejecución. También puedes usar
los controles de reproducción o recurrir al menú
Depuración para evaluar una expresión o efectuar un paso simple. El directorio de DFD incluye ejemplos de diagrama de flujo para que te
familiarices con su interfaz.
Algoritmo
Lógica
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 solución de
un problema.
Ciencia que expone las leyes, modos y formas
del conocimiento científico. La que opera utilizando un lenguaje simbólico artificial y haciendo abstracción de los contenidos.
Instrucción
Conjunto de datos insertados en una secuencia
estructurada o específica que el procesador interpreta y ejecuta.
Iteración
Acción y efecto de repetir.
Lenguaje
Es un idioma artificial diseñado para expresar
procesos que pueden ser llevadas a cabo por máquinas como los computadores. Pueden usarse
para crear programas que controlen el comportamiento físico y lógico de una máquina, para
expresar algoritmos con precisión, o como modo
de comunicación humana.
58
Sena Producción en multimedia
Fase Análisis
Fase Análisis
Plataforma
Es un sistema que sirve como base para hacer
funcionar determinados módulos de hardware o
de software con los que es compatible.
Pseucodigo
Es una descripción de un algoritmo informático
de programación de alto nivel compacto e informal que utiliza las convenciones estructurales de
un lenguaje de programación verdadero, pero que
está diseñado para la lectura humana en lugar de
la lectura en máquina, y con independencia de
cualquier otro lenguaje de programación.
Problema
Planteamiento de una situación cuya respuesta
desconocida debe obtenerse a través de métodos
científicos. Conjunto de hechos o circunstancias
que dificultan la consecución de algún fin.
Sena Producción en multimedia
59
en te s
fe re nc ia s y Fu
Bi bl io gr af ía , Re
Bibliografía, Referencias y Fuentes
ito ria l
Cr éd ito s de ed
Créditos de editorial
De Sanchez, M. (2004). Aprende a Pensar 5 – Solución de Problemas. México DF: Editorial Trillas.
SENA, (2011, 20 de Diciembre). Metodología de la Programación de Sistemas Informáticos. Bogotá DC: Servicio Nacional de Aprendizaje. Recuperado el 18 de abril de 2010 de
http://www.senavirtual.edu.co.
Cairó, O. (2008). Metodología de la Programación, algoritmos, diagramas de flujo y programas
(3a. Ed.). Buenos Aires: Alfa Omega Grupo Editor.
Descargar LPP [Lenguaje de Programación para principiantes]. Recuperado el 20 de noviembre
de 2011 de
http://www.gratisprogramas.org/descargar/lpp-lenguaje-de-programacion-para-principiantes-rs/
Revisión, Preparación y
Compilación.
Freddy Oswaldo Ovalles Pabón
Instructor Multimedia SENA Regional Norte de
Santander Centro CIES.
[email protected]
Diseño editorial
Alejandro Orozco Escobar
Iliana Eneth Molina Cuartas
Profesional grado 10
[email protected]
Revisión Temática
Dorian sully munera rua
Diseñador visual Profesional
[email protected]
Revisión Metodológica y
Corrección de Estilo
Diagramación
Adriana Marcela Bedoya V
Alejandro Orozco Escobar
Diseñador visual Profesional
Colaboración
Sergio Areiza
Diseñador gráfico
[email protected]
Sena Producción en multimedia
Líder de produccíon
[email protected]
DFD Descargar (2008, 23 de octubre). Recuperado el 20 de noviembre de 2011 de
http://dfd.softonic.com/
60
Equipo de Exper tos temáticos y de
Diseño para Producción de
Multimedia SENA
Fase Análisis
Fase Análisis
[email protected]
Ilustración
Alejandro Orozco Escobar
Diseñador visual Profesional
Mario Andrés Sepulveda Mazo
Diseñador visual Profesional
[email protected]
Sena Producción en multimedia
61
Co nt ra ta pa
lisis
Fase de aná
62
Sena Producción en multimedia
Fase Análisis
Descargar