Académique Documents
Professionnel Documents
Culture Documents
DISEO
ESTRUCT
URADO
DE
ALGORITM
OS
INSTITUTO TECNOLGICO N.S.R
OBJETIVO
GENERAL
AL
FINAL
DEL
CURSO,
EL
PARTICIPANTE
FORMARSE
UNA
MENTALIDAD
DE
PROGRAMADOR.
NDICE
TTULO
OBJETIVO GENERAL
NDICE
INTRODUCCIN GENERAL
I.
PARA
LA
CREACIN
DE
INTRODUCCIN
1.1 CONCEPTOS BSICOS PARA LA SOLUCIN DE PROBLEMAS POR
MEDIO DE COMPUTADORAS
1.2 METODOLOGA PARA LA SOLUCIN DE PROBLEMAS POR MEDIO
DE COMPUTADORA
CONCLUSIN
10
11
16
22
24
INTRODUCCIN
2.1 TIPOS DE DATOS SIMPLES
2.2 TIPOS DE OPERADORES
2.3 IDENTIFICADORES
CONCLUSIN
25
27
29
42
47
48
INTRODUCCIN
3.1 PSEUDOCDIGO
3.2 DIAGRAMA DE FLUJO
3.3 DIAGRAMA ESTRUCTURADO (NASSI-SCHNEIDERMAN)
CONCLUSIN
49
50
55
59
61
63
INTRODUCCIN
4.1 ESTRUCTURAS SECUNCIALES
4.2 ESTRUCTURAS CONDICIONALES
4.3 ESTRUCTURAS CCLICAS
CONCLUSIN
64
66
73
100
130
V. ARREGLOS Y ESTRUCTURAS
132
INTRODUCCIN
5.1. ARREGLOS
INSTITUTO TECNOLGICO N.S.R
133
134
3
5.2. ESTRUCTURAS
CONCLUSIN
158
167
168
INTRODUCCIN
6.1 MDULOS
CONCLUSIN
169
170
178
CONCLUSIN GENERAL
180
BIBLIOGRAFA
182
INTRODUCCIN GENERAL
Todos tenemos conciencia de que el xito de una
empresa depende de la rapidez, calidad, control de los
recursos, exactitud y otros muchos factores.
Hace
tiempo,
las
empresas
ya
sean
grandes
Con
el
paso
del
tiempo,
se
crearon
la
actualidad,
muchas
empresas
realizan
sus
ensambladoras
de
autos
se
utilizan
robots
que
utilizan
forman
las
el
carro;
computadoras
en
los
supermercados,
junto
con
un
programa
se
para
en
el
cuerpo
incisiones, cauterizar,
del
paciente
saturar, etc.;
para
realizar
este manual,
fue
utilizan
Sin
embargo
afortunadamente,
no
todas
las
de
programador,
mediante
la
elaboracin
de
las
dems
personas
para
poder
analizar
resolver
bases
mediante
computacional,
conocer
los
un
conceptos
de
programador,
pasos
que
se
que
etc.;
deben
es
un
adems,
realizar
sistema
se
para
da
poder
que
matemticas,
por
se
lo
realicen
cual
en
clculos
este
tema
y
se
operaciones
ensean
los
el ms
escribir
importante de
en
papel
todos, ya
sistemas
que se
computacionales
mucho
detalle,
adems
de
que
se
plantean
varios
problemas a resolver.
Tema
5.
Arreglos
Estructuras.
Este
tema
nos
lo
ya
anteriormente
mencionado,
no
un
lenguaje
de
programacin
adaptar
nuestros
conocimientos a este.
Nota.
una
especificacin
adicional
la
Ejemplo.
Ejercicios.
Cita
Textual.
la
parte
inferior
de
la
pgina
se
Sugerencia.
Aspecto
cuando
los
algoritmos
se
conviertan
en
programas.
Indica
que
es
momento
de
realizar
una
Evaluacin.
cada
tema,
adems
de
una
evaluacin
TEMA I.
CONCEPTOS
BSICOS Y
METODOLOGA
PARA LA
CREACIN DE
SISTEMAS
COMPUTACIONA
LES
10
I.
la
exposicin
del
instructor,
la
los
aplique
en
el
diseo
de
algoritmos.
CONTENIDO
INTRODUCCIN
1.1 Conceptos bsicos para la solucin de problemas por
medio de computadoras
1.2 Metodologa para la solucin de problemas por medio de
computadora
CONCLUSIN
INTRODUCCIN
Tal y como se mencion en la introduccin general,
se
espera
que
este
manual
nos
ayude
formarnos
una
este
tema,
el
cual
es
muy
sencillo
pero
no
sin
manera
tan
importancia.
Este
tema
esta
desarrollado
de
una
11
programador,
sistema
de
informacin,
computadora,
entre
pasos
que
debe
realizar
un
programador
para
poder
termines
con
este
tema,
realiza
la
saber
si
continas
avanzando
repasas,
que
de
nosotros
terminemos
este
curso,
seremos
debemos
de
tener
muy
en
claro
los
siguientes
conceptos.
Sistema. Un sistema es un conjunto de componentes que
interactan entre s para lograr un objetivo comn1.
Sistema Computacional o Sistema de Informacin. Es un
conjunto de
componentes, por
el cual
los datos
de una
fluyen hacia
otros2.
Es un sistema, debido a que el programa que se
pueda disear por si mismo no realizar nada, sino que
tiene que interactuar con la computadora y los usuarios.
SENN, James A., Anlisis y diseo de sistemas de informacin.2da Edicin, Ed. McGraw
Hill, Mxico.
2 ITEM.
12
lenguaje
de
programacin
que
ejecutadas
Lenguaje
de
Programacin.
Es
cualquier
lenguaje
lenguajes
de
programacin
pueden
ser
de
tipos:
Programas
escritos
en
Lenguajes
de
alto
nivel.
indica
Para
que
la
que
haga,
computadora
se
entienda
utilizan
lo
traductores,
que
se
le
los
cuales
maquina),
dichos
traductores
se
llaman
compiladores o interpretes.
Computadora.
Es
un
dispositivo
electrnico-mecnico
por
segundo5.
Toda
computadora,
tiene
los
siguientes elementos:
13
encargado
operaciones.
de
El
hacer
CPU
todos
su
los
vez
se
clculos
divide
en
y
las
siguientes partes:
Unidad
de
Control:
Coordina
las
mismo
controla
todo
el
proceso
de
la
computadora.
Unidad
Aritmtico
Lgica:
Realiza
resta,
multiplicacin,
divisin
comparaciones.
La Memoria. Es una parte de la computadora
resultante.
Esta
puede
ser
de
dos
tipos:
14
su
futura
consulta
disquetes,
discos
manejo.
duros,
Por
ejemplo:
unidades
de
C.P.U.
UNIDAD DE CONTROL
MEMORIA
directamente
travs
de
la
15
se
deben
seguir
para
dar
solucin
un
problema
especfico8.
La palabra algoritmo se deriva de la degeneracin
de la palabra rabe Al Jwarizmi, la cual es el pseudnimo
de
Mohammed
Ben
Musa,
matemtico
padre
del
lgebra
diferentes
tcnicas
de
representar
los
algoritmos:
Grficos:
Es
la
representacin
del
cada
smbolo
representa
una
operacin
distinta.
No
Grficos:
Es
la
representacin
del
16
en que
parte de
esta proceso
entra el
sistema
de
informacin
en
una
compaa
son
los
siguientes:
Investigacin Preliminar. Esta comienza cuando se recibe
una solicitud para disear un sistema y consta de tres
partes:
a) Aclaracin De La Solicitud. En muchas ocasiones las
solicitudes no estas formuladas de manera clara.
Por
consiguiente,
examinarse
la
solicitud
detenidamente
para
de
proyecto
debe
determinar
con
De
en
Factibilidad.
la
El
investigacin
resultado
preliminar
ms
es
el
17
1. Factibilidad
proyecto,
Tcnica.
puede
El
trabajo
realizarse
con
para
el
el
equipo
disponible?
tecnologa,
cul
Si
se
necesita
nueva
es
la
posibilidad
de
desarrollarla?
2. Factibilidad
los
Econmica.
beneficios
suficientes
para
Al
que
crear
se
aceptar
el
sistema,
obtienen
los
sern
costos?,
los
Operacional.
Si
se
desarrolla
De
La
Solicitud.
No
todas
las
para
su
desarrollo
implantacin
las
necesidades de personal.
Anlisis Del Sistema. En esta actividad se tienen que
comprender todas las facetas importantes de la parte de la
empresa
que
esta
bajo
estudio.
Se
deben
estudiar
los
esto,
mediante
el
uso
de
cuestionarios,
Diseo
Lgico Del
Sistema. Produce
los detalles
que
19
seleccionar
dispositivos
de
las
estructuras
almacenamiento.
de
archivo
Estos
los
procedimientos
estos
especificaciones
procedimientos
son
que
representados
contienen
mediante
las
diagramas,
programador
documentacin
de
los
es
responsable
programas
de
de
elaborar
proporcionar
la
una
en
esencial
para
mantenimiento
determinada
probar
una
vez
el
forma.
La
programa
que
la
documentacin
llevar
aplicacin
se
cabo
es
el
encuentra
instalada.
20
para
que
se
observe
como
trabajan
como
se
sienten con l.
Hay que descubrir cualquier error antes de que la
organizacin implante el sistema y dependa de l. Si es que
se detecta un error, hay que revisar si este es fsico o
lgico, es decir, un error fsico es que el programa esta
mal escrito, pero un error lgico implica regresar a las
etapas anteriores para detectar el origen de la falla. Esto
provoca que esta sea la etapa ms ardua y difcil, ya que
es
muy
probable
programa
que
infinidad
tengamos
de
veces
que
estar
hasta
corrigiendo
que
no
el
presente
problemas.
Es muy probable que esta fase sea realizada por
personas ajenas a la empresa para que esta sea objetiva.
Implantacin Y Evaluacin. La implantacin es el proceso
de
empresa (prueba
piloto) y
con solo
unas cuantas
21
Sin
cambian
embargo
con
el
las
paso
organizaciones
del
tiempo.
Por
los
usuarios
consiguiente,
es
al
software,
los
archivos
los
los
sistemas
se
mantengan
al
da
no
se
vuelvan
lo
largo
de
cualquiera
de
las
siguientes
dimensiones:
Evaluacin Operacional. Evala la forma en
tiempo
formatos
de
de
respuesta,
informacin,
lo
adecuado
confiabilidad
de
los
global
nivel de utilizacin.
en cuanto a
de
los
directivos
administradores
22
Desempeo
desarrollo
tiempo
concuerdan
del
De
sistema
esfuerzo
con
Desarrollo.
los
de
en
Se
criterios
desarrollo,
presupuestos
evala
tales
para
el
como
ver
si
estndares,
23
CONCLUSIN
En este tema, se vieron dos subtemas fundamentales
para disear sistemas que resuelvan problemas orientados a
computadoras.
En
el
primer
subtema,
se
presentaron
conceptos
los
datos
organizacin
Programa.
de
una
persona
departamento
de
una
Conjunto
de
instrucciones
escritas
de
algn
lenguaje de programacin
Lenguaje De
Programacin.
Lenguaje artificial
que puede
Dispositivo
electrnico-mecnico
capaz
de
programa
Persona
encargada
de
crear
un
sistema
Algoritmo. Representacin en papel de una serie de pasos
organizados que describe el camino y las operaciones que se
deben seguir para dar solucin a un problema especfico
En el segundo subtema se dieron a conocer la serie
de pasos que se deben de realizar para implantar un sistema
informtico en una empresa, tambin conocidos como ciclo de
vida de un sistema de informacin:
24
sistema actual.
Diseo Lgico del Sistema. Fundamenta en poner
el nuevo sistema.
Prueba
Del
Sistema.
Consiste
en
probar
el
en
poner
trabajar
el
sistema
en
la
empresa
comprobar su funcionalidad.
Hasta
este
momento,
sentirnos satisfechos,
con
pues hemos
lo
aprendido
podemos
establecido las
bases
95%
% Cubierto
% Faltante
25
TEMA II.
OPERACIONES
C O N L O S DATOS
26
II.
dominar
OBJETIVO realizan
disear
con
los
las
operaciones
datos
algoritmos
que
con
la
calculan
que
finalidad
y
se
de
comparan
datos.
CONTENIDO
INTRODUCCIN
2.1 Tipos De Datos Simples
2.2 Tipos De Operadores
2.3 Identificadores
CONCLUSIN
INTRODUCCIN
Como ya se ha comentado anteriormente, este curso
tiene
por
objeto
ensearnos
disear
algoritmos,
los
estos
datos
son
operaciones
como
suma,
resta,
27
Sabiendo
todo
lo
anterior,
debemos
aprender
de
que
debemos
de
aprender
crear
los
primero
es
para
conocer
los
diferentes
redacta
una
expresin
de
tal
manera
que
la
computadora la entienda.
El tercero esta diseado para saber como se
tema
no
es
difcil
de
asimilar,
pero
es
28
sistema
de
informacin
por
pequeo
"Es
un
conjunto
de
datos
estructurados
procesados"10.
ver tabla 1.
TIPOS DE DATOS
Numri
cos
Sim
ples
Enteros
Reales
Lgicos
Alfanumricos
Unidimensionale
rreglos
Com
plejos
Multidimensiona
les
Estructuras
Datos Simples.
9
SENN, James A., Anlisis y diseo de sistemas de informacin.2da Edicin, Ed. McGraw
Hill, Mxico.
10 ITEM
29
Datos
Numricos:
Permiten
representar
permiten
realizar
operaciones
aritmticas
comunes.
Enteros. Son los nmeros que no tienen
parte
decimal,
pueden
ser
positivos
Alfanumricos:
Es
una
secuencia
de
representar
estos
pierden
nmeros
su
como
propiedad
alfanumricos,
matemtica,
es
tema V.
Cualquier
capacidad
de
lenguaje
realizar
de
los
programacin
datos
los
tiene
la
clculos
ms
de
aprender
utilizar
los
datos
instruccin
de
una
manera
que
la
computadora
la
frmula
operadores,
en
una
sola
operandos
lnea
unos
de
cdigo,
criterios
de
utilizando
ejecucin
operaciones
divisin, mdulo y
como
suma,
resta,
multiplicacin,
asignacin.
31
OPERACIN
OPERADOR
Suma
Resta
Multiplicaci
n
Divisin
Mdulo
Asignacin
EXPRESIN
ALGORTMICA
a + b
5 + 7
a + 7
a b
5 - 7
a - 7
a * b
5 * 7
a * 7
a / b
10 / 2
a / 2
a % b
10 % 3
a % 3
a = 8
b = a
c = a + b
ayuda
clculo
de
estos
operadores
matemtico,
como
podemos
elevar
al
realizar
cuadrado,
debe de
utilizar con
nmeros enteros,
y el
11 SENN,
32
5 + 4*3 - 2
1. Se calculan primero las operaciones de multiplicacin,
divisin y mdulo, los cuales tienen el mismo nivel de
precedencia, por lo cual si existen varios de estos en
una expresin se comienzan a calcular de izquierda a
derecha.
2. Se calculan las operaciones de suma y de resta, los
cuales tienen el mismo nivel de precedencia. Si la
expresin
contiene
varias
de
esta
se
realizan
de
izquierda a derecha.
3. Si
en
la
indica
expresin
que
lo
que
se
encuentran
esta
dentro
parntesis,
de
ellos
se
esto
debe
precedencia
parntesis
son
antes
mencionadas,
utilizados
para
por
lo
cual
obligar
los
la
el
valor
de
la
derecha
es
asignado
al
identificador de la izquierda.
Nota.
Posteriormente,
al
ver
los
otros
operadores
PRECEDENCIA
Mayor
33
*, / , %
+, -
Menor
=
Tabla 3. Precedencia de los operadores aritmticos
Ejemplo
1.
Supongamos
que
tenemos
la
siguiente
expresin:
y = 2 * 5 * 5 + 3 * 5 + 7
EXPRESIN
ACTIVIDAD
1.
2.
3.
4.
5.
OPERACIN
Realiza la multiplicacin
ms a la izquierda
Realiza la multiplicacin
ms a la izquierda
Realiza la multiplicacin
ms a la izquierda
Realiza suma ms a la
izquierda
Realiza la suma
RESULTADO
y = 2 * 5 * 5 + 3 * 5 + 7 y = 10 * 5 + 3 * 5 + 7
y = 10 * 5 + 3 * 5 + 7
y = 50 + 3 * 5 + 7
y = 50 + 3 * 5 + 7
y = 50 + 15 + 7
y = 50 + 15 + 7
y = 65 + 7
y = 65 + 7
y = 72
Ejemplo
EXPRESIN
ACTIVIDAD
Z = 4 * ( ( 2 + 6 ) * ( 8 10 ) )
OPERACIN
Realiza el parntesis
ms interno de la
izquierda
Realiza el parntesis
ms interno
Realiza el parntesis
Realiza la
multiplicacin
Tabla 5.
RESULTADO
Z = 4 * ( ( 2 + 6 ) * ( 8 10 ) )
Z = 4 * ( 8 * ( 8 10 ) )
Z = 4 * ( 8 * ( 8 10 ) )
Z = 4 * ( 8 * -2 )
Z = 4 * ( 8 * -2 )
Z = 4 * -16
Z = 4 * -16
Z = -64
Ejercicios.
I.
A = y - z * x + w /
3
34
A = z + w % y
9 + 5 % 3
A = X * ( Z Y )/ W
A = (4 * Y + Z % W ) *
X
A = Z * W X + Y / Z
II.
Calcular
el
permetro
formulas
para
que
las
de
un crculo.
Calcular
el
rea
de
un
el
rea
de
un
rectngulo
Calcular
circulo
X = Z3
35
Sugerencia.
tomar
en
cuenta
que
la
divisin
de
datos
del
tipo
OPERADOR
RELACIN
==
Igual
!=
Diferente
>
Mayor que
<
Menor que
>=
Mayor o igual
que
<=
Menor o igual
que
aritmticos
como
relacionales,
pero
los
PRECEDENCIA
Mayor
*, / , %
+, <, >, <=,
>=
==, !=
=
Menor
Z = 4 <= 2 == 6 != 8 > 10
Ejemplo
EXPRESIN
Z = 4 <= 2 == 6 != 8 > 10
ACTIVIDAD
OPERACIN
1. Realiza la comparacin
de mayor precedencia de
la izquierda.
2. Realiza la comparacin
de mayor precedencia
3. Realiza la comparacin
de mayor precedencia de
la izquierda.
4. Realiza la comparacin
RESULTADO
Z = 4 <= 2 == 6 != 8 >
10
Z = 0 == 6 != 8 > 10
Z = 0 == 6 != 8 > 10
Z = 0 == 6 != 0
Z = 0 == 6 != 0
Z = 0 != 0
Z = 0 != 0
Z = 0
37
Ejemplo
EXPRESIN
Z = 8 == ( 9 + ( 1 != 0 ) ) > 3 * 5
ACTIVIDAD
1. Realiza
la
dentro del
ms interno
operacin
parntesis
OPERACIN
RESULTADO
Z = 8 == ( 9 + ( 1 != 0 ) ) > 3 *
5
Z = 8 == ( 9 + 1 ) > 3 * 5
2. Realiza
la
operacin
dentro del parntesis
Z = 8 == ( 9 + 1 ) > 3 * 5
Z = 8 == 10 > 3 * 5
3. Realiza la
multiplicacin
Z = 8 == 10 > 3 * 5
Z = 8 == 10 > 15
4. Realiza la comparacin
de mayor precedencia
Z = 8 == 10 > 15
Z = 8 == 0
5. Realiza la comparacin
Z = 8 == 0
Z = 0
Ejercicios.
I.
siguiendo
las
A = X == Z
A = W >= Y
A = W == X < Y < Z
38
A = ( W == X ) == ( Y >
Z )
A = X != ( W < Z < Y ) ==
1
A = W * Y >= W * Z
A = Y + W * Z / W != Z + W Y
* X
A = ( Y + W ) * Z / W ==
Y *
X 20 / 4
A = W * Y >= W * Z == ( Y +
W ) * Z > 0
de
acuerdo
con
las
tablas
de
la
verdad
correspondientes.
La computadora entiende que falso es igual a 0 y
verdadero es cualquier valor diferente a 0. Al regresar los
39
b
0 F
No 0 V
0 F
No 0 v
a AND b
0 F
0 F
0 F
1 v
Tabla 10.
a
0
0
No 0
No 0
Tabla 11.
b
0
No 0
0
No 0
Tabla 12.
a OR b
0
1
1
1
NOT
1
0
Tabla 13.
OPERACION LGICA
AND
OR
NOT
40
aritmticos,
relacionales,
lgicos,
aunque
es
la
tabla
de
precedencia
de
todos
los
operadores:
OPERADOR
( )
PRECEDENCIA
Mayor
!
*, / , %
+, <, >, <=, >=
==, !=
&&
||
=
Menor
Ejemplo
41
siguiente frmula:
Z = 0 || 4 || 2 && ! 8
EXPRESIN
ACTIVIDAD
1. Realiza
negacin
2. Realiza
del AND
primero
la
OPERACIN
RESULTADO
Z = 0 || 4 || 2 && ! 8
Z = 0 || 4 || 2 && 0
Z = 0 || 4 || 2 && 0
Z = 0 || 4 || 0
la
operacin
3. Se realiza la operacin
OR ms a la izquierda
Z = 0 || 4 || 0
Z = 1 || 0
4. Realiza la comparacin
del OR
Z = 1 || 0
Z = 1
Ejemplo
EXPRESIN
ACTIVIDAD
OPERACIN
1. Se realiza todo lo
que esta dentro del
parntesis
2. Dentro
del
parntesis
se
realiza primero la
42
RESULTADO
del
se
la
ms
del
se
la
7. Dentro
del
parntesis
se
establece
el
resultado lgico
8. Se
establece
el
resultado lgico
Z = 1 || ( 1 && 9 <
12 )
Z = 1 || ( 1 && 9 < 12
Z = 1 || ( 1 && 1 )
)
Z = 1 || ( 1 && 1 )
Z = 1 || 1
Z = 1 || 1
Z = 1
Ejercicios.
I.
siguiendo
las
A = X && Z
A = !W || X
A = W || X || Y && !Z || X &&
Z
A = W || X || Y && !(!Z || X
&& Z)
43
A = W == X && Y > Z
A = X != ( W < Z || Y ) + 1
A = (Y + W) || !(Z / W && Z + W Y
* X)
A = ( Y || W ) && Z / W ==
20
Y * X
A = W * Y >= W && Z == ( Y + W ) *
Z > 0
A = X > Z * !( W + Y )!= W || X
3.1 Identificadores
Como ya se vio anteriormente, una computadora puede
manejar
computadora
44
manipular
los
ciertos
procese,
los
datos.
datos
Pero
se
para
pueden
que
la
guardar
puede
etc.)
almacenar
como
(enteros,
queremos
que
se
reales,
le
alfanumricos,
llame
para
poder
nombre
tipo
especfico,
se
le
conoce
como
identificador.
Porqu usar identificadores?
Si nosotros no creamos un identificador, el dato
que deseamos guardar se almacenara en una posicin de
memoria
la
cual
esta
identificada
por
un
nmero
identificador,
solo
se
tiene
dar
este
nombre
para
0010111
0
FF0Ch
FF0Dh
FF0Eh
Ident3
45
Ident2
FF08h
FF09h
FF0Ah
FF0Bh
FF11h
FF12h
FF13h
FF14h
Ident4
1111000
1
FF17h
Tabla 18. Cmo se guardan los datos usando identificadores.
bajo
ninguna
circunstancia
ni
procedimiento
cambiar
todas
las
veces
necesarias
por
otro
en
de
Trabajo:
Son
aquellas
que
para
almacenar
informacin.
Ejemplo:
promedio = ( 9 + 8 + 7 ) / 3
Contadores:
Se
utilizan
para
llevar
el
46
Una
variable
de
este
tipo
Debe
comenzar
con
una
letra
(A-Z,
maysculas o minsculas)
Dgitos
caracteres
especiales
estn
El
nombre
del
identificador
debe
ser
significativo.
47
Indicar
su
tipo
(entero,
real,
alfanumrico, bolean).
Si se desea, se puede indicar su uso, el
Ejemplos.
1) Necesitamos
un
identificador
para
almacenar
el
cuantos
goles
anota
Cuauhtemoc
Blanco
con
el
Veracruz:
Goles_cua : entera : contador = 0
4) Necesitamos un identificador que almacene el nombre
de una persona:
Nombre : alfanumrico : trabajo = Carlos Augusto
comillas.
Ejercicios.
I. Declara un identificador para cada uno de los
siguientes casos e inicialzalos, adems especifica si
ser una variable o una constante
48
49
CONCLUSIN
En este tema se abarcaron tres subtemas, en el
primero que explic que un dato por si solo no dice nada
pero que
en conjunto
forma la
informacin, se
vio que
ser numricos
enteros, numricos
reales,
alfanumricos y boleanos.
En el segundo, se dieron a conocer los diferentes
tipos de operadores, los cuales pueden ser aritmticos para
realizar
operaciones
como
suma,
resta,
multiplicacin,
variables
guardar
valores
realizar
constantes
para
operaciones
en
las
posteriormente
o
ecuaciones
cuales
ser
con
se
pueden
utilizados
los
al
diferentes
operadores.
La
compresin
absoluta
de
este
tema
es
muy
hacer
clculos
con
los
datos
para
generar
80%
% Cubierto
% Faltante
50
TEMA III.
TCNICAS
ALGORTMICAS
PARA LA
SOLUCIN DE
PROBLEMAS
51
lectura
la
exposicin
del
instructor,
con
la
finalidad
de
resolver
CONTENIDO
INTRODUCCIN
3.1 Pseudocdigo
3.2 Diagrama De Flujo
3.3 Diagrama Estructurado (Nassi-Schneiderman)
CONCLUSIN
INTRODUCCIN
Cuando hayamos estudiado y comprendido este tema,
habremos dado el primer paso para disear algoritmos, ya
que
sabremos
cuales
son
las
diferentes
tcnicas
que
tcnica
primer
subtema
algortmica
nos
presenta
NO grfica
la
llamada
Pseudocdigo.
52
El
tcnica
segundo
grfica
orientados
para
subtema
la
nos
resolucin
computadoras
llamada
muestra
de
la
problemas
Diagramas
De
hbrido
llamado
Diagramas
Nassi-Schneiderman
Diagramas N-S.
Este tema junto con el primero son los ms fciles
de todo el curso debido a que son tericos, sin embargo, no
por eso habr que restarles importancia, por lo cual se
espera que espera que lo asimiles al 100%.
3.1 Pseudocdigo
El pseudocdigo o pseudolenguaje, son una serie de
instrucciones en nuestro lenguaje natural (espaol, ingles,
etc.) y expresiones que representan cada uno de los pasos
que resuelven un problema especifico (algoritmo)12.
Es la representacin narrativa de los pasos que
debe seguir un algoritmo para dar solucin a un problema
determinado. El pseudocdigo utiliza palabras que indican
el proceso a realizar, por todo lo anterior es una tcnica
NO GRFICA.
Se
considera
pseudocdigo
tiene
un
que
primer
borrador,
traducirse
dado
que
posteriormente
el
un
12
DEITEL H.M. / DEITEL P.J., Como Programar en C/C++, Ed. Prentice Hall, Mxico
53
1. Se
escribe
la
palabra
pseudocdigo
seguida
de
dos
caso
de
haber
estructuras
se
describen
en
la
seccin
con
este
nombre,
si
no
hay
se
pueden
omitir.
4. En caso de haber constantes se describen en la seccin
con este nombre, si no hay se pueden omitir.
5. En caso de haber variables se describen en la seccin
con este nombre, si no hay se pueden omitir.
6. Se colocan en orden las instrucciones y expresiones a
ejecutar, las cuales deben de estar enumeradas, donde
se debe respetar lo siguiente:
La primera instruccin es la palabra inicio.
La ltima instruccin es la palabra fin.
En
caso
de
seleccin o
estar
dentro
dentro de
de
una
sentencia
una estructura
de
cclica,
siempre
el
final
de
la
estructura
de
continuacin
tenemos
el
ejemplo
de
un
54
ROTULO O
DEFINICIN
Estructuras:
E1 con los campos
Campo1 : entero : trabajo
Campo2 : entero : acumulador
DEFINICIN D
Constantes:
Const1 : entero = 50
Variables:
Var3 : entero : contador
DEFINICIN
Inicio
Escribir dame un nmero
Leer var3
si var3 == 10 entonces
Escribir hola
si no
Escribir adios
fin si
escribir gracias
fin
DEFINICIN
SERIE DE PASOS Y EXPRESIONES A REALIZAR POR EL PROGRAMA, COMENZADO CON LA INSTRUCCIN INICIO Y TERMINA
55
ubicacin
especfica
de
un
dispositivo
almacenamiento
secundario
(disquete,
disco
de
duro,
CD, etc.).
Recuperar desde... Indica la ubicacin especfica
de
un
dispositivo
de
almacenamiento
secundario
...
entonces.
Es
una
invocando.
pregunta
para
una
56
Hacer
mientras...
fin
mientras.
Estructura
hasta...
Estructura
cclica
la
cual
Indica
que
es
comentario,
el
cual
solo
Permite
representar
en
forma
fcil
Es
muy
fcil
pasar
de
pseudocdigo
un
un
algoritmo13.
Tambin
se
puede
decir
que
es
la
13
57
los
pasos
en
la
computadora
para
producir
resultados.
Esta
smbolos
representacin
(que
grfica
indican
se
diferentes
da
cuando
procesos
varios
en
la
Nota.
Estos
procesos
son
casi
los
mismos
que
se
NOMBRE
Terminador
Proceso
Datos
SMBOLO
NOMBRE
Entrada manual
58
DESCRIPCIN
Indica
el
comienzo
o
termino
de
nuestro
algoritmo,
para
eso
se
debe de identificar con la
palabra inicio fin.
Dentro de el se coloca una
expresin
para
que
se
ejecute.
Dentro de este smbolo se
declaran
las
funciones,
mdulos,
estructuras,
constantes y variables a
utilizar
durante
el
algoritmo.
DESCRIPCIN
Indica que se recibe un
dato desde el teclado y
dentro de este se coloca
la variable en donde se
almacenar.
Pantalla
Dentro de el se coloca el
mensaje
y
datos
que
queremos aparezcan en el
monitor.
Impresora o
documento
Dentro de el se coloca el
mensaje
y
datos
que
queremos
mandar
a
la
impresora.
Almacenamiento
Datos
almacenados
Llamada a
funcin o mdulo
Conector en la
misma pgina
Conector con
otra pgina
SMBOLO
NOMBRE
Decisin
Flechas
Nota.
El
smbolo
de
decisin
es
utilizado
para
debe
comenzar
el
algoritmo
con
el
smbolo
mdulos,
estructuras,
variables
debe
realizar
en
un
diagrama
de
flujo
independiente.
Todas
las
lneas
que
conectan
dos
smbolos
deben
se
usar
solamente
lneas
de
flujo
deben
usar
conectores
solo
cuando
sea
necesario.
60
Edad < 50
Eres Viejo
V
Eres Joven
Fin
diagrama
estructurado
Nassi-Scheneiderman
61
la
primera
caja
de
accin
se
coloca
el
caso
de
las
estructuras
de
seleccin
embargo,
presenta
los
siguientes
inconvenientes:
Difciles de entender cuando el problema se vuelve
muy complejo
62
Difciles
de
actualizar
cuando
se
tienen
que
es
muy
probable
que
no
sea
el
espacio
suficiente.
Aunque
cada
una
de
las
acciones
realizar
se
NOMBRE
Condicin
F
Condicin
acciones
Repetir hasta
Condicin
Condicin
acciones
Hacer mientras
Condicin
acciones
Hacer Para
DESCRIPCIN
Es una pregunta, donde si la
respuesta
es
verdad
se
realizan
unas
tareas
especificas y cuando es falso
se pueden realizar otras.
Indica
el
conjunto
de
acciones que se deben de
repetir
hasta
que
la
respuesta a la condicin sea
verdadera.
Indica
el
conjunto
de
acciones que se deben de
realizar
mientras
que
la
respuesta a la condicin sea
verdadera.
Indica el nmero exacto
veces que un conjunto
instrucciones se deben
repetir.
63
de
de
de
Verdadero
FIN
CONCLUSIN
computadoras
por
medio
de
la
tcnica
algortmica
de
tercer
subtema,
nos
mostr
la
tcnica
objetivo
general
del
curso,
pero
an
as,
es
muy
comprenda
diferentes
algoritmos
correctamente
tcnicas
la
estructura
algortmicas,
eficaces
para
la
de
difcilmente
solucin
de
las
tres
disear
problemas
75%
% Cubierto
% Faltante
65
T E M A I V.
ESTRUCTURAS
DE CONTROL
66
elaboracin
de
ejercicios,
manejar
las
CONTENIDO
INTRODUCCIN
4.1 Estructuras Secunciales
4.2 Estructuras Condicionales
4.3 Estructuras cclicas
CONCLUSIN
INTRODUCCIN
Despus de haber conocido en el tema pasado las
diferentes tcnicas algortmicas, en el presente tema las
vamos
utilizar
para
resolver
problemas
enfocados
progresivo,
tomar
decisiones
si
es
necesario
lo
asimile
se
puede
considerar
prcticamente
un
solo
bastar
con
adaptarlos
estos
67
las
estructuras
secunciales,
en
las
cuales
no
hay
los
datos
de
entrada
necesarios
para
producir
las
salidas deseadas.
El segundo subtema nos gua a disear algoritmos
inteligentes, es decir que toman decisiones, para lo cual
se manejan las estructuras condicionales; de las cuales
existen las condicionales sencillas que son aquellas en
donde solo existen dos caminos (falso y verdadero) y las de
seleccin mltiple en las que los caminos posibles son
inmensos.
En el tercer subtema, crearemos algoritmos en los
cuales un bloque de instrucciones se repite dependiendo de
la
respuesta
de
una
condicin,
esto
es
lo
que
este
tema
nos
encontramos
con
ejemplos
para
68
instruccin
tras
instruccin
en
el
orden
determinado.
Estos
estructuras
algoritmos
estn
secunciales,
representados
en
las
que
por
una
las
accin
nada
en
especfico,
solo
es
de
carcter
ilustrativo):
// No hace nada
Inicio
Pseudocdigo: no hace nada
Variables:
// no hace nada
Inicio
Variables:
Variables:
Inicio
Accin 1
Accin 2
Accin 3
Fin
Accin 1
Accin 1
Accin 2
Accin 2
Accin 3
Fin
Accin 3
Fin
instrucciones
monitor,
imprimir
en
de
inicio
impresora,
leer
fin,
desde
escribir
el
en
teclado,
69
la
ejecucin
de
expresiones
aritmticas
para
datos
de
entrada
necesarios
para
lograr
los
que
permanecen
constantes
durante
todo
el
proceso o algoritmo.
2. Disear el Algoritmo en alguna de las tres tcnicas
algortmicas conocidas, pero en estos casos sern
todas.
3. Probar el algoritmo para evitar un posible error
lgico,
para
lo
cual
se
hace
una
corrida
de
Ejemplo
Ao_nac
Edad
Ao_act
Paso II. Disear El algoritmo
PSEUDOCDIGO
Pseudocdigo: Edad personal
Variables:
Edad: entera : trabajo // almacenar la edad del usuario
Ao_nac: entera : trabajo // guardar el ao en que naci
Ao_act: entera : trabajo // Contendr el ao en que estamos
1.
2.
3.
4.
5.
6.
Inicio
Escribir En que ao naciste? // muestra el mensaje que esta entre comillas
Leer Ao_nac // guarda el dato que es tecleado por el usuario en la variable
Escribir En que ao estamos?
Leer Ao_act
Edad = Ao_act Ao_nac // realiza una operacin y almacena el resultado en
// la variable de la izquierda de la expresin.
7. Escribir Tu edad actual es:, Edad // Cuando deseamos mostrar el contenido
// de una variable, esta no debe de
// estar entre comillas
8. Fin
// Es recomendable poner comentarios en todos nuestros algoritmos, ya que esto
los // hace ms entendibles no solo para nosotros sino para cualquier persona.
DIAGRAMA DE FLUJO
// Diagrama de Flujo: Edad personal
Inicio
// Declaracin de variables
Fin
Paso III. Prueba Del Algoritmo.
Valores a entradas
Procesos
Ao_nac = 1977
Edad = Ao_act Ao_nac
Ao_act = 2004
Edad = 2004 - 1977
Resultados
Edad = 27
Ejemplo
Kilos
Constantes
P_kilo =
4.5
Procesos
Total = kilos * P_kilos
72
Resultados
Total = 15.75
Ejemplo
Constantes
Procesos
73
Ganancia
0.02
Capital
Ao = 12
PSEUDOCDIGO
Pseudocdigo: Ganancias Anuales
Variables:
Ganancia : real : trabajo
Capital : real : trabajo
Constantes:
Interes : real = 0.02
Ao : entero = 12
1.
2.
3.
4.
5.
6.
Inicio
Escribir cuanto dinero piensas invertir?
Leer Capital
Ganancia = ( Capital * Interes ) * Ao
Escribir Tu ganancia ser de:, Ganancia
Fin
DIAGRAMA DE FLUJO
// Diagrama de Flujo: Ganancias anuales
Inicio
CONSTANTES:
Interes : real = 0.02
Ao : entero = 12
VARIABLES:
Ganancia : real : trabajo
Capital : real : trabajo
Ejercicios. Resuelve
Resultados
Ganancia = 2400
lo que se te pide.
75
crear
sistemas
inteligentes,
es
decir,
que
toman
decisiones.
Cabe mencionar que la comparacin se puede hacer
contra
otra
variable
contra
una
constante,
segn
se
Simples.
Son
aquellas
en
que
al
seleccionar
se
ejecutarn
las
nos
encontramos
en
la
punta
de
una
Mltiples.
Son
aquellas
en
que
este
momento
analizaremos
En
pseudocdigo
se
utiliza
la
instruccin
si
...
sirven
los
operadores
lgicos
relacionales),
de
si ... entonces
esta
estructura
son
las
palabra
y fin si.
condicin
si...entonces
pueden
ser
estructuras
Sugerencia.
internas
Colocar
la
una
sangra
condicin
para
las
tener
acciones
una
mejor
Sugerencia.
lado
falso
de
la
condicin,
es
recomendable
poner
Inicio
Accin 1
Accin 2
Si (condicin)entonces
4.1 Accin 3
4.2 Accin 4
Si no
77
de
acciones
instrucciones
realizar
Accin 3
Accin 5
Accin 4
Accin 6
Accin 7
Accin 8
Fin
En
diagrama
N-S
se
utiliza
para
representar
la
Falso
Accin 3
Accin 5
Accin 4
Accin 6
Accin 7
Accin 8
FIN
Ilustracin 10 Estructura condicional Simple en diagrama N-S
A
estructuras
continuacin
condicionales
realizamos
simples,
unos
ejemplos
utilizando
las
de
tres
Ejemplo
Total
Subtotal
Descuent
Constantes
Procesos
Cuando subtotal > 1000
Descuento = Subtotal * 0.10
Total = Subtotal Descuento
Cuando Subtotal <= 1000
Total = Subtotal
79
Inicio
Escribir Cuanto compr el cliente?
Leer Subtotal
Si Subtotal > 1000 entonces
4.1 Descuento = Subtotal * 0.10
4.2 Total = Subtotal Descuento
si no
4.3 Total = Subtotal
fin si
F
Total = Subtotal
Diagrama N-S
80
Resultados
Total = 750.80
Total = 1170
Aspecto
Crtico.
los
que
compraron
$1000
exactamente
no
reciben
Ejemplo
81
aprobado
Paso I. Analizar el problema.
Salidas
Entrada
Prom
Un
mensaje
(Aprobado o
Reprobado)
Constantes
Procesos
Prom = (cal1 + cal2 + cal3) / 3
Cal1
Cal2
Cal3
Inicio
Escribir dame calificacin de primer parcial:
leer cal1
Escribir dame calificacin de segundo parcial:
leer cal2
Escribir dame calificacin de tercer parcial:
leer cal3
prom = (cal1 + cal2 + cal3) / 3
Si prom < 6 entonces
9.1 Escribir Tu promedio es:, prom, y estas REPROBADO
Si no
9.2 Escribir Tu promedio es:, prom, y estas APROBADO
Fin si
10. Fin
DIAGRAMA DE FLUJO
// Diagrama de flujo: Promedio
Inicio
Variables:
prom, cal1, cal2, cal3: real : trabajo
Dame calificacin de primer parcial
cal1
Dame calificacin de segundo parcial
cal2
1
82
Fin
Diagrama N-S
Diagrama N-S: Promedio alumno
Inicio
Variables:
Prom, cal1, cal2, cal3 : real : trabajo
Escribir dame calificacin de primer parcial:
Leer cal1
Escribir dame calificacin de segundo parcial:
Leer cal2
Escribir dame calificacin de tercer parcial:
Leer cal3
Prom = (cal1 + cal2 + cal3) / 3
prom < 6
Verdadero
Falso
Escribir tu promedio es:, prom, Escribir tu promedio es:, prom,
y estas REPROBADO
y estas APROBADO
Fin
Paso III. Prueba Del Algoritmo.
Valores a entradas
Procesos
prom = (cal1 + cal2 + cal3) / 3
prom = (8.5 + 9.2 + 6.8) / 3
cal1 = 8.5
prom = 24.5 / 3
cal2 = 9.2
prom = 8.16
cal3 = 6.8
prom < 6
8.16 < 6 NO
prom = (cal1 + cal2 + cal3) / 3
prom = (4.5 + 6.2 + 5.3) / 3
cal1 = 4.5
prom = 16 / 3
cal2 = 6.2
prom = 5.33
cal3 = 5.3
prom < 6
5.33 < 6 SI
Resultados
Prom = 8.16
APROBADO
Prom = 5.33
REPROBADO
Ejemplo
83
Total
Constantes
subtotal
descuent
Procesos
Cuando subtotal > 5000
descuento = subtotal * 0.30
total = subtotal descuento
fin si
84
F
V
verdad
falso
descuento=subtotal*0.30
descuento=subtotal*0.20
descuento=subtotal*0.10
total = subtotal descuento
Escribir el total a pagar es:, Total
Fin
Total = 3710
85
Resultados
subtotal = 4100
Total = 3280
Total = 1665
Total = 700
descuento,
ya
que
descuento
poda
tener
Ejemplo
86
Constantes
Procesos
prom = (cal1 + cal2 + cal3) / 3
cuando prom < 6
NA
Mensaje
(NA, S, B, E)
Cal1
Cal2
Cal3
Inicio
Escribir dame
leer cal1
Escribir dame
leer cal2
Escribir dame
leer cal3
prom = (cal1 +
87
Variables:
cal1, cal2, cal3, prom : real : trabajo
Calificacin primer parcial?
cal1
Calificacin segundo parcial?
cal2
Calificacin tercer parcial?
cal3
F
V
prom <= 8
F
S
V
NA
prom <= 9
F
B
E
Fin
Diagrama N-S
88
F
prom <= 8
V
Escribir
calificacin
letra es S
F
con
prom <= 9
V
Escribir
calificacin con
letra es B
F
Escribir
calificacin
letra es E
cal1 = 4
cal2 = 5
cal3 = 3
con
Resultados
prom < 6
4 < 6 SI
prom = 4
prom <= 8
7 <= 8 SI
prom = 7
prom = 8.7
89
prom < 6
8.7 < 6 NO
prom <= 8
8.7 <= 8 NO
prom <= 9
<= 9 SI
calificacin con letra es B
ya que tu promedio es: 8.7
cal1 = 10
cal2 = 9
cal3 = 10
prom <= 8
9.7 <= 8 NO
prom = 9.7
prom <= 9
9.7 <= 9 NO
calificacin con letra es E
ya que tu promedio es: 8.7
Tabla 27 Ejemplo 4 de una estructura condicional simple anidada
90
91
11.
se ha
terminado la
estructura, se
coloca la
Aspecto
Crtico.
Los
valores
que
puede
tener
una
pueden
ser
valores
enteros,
por
lo
cual
se
debe
seleccin
mltiple,
se
sigue
usando
el
smbolo
de
por
el
derecho,
sale
un
solo
camino
del
cual
se
Inicio
Accin 1
variable
1:
Accin 2
2:
Accin 3
3:
Accin 4
4:
Accin 5
Dems valores:
Accin 6
Accin 7
Fin
93
Sugerencia.
N-S.
mltiple
pero
esta
Para
se
se
representar
sigue
debe
una
utilizando
de
dividir
la
en
estructura
caja
todos
de
los
2:
Accin 4
3:
Accin 5
Otros valores:
Accin 6
Accin 7
FIN
Ilustracin 13 Diseo de una estructura de seleccin mltiple.
94
de
estructuras
posibles
valores
es
posible
determinar
utilizando
lo
un
rango
de
siguiente:
valor_inicial...valor_final:.
Se necesita un sistema que tenga tres opciones, si se selecciona
la primera se calcula el permetro de un cuadrado, si la opcin
es la dos se calcula el permetro de un triangulo equiltero, y
Ejemplo
cuando se elija la tres se calcula el permetro de un crculo,
adems de que mandara un mensaje de error en caso de presionar
cualquier otro nmero.
Paso I. Analizar el problema.
Salidas
Entrada
Constantes
Procesos
Cuando opc == 1
perim = lado * 4
perim
Cuando opc == 2
perim = lado * 3
opc
lado
Cuando opc == 3
perim = lado * 3.1416
Cuando opc tenga otro valor
ERROR
Inicio
Escribir Menu de Permetros
Escribir 1. Cuadrado
Escribir 2. Triangulo
Escribir 3. Circulo
Escribir cual eliges?:
Leer opc
Casos para opc
cuando es igual a 1:
Escribir dame el valor de un lado del cuadrado:
Leer lado
perim = lado * 4
cuando es igual a 2:
Escribir dame el valor de un lado del triangulo:
Leer lado
perim = lado * 3
cuando es igual a 3:
Escribir dame el valor del dimetro:
Leer lado
perim = lado * 3.1416
para todos los dems valores:
Escribir ERROR
95
fin casos
9. Escribir el resultado es:, perim
10. Fin
// En este programa no es necesario declarar tantas variables ya que solo se ir
// por un solo camino. Esto nos ahorra al momento de programar memoria.
DIAGRAMA DE FLUJO
96
Inicio
opc:entera:trabajo
perim,lado:reales:trabajo = 0
Menu de Permetros
1. Cuadrado
2. Triangulo
3. Circulo
cual eliges?:
opc
opc
1:
2:
3:
Dems valores:
lado
lado
lado
perim = lado * 4
perim = lado * 3
El resultado es:
perim
Fin
Diagrama N-S
// diagrama N-S : Men permetros
Inicio
INSTITUTO TECNOLGICO N.S.R
97
ERROR
opc
1:
Escribir Dame el valor
del lado del cuadrado
2:
Escribir Dame el valor
del lado del triangulo
Leer lado
3:
Escribir Dame el valor
del dimetro
Leer lado
Dems valores:
Escribir ERROR
opc = 3
lado = 2
Resultados
perim = 20
perim = 30
opc == 2
3 == 2 NO
perim = 6.2832
opc == 3
3 == 3 SI
perim = lado * 3.1416
perim = 2 * 3.1416
perim = 6.2832
opc == 1
8 == 1 NO
opc = 8
opc == 2
8 == 2 NO
perim = 0
opc == 3
8 == 3 NO
opc es otro valor SI
Tabla 28 Ejemplo 1 de una estructura de seleccin mltiple.
Ejemplo
98
Procesos
Cuando compra > 500
Cuando n_bol == 1
1 shampoo CAPRICE
MENSAJE
Cuando n_bol == 2
1 paquete(3) de jabones ROSA VENUS
compra
n_bol
Cuando n_bol == 3
1 pasta de dientes COLGATE
Cuando n_bol == 4
1 bolsa de detergente MAS COLOR
Cuando n_bol == 5
1 caja de cereal ZUCARITAS
1 shampoo CAPRICE
1 paquete(3) de jabones ROSA VENUS
1 pasta de dientes COLGATE
1 bolsa de detergente MAS COLOR
1 caja de cereal ZUCARITAS
si no
// no hace nada ya que no tiene derecho a sacar bolita
fin si
5. Fin
DIAGRAMA DE FLUJO
99
Total de compra:
compra
n_bol
1:
2:
1 shampoo CAPRICE
3:
4:
5:
1 caja de cereal ZUCARITAS
Fin
Diagrama N-S
Variables:
compra : real : trabajo
n_bol : entera : trabajo
Escribir Total de compra:
Leer compra
compra > 500
V
F
Escribir Nmero de bolita que sacaste:
Leer n_bol
n_bol
3:
Escribir
1 shampoo
CAPRICE
Escribir
1 paquete (3)
jabones ROSA
VENUS
Escribir
1 pasta de
dientes
COLGATE
Escribir
1 bolsa de
detergente MAS
COLOR
Escribir
1 caja de
cereal
ZUCARITAS
Fin
Paso III. Prueba Del Algoritmo.
Valores a entradas
compra = 350
compra = 550
n_bol = 1
Procesos
Resultados
--
1 shampoo CAPRICE
n_bol == 1
2 == 1 NO
n_bol == 2
2 == 2 SI
compra > 500
630 > 500 SI
compra = 630
n_bol = 3
n_bol == 1
3 == 1 NO
n_bol == 2
3 == 2 NO
n_bol == 3
3 == 3 SI
compra = 920
n_bol = 4
n_bol == 1
4 == 1 NO
n_bol == 2
4 == 2 NO
n_bol == 3
INSTITUTO TECNOLGICO N.S.R
101
compra = 501
n_bol = 5
n_bol == 3
5 == 3 NO
n_bol == 4
5 == 4 NO
n_bol == 5
5 == 5 SI
compra > 500
500.01 > 500 SI
n_bol == 1
8 == 1 NO
compra = 500.01
n_bol = 8
n_bol == 2
8 == 2 NO
--
n_bol == 3
8 == 3 NO
n_bol == 4
8 == 4 NO
n_bol == 5
8 == 5 NO
Ejercicios.
I. Escribe un algoritmo en las tres tcnicas manejadas
para cada uno de los problemas siguientes:
1. Necesitamos visualizar un men del conalep, en el cual
hay que elegir que semestre esta cursando un alumno.
Dependiendo la opcin elegida, que se despliegue un
mensaje en el que se diga en que semestre va.
2. Necesitamos un men del conalep en el que se visualicen
las cuatro carreras que se imparten y dentro de cada
una de estas opciones que se visualice un men con los
6 semestres. Al seleccionarlo, que se despliegue un
mensaje de la carrera y semestre que cursa el alumno.
102
HOMBRES
Premio
Desodorante
SixPack
cerveza
Boxer
de
Rasuradora
Sudadera
MUJERES
# bolita
Premio
1
Locin
2
Bikini
3
4
5
Crema p/
cara
Plancha
Barniz
uas
la
de
103
varias
veces
un
conjunto
determinado
de
la
siguiente
instruccin
despus
de
la
etiqueta
variable
evaluar
no
tiene
ningn
valor almacenado.
Nunca
se
le
pidi
al
usuario
que
usuario
decidi
no
ingresar
la
estructura.
Sugerencia.
Aspecto
Crtico.
Siempre
solicite
al
usuario
un
dato
mientras...,
ya
que
probablemente
no
desea
ingresar
al
ciclo.
Aspecto
Crtico.
Siempre
coloque
dentro
de
la
continuacin
de
esta
vamos
estructura
esquematizar
en
las
el
tres
diseo
tcnicas
algortmicas.
Pseudocdigo.
En
pseudocdigo
se
utilizan
las
105
Variables:
Resp : alfanumrica : trabajo = n
Deseas ingresar al ciclo:
Resp
Resp == s
V
Hola
Deseas ingresar nuevamente al ciclo:
Resp
fin
Diagramas
N-S.
Para
representar
esta
estructura
Inicio
Variables:
Resp : alfanumrica : trabajo = n
Escribir Deseas ingresar al ciclo:
Leer Resp
Resp == s
Escribir HOLA
Escribir Deseas ingresar nuevamente al ciclo
Leer Resp
Escribir Gracias por usar este sistema
Fin
Ilustracin 16 Diagrama N-S bsico del ciclo hacer mientras...
par1
prom_alu = ( par1 + par2 par3 ) / 3
prom_alum
par2
acum_prom = acum_prom + prom_alu
total_alum = total_alum + 1
prom_gen
par3
resp
prom_gen = acum_prom / total_alum
Paso II. Disear El algoritmo
PSEUDOCDIGO
Pseudocdigo: calificaciones
Variables:
1.
2.
3.
4.
107
resp == s
V
primer parcial: Segundo parcial: tercer parcial:
par1, par2, par3
fin
Diagrama N-S
// diagrama N-S :
Inicio
Calificaciones
Variables:
par1, par2, par3, prom_alum, prom_gen : reales : trabajo = 0
acum_prom : real : acumulador = 0
total_alum : entera : contador = 0
resp : alfanumrica = n
108
109
prom_gen = 8.67
Tabla 30 Ejemplo 1 de la estructura cclica Hacer mientras ...
que
se
necesita
instrucciones
estructura
por
hacer
repetir
cada
un
alumno,
mientras
mismo
adems
debido
que
conjunto
de
utiliza
la
total
de
se
el
del
tipo
acumulador
contador.
Acum_prom,
110
Ejemplo
111
Procesos
subtota
ingreso
subtota
en caso contrario
total = subtotal
ingresos = ingresos + total
pseudocdigo: supermercado
variables:
total, subtotal, descuento, ingresos : reales = 0
resp : alfanumrico = n
// si ya las sabe manejar no es necesario colocar el uso
1. Inicio
2. Escribir hay clientes en la tienda
3. Leer resp
4. Hacer mientras resp == s
Escribir cuanto compr el cliente?
Leer subtotal
Si subtotal > 1000 entonces
4.3.1 descuento = subtotal * 0.10
4.3.2 total = subtotal descuento
si no
4.3.3 total = subtotal
fin si
ingresos = ingresos + total
Escribir el total a pagar es:, total
Escribir Hay ms clientes en la tienda:
Leer resp
fin mientras
5. Escribir ingresos:, ingresos
6. Fin
DIAGRAMA DE FLUJO
112
resp = s
V
Cuanto compr el cliente?
subtotal
V
resp
ingresos:, ingresos
FIN
Diagrama N-S
// Diagrama N-S: Supermercado
Inicio
variables:
INSTITUTO TECNOLGICO N.S.R
113
FALSO
resp = s
resp == s
s == s SI
subtotal = 4500
subtotal > 1000
4500 > 1000 SI
descuento = subtotal * .10
descuento = 4500 * .10
descuento = 450
total = subtotal descuento
total = 4500 - 450
total = 4050
ingresos = ingresos + total
ingresos = 1907 + 4050
ingresos = 5957
resp = s
resp == s
s == s SI
subtotal = 100
subtotal > 1000
100 > 1000 NO
total = subtotal
total = 100
ingresos = ingresos + total
ingresos = 5957 + 100
ingresos = 6057
resp = n
resp == s
n == s NO
ingresos = 6057
Tabla 31 Ejemplo 2 de estructura cclica hacer mientras
cuales
adquiridos.
al
resolverlos
Estos
puede
reforzaran
ser
que
los
necesiten
conocimientos
estructuras
anidadas.
Ejercicios.
I. Disea un algoritmo utilizando las tres diferentes
tcnicas para cada uno de los problemas que se te
plantean.
1. Se necesita un sistema que lea los votos obtenidos por
tres candidatos a presidente municipal en la ciudad de
Orizaba y calcule e imprima al ganador, junto con el
porcentaje obtenido de votos.
INSTITUTO TECNOLGICO N.S.R
115
as
es
muy
probable
que
la
estructura
se
ejecute
La
variable
evaluar
no
tiene
ningn
valor almacenado.
Nunca
se
le
pidi
al
usuario
que
116
Sugerencia.
sea
inicializada
con
un
valor
que
permita
romper
la
Aspecto
repetir / hasta
usuario
al
...
las
sistema
instrucciones
almacenar
un
que
nuevo
permitan
valor
al
en
la
continuacin
de
esta
vamos
estructura
esquematizar
en
las
tres
el
diseo
tcnicas
algortmicas.
Pseudocdigo.
En
pseudocdigo
se
utilizan
las
verdadero
conecta
con
la
siguiente
instruccin
117
instrucciones
que
deseamos
se
repitan
de
la
ltima
Variables:
Resp : alfanumrica : trabajo = n
Hola
Deseas ingresar nuevamente al ciclo:
Resp
Resp == n
V
Gracias por usar este sistema
FIN
Diagramas
N-S.
Para
representar
esta
estructura
Inicio
Variables:
Resp : alfanumrica : trabajo = n
Escribir HOLA
Escribir Deseas ingresar nuevamente al ciclo
Leer Resp
Resp == n
Escribir Gracias por usar este sistema
Fin
Ilustracin 19 Diagrama N-S bsico del ciclo repetir / hasta ...
Ejemplo
num_eleva
do
resp
Paso II. Disear El algoritmo
Procesos
cuando resp != n
num_elevado = nmero * nmero
PSEUDOCDIGO
Pseudocdigo: Cuadrados
Variables:
resp : alfanumrico == s
nmero, num_elevado : entero = 0
1. Inicio
2. Repetir
Escribir Nmero que quieres elevar al cuadrado:
Leer nmero
num_elevado = nmero * nmero
Escribir nmero, al cuadrado es:, num_elevado
Escribir Deseas calcular otro nmero:
Leer resp
Hasta resp == n
3. Fin
DIAGRAMA DE FLUJO
119
nmero
resp == n
V
FIN
Diagrama N-S
120
nmero = 5
num_elevado = nmero * nmero
num_elevado = 5 * 5
num_elevado = 25
resp = n
resp == n
n == n SI
SEGUNDA CORRIDA DE ESCRITORIO
nmero = 3
num_elevado = nmero * nmero
num_elevado = 3 * 3
num_elevado = 9
resp = s
resp == s
s == n NO
nmero = 7
num_elevado = nmero * nmero
num_elevado = 7 * 7
num_elevado = 49
resp = s
resp == s
s == n NO
nmero = 10
num_elevado = nmero * nmero
num_elevado = 10 * 10
num_elevado = 100
resp = s
resp == s
s == n NO
nmero = 8
num_elevado = nmero * nmero
num_elevado = 8 * 8
num_elevado = 64
resp = s
resp == n
n == n SI
Tabla 32 Ejemplo 1 que usa la estructura cclica Repetir Hasta...
En
este
ejemplo,
como
pudimos
observar
en
la
121
Entrada
horas
resp
salario
Procesos
cuando resp != n
si horas > 40
salario = 40 * 16 +( ( horas 40 ) * 20 )
si no
salario = horas * 16
salario = horas * 16
resp == n
Fin
DIAGRAMA DE FLUJO
122
Horas trabajadas:
horas
horas > 40
salario = 40 * 16 + ( ( horas 40 ) * 20 )
salario = horas * 16
salario:, salario
deseas calcular otro salario:
resp
resp == n
V
FIN
=
=
=
=
=
40 * 16 + ( ( horas 40 ) * 20 )
640 + ( ( 50 40 ) * 20 )
640 + ( 10 * 20 )
640 + 200
840
resp = n
resp == n
n == n SI
SEGUNDA CORRIDA DE ESCRITORIO
123
=
=
=
=
=
40 * 16 + ( ( horas 40 ) * 20 )
640 + ( ( 41 40 ) * 20 )
640 + ( 1 * 20 )
640 + 20
660
resp = n
resp == n
n == n SI
Tabla 33 Ejemplo 2 que usa la estructura cclica Repetir Hasta...
Ejercicios.
I. Disea un algoritmo utilizando las tres diferentes
tcnicas para cada uno de los problemas que se te
plantean.
1.
Se necesita un sistema que solicita dos nmeros, los
cuales son un rango, de los cuales queremos que
imprima el total de la suma de todos los nmeros que
se encuentran dentro de este rango
2.
Se necesita un sistema que calcula el salario
semanal de n trabajadores, el cual depende de su
puesto (licenciado, tcnico y obrero), del turno
(primero, segundo y tercero) y las horas trabajadas.
Donde los del primer turno ganan $200 adicionales a su
salario, los del segundo $100 y los del tercero $300;
El obrero gana $30 por hora, el tcnico $50 y el
licenciado $100.
3.
Se necesita un sistema que lea los votos obtenidos
por tres candidatos a presidente municipal en la
ciudad de Orizaba y calcule e imprima al ganador,
junto con el porcentaje obtenido de votos.
4.
Se necesita un programa para calcular el factorial
de un nmero , que corresponda a la frmula: N!=N*(N1)*(N-2)*...*(N-(N-1))
5.
Se necesita un sistema que despliegue un men con 4
opciones, si se presiona la opcin 1, se calcular el
rea de un triangulo; si se presiona la opcin 2, se
calcular el rea de un cuadrado; si se presiona la
opcin 3, se calcular el rea de un circulo; si se
124
que la
respuesta sea
verdadera el
ciclo se
termina.
Aun as, el ciclo se puede ejecutar infinidad de
veces debido a la falta de una instruccin que permita
incrementar
decrementar
el
valor
de
la
variable
evaluar.
Tambin es posible que nunca se ejecute el ciclo
debido
que
la
asignacin
de
la
variable
evaluar
que
de
cmo
resultado
verdadero
la
condicin
Aspecto Crtico.
puntos
de
suspensivos
la
estructura
hacer
para
...
125
puntos
suspensivos
para
que
pueda
ingresar
al
continuacin
vamos
esquematizar
el
diseo
En
pseudocdigo
se
utilizan
las
smbolo
rectngulo
especial
dividido
para
en
representarla,
tres
partes,
en
el
la
cual
es
un
primera
se
verdadero
conecta
con
la
siguiente
instruccin
nuevamente
con
este
smbolo
en
la
parte
del
Cont > 10
F
HOLA
FIN
Ilustracin 21 Diagrama de Flujo del ciclo hacer para ... hasta ...
Diagramas
N-S.
Para
representar
esta
estructura
127
Ejemplo
tabla
Procesos
mientras contador <= 10
resultado = tabla * contador
contador = contador + 1
128
de
Variables:
tabla, contador, resultado : enteras = 0
contador = 1
contador = contador + 1
contador > 10
F
resultado = tabla * contador
tabla,*,contador,=,resultado
FIN
Diagrama N-S
// diagrama N-S : Tabla
Inicio
Variables:
tabla, contador, resultado : enteras = 0
Escribir tabla que deseas visualizar
Leer tabla
contador > 10
resultado = tabla * contador
contador = 1
Escribir tabla, *, contador, =, resultado
contador = contador + 1
Fin
Paso III. Prueba Del Algoritmo.
NICA CORRIDA DE ESCRITORIO
129
contador > 10
6 > 10 no
contador = 1
contador > 10
1 > 10 no
resultado = tabla * contador
resultado = 5 * 1
resultado = 5
contador = contador + 1
contador = 1 + 1
contador = 2
contador > 10
2 > 10 no
resultado = tabla * contador
resultado = 5 * 2
resultado = 10
contador = contador + 1
contador = 2 + 1
contador = 3
contador > 10
3 > 10 no
resultado = tabla * contador
resultado = 5 * 3
resultado = 15
contador = contador + 1
contador = 3 + 1
contador = 4
contador > 10
4 > 10 no
resultado = tabla * contador
resultado = 5 * 4
resultado = 20
contador = contador + 1
contador = 4 + 1
contador = 5
contador > 10
5 > 10 no
resultado = tabla * contador
resultado = 5 * 5
resultado = 25
contador = contador + 1
contador = 5 + 1
contador = 6
Ejemplo
Procesos
multiplicando = 1
mientras multiplicando <= 5
resultado = multiplicador * multiplicando
multiplicando = multiplicando + 1
multiplicador = multiplicador + 1
Paso II. Disear El algoritmo
PSEUDOCDIGO
pseudocdigo: tablas
variables:
multiplicador, multiplicando, resultado : enteras = 0
130
multiplicando = 1
multiplicador = multiplicador + 1
Fin
DIAGRAMA DE FLUJO
131
variables:
multiplicador,multiplicando,resultado:enteras=0
multiplicador = 1
multiplicador > 3
multiplicador=multiplicador + 1
F
multiplicando = 1
multiplicando > 5
multiplicando=multiplicando+1
F
FIN
132
133
134
Ejercicios.
I. Disea un algoritmo con la estructura Hacer para ...
hasta ... utilizando las tres diferentes tcnicas para
cada uno de los problemas que se te plantean.
1.
Calcular el promedio de un alumno que tiene 7
calificaciones en la materia de Diseo Estructurado de
Algoritmos
2.
Calcular el promedio de 10 alumnos los cuales tienen
7 calificaciones cada uno en la materia Diseo
Estructurado de Algoritmos.
3.
4.
5.
6.
7.
8.
CONCLUSIN
INSTITUTO TECNOLGICO N.S.R
135
estructuras
ms
que
colocar
las
instrucciones
en
una
forma
el
segundo
subtema,
se
trabaj
con
las
mismo
tiempo
utilizamos
dos
tipos
de
estructuras
de
dos
caminos
posibles,
representadas
por
la
el
tercer
subtema,
se
aprendi
disear
mientras...
es
la
que
nos
brinda
la
posibilidad
repetir /
hasta...
es
aquella que
utilizamos
el
cual
consiste
en
colocar
una
estructura
estructura
externa
primero
se
debe
concluir
una
interna.
En
este
tema,
se
ha
logrado
prcticamente
el
de
programador,
problema
ya
nosotros
que
si
se
tendremos
la
nos
presentar
capacidad
de
lo
mismo,
si
no
se
esta
seguro
de
haber
pertinentes
resolver
problemas
ya
que
de
orientados
otra
a
manera
no
computadoras,
podremos
pues
se
20%
% Cubierto
% Faltante
137
T E M A V.
ARREGLOS
Y
ESTRUCTURAS
138
V. ARREGLOS Y ESTRUCTURAS
Al finalizar el tema el participante mediante la
elaboracin de ejercicios, manejar los arreglos
OBJETIVO y
estructuras
tcnicas
utilizando
algortmicas
las
con
tres
la
diferentes
finalidad
de
almacenar informacin.
CONTENIDO
INTRODUCCIN
5.1. ARREGLOS
5.2. ESTRUCTURAS
CONCLUSIN
INTRODUCCIN
Este tema es muy sencillo de comprender, siempre y
cuando se tengan bien afianzados los temas anteriores, ya
que los
arreglos y
las estructuras
son una
especie de
de
que
estos
no
son
iguales,
ya
que
en
una
tema
para
su
absoluta
comprensin
esta
con
los
arreglos
en
estructuras.
Cabe
mencionar
que
el
dentro
segundo
de
los
con
las
arreglos
139
5.1 ARREGLOS
Para explicar que es un arreglo basta con decir lo
mismo
que
dicen
las
empresas
constructoras
de
casas
comn
corriente,
pero
si
nosotros
le
informacin
Posicin 4
Posicin 3
Posicin 2
Posicin nica
Variable
Posicin 1
Arreglo de 4 posiciones
140
pueden
ordenar
ya
sea
de
manera
ascendente
descendente.
La declaracin de los arreglos no desvara mucho de
la declaracin de variables, con la excepcin de que se
tiene que definir el tamao del arreglo, el cual se tiene
que poner entre parntesis cuadrados o corchetes, aunque
para menor confusin los declaramos en una seccin llamada
arreglos.
PSEUDOCDIGO Y
DIAGRAMA N-S
Arreglos:
Edad : entero de [ 20 ]
posiciones
Parciales : real de
[ 10 ] posiciones
DIAGRAMA DE FLUJO
Arreglos:
Edad : entero de [ 20 ] posiciones
Parciales : real de [ 10 ] posiciones
ndice.
Al declarar un arreglo, se le pueden dar valores de
inicio
para
cada
una
de
sus
posiciones,
pera
lo
cual
141
DIAGRAMA DE FLUJO
Arreglos:
Edad : entero de [ 5 ] posiciones = {25, 9, 18, 20, 31}
Parciales : real de [ 10 ] posiciones = {0}
Ilustracin 25 Forma en que se inicializan los arreglos
DIAGRAMA DE FLUJO
Lo que contiene el arreglo edades en la posicin 3 es:, edades[3]
DIAGRAMA DE FLUJO
edades[3]
DIAGRAMA DE FLUJO
edades[3] = 5 * 10
//
almacena
una
dato
en
la
posicin 3 // del arreglo edades
edades[3] = 5 * 10
Ejemplo
Arreglos:
calif : real de [6] posiciones
Variables:
subndice : entera = 0
acum_calif : real = 0
1. Inicio
2. Hacer para subndice = 1 hasta subndice > 6
Si subndice != 6
Escribir dame calificacin de parcial , subndice, :
Leer calif[subndice]
acum_calif = acum_calif + calif[subndice]
Si no
calif[subindice] = acum_calif / 5
Fin si
subndice = subndice + 1
Fin para
3. Hacer para subndice = 1 hasta subndice > 6
Si subndice == 6 entonces
Escribir Promedio : , calif[subndice]
Si no
INSTITUTO TECNOLGICO N.S.R
143
144
subndice > 6
F
subndice != 6
subndice = 1
subndice = subndice + 1
subndice > 6
F
V
subndice == 6
Promedio :, calif[subndice]
FIN
Diagrama N-S
// diagrama N-S : calificaciones
Inicio
Arreglos:
INSTITUTO TECNOLGICO N.S.R
145
falso
calif[subndice] = acum_calif / 5
subndice = subndice + 1
subndice > 6
verdadero
subndice = 1
subndice == 6
Falso
subndice = subndice + 1
Fin
Paso III. Prueba Del Algoritmo.
NICA CORRIDA DE ESCRITORIO
subndice = 1
subndice > 6
1 > 6 NO
subndice != 6
1 != 6 SI
calif[subndice] = 8
calif[1] = 8
acum_calif = acum_calif + calif[subndice]
acum_calif = 0 + calif[1]
acum_calif = 0 + 8
acum_calif = 8
subndice = subndice + 1
subndice = 1 + 1
subndice = 2
subndice > 6
2 > 6 NO
subndice != 6
2 != 6 SI
calif[subndice] = 6
calif[2] = 6
acum_calif = acum_calif + calif[subndice]
acum_calif = 8 + calif[2]
acum_calif = 8 + 6
acum_calif = 14
subndice = subndice + 1
subndice = 2 + 1
subndice = 3
146
subndice > 6
3 > 6 NO
subndice != 6
3 != 6 SI
calif[subndice] = 10
calif[3] = 10
acum_calif = acum_calif + calif[subndice]
acum_calif = 14 + calif[3]
acum_calif = 14 + 10
acum_calif = 24
subndice = subndice + 1
subndice = 3 + 1
subndice = 4
subndice > 6
4 > 6 NO
subndice != 6
4 != 6 SI
calif[subndice] = 5
calif[4] = 5
acum_calif = acum_calif + calif[subndice]
acum_calif = 24 + calif[4]
acum_calif = 24 + 5
acum_calif = 29
subndice = subndice + 1
subndice = 4 + 1
subndice = 5
subndice > 6
5 > 6 NO
subndice != 6
5 != 6 SI
calif[subndice] = 9
calif[5] = 9
acum_calif = acum_calif + calif[subndice]
acum_calif = 29 + calif[5]
acum_calif = 29 + 9
acum_calif = 38
subndice = subndice + 1
subndice = 5 + 1
subndice = 6
subndice > 6
6 > 6 NO
subndice != 6
6 != 6 NO
calif[subndice] = acum_calif / 5
calif[6] = 38 / 5
calif[6] = 7.6
subndice = subndice + 1
subndice = 6 + 1
subndice = 7
subndice > 6
7 > 6 SI
con
un
mismo
subndice
se
puede
acceder
varios
arreglos.
147
Ejemplo
148
ce]
prom[ndic
e]
Procesos
grupo2[ndi
ce]
3.
4.
Inicio
Hacer para ndice = 1 hasta ndice > 5
Escribir dame promedio , ndice, del primer grupo:
Leer grupo1[ndice]
Escribir dame promedio , ndice, del segundo grupo:
Leer grupo2[ndice]
Si grupo1[ndice] > grupo2[ndice] entonces
prom[indice] = grupo1[ndice]
Si no
prom[indice] = grupo2[ndice]
Fin si
ndice = ndice + 1
Fin para
Hacer para ndice = 1 hasta ndice > 5
3.1
Escribir promedio mayor, ndice, :, prom[ndice]
3.2 ndice = ndice + 1
Fin para
Fin
Diagrama N-S
// diagrama N-S : calificaciones de 2 grupos
Inicio
Arreglos:
grupo1, grupo2, prom : real de [5] posiciones
Variables:
ndice : entero = 0
ndice > 5
Escribir dame promedio , ndice, del primer grupo:
Leer grupo1[ndice]
Escribir dame promedio , ndice, del segundo grupo:
Leer grupo2[ndice]
grupo1[ndice] > grupo2[ndice]
ndice = 1
verdadero
falso
prom[ndice] = grupo1[ndice]
prom[ndice] = grupo2[ndice]
ndice = ndice + 1
ndice > 5
ndice = 1 Escribir promedio mayor, ndice, :, prom[ndice]
ndice = ndice + 1
Fin
DIAGRAMA DE FLUJO
149
ndice > 5
F
dame promedio , ndice, del primer grupo:
grupo1[indice]
grupo2[indice]
grupo1[ndice]
>
grupo2[ndice]
prom[indice] = grupo1[indice]
prom[indice] = grupo2[indice]
ndice = 1
ndice = ndice + 1
ndice > 5
V
F
FIN
Paso III. Prueba Del Algoritmo.
NICA CORRIDA DE ESCRITORIO
150
ndice > 5
4 > 5 NO
ndice > 5
1 > 5 NO
grupo1[ndice] = 8.5
grupo1[1] = 8.5
grupo2[ndice] = 6.9
grupo2[1] = 6.9
grupo1[ndice] > grupo2[ndice]
grupo1[1] > grupo2[1]
8.5 > 6.9 SI
prom[ndice] = grupo1[ndice]
prom[1] = grupo1[1]
prom[1] = 8.5
ndice = ndice + 1
ndice = 1 + 1
ndice = 2
grupo1[ndice] = 9.7
grupo1[4] = 9.7
grupo2[ndice] = 9.3
grupo2[4] = 9.3
grupo1[ndice] > grupo2[ndice]
grupo1[4] > grupo2[4]
9.7 > 9.3 SI
prom[ndice] = grupo1[ndice]
prom[4] = grupo1[4]
prom[4] = 9.7
ndice = ndice + 1
ndice = 4 + 1
ndice = 5
ndice > 5
5 > 5 NO
ndice > 5
2 > 5 NO
grupo1[ndice] = 7
grupo1[2] = 7
grupo2[ndice] = 8.7
grupo2[2] = 8.7
grupo1[ndice] > grupo2[ndice]
grupo1[2] > grupo2[2]
7 > 8.7 NO
prom[ndice] = grupo2[ndice]
prom[2] = grupo2[2]
prom[2] = 8.7
ndice = ndice + 1
ndice = 2+ 1
ndice = 3
grupo1[ndice] = 6
grupo1[5] = 6
grupo2[ndice] = 6
grupo2[5] = 6
grupo1[ndice] > grupo2[ndice]
grupo1[5] > grupo2[5]
6 > 6 NO
prom[ndice] = grupo2[ndice]
prom[5] = grupo2[5]
prom[5] = 6
ndice = ndice + 1
ndice = 5 + 1
ndice = 6
ndice > 5
6 > 5 SI
ndice > 5
3 > 5 NO
grupo1[ndice] = 6.8
grupo1[3] = 6.8
grupo2[ndice] = 9.5
grupo2[3] = 9.5
grupo1[ndice] > grupo2[ndice]
grupo1[3] > grupo2[3]
6.8 > 9.5 NO
prom[ndice] = grupo2[ndice]
prom[3] = grupo2[3]
prom[3] = 9.5
ndice = ndice + 1
ndice = 3 + 1
ndice = 4
Ejercicios.
I. Realiza un algoritmo que maneja arreglos utilizando las
tres diferentes tcnicas para cada uno de los problemas
que se plantean.
INSTITUTO TECNOLGICO N.S.R
151
1. Un supermercado
necesita un
sistema en
donde
almacenar sus ingresos, los cuales son la sumatoria
de todas las ventas realizadas a los clientes (100
clientes).
2. Se necesita un sistema que utiliza 2 arreglos para
almacenar 20 nmeros, en el primero se almacenan los
nmeros tal y como son capturados y en el segundo se
almacenan sus inversos (5, -5).
3. Necesitamos un sistema que capture 20 nmeros y
despus de capturarlos que haga la revisin de estos
para indicarnos cuantos son pares y cuantos son
impares.
4. Se necesita un sistema que almacena 20 nmeros en
tres diferentes arreglos, en el primero se almacena
el nmero tal cual se tecleo, en el segundo se
almacena el cuadrado de dicho nmero y en el tercero
su cubo.
5. Se necesita un sistema que almacena automticamente
todos los nmeros primos desde el uno hasta el mil
uno; recordando que un nmero primo es aquel que
solamente es divisible entre uno y si mismo.
Ordenar Arreglos (Ordenamiento Tipo Burbuja).
En
varias
ocasiones
cuando
desarrollemos
un
as
ya
que
los
elementos
del
vector
(arreglo)
152
Posicin 1
1.78
1.54
1.84
Posicin 2
1.61
1.61
Posicin 3
1.78
1.87
Posicin 4
1.84
1.54
Posicin 5
1.87
Arreglo desordenado
Arreglo Ordenado
Naturalmente
para
nosotros
resulta
muy
fcil
este
proceso
se
lleva
un
buen
nmero
de
N_pasadas
Hacer para
TAM_ARREGLO
posicin
1
=
hasta
1
hasta
N_pasadas
posicin
>=
==
153
variable
posicin
es
la
que
nos
dir
que
contra
edades[posicin
1]),
si
la
es
guardado
en
la
variable
temporal,
en
la
variable
temporal
es
dado
1
5
1
F
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.84
1.61
1.87
1.54
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.84
1.61
1.87
1.54
C2. Como el resultado de la segunda comparacin es verdadero, los valores de estas posiciones
se intercambian.
N_pasadas= 1
TAM_ARREGLO= 5
Posicin= 2
edades[ posicin ] > edades[ posicin + 1 ] V
Temporal= 1.84
154
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.84
1.61
1.87
1.54
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.61
1.84
1.87
1.54
1
5
3
F
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.61
1.84
1.87
1.54
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.61
1.84
1.87
1.54
C4. Como el resultado de la cuarta comparacin es verdadero, los valores de estas posiciones se
intercambian.
N_pasadas= 1
TAM_ARREGLO= 5
Posicin= 4
edades[ posicin ] > edades[ posicin + 1 ] V
Temporal= 1.87
Edades[ posicin ] = 1.54
Edades[posicin + 1] = 1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.61
1.84
1.87
1.54
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.78
1.61
1.84
1.54
1.87
es
igual
al
tamao
del
arreglo
(posicin ==
2
5
1
edades[1]
edades[2]
edades[3]
1.78
1.61
1.84
edades[1]
edades[2]
edades[3]
1.61
1.78
1.84
155
edades[4]
edades[5]
1.54
1.87
edades[4]
edades[5]
1.54
1.87
2
5
2
F
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.78
1.84
1.54
1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.78
1.84
1.54
1.87
C7. Como el resultado de la sptima comparacin es verdadero, los valores de estas posiciones
se intercambian.
N_pasadas= 2
TAM_ARREGLO= 5
Posicin= 3
edades[ posicin ] > edades[ posicin + 1 ] V
Temporal= 1.84
Edades[ posicin ] = 1.54
Edades[posicin + 1] = 1.84
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.78
1.84
1.54
1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.78
1.54
1.84
1.87
Con
esto
2
5
4
F
terminamos
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
la
1.61
1.78
1.54
1.84
1.87
segunda
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
pasada,
1.61
1.78
1.54
1.84
1.87
pero
si
realizar
las
evaluaciones
correspondientes,
Sugerencia.
se
hacer
recomienda
una
mejora
al
programa,
la
cual
156
la
variable
que
contiene
el
tamao
del
arreglo
(TAM_ARREGLO).
final.
C9. Como el resultado de la novena comparacin es falso, el arreglo contina igual.
N_pasadas=
TAM_ARREGLO=
Posicin=
edades[ posicin ] > edades[ posicin + 1 ]
Temporal=
Edades[ posicin ] =
Edades[posicin + 1] =
3
5
1
F
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.78
1.54
1.84
1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.78
1.54
1.84
1.87
C10. Como el resultado de la dcima comparacin es verdadero, los valores de estas posiciones
se intercambian.
N_pasadas= 3
TAM_ARREGLO= 5
Posicin= 2
edades[ posicin ] > edades[ posicin + 1 ] V
Temporal= 1.78
Edades[ posicin ] = 1.54
Edades[posicin + 1] = 1.78
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.78
1.54
1.84
1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.54
1.78
1.84
1.87
3
5
3
F
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.54
1.78
1.84
1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.54
1.78
1.84
1.87
3
5
4
F
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.54
1.78
1.84
1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.54
1.78
1.84
1.87
157
N_pasadas= 4
TAM_ARREGLO= 5
Posicin= 1
edades[ posicin ] > edades[ posicin + 1 ] V
Temporal= 1.61
Edades[ posicin ] = 1.54
Edades[posicin + 1] = 1.61
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.61
1.54
1.78
1.84
1.87
edades[1]
edades[2]
edades[3]
edades[4]
edades[5]
1.54
1.61
1.78
1.84
1.87
que
el
valor
que
asume
N_pasadas
sea
igual
TAM_ARREGLO.
Sugerencia.
Para
salirse
antes
de
un
arreglo
ya
nos
podemos
dar
cuenta
es
un
mtodo
muy
Si
fuera
un
arreglo
de
10
posiciones
se
utiliza
arreglos
de
1000
posiciones,
el
estas
pueden
disminuir
con
las
mejoras
ya
158
programacin
se
pueden
crear
arreglos
de
mltiples
Posicin nica
Variable
Posicin 4
Rengln 4
Columna 1
Rengln 4
Columna 2
Rengln 4
Columna 3
Posicin 3
Rengln 3
Columna 1
Rengln 3
Columna 2
Rengln 3
Columna 3
Posicin 2
Rengln 2
Columna 1
Rengln 2
Columna 2
Rengln 2
Columna 3
Posicin 1
Rengln 1
Columna 1
Rengln 1
Columna 2
Rengln 1
Columna 3
Arreglo [4]
( 1 columna, 3 renglones)
Arreglo [3][4]
( 4 renglones, 3 columnas)
para
cada
una
de
sus
posiciones,
pera
lo
cual
159
por
comas,
recordando
que
el
primer
valor
Sugerencia.
del
arreglo
en
otra
los
del
segundo
as
DIAGRAMA DE FLUJO
Arreglos:
Edad : entero de [3] renglones [4] columnas = {25, 9, 18, 20, 31
4, 13, 28, 15, 54
29, 7, 12, 11, 23}
Parciales : real de [5] renglones [8] columnas = {0}
corchetes
columna
entre
corchetes
que
deseamos
visualizar.
PSEUDOCDIGO Y DIAGRAMA
N-S
160
DIAGRAMA DE FLUJO
que deseamos
guardar el
dato dado
por el
usuario.
PSEUDOCDIGO Y DIAGRAMA N-S
Leer edades[2][3]
//
almacena
una
dato
rengln
2
// columna
arreglo edades
DIAGRAMA DE FLUJO
en
el
3
del
Edades[2][3]
columna
entre
corchetes
en
que
deseamos
colocar
el
resultado de la expresin.
PSEUDOCDIGO Y DIAGRAMA N-S
Edades[2][3] = 5 * 10
//
almacena
una
dato
rengln
2
// columna
arreglo edades
DIAGRAMA DE FLUJO
en
el
3
del
Edades[2][3] = 5 * 10
entre
corchetes
de
la
matriz
que
se
quiere
161
que
si
nos
encontramos
con
la
coordenada
[3][2]
Ejemplo
Disear El algoritmo
PSEUDOCDIGO
Pseudocdigo: alumnos
Arreglos:
calificaciones : real de [5] renglones [4] columnas
Variables:
num_alum, parcial : entero = 0
acum_cal : real = 0
1. Inicio
2. Hacer para num_alum = 1 hasta num_alum > 5
acum_cal = 0
Hacer para parcial = 1 hasta parcial > 3
Escribir Calificacin del alumno ,num_alum,en parcial:, parcial
Leer calificaciones[num_alum][parcial]
acum_cal = acum_cal + calificaciones[num_alum][parcial]
parcial = parcial + 1
Fin para
calificaciones[num_alum][parcial] = acum_cal / 3
num_alum = num_alum + 1
Fin para
3. Fin
162
parcial=1
Escribir
Calificacin
del
alumno
,num_alum,en
parcial:, parcial
Leer calificaciones[num_alum][parcial]
acum_cal = acum_cal + calificaciones[num_alum][parcial]
parcial = parcial + 1
calificaciones[num_alum][parcial] = acum_cal / 3
num_alum = num_alum + 1
Fin
DIAGRAMA DE FLUJO
163
num_alum > 5
num_alum = num_alum + 1
F
acum_cal = 0
parcial = 1
parcial > 3
parcial = parcial + 1
F
Calificacin del alumno , num_alum,en parcial:, parcial
calificaciones[num_alum][parcial]
calificaciones[num_alum][parcial] = acum_cal / 3
FIN
Tabla 39 Ejemplo 1 de arreglos bidimensionales
Se necesita un sistema que utiliza una matriz de 10 renglones y 3
columnas. En las dos primeras columnas se colocan los promedios
de los 10 alumnos de dos grupos (A y B) y en la tercera columna
se almacenar el promedio ms alto de cada posicin.
Paso II. Disear El algoritmo
Ejemplo
164
alumno = 1
falso
grupos[alumno][3] = grupos[alumno][2]
alumno = alumno + 1
Fin
DIAGRAMA DE FLUJO
165
alumno > 10
alumno = alumno + 1
F
promedio del alumno , alumno ,del primer grupo
grupos[alumno][1]
grupos[alumno][2]
grupos[alumno][1]
>
grupos[alumno][2]
grupos[alumno][3] = grupos[alumno][1]
grupos[alumno][3] = grupos[alumno][1]
FIN
Tabla 40 Ejemplo 2 del manejo de arreglos
Ejercicios.
I. Realiza un algoritmo con las tres diferentes tcnicas
utilizando matrices para cada uno de los siguientes
166
problemas.
1. Sistema que almacena la estatura, peso y talla de
zapatos de hasta 100 personas, preguntando si se desea
almacenar los datos de otra persona.
2. Sistema que tiene cuatro opciones: suma, resta,
multiplicacin y salir, en el cual segn la opcin que
se seleccione muestra las tablas correspondientes o
sale del sistema.
3. Sistema que permite almacenar, consultar y modificar
el nombre, direccin y telfono de hasta 10 personas.
4. Sistema
que
captura
y
posteriormente
ordena
alfabticamente los datos de 10 personas ya sea por
nombre, apellido paterno o apellido materno
5. Sistema que almacena los tres parciales y promedios de
10 alumnos, de las cuales necesitamos saber cuantos
sacaron de promedio menos de 6, cuantos entre 6 y 8,
cuantos entre 8 y 9 y cuantos ms de 9 ; adems que
despliegue los parciales de todos aquellos que tienen
promedio de 9 o ms.
5.2 ESTRUCTURAS
Este subtema en realidad es muy sencillo, ya que
nosotros
ya
utilizamos
estructuras
desde
los
primeros
temas:
Una
variable,
es
en
realidad
la
estructura
ms
tipo
entero
de
posiciones
llamado
arreglo1
estructura
de
tres
variables
enteras
una
estructura
no
es
muy
diferente
un
167
Posicin nica
Edad: entera
Estructura
se deben de indicar
Este
proceso
se
conoce
como
definicin
de
la
DIAGRAMA DE FLUJO
Estructuras:
Alumno con los campos:
Nombre : alfanumrico
N_control : entero
Semestre : entero
Grupo : alfanumrico
Promedio_final : real
:
:
:
INSTITUTO TECNOLGICO N.S.R
alfanumrico
Promedio_fina
l : real
Ilustracin 37 Forma en que se define una estructura.
de
una
estructura
ya
definida;
ya
que
estamos
lo
que
llamamos:
declarar
una
variable
del
tipo
estructura predefinida.
PSEUDOCDIGO Y
DIAGRAMA N-S
Estructuras:
Alumno
con
los
campos:
Nombre
:
alfanumrico
N_control
:
entero
Semestre
:
entero
Grupo
:
alfanumrico
Promedio_fina
l : real
DIAGRAMA DE FLUJO
Estructuras:
Alumno con los campos:
Nombre : alfanumrico
N_control : entero
Semestre : entero
Grupo : alfanumrico
Promedio_final : real
variables:
alu1 : Alumno
alu2 : Alumno
variables:
alu1 : Alumno
INSTITUTO TECNOLGICO N.S.R
169
alu2 : Alumno
// se estn declarando dos
variables del // tipo Alumno
introducen
en
el
orden
en
que
esta
definida
la
estructura.
PSEUDOCDIGO Y
DIAGRAMA N-S
Estructuras:
Alumno
campos:
con
DIAGRAMA DE FLUJO
los
Nombre
:
alfanumrico
N_control :
entero
Promedio_fin
al : real
variables:
alu1
:
Alumno
{Juan,96010374,8.9}
alu2
:
Alumno
{Mara,0027204,7.8}
Estructuras:
Alumno con los campos:
Nombre : alfanumrico
N_control : entero
Promedio_final : real
variables:
alu1 : Alumno= {Juan,96010374,8.9}
alu2 : Alumno= {Mara,0027204,7.8}
=
=
170
de
estructura
predefinido
en
un
campo
especfico,
DIAGRAMA DE FLUJO
de
estructura
predefinido
en
un
campo
especfico,
DIAGRAMA DE FLUJO
Leer alu1.promedio_final
// almacena un dato en el campo promedio_final
de alu1
alu1.promedio_final
especfico,
debemos
de
indicar
el
nombre
de
la
DIAGRAMA DE FLUJO
alu1.promedio_final = 9.5
// almacena un dato en el campo promedio_final
alu1
alu1.promedio_final = 9.5
estructuras,
estructura
se
dentro
declara
un
de
arreglo
la
de
definicin
4
de
posiciones
la
para
Ejemplo
171
nombre : alfanumrico
num_control : entero
Arreglos:
parciales : real de [4] posiciones
// el arreglo parciales esta dentro de la estructura alumno
Variables:
alumno1 : alumno
alumno2 : alumno
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Inicio
Escribir Dame el nombre del primer alumno:
Leer alumno1.nombre
Escribir Dame el nmero de control del primer alumno:
Leer alumno1.num_control
Escribir Dame calificacin de 1er. parcial del primer alumno:
Leer alumno1.parciales[1]
Escribir Dame calificacin de 2do. parcial del primer alumno:
Leer alumno1.parciales[2]
Escribir Dame calificacin de 3er. parcial del primer alumno:
Leer alumno1.parciales[3]
alumno1.parciales[4] = (alumno1.parciales[1] + alumno1.parciales[2] + alumno1.parciales[3] ) / 3
Escribir Dame el nombre del segundo alumno:
Leer alumno2.nombre
Escribir Dame el nmero de control del segundo alumno:
Leer alumno2.num_control
Escribir Dame calificacin de 1er. parcial del segundo alumno:
Leer alumno2.parciales[1]
Escribir Dame calificacin de 2do. parcial del segundo alumno:
Leer alumno2.parciales[2]
Escribir Dame calificacin de 3er. parcial del segundo alumno:
Leer alumno2.parciales[3]
alumno2.parciales[4] = (alumno2.parciales[1] + alumno2.parciales[2] + alumno2.parciales[3] ) / 3
Si alumno1.parciales[4] > alumno2.parciales[4] entonces
Escribir alumno1.nombre, Salio mejor en promedio final que ,alumno2.nombre
Si no
Escribir alumno2.nombre, Salio mejor en promedio final que ,alumno1.nombre
Fin si
25. Fin
DIAGRAMA DE FLUJO
172
alumno1.parciales[4]
>
alumno2.parciales[4]
FIN
Diagrama N-S
// diagrama N-S : Comparar alumnos
Inicio
Estructuras:
INSTITUTO TECNOLGICO N.S.R
173
Falso
Escribir alumno2.nombre, Salio mejor en promedio
final que ,alumno1.nombre
Ejemplo
174
Inicio
2.
3.
Fin
Diagrama N-S
// diagrama N-S : Supermercado
Inicio
Estructuras:
producto con los campos:
clave : entera
descripcin : alfanumrico
Arreglos :
precios : real, de [3] posiciones
Arreglos:
productos : producto, de [10] posiciones
Variables:
ndice : entera
ndice > 10
Escribir Clave del producto , ndice, :
Leer productos[ndice].clave
Escribir Descripcin del producto , ndice, :
Leer productos[ndice].descripcin
Escribir Precio de compra del producto , ndice, :
ndice = 1
Leer productos[ndice].precios[1]
Escribir Precio de menudeo del producto , ndice, :
Leer productos[ndice].precios[2]
Escribir Precio de mayoreo del producto , ndice, :
Leer productos[ndice].precios[3]
ndice = ndice + 1
Fin
DIAGRAMA DE FLUJO
175
ndice > 10
ndice = ndice + 1
F
Clave del producto, ndice, :
Descripcin del producto , ndice, :
Precio de compra del producto , ndice, :
Precio de menudeo del producto , ndice, :
Precio de mayoreo del producto , ndice, :
productos[ndice].clave
productos[ndice].descripcin
productos[ndice].precios[1]
productos[ndice].precios[2]
productos[ndice].precios[3]
FIN
Ejercicios.
I. Realiza un algoritmo que utilice estructuras mediante
las tres tcnicas para cada uno de los puntos siguientes.
1. Se necesita un sistema para una escuela el cual
almacene el nombre, direccin, telfono, semestre,
grupo y matricula de 100 alumnos.
2. Se necesita un sistema para una escuela el cual
permite almacenar, borrar, buscar y ordenar hasta un
mximo de 100 alumnos con los mismos datos del ejemplo
anterior.
176
CONCLUSIN
En este tema se presentaron 2 subtemas, donde cada
uno
tiene
una
gran
importancia
para
tener
una
mejor
almacenar
diferencia
de
datos
diferentes
de
los
arreglo
se
tipos.
utilizan
Vimos
para
que
las
este
tema
hemos
cubierto
casi
todo
nuestro
10%
177
% Cubierto
% Faltante
178
TEMA VI.
MDULOS
179
INTRODUCCIN
6.1 Mdulos
CONCLUSIN
Introduccin
Un excelente programador se distingue de los otros
cuando fragmenta sus programas en otros ms pequeos, lo
cual
provoca
que
esto
sean
ms
sencillos,
cortos
funcionales.
En este tema se adquirirn los conocimientos para
crear mdulos, las cuales como se ver, no son otra cosa
ms que pequeos programas o algoritmos que se escriben
fuera del programa o algoritmo principal. Veremos que la
creacin de un mdulo lleva 2 pasos; la definicin del
mdulo y la llamada del mdulo; donde la definicin no es
otra cosa ms que desarrollar los pasos a realizar cuando
el mdulo se ejecute, y la llamada del mdulo es mandar a
traerlo para que se reproduzca. Adems haremos que nuestros
mdulos
puedan
no
recibir
ciertos
datos
desde
el
180
6.1 Mdulos
La programacin modular es el proceso que consiste
en dividir un gran programa en varios ms pequeos, los
cuales
realizan
una
tarea
especfica,
siendo
estos
ms
definir
una
funcin
en
pseudocdigo
en
coloca
el
nombre
de
la
funcin,
las
variables,
de
instrucciones
ejecutar
comenzando
con
la
181
del
mdulo,
en
el
cual
se
ilustran
todas
las
instruccin
es
Inicio
Mdulo
la
ltima
Fin Mdulo.
Llamada al mdulo. Es el proceso de mandar a
traer al procedimiento para que ejecute su(s) tarea(s).
Este
proceso
se
realiza
en
pseudocdigo
en
entre
procedimiento
parntesis
devuelve
separados
un
dato
por
al
comas,
algoritmo
si
el
principal
diagrama
de
flujo,
este
proceso
se
realiza
se
coloca
el
nombre
del
mdulo
que
se
quiere
que
devuelve
el
procedimiento
al
terminar
de
ejecutarse.
A
continuacin
veremos
un
primer
ejemplo
que
principal
no
es
tan
extenso
ya
que
las
Ejemplo
Inicio mdulo
Escribir Dame un nmero
Leer nmero
resultado = nmero * nmero
Escribir Resultado :, resultado
Fin mdulo
-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o
Pseudocdigo: Cuadrado de varios nmeros
Variables: // sin variables
1.
2.
3.
4.
5.
6.
7.
8.
Inicio
Escribir
Ejecutar
Escribir
Ejecutar
Escribir
Ejecutar
Fin
183
Variables:
nmero, resultado: enteras = 0
Dame un nmero
nmero
Fin Mdulo
CUADRADO
CUADRADO
CUADRADO
Fin Mdulo
Diagrama N-S
de varios nmeros
al mdulo CUADRADO
al mdulo CUADRADO
al mdulo CUADRADO
Ejemplo
Parmetros:
base : entero
altura : entero
// los datos que son recibidos cuando es efectuada la llamada se llaman parmetros
Variables:
1.
2.
3.
4.
resultado : entero
Inicio Mdulo
resultado = base * altura
Escribir rea del rectngulo :, resultado
Fin Mdulo
1. Inicio
2. Repetir
Escribir Dame base del rectngulo:
Leer dato1
Escribir Dame altura del rectngulo:
Leer dato2
Ejecutar REA(dato1, dato2)
// Se ejecuta el mdulo rea y el valor de dato1 es asignado al parmetro base
y // el valor de dato2 es asignado al parmetro altura.
Escribir deseas calcular otra rea?:
INSTITUTO TECNOLGICO N.S.R
185
186
dato1
PARMETROS:
base : entero
altura : entero
Variables:
resultado : entero
REA
Dato1
Dato2
resp
Fin Mdulo
F
resp == n
V
Fin
Parmetros:
precio : real
descuento : real
Dato a devolver:
nuevo_precio : real
1. Inicio Mdulo
2. nuevo_precio = precio (precio * descuento)
3. Fin Mdulo
// Al terminar de ejecutarse el mdulo se regresa
variable // nuevo_precio al algoritmo principal
INSTITUTO TECNOLGICO N.S.R
el
valor
187
que
tiene
la
-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-oPseudocdigo: Tienda
Variables:
p_neto, prec, desc : reales
resp : alfanumerico = s
1. Inicio
2. Hacer mientras resp == s
Escribir Precio del producto:
Leer prec
Escribir Descuento a realizar:
Leer desc
Ejecutar PRECIO_NETO(prec, desc) p_neto
// El dato que devuelve la funcin o mdulo es asignado a la variable p_neto,
la // cual puede ser utilizada dentro del algoritmo principal
Escribir El precio neto del producto es:, p_neto
Escribir Deseas calcular otro producto?:
Leer resp
Fin mientras
3. Fin
Diagrama N-S
// diagrama N-S para el Mdulo : PRECIO_NETO
Inicio Mdulo
Parmetros:
precio : real
descuento : real
Dato a devolver:
nuevo_precio : real
nuevo_precio = precio (precio * descuento)
Fin Mdulo
// diagrama N-S: TIENDA
Inicio
Variables:
p_neto, prec, desc : reales
resp : alfanumerico = s
resp == s
Escribir Precio del producto:
Leer prec
Escribir Descuento a realizar:
Leer desc
Ejecutar PRECIO_NETO(prec, desc) p_neto
Escribir El precio neto del producto es:, p_neto
Escribir Deseas calcular otro producto?:
Leer resp
Fin
DIAGRAMA DE FLUJO
188
// D.F.: Tienda
Inicio
Variables:
p_neto, prec, desc : reales
resp : alfanumerico = s
F
resp == s
// D.F. Mdulo: PRECIO_NETO
V
Precio del producto:
Inicio Mdulo
prec
PARMETROS:
precio : real
descuento : real
Descuento a realizar:
DATO A DEVOLVER:
nuevo_precio : real
nuevo_precio = precio (precio * descuento)
Fin Mdulo
desc
p_neto
PRECIO_NETO
prec
desc
Fin
Tabla 45 Ejemplo 3 del manejo de Mdulos o Funciones
Ejercicios.
I. Escribe una funcin y programa para cada uno de los
siguientes
puntos,
utilizando
las
tres
diferentes
tcnicas.
1. Se necesita un sistema que calcule el factorial de un
nmero dado por el usuario.
2. Se necesita un sistema que calcula el cuadrado de un
nmero dado por el usuario
3. Funcin que acepta cuatro variables alfanumricas,
las cuales son las opciones del men.
4. Funcin que acepta cuatro variables alfanumricas,
las cuales son las opciones del men, pero adems que
adems devuelva la opcin presionada por el usuario.
5. Funcin que recibe dos nmeros. Si el primero es
mayor que el segundo devuelve un 1, si el segundo es
mayor que el primero devuelve un -1, pero si son
iguales el dato devuelto es un 0.
INSTITUTO TECNOLGICO N.S.R
189
CONCLUSIN
En este tema se abarc un nico subtema, el cual
tiene
como
objetivo
hacernos
unos
programadores
teniendo
de
la
capacidad
de
utilizarse
la
comprensin
absoluta
de
este
tema
hemos
190
CONCLUSIN GENERAL
Si estas leyendo esto FELICIDADES!, Por qu?, por
la
simple
sencilla
razn
que
has
dado
el
paso
ms
todos
los
pasos
que
tendras
que
realizar
el
en
una
sola
identificadores
de
aritmticos,
cuales
los
varias
expresiones
diferentes
tipos
manejaste
utilizando
partir
operadores
del
segundo
tema.
Si este proceso que se te esta solicitando requiere
que
se
ejecute
para
100
trabajadores
que
se
den
tanto
en
pseudocdigo,
diagramas
de
flujo
para
aplique
100
hacer
las
que
trabajadores
estructuras
este
sino
proceso
a
cclicas
todos
no
solo
los
las
que
se
le
sean
191
necesarios.
Todo
esto
lo
manejaste
aprendiste
en
el
estructuras
para
almacenar
los
datos
del
hacer
que
tus
algoritmos
estuvieran
192
BIBLIOGRAFA
Fundamentos De Programacin, Algoritmos Y Estructura De
Datos
JOYANES Aguilar Luis
Ed. McGraw Hill
Mxico
Como Programar En C/C++
DEITEL H.M. / DEITEL P.J.
Ed. Prentice Hall
Mxico
Organizacin De Computadoras, Un Enfoque Estructurado
TANENBAUM Andrew
Ed. Prentice Hall
Mxico
Anlisis Y Diseo De Sistemas De Informacin
SENN James A.
McGraw Hill
Mxico
Introduccin A La Computacin
NORTON Peter
McGraw Hill
Mxico
Fundamentos De Programacin, Libro De Problemas
JOYANES Aguilar Luis/RODRGUEZ Baena Luis/FERNNDEZ
Azuela Matilde
McGraw Hill
Mxico
Informtica II
GONZLEZ Osorio Gonzalo
Compaa Editorial Nueva Imagen
Mxico
Informtica, Para Cursos De Bachillerato
FERREYRA Corts Gonzalo
Ed. Alfaomega
Mxico
193