Professional Documents
Culture Documents
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
id o
Ta bl a de co nt en
id o
Ta bl a de co nt en
01
02
03
04
Solucin de problemas
Introduccin a la
Estructuras selectivas
Estructuras repetitivas
3.3. Si Anidado
programacin
2.1. Conceptos generales
2.2. Algoritmos y diagramas de flujo
2.3. Conceptos fundamentales
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
page
59
page
60
Bibliografa
Este material puede ser distribuido, copiado y exhibido por terceros si se mues-
Glosario
page
page
44
57
page
61
Crditos
Fase Anlisis
Fase Anlisis
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:
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)
3.3. Si Anidado
04
Estructuras Repetitivas
4.1. Mientras que (While)
4.2. Repetir para (For)
4.3. Hacer mientras (Do while)
05
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.
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.
Fase Anlisis
Fase Anlisis
o
S
s
a
m
e
l
b
o
r
n de p
ob le m as
So lu ci n de pr
ob le m as
So lu ci n de pr
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
Componentes de un problema
Datos Iniciales
Estado inicial
Datos finales
Estado final
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?
Fase Anlisis
Estados
intermedios
Acciones u
operaciones
Restricciones
Pregunta del
problema
Fase Anlisis
ob le m as
So lu ci n de pr
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.
Fase Anlisis
ob le m as
So lu ci n de pr
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.
Fase Anlisis
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
Qu es un programa?
fsica
de
la
computadora
Qu es una computadora?
Es un dispositivo electrnico utilizado para
procesar informacin y obtener resultados.
Dispositivos de Entrada/Salida
Qu es el software?
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
11
n
la pr og ra m ac i
In tro du cc i n a
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.
C++
12
n
la pr og ra m ac i
In tro du cc i n a
Tipos de Lenguajes
Fase Anlisis
Fase Anlisis
algoritmo adecuado
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.
13
n
la pr og ra m ac i
In tro du cc i n a
Muy extendidos:
Modula-2, Prolog, LISP, Smaltalk
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).
Tener un principio
Ser simples, claros, precisos, exactos.
Tener un orden lgico.
Debe ser finito.
Tener un fin.
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.
Entrada.
Proceso.
Salida
14
n
la pr og ra m ac i
In tro du cc i n a
Fase Anlisis
Fase Anlisis
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
* 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
-387
99
-1578
125550
Reales (flotantes)
Son nmeros que contienen una parte fraccionaria y por lo tanto, incluyen el punto
decimal, pueden esta precedidos del signo + o --. Por ejemplo:
125.87
-124.0
158000.75
-38.5879
Carcter
Smbolo utilizado para representar un proceso.
En su interior se expresan asignaciones, operaciones aritmticas, cambios de valor de celdas
en memoria, etc.
16
Fase Anlisis
Fase Anlisis
Enteros
Reales (flotantes)
Caracteres
Cadena de caracteres
Booleanos
17
n
la pr og ra m ac i
In tro du cc i n a
Cadena de caracteres.
Constantes
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
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
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.
Jerarqua
Operacin
**
(Mayor)
Potencia
*, /, mod, div
+, -
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
Fase Anlisis
Fase Anlisis
19
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
Operadores relacionales
Expresiones lgicas
Las expresiones lgicas o booleanas, estn constituidas por nmeros, constantes o variables y
operadores lgicos o relacionales. El valor que
pueden tomar estas expresiones es de verdadero o falso.
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
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
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
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:
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
Continua
Continua 3).
22
Verdadero o Verdadero
10
Verdadero
Fase Anlisis
Fase Anlisis
23
n
la pr og ra m ac i
In tro du cc i n a
Ejemplo No 3
n
la pr og ra m ac i
In tro du cc i n a
Ejemplo No 2
24
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.
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
Estructuras Selectivas
Funcionamiento:
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
Fase Anlisis
Fase Anlisis
27
le ct iv as
Es tru ct ur as se
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
28
le ct iv as
Es tru ct ur as se
Seleccin si entonces/sino
Formato:
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
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
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
Diagrama de flujo
30
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
Caso 1
Caso 2
Fase Anlisis
Fase Anlisis
31
le ct iv as
Es tru ct ur as se
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
Diagrama de flujo
32
Fase Anlisis
Fase Anlisis
33
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
Formato:
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
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
Fase Anlisis
Fase Anlisis
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
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.
Diagrama de flujo
36
Fase Anlisis
37
pe tit iv as
Es tru ct ur as re
pe tit iv as
Es tru ct ur as re
Formato:
38
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
39
pe tit iv as
Es tru ct ur as re
pe tit iv as
Es tru ct ur as re
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
Fase Anlisis
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
41
pe tit iv as
Es tru ct ur as re
Diagrama de flujo
pe tit iv as
Es tru ct ur as re
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
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
Fase Anlisis
Fase Anlisis
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
44
Arreglos
Definicin de arreglo
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
45
)
Da to s (A rre gl os
Es tru ct ur as de
Lectura
Escritura
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.
46
)
Da to s (A rre gl os
Es tru ct ur as de
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
Fase Anlisis
Fase Anlisis
i=1
repetir con i desde 1 hasta 30
imprimir Produccin[i]
i = i + 1
fin del ciclo
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
Algoritmo
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
Fase Anlisis
Algoritmo
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
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
Declaracin de arreglos
bidimensionales
Donde:
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.
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
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
Lectura
Escritura
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:
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
52
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
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
Algoritmo
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
54
Fase Anlisis
Fase Anlisis
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
56
Fase Anlisis
Fase Anlisis
57
He rra m ie nt as
i n
pa ra la si m ul ac
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.
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
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.
59
en te s
fe re nc ia s y Fu
Bi bl io gr af a , Re
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
Revisin Temtica
Dorian sully munera rua
Revisin Metodolgica y
Correccin de Estilo
Diagramacin
Sergio Areiza
Diseador grfico
sergioareiza@hotmail.com
Lder de produccon
dsmunera@misena.edu.co
60
Fase Anlisis
Fase Anlisis
abedoya@misena.edu.co
Ilustracin
Alejandro Orozco Escobar
Diseador visual Profesional
61
Co nt ra ta pa
lisis
Fase de an
62
Fase Anlisis