Professional Documents
Culture Documents
Beltrn Franco
Procedimiento completo para crear algoritmos en la programacin Nelson Francisco
de computadores y probar su funcionamiento
Beltrn Franco
Este libro se escribi para que sea estudiado y consultado, por los estudiantes de educacin tcnica,
tecnolgica y universitaria que necesiten cursar materias relacionadas con la computacin. La literatura
relacionada con los temas previos a la programacin es escasa.
Apuntes de clase de
ALGORITMOS
gentica. Con este trabajo slo quiero mostrarle al lector cules son los pasos que puede seguir para
definir correctamente un algoritmo, y comprobar su funcionamiento antes de traducirlo a un Lenguaje
de programacin.
Todas las personas aplican inconscientemente algoritmos en las actividades que desarrolla en su vida
cotidiana. Para cocinar, para trabajar, estudiar, hacer sus oficios, pero en el momento en que se le pide
que escriba un algoritmo, se quedan bloqueadas, no saben por donde empezar. Por ejemplo, escriba un
algoritmo para amarrarse los cordones de los zapatos.
Por esta razn, antes de empezar a codificar un algoritmo en cualquier lenguaje de programacin, se le
debe ensear al estudiante cmo escribir sus algoritmos y comprobar su funcionamiento. Y no como
acostumbran la mayora de los maestros, saltarse la parte de los algoritmos, para empezar con un
lenguaje de programacin, dejando vacos en la formacin tcnica de los estudiantes que ms adelante
se vuelven insalvables.
Para desarrollar los ejercicios resueltos y propuestos, de cada captulo se utiliz el programa SmartDFD,
Escriba sus algoritmos de una manera sencilla y efectiva
que es de distribucin gratuita y se puede descargar de la pgina de internet de los autores del Aplique 5 pasos para comprobar que sus algoritmos funcionan
programa http://wiki.freaks-unidos.net/freedfd/index
correctamente
Los ejercicios desarrollados en cada captulo, pueden ser descargados de mi pgina de internet Ensear a pensar no es fcil, pero aplicar un algoritmo para
http://www.nefrabel.net/libros/algoritmos.php.
escribir algoritmos si
Para poder descargar estos ejercicios, debe utilizar la clave que aparece en la primera pgina. Esta
clave la puede usar una sola vez, es nica e irrepetible, y le sirve para recibir informacin adicional y
otros ejercicios que he desarrollado para que sean estudiados por los lectores del libro.
Ejercicios
En prensa se encuentra el libro Apuntes de clase de C++ resueltos en
lnea
Captulo 4: Arreglos vii
Nelson Francisco Beltrn Franco
Apuntes de clase de
Algoritmos
viii Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Captulo 4: Arreglos ix
Nelson Francisco Beltrn Franco
Apuntes de clase de
Algoritmos
Nelson Francisco
Beltrn Franco
x Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Internet: http://www.nefrabel.net/libros/algoritmos.php
Email: algoritmos@nefrabel.net
ISBN:
Agradecimientos
vii
Captulo 4: Arreglos ix
Nelson Francisco Beltrn Franco
Contenido
Introduccin ............................................................................... 1
Captulo 1: Procesos secuenciales .............................................. 5
1 Procesos secuenciales ...................................................................5
1.1 Introduccin .............................................................................5
1.2 Anlisis de la informacin .......................................................... 6
1.3 Algoritmo .................................................................................9
E.1.1 .......................................................................................... 29
ix
x Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
E.1.2 .........................................................................................32
E.1.3 ..........................................................................................34
E.1.4 ..........................................................................................38
E.1.5 ..........................................................................................42
EP.1.1 ........................................................................................51
EP.1.2 ........................................................................................51
EP.1.3 ........................................................................................51
EP.1.4 ........................................................................................52
EP.1.2 ........................................................................................52
EP.1.5 ........................................................................................52
EP.1.6 ........................................................................................52
EP.1.7 ........................................................................................52
EP.1.8 ........................................................................................52
EP.1.9 ........................................................................................52
E.2.1 .......................................................................................... 54
E.2.2 .......................................................................................... 57
E.2.3 .......................................................................................... 62
E.2.4 .......................................................................................... 68
E.2.5 .......................................................................................... 74
E.2.6 .......................................................................................... 79
E.2.7 .......................................................................................... 83
E.2.8 .......................................................................................... 88
E.2.9 .......................................................................................... 94
xi
xii Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
xiii
xiv Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
xiv
Apuntes de clase de algoritmos 1
Nelson Francisco Beltrn Franco
Introduccin
Este libro se escribi para que sea estudiado y consultado, por los
estudiantes de educacin tcnica, tecnolgica y universitaria que
necesiten cursar materias relacionadas con la computacin. La literatura
relacionada con los temas previos a la programacin es escasa.
Para poder descargar estos ejercicios, debe utilizar la clave que aparece
en la primera pgina. Esta clave la puede usar una sola vez, es nica e
irrepetible, y le sirve para recibir informacin adicional y otros ejercicios
que he desarrollado para que sean estudiados por los lectores del libro.
1 Procesos secuenciales
1.1 Introduccin
Entrada de datos.
Procesamiento de datos
Obtencin de resultados
Luego se debe saber cules son los procesos que hay que realizar y qu
datos intermedios se deben conocer; que no son los resultados finales,
8 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
pero son pasos o datos que van a permitir llegar a los resultados finales
que se quieren obtener.
Ejemplo
un bombillo.
una banca o una escalera para pararse y poder cambiar el
bombillo.
1.3 Algoritmo
Ejemplo
1.4 Seudocdigo
Ejemplo
Tabla 1.1
14 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Ejemplo
Inicio
Buscar el bombillo de
repuesto
Desconectar el fluido
elctrico
Desenroscar el bombillo
averiado
Enroscar el nuevo
bombillo
Encender el fluido
elctrico
Terminar
Figura 1.1
Bajar del
El rectngulo representa la ejecucin de una operacin o
cajn
instruccin, o la asignacin de un valor a una variable.
Operadores aritmticos
Operador Operacin
** Exponenciacin
* Multiplicacin
/ Divisin
+ Suma
- Resta
Mod Mdulo (residuo)
Div Divisin entera
Tabla 1.2
Exponenciacin: 7 ** 2 = 49
Multiplicacin: 9 * 11 = 99
Divisin: 15 / 2 = 7.5
Mdulo: 7 mod 2 = 1
Tabla 1.3
Ejemplo:
(((4+3)/2)*5)**2
(((7)/2)*5)**2
Captulo 1: Procesos secuenciales 19
Nelson Francisco Beltrn Franco
((3.5)*5)**2
(17.5)**2
306.25
Ejemplo:
37+9
-4 + 9
5
Ejemplo:
3*7+9/28
21 + 9 / 2 8
21 + 4.5 8
25.5 8
25.5 - 8
17.5
Ejemplo:
4 ** 2 * 3 + 7 / 4
16 * 3 + 7 / 4
48 + 7 / 4
20 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
49.75
Ejemplo:
6 + (4 ** 2 * 3 + 7 / 4) mod 3 + 7 * 9
6 + (16 * 3 + 7 / 4) mod 3 + 7 * 9
6 + (48 + 7 / 4) mod 3 + 7 * 9
6 + (49.75) mod 3 + 7 * 9
6 + 1.75 + 7 * 9
6 + 1.75 + 63
7.75 + 63
70.75
Ejemplo:
(6 + (4 ** (2 * 3 + 7) / 4)) div ((3 + 7) * 9)
16777222 div 90
186413
Operadores relacionales
Operador Operacin
= Igual a
<> Diferente a
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
Tabla 1.4
5 = 3; Falso
e <> E; Verdadero
5 > 3; Verdadero
5 < 3; Falso
5 >= 3; Verdadero
9 <= 3; Falso
Ejemplo:
X = -5
Y=3
Falso
Ejemplo:
N=5
M=2
(N * 9 + 7 * 2) / M <> (M / 3 + 4 / 6) 4 ** (0.5 + 2 * M)
Verdadero
Tabla 1.5
P Q
P &Q
P yQ
P Q
PoQ
Para poder saber si las proposiciones son ciertas o falsas, se utilizan las
tablas de certeza. A continuacin se encuentran las tablas de certeza,
para los tres operadores o trminos de enlace vistos.
Negacin
P P
Cierta Falsa
Falsa Cierta
Tabla 1.6
Conjuncin (Y)
P Q P Q
Cierta Cierta Cierta
Cierta Falsa Falsa
Falsa Cierta Falsa
Falsa Falsa Falsa
Tabla 1.7
Para que la proposicin sea cierta, se requiere que las dos proposiciones
que est uniendo el operador o trmino de enlace sean ciertas. Si
alguna de las dos no es cierta, la proposicin es falsa.
Captulo 1: Procesos secuenciales 27
Nelson Francisco Beltrn Franco
Conjuncin (O)
P Q P Q
Cierta Cierta Cierta
Cierta Falsa Cierta
Falsa Cierta Cierta
Falsa Falsa Falsa
Tabla 1.8
Tabla 1.9
EJERCICIOS DE INICIACIN
Anlisis de la informacin
Algoritmo
Seudocdigo
Diagrama de flujo
Iniciar
Primer nmero
Segundo nmero
Suma
Terminar
Figura 1.2
Iniciar
Con el smbolo se da comienzo al diagrama de flujo y a los
procesos que se quieren realizar con l.
Prueba de escritorio
Primero Segundo
1 2
Tabla 1.10
Tabla 1.11
Tabla 1.12
Anlisis de la informacin
Algoritmo
Seudocdigo
Diagrama de flujo
Iniciar
Radio
A= Radio
Terminar
Figura 1.3
Iniciar
El smbolo indica que comienzan a ejecutarse las instrucciones
del algoritmo que se representan por medio del diagrama de flujo.
Una vez se tiene el valor del rea del crculo almacenado en la variable
A, el paso siguiente es presentar el resultado al usuario. Este proceso se
indica en el diagrama de flujo con el siguiente smbolo A
Prueba de escritorio
Radio
1 3.141592
Tabla 1.13
Radio A
1 3.141592 3.141592
Tabla 1.14
Anlisis de la informacin
Algoritmo
Seudocdigo
Diagrama de flujo
Iniciar
Primero
Segundo
Suma,
Resta,
Producto
Terminar
Figura 1.4
Prueba de escritorio
Primero Segundo
1 2
Tabla 1.15
Tabla 1.16
Tabla 1.17
Tabla 1.18
38 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Tabla 1.19
Anlisis de la informacin
Para preparar una mantecada, primero se deben tener a mano todos los
ingredientes que se necesitan y luego, saber cual es la forma exacta de
preparacin.
Algoritmo
Seudocdigo:
Diagrama de flujo
Iniciar
Calentar horno
a 350 F
Engrasar lata o
molde
Bata la margarina
con el azcar, hasta
forma crema suave
A
Captulo 1: Procesos secuenciales 41
Nelson Francisco Beltrn Franco
Mezcle y aada
poco a poco la
fcula de maz
Aada la harina
de trigo
Aada la sal y
revuelva
Aada el
aguardiente
Ya la puede sacar
del horno
Terminar
Figura 1.5
42 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
A
En este ejercicio se utiliza por primera vez este smbolo, que indica
que el diagrama de flujo contina en la pgina siguiente. Es un conector,
que tiene como funcin presentar en qu punto se interrumpi el
diagrama en la pgina en que se empez a escribir y luego en la pgina
siguiente en donde contina el flujo de la informacin. En este ejercicio,
se ve muy sencillo, pero en aplicaciones ms complejas, en donde se
van a encontrar varias rutas del flujo de la informacin, se va a
comprender mejor su importancia.
Prueba de escritorio
Ya est claro cmo se utilizan los procesos secuenciales, cules son los
diferentes pasos que se deben seguir para poder realizar un algoritmo,
un seudocdigo y el diagrama de flujo; por ltimo cmo comprobar que
los resultados que se obtienen son los correctos, por medio de la prueba
de escritorio.
Anlisis de la informacin
La diferencia es:
El producto es:
El cociente es:
Algoritmo
Paso 1: Conocer a
Paso 2: Guardar a en la variable A
Paso 3: Conocer b
Paso 4: Guardar b en la variable B
Paso 5: Conocer c
Paso 6: Guardar c en la variable C
Paso 7: Conocer d
Paso 8: Guardar d en la variable D
Paso 9: Guardar en la variable Suma1 la suma de A y C
Paso 10: Guardar en la variable Suma2 la suma de B y D
Paso 11: Guardar en la variable Resta1 la resta de A y C
Paso 12: Guardar en la variable Resta2 la resta de B y D
Paso 13: Guardar en la variable Producto1 la resta de A por C y B por D
Paso 14: Guardar en la variable Producto2 la suma de A por D y B por C
Paso 15: Guardar en la variable Cociente1 la suma de A por C y B por D
Paso 16: Guardar en la variable Cociente2 la resta de B por C y A por D
Paso 17: Guardar en la variable Cociente3 la suma de C2 y D2
Paso 18: Presentar La suma es , Suma1,+, Suma2,
Paso 19: Presentar La resta es , Resta1,-, Resta2,
Paso 20: Presentar El producto es , Producto1,+, Producto2,
Paso 21: Presentar El cociente es , Cociente1/Cociente3,+,
Cociente2/Cociente3,
Paso 22: Terminar
Seudocdigo
Lea a
A=a
Captulo 1: Procesos secuenciales 45
Nelson Francisco Beltrn Franco
Lea b
B=b
Lea c
C=c
Lea d
D=d
Suma1 = A+C
Suma2 = B+D
Resta1 = A-C
Resta2 = B-D
Producto1 = A*C-B*D
Producto2 = A*D+B*C
Cociente1 = A*C+B*D
Cociente2 = B*C-A*D
Cociente3 = C2+D2
Presentar La suma es , Suma1,+, Suma2,
Presentar La resta es , Resta1,-, Resta2,
Presentar El producto es , Producto1,+, Producto2,
Presentar El cociente es , Cociente1/Cociente3, +,
Cociente2/Cociente3,
Diagrama de flujo
Iniciar
A=a
B=b
H
46 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
C=c
D=d
Suma1 = A+C
Suma2 = B+D
Resta1 = A-C
Resta2 = B-D
Producto1 = A*C-B*D
Producto2 = A*D+B*C
Cociente1 = A*C+B*D
Cociente2 = B*C-A*D
2 2
Cociente3 = C +D
Terminar
Figura 1.6
Captulo 1: Procesos secuenciales 47
Nelson Francisco Beltrn Franco
Prueba de escritorio
5+3 y 2-
a b c d A B C D
5 3 2 -1 5 3 2 -1
Tabla 1.20
Tabla 1.21
Figura 1.7
1.11 Resumen
EJERCICIOS PROPUESTOS
Si
Si ____?
No
Figura 2.1
EJERCICIOS DE INICIACIN
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea nmero
Nmero = nmero
Si Nmero > 0 haga
Presente El nmero es mayor que cero
Fin si
Terminar
Captulo 2: Procesos de toma de decisiones 55
Nelson Francisco Beltrn Franco
Diagrama de flujo
Iniciar
nmero
Nmero = nmero
Si
Nmero > 0
No El nmero es
mayor que cero
Terminar
Figura 2.2
Si
Nmero > 0
No
El nmero es
mayor que cero
Este smbolo se utiliza para indicar que se va a presentar
un mensaje al usuario del programa.
Prueba de escritorio
Se utiliza una tabla para ir registrando los datos que van apareciendo en
el algoritmo. Se inicia la primera prueba para el nmero 1.
nmero
1
Tabla 2.1
nmero Nmero
1 1
Tabla 2.2
Captulo 2: Procesos de toma de decisiones 57
Nelson Francisco Beltrn Franco
Tabla 2.3
nmero
-1
Tabla 2.4
nmero Nmero
-1 -1
Tabla 2.5
Anlisis de la informacin
Algoritmo
Seudocdigo
Presentar Divisin
Terminar
Diagrama de flujo
Iniciar
Primero
Numerador = Primero
Segundo
Denominador = Segundo
No
Denominador = 0
Si
Divisin = Numerador/Denominador
Divisin
Terminar
Figura 2.3
60 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
primero
1
Tabla 2.6
primero Numerador
1 1
Tabla 2.7
Tabla 2.8
Tabla 2.9
Tabla 2.10
primero
1
Tabla 2.11
primero Numerador
1 1
Tabla 2.12
Tabla 2.13
Tabla 2.14
Anlisis de la Informacin
Algoritmo
Seudocdigo
Lea primero
Mayor = primero
Lea segundo
Medio = segundo
Lea tercero
Menor = tercero
Si Mayor < Medio haga
C = Mayor
Mayor = Medio
Medio = C
Fin si
Si Mayor < Menor haga
C = Mayor
Mayor = Menor
Menor = C
Fin si
Si Medio < Menor haga
C = Medio
Medio = Menor
Menor = C
Fin si
Presente Mayor =, Mayor
Presente Medio =, Medio
Presente Menor =, Menor
Terminar
Captulo 2: Procesos de toma de decisiones 65
Nelson Francisco Beltrn Franco
Diagrama de flujo
Iniciar
primero
Mayor = primero
segundo
Medio = segundo
tercero
Menor = tercero
Si
Mayor < Medio
No C = Mayor
Mayor = Medio
Medio = C
Si
Mayor < Menor
No C = Mayor
Mayor = Menor
A Menor = C
66 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Si
Medio < Menor
No C = Medio
Medio = Menor
Mayor,
Medio, Menor Menor = C
Termina
r
Figura 2.4
Prueba de escritorio
Tabla 2.15
Captulo 2: Procesos de toma de decisiones 67
Nelson Francisco Beltrn Franco
Tabla 2.16
Tabla 2.17
68 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Tabla 2.18
En la cuarta fila de la Tabla 2.19, se puede ver que los tres valores de
las variables, quedaron ordenados de mayor a menor y en cada una de
las variables se almacen el valor correspondiente. Como ejercicio, el
lector puede utilizar el concepto de ordenacin en burbuja, y basndose
en el ejemplo anterior para organizar los nmeros de menor a mayor,
para reforzar los conocimientos aprendidos.
Tabla 2.19
Anlisis de la informacin
z
z1
M (x1, y1, z1)
y1
y
x1
Figura 2.5
Algoritmo
Seudocdigo
Lea magnitud
M = magnitud
Lea X
A=X
Lea Y
B=Y
Lea Z
C=Z
Si Cos2(A Cos2(B + Cos2(C = haga
Mx = M*Cos(A)
My = M*Cos(B)
Mz = M*Cos(C)
Presente M = , Mx, + ", My, + ", Mz,
Fin si
Terminar
Diagrama de flujo
Iniciar
magnitud
M = magnitud
A=X
A
72 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
B=Y
C=Z
Si
Cos2(A) + Cos2(B) + Cos2(C) = 1
Mx = M*Cos(A)
No
My = M*Cos(B)
Mz = M*Cos(C)
Terminar
Figura 2.6
Prueba de escritorio
magnitud M
10 10
Tabla 2.20
Captulo 2: Procesos de toma de decisiones 73
Nelson Francisco Beltrn Franco
Ahora se contina leyendo los ngulos que el vector forma con los ejes
coordenados.
magnitud M X A Y B Z C
10 10 64.89 64.89 55.54 55.54 44.99 44.99
Tabla 2.21
magnitud M X A Y B Z C
10 10 64.89 64.89 55.54 55.54 44.99 44.99
Mx My Mz
4.24 5.66 7.10
Tabla 2.22
magnitud M X A Y B Z C
10 10 64.89 64.89 55.54 55.54 44.99 44.99
Mx My Mz Mensaje
4.24 5.66 7.10 M = 4.24 + 5.66 + 7.10
Tabla 2.23
74 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Anlisis de la informacin
Algoritmo
Seudocdigo
Diagrama de flujo
Iniciar
primero
Lado1 = primero
segundo
Lado2 = segundo
tercero
Lado3 = tercero
A
Captulo 2: Procesos de toma de decisiones 77
Nelson Francisco Beltrn Franco
(Lado1 + Lado2) No
> Lado3
Si
(Lado1 + Lado3) No
> Lado2
Si
(Lado2 + Lado3) No
> Lado1
Si
Si Lado1 = Lado2
= Lado3
Tringulo No
equiltero
Si Lado1 Lado2
Lado3
Tringulo No es un
No
escaleno Tringulo
Tringulo
issceles
Terminar
Figura 2.7
78 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
Tabla 2.24
Para saber qu tipo de tringulo es, se comparan los valores de las tres
variables para comprobar si son iguales o diferentes, en este caso los
tres valores son diferentes entre s, entonces el tringulo es escaleno.
Tabla 2.25
con la opcin del si, y se tiene (Lado1 + Lado3) > Lado2, que resulta
falso, entonces los lados no corresponden a un tringulo, porque 2 + 2
> 4 no es cierto, entonces se presenta el mensaje No es un tringulo y
termina el algoritmo.
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea ventas
Venta = ventas
Si Venta < $ 500,000 haga
Comisin = 0
Fin si
Si $500,000 <= Venta Venta <= $2500,000 haga
Comisin = Venta * 0.1
Fin si
Si Venta > $ 2000,000 haga
Comisin = Comisin + $ 100,000 + (Venta - $ 600,000) *
0.07
Fin si
Presente Ventas = , Venta
Presente Comisin = , Comisin
Terminar
Diagrama de flujo
Iniciar
ventas
Venta = ventas
A
Captulo 2: Procesos de toma de decisiones 81
Nelson Francisco Beltrn Franco
Si
Venta < $ 500,000
Comisin = 0
ventas
$500,000 <= Venta Si
Venta <= $2500,000
Comisin = Venta*0.1
Comisin = Comisin
+ $100,000 + (Venta
- $600,000)*0.07
Ventas = , Venta
Comisiones = , Comisiones
Terminar
Figura 2.8
Prueba de escritorio
ventas
$ 2450,000
Tabla 2.26
82 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
ventas Venta
$ 2450,000 $ 2450,000
Tabla 2.27
Tabla 2.28
Tabla 2.29
Tabla 2.30
No Si
Si ____?
Figura 2.9
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea primero
Primero = primero
Lea segundo
Segundo = segundo
Si (Primero > Segundo) haga
El mayor nmero es:, Primero
El menor nmero es:, Segundo
Captulo 2: Procesos de toma de decisiones 85
Nelson Francisco Beltrn Franco
Si no
El mayor nmero es:, Segundo
El menor nmero es:, Primero
Fin si
Terminar
Diagrama de flujo
Iniciar
primero
Primero = primero
segundo
Segundo = segundo
No Si
Primero > Segundo
Terminar
Figura 2.10
No Si
Primero > Segundo
Figura 2.11
Captulo 2: Procesos de toma de decisiones 87
Nelson Francisco Beltrn Franco
Prueba de escritorio
primero
-1
Tabla 2.31
primero Primero
-1 -1
Tabla 2.32
Tabla 2.33
88 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Tabla 2.34
Tabla 2.35
Primero Segundo
2 -1
Tabla 2.36
Tabla 2.37
Anlisis de la informacin
Algoritmo
Paso 1: Leer a.
Paso 2: Almacenar en la variable A el valor de a.
Paso 3: Leer b.
Paso 4: Almacenar en la variable B el valor de b.
Paso 5: Leer c.
Paso 6: Almacenar en la variable C el valor de c.
Paso 7: Calcular y guardar el valor en la variable Discriminante.
Paso 8: Valide si Discriminante es mayor que 0. Si es cierto contine con
el paso siguiente de lo contrario vaya al Paso 12.
Paso 9: Calcule y gurdelo en una variable X1.
Paso 10: Calcule y gurdelo en una variable X2.
Paso 11: Presente X1 =, X1; X2 =, X2. Vaya al Paso 16.
Paso 12: Calcule y guarde en la variable Discriminante1.
Paso 13: Calcule y guarde este valor en la variable Factor.
Paso 14: Presente X1 =, Factor, +, Discriminente1, .
Paso 15: Presente X2 =, Factor, -, Discriminente1, .
Paso 16: Terminar.
En el Paso 12, para poder calcular la raz cuadrada del nmero, primero
se calcula el valor absoluto de la cantidad que est dentro del radical y
luego si se calcula la raz, porque corresponde a un nmero negativo y
la raz cuadrada de los nmeros negativos no est contemplada dentro
del conjunto de los nmeros reales.
Captulo 2: Procesos de toma de decisiones 91
Nelson Francisco Beltrn Franco
Seudocdigo
Lea A
A=A
Lea B
B=B
Lea C
C=C
Discriminante =
Si Discriminante > 0 haga
X1 =
X2 =
Presente X1 =, X1; X2 =, X2
Si no
Discriminante1 =
Factor =
Presente X1 =, Factor, +, Discriminente1, .
Presente X2 =, Factor, -, Discriminente1, .
Fin si
Terminar
Diagrama de flujo
Inicia
r
A=A
A
92 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
B=B
C=C
Discriminante =
No Si
Discriminante >0
Discriminante1 = X1 =
Factor = X1 =
Terminar
Figura 2.12
Prueba de escritorio
A B C
7 2 1
Tabla 2.38
A B C Discriminante
7 2 1 -32
Tabla 2.39
A B C Discriminante Discriminante1
7 2 1 -32
Tabla 2.40
Tabla 2.41
Tabla 2.42
Anlisis de la informacin
En este ejercicio, hay que poner atencin a los estudiantes que obtienen
el puntaje alto, para luego hacer la validacin de la informacin del
promedio de la secundaria y poder determinar si tienen derecho a beca
y qu tipo de beca, lo dems ya se ha trabajado en los ejercicios
anteriores.
Algoritmo
Seudocdigo
Lea cdigo
Id = cdigo
Lea examen
Puntaje = examen
Lea promedio
Prom = promedio
Si Puntaje >= 86 haga
Si Prom > 4.5 haga
Presente Id, Aceptado primera opcin. Beca 100%
Sino
Si Prom > 4.0 y Prom <= 4.5
Presente Id, Aceptado primera opcin. Beca 50%
Sino
Presente Id, aceptado primera opcin
Fin si
Fin si
Sino
Si Puntaje >= 66 y Puntaje <= 85 haga
Presente Id, aceptado segunda opcin.
Fin si
Fin si
Diagrama de flujo
Iniciar
cdigo
Id = cdigo
A
Captulo 2: Procesos de toma de decisiones 97
Nelson Francisco Beltrn Franco
examen
Puntaje = examen
promedio
Prom = promedio
No Si
Puntaje >= 86
Si
Prom > 4.5
Puntaje >= 66 Si No Id, Aceptado,
Y
primera opcin,
Puntaje <= 85
Beca 100%
Id, Aceptado,
segunda opcin
No C
Prom <= 4.5
Si
Y
Prom > 4.0
Id, Aceptado,
No primera opcin,
Beca 50%
Id, Aceptado,
primera opcin C
Terminar
Figura 2.13
98 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
Los datos que se van a utilizar para hacer la prueba de escritorio son:
cdigo = 98765, examen = 98, promedio = 4,6. Se guardan en las
variables correspondientes.
Tabla 2.43
Tabla 2.44
Expresin a evaluar
Si Accin a
Opcin 1
ejecutar 1
No
Si Accin a
Opcin 2
ejecutar 2
No
Si Accin a
Opcin 3
ejecutar 3
No
Si Accin a
Opcin
ejecutar
N
No N
Accin a
ejecutar por
defecto
Salir del
proceso
Figura 2.14
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea Nmero
Nlados = Nmero
Si Nlados = 1 haga
No hay polgonos de un lado
Termine
Fin si
Si Nlados = 2 haga
No hay polgonos de dos lados
Termine
Fin si
Si Nlados = 3 haga
El polgono es un tringulo
Termine
Fin si
Si Nlados = 4 haga
El polgono es un cuadriltero
Termine
102 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Fin si
Si Nlados = 5 haga
El polgono es un pentgono
Termine
Fin si
Si Nlados o = 6 haga
El polgono es un hexgono
Termine
Fin si
Si Nlados = 7 haga
El polgono es un heptgono
Termine
Fin si
Si Nlados = 8 haga
El polgono es un octgono
Termine
Si no
El polgono es de ms de 8 lados
Fin si
Termine
Diagrama de flujo
Iniciar
Nmero
Nlados = Nmero
Si No hay polgonos
Nlados = 1 de 1 lado
B
A
Captulo 2: Procesos de toma de decisiones 103
Nelson Francisco Beltrn Franco
A B
Si No hay polgonos
Nlados = 2 de 2 lado
Si El polgono es un
Nlados = 3 tringulo
No
Si El polgono es un
Nlados = 4 cuadriltero
No
Si El polgono es un
Nlados = 5 pentgono
No
Si El polgono es un
Nlados = 6 hexgono
No
Si El polgono es un
Nlados = 7 heptgono
No
Si El polgono es un
Nlados = 8 octgono
No
El polgono es de
ms de 8 lados
Terminar
Figura 2.15
104 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
Nmero Nlados
4 4
Tabla 2.45
Nmero Mensaje
4 El polgono es un cuadriltero
Tabla 2.46
5 Excelente
4 Bueno
3 Regular
2 Deficiente
1 Malo
Tabla 2.47
Anlisis de la informacin
Este algoritmo pide que se lea una nota, este valor se debe comparar
con los valores establecidos en la tabla anterior, para poder presentar
un mensaje al usuario de cmo fue su desempeo mensual.
Algoritmo
Seudocdigo
Lea nmero
Nota = nmero
Si Nota = 5 haga
106 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Presente Excelente
Terminar
Fin si
Si Nota = 4 haga
Presente Bueno
Terminar
Fin si
Si Nota = 3 haga
Presente Regular
Terminar
Fin si
Si Nota = 2 haga
Presente Deficiente
Si no
Presente Malo
Fin si
Terminar
Diagrama de flujo
Iniciar
Nmero
Nota = Nmero
Si
Nota = 5 Excelente
No
Si
Nota = 4 Bueno
No B
A
Captulo 2: Procesos de toma de decisiones 107
Nelson Francisco Beltrn Franco
A B
Si
Nota = 3 Regular
No
Si
Nota = 2 Deficiente
No
Malo
Terminar
Figura 2.16
Prueba de escritorio
Tabla 2.48
Si
Nota = 5
Figura 2.17
108 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Si
Nota = 4
Figura 2.18
Si Regular
Nota = 3
Figura 2.19
Tabla 2.49
Anlisis de la informacin
Algoritmo
Seudocdigo
Leer da
Da = da
Leer mes
Mes = mes
Si Mes = 1 haga
Si Da <= 19 hacer
Signo = Capricornio
sino
Signo = Acuario
Fin si
Presentar Usted es signo , Signo
Terminar
Fin si
Si Mes = 2 haga
Si Da <= 18 hacer
Signo = Acuario
sino
Signo = Piscis
Fin si
Presentar Usted es signo , Signo
Terminar
Fin si
Si Mes = 3 haga
Si Da <= 20 hacer
Signo = Piscis
sino
Signo = Aries
Fin si
112 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Signo = Leo
Fin si
Presentar Usted es signo , Signo
Terminar
Fin si
Si Mes = 8 haga
Si Da <= 22 hacer
Signo = Leo
sino
Signo = Virgo
Fin si
Presentar Usted es signo , Signo
Terminar
Fin si
Si Mes = 9 haga
Si Da <= 22 hacer
Signo = Virgo
sino
Signo = Libra
Fin si
Presentar Usted es signo , Signo
Terminar
Fin si
Si Mes = 10 haga
Si Da <= 22 hacer
Signo = Libra
sino
Signo = Escorpin
Fin si
Presentar Usted es signo , Signo
Terminar
Fin si
Si Mes = 11 haga
Si Da <= 21 hacer
114 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Signo = Escorpin
sino
Signo = Sagitario
Fin si
Presentar Usted es signo , Signo
Terminar
Fin si
Si Mes = 12 haga
Si Da <= 21 hacer
Signo = Sagitario
sino
Signo = Capricornio
Fin si
Presentar Usted es signo , Signo
Fin si
Terminar
Diagrama de flujo
Iniciar
da
Da = da
mes
Mes = mes
A
Captulo 2: Procesos de toma de decisiones 115
Nelson Francisco Beltrn Franco
Si
Mes = 1
No Si
Da <= 19
Si
Mes = 2
No Si
Da <= 18
Si
Mes = 3
No Si
Da <= 20
Si
Mes = 4
No Si
Da <= 19
C B
Si
Mes = 5
No Si
Da <= 20
Si
Mes = 6
No Si
Da <= 19
Si
Mes = 7
No Si
Da <= 22
Si
Mes = 8
No Si
Da <= 22
D
E
Si
Mes = 9
No Si
Da <= 22
Si
Mes = 10
No Si
Da <= 22
Si
Mes = 11
No Si
Da <= 21
Si
Mes = 12
No Si
Da <= 21
Figura 2.20
118 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
da Da
28 28
Tabla 2.50
da Da mes Mes
28 28 12 12
Tabla 2.51
Tabla 2.52
Captulo 2: Procesos de toma de decisiones 119
Nelson Francisco Beltrn Franco
Tabla 2.53
2.4 Resumen
EJERCICIOS PROPUESTOS
1. $ 580,000
2. $ 890,000
3. $ 1400,000
3 Procesos repetitivos
Figura 3.1
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea inicial
N = inicial
Lea final
M = final
Lea incremento
J = incremento
Para I=N hasta M de a J
Presente I
Fin para
Termine
Captulo 3: Procesos repetitivos 125
Nelson Francisco Beltrn Franco
Diagrama de flujo
Iniciar
inicial
N = inicial
final
M = final
increme
nto
incremento
J = incremento
Terminar
Figura 3.2
Prueba de escritorio
Tabla 3.1
Tabla 3.2
Tabla 3.3
Tabla 3.4
Tabla 3.5
Tabla 3.6
La sexta iteracin es
Tabla 3.7
Tabla 3.9
Tabla 3.10
Esta es la ltima iteracin, los valores finales para las variables son los
que aparecen en el ltimo rengln de la tabla
130 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Tabla 3.11
Anlisis de la informacin
Algoritmo
Seudocdigo
Leer nmero
Producto = nmero
Para I=1 hasta 10, incremente en 1
Presente Producto,*,I,= Producto*I
Fin para
Diagrama de flujo
Iniciar
nmero
Producto = nmero
R
132 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Producto,*,I,
=, Producto*I
Terminar
Figura 3.3
Prueba de escritorio
Tabla 3.12
Captulo 3: Procesos repetitivos 133
Nelson Francisco Beltrn Franco
Anlisis de la informacin
0! = 1
1! = 1
2! = 1*2 = 2
3! = 1*2*3 = 6
4! = 1*2*3*4 = 24
5! = 1*2*3*4*5 = 120
6! = 1*2*3*4*5*6 = 720
7! = 1*2*3*4*5*6*7 = 5040
.
.
.
Algoritmo
Seudocdigo
Haga Factorial=1
Lea N
Si N = 0 haga
Presente N, ! = 1
Si no
Si N < 0 haga
Presente N no tiene factorial
Si no
Si (Nmod1)=0 haga
Para I=1; N; 1
Factorial = Factorial * I
Fin para
Presente N, ! =, Factorial
Si no
Presente N no tiene factorial
Captulo 3: Procesos repetitivos 135
Nelson Francisco Beltrn Franco
Fin si
Fin si
Fin si
Terminar
Diagrama de flujo
Iniciar
Factorial = 1
No Si
N=0
No Si
N, ! = 1
N<0
No Si N no tiene
(Nmod1) = 0
factorial
I A
A
N, ! = Factorial
Terminar
Figura 3.4
136 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Para I=1; N; 1
Esta es otra forma simplificada de escribir la
informacin correspondiente del Para, que significa Para I = 1 hasta N,
incrementando de a 1.
Prueba de escritorio
N Factorial
0 1
Tabla 3.13
N Factorial Mensaje
0 1 0! = 1
Tabla 3.14
Ahora se toma N = -2
N Factorial
-2 1
Tabla 3.15
Captulo 3: Procesos repetitivos 137
Nelson Francisco Beltrn Franco
N Factorial Mensaje
-2 1 N no tiene factorial
Tabla 3.16
N Factorial
2 1
Tabla 3.17
N Factorial I Incremento
2 1 1 1
Tabla 3.18
N Factorial I Incremento
2 1 1 1
2 1 2 1
Tabla 3.19
Tabla 3.20
Realizando N iteraciones.
Anlisis de la informacin
Algoritmo
Paso 1: Lea x
Paso 2: Guarde x en la variable X
Paso 3: Lea n
Paso 4: Guarde n en la variable N
Paso 5: Guarde 1 en la variable Factor
Paso 6: Guarde 1 en la variable Serie
Paso 7: Para I = 1 hasta (N-1) incrementando de a 1
Paso 8: Factor = Factor * I
Paso 9: Serie = Serie + (X**I) / Factor
Paso 10:Fin Para
Paso 11: Presente ex = , serie
Paso 12: Terminar
Seudocdigo
Leer x
X=x
Leer n
140 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
N =n
Factor = 1
Serie = 1
Para I = 1; (N-1); 1
Factor = Factor * I
Serie = Serie + (X**I) / Factor
Fin Para
Presente ex = , serie
Terminar
Diagrama de flujo
Iniciar
X=x
N=N
Factor = 1
Serie = 1
Para I = 1; (N-1); 1
Factor = 1
Serie = 1
x
e = , serie Terminar
Figura 3.5
Captulo 3: Procesos repetitivos 141
Nelson Francisco Beltrn Franco
Prueba de escritorio
x X n N Factor Serie
2 2 8 8 1 1
Tabla 3.21
x X n N Factor Serie I
2 2 8 8 1 1
1 2 1
Tabla 3.22
x X n N Factor Serie I
2 2 8 8 1 1
1 2 1
2 2.5 2
Tabla 3.23
x X n N Factor Serie I
2 2 8 8 1 1
142 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
1 2 1
2 2.5 2
6 2.66 3
Tabla 3.24
x X n N Factor Serie I
2 2 8 8 1 1
1 2 1
2 2.5 2
6 2.66667 3
24 2.70833 4
Tabla 3.25
x X n N Factor Serie I
2 2 8 8 1 1
1 2 1
2 2.5 2
6 2.66667 3
24 2.70833 4
120 2.71667 5
Tabla 3.26
x X n N Factor Serie I
2 2 8 8 1 1
1 2 1
2 2.5 2
Captulo 3: Procesos repetitivos 143
Nelson Francisco Beltrn Franco
6 2.66667 3
24 2.70833 4
120 2.71667 5
720 2.71806 6
Tabla 3.27
x X n N Factor Serie I
2 2 8 8 1 1
1 2 1
2 2.5 2
6 2.66667 3
24 2.70833 4
120 2.71667 5
720 2.71806 6
5040 2.71825 7
Tabla 3.28
Tabla 3.29
144 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Anlisis de la informacin
Algoritmo
Seudocdigo
Leer cantidad
N = cantidad
id = 0
n1 = 0
n2 = 0
ex = 0
def = 0
Para I = 1; N; 1 haga
Leer cdigo
ID = cdigo
Leer = nota1
N1 = nota1
Leer = nota2
N2 = nota2
146 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Leer examen
EX = examen
DEF = N1*0.3+N2*03+EX0.4
Si DEF > def
id = ID
n1 = N1
n2 = N2
ex = EX
def = DEF
Fin si
Fin para
Presente id, n1, n2, ex, def
Termine
Diagrama de flujo
Iniciar
cantidad
N = cantidad
id = 0
n1 = 0
n2 = 0
ex = 0
def = 0
W
Captulo 3: Procesos repetitivos 147
Nelson Francisco Beltrn Franco
Para i = 1; N;1
cdigo
ID = cdigo
nota1
N1 = nota1
nota2
N2 = nota2
examen
EX = examen
DEF = N1*03+N2*0.3+EX*0.4
Si
DEF > Def
id = ID
No
n1 = N1
n2= N2
I ex = EX
def = DEF
id, n1, n2,
ex, def
Terminar
Figura 3.6
148 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
cantidad id n1 n2 ex
2 0 0 0 0
Tabla 3.30
cantidad id n1 n2 ex def I N
2 0 0 0 0 0 1 2
Tabla 3.31
Tabla 3.32
Tabla 3.33
Tabla 3.34
Tabla 3.35
Tabla 3.36
150 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Proceso a realizar
Figura 3.7
Proceso a realizar
Este smbolo representa las instrucciones que se van a
realizar dentro del ciclo que se est ejecutando, se realiza tantas veces
como la condicin del proceso Mientras Que, sea verdadera.
M
Este smbolo indica en qu parte termina el proceso Mientras Que.
Cuando el flujo del algoritmo llega a este punto, se hace la validacin de
la instruccin que se encuentra en el Mientras Que, si es cierta se repite
Captulo 3: Procesos repetitivos 151
Nelson Francisco Beltrn Franco
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea N
Si (Nmod1)=0
Si N>1
A = 1+
I=2
M. Q. I < A
Si (NmodI)=0
Si N = 2
Presente N es primo
Si no
Presente N no es primo
Fin si
I=I+A
Si no
I=I+1
Si I >= A
Presente N es primo
Fin si
Fin si
Fin M.Q.
Si no
Presente N no es primo
Fin si
Si no
Presente N no es primo
Fin si
Captulo 3: Procesos repetitivos 153
Nelson Francisco Beltrn Franco
Diagrama de flujo
Iniciar
No Si
N mod 1 = 0
No Si
N>1
No es primo A=1+
I=2
M.Q. I < A
No Si
N mod I = 0
Si
I=I+1 N=2
No
Si No es Es primo
I>=A
primo
No
Es primo
I=I+A
Fin M.Q.
Terminar
Figura 3.8
154 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
N
-2
Tabla 3.37
N Mensaje
-2 N no es primo
Tabla 3.38
N
5.7
Tabla 3.39
N Mensaje
5.7 N no es primo
Tabla 3.40
N
2
Tabla 3.41
N A
2 2.41421
Tabla 3.42
N A I
2 2.41421 2
Tabla 3.43
N A I Mensaje
2 2.41421 2 N es primo
Tabla 3.44
N A I Mensaje
2 2.41421 2 N es primo
2 2.41421 4.41421
Tabla 3.45
Anlisis de la informacin
Este ejercicio requiere que se validen los valores ledos para saber si
corresponden a un tringulo. El enunciado del ejercicio es claro
solicitando que se calcule el rea de un tringulo, pero no hace
referencia si es un tringulo rectngulo o no, entonces para evitar
equivocaciones en el rea, se va a utilizar la frmula de Hern que sirve
para calcular el rea de cualquier tringulo, independiente de que sea
rectngulo o no.
a
c
Figura 3.9
Algoritmo
Seudocdigo
Leer calcular
M.Q. calcular = si
Leer a, b, c
Si a + b < c
Presente No es un tringulo
Fin si
Si b + c < a
Presente No es un tringulo
Fin si
Si a + c < b
Presente No es un tringulo
Fin si
Diagrama de flujo
Iniciar
Calcular
M.Q. Calcular = si
Si
a+b<c
No
Si
b+c<a
No
Si
a+c<b
No
No es tringulo
A=
Calcular
Fin M.Q.
Terminar
Figura 3.10
160 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Prueba de escritorio
Consultar a b C
Si 3 4 5
Tabla 3.46
Consultar a b c S
si 3 4 5 6
Tabla 3.47
Consultar a b c S A
si 3 4 5 6 6
Tabla 3.48
Consultar a b c S A Mensaje
Si 3 4 5 6 6 El valor del rea es 6
Tabla 3.49
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea N
A=2
B=0
C=1
Presente B
Presente C
M.Q. A < N haga
D=C+B
Presente D
B=C
C=D
A=A+1
Fin M.Q.
Diagrama de flujo
Iniciar
A=2
B=0
C=1
A
Captulo 3: Procesos repetitivos 163
Nelson Francisco Beltrn Franco
M.Q. A < N
D=C+B
B=C
C=D
A=A+1
Fin M.Q.
Termina
r
Figura 3.11
Prueba de escritorio
Tabla 3.50
N A B C
5 2 0 1
Tabla 3.51
N A B C Mensaje B Mensaje C
5 2 0 1 0 1
Tabla 3.52
Tabla 3.53
Tabla 3.54
Tabla 3.55
Captulo 3: Procesos repetitivos 165
Nelson Francisco Beltrn Franco
Tabla 3.56
5 2 0 1 0 1 1 1
5 3 1 1 2 2
5 4 1 2
Tabla 3.57
Hay que verificar el contenido del M.Q., en este caso es cierto ya que 4
es menor que 5, entonces se ejecuta la actualizacin de las variables y
se presente el ltimo elemento de la serie que se quera generar.
Tabla 3.58
Anlisis de la informacin
Figura 3.12
P V P+V
1 0 1
2 1 3
3 3 6
4 6 10
Captulo 3: Procesos repetitivos 167
Nelson Francisco Beltrn Franco
5 10 15
6 15 21
7 21 28
8 28 36
9 36 45
10 45 55
Tabla 3.59
Algoritmo
Seudocdigo
Leer nmeros
N = nmeros
168 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
M=1
P=1
V=0
M.Q. M <= N haga
V=P+V
Presente V
P=P+1
M=M+1
Fin M.Q.
Terminar
Diagrama de flujo
Iniciar
nmeros
N = nmeros
M= 1
P= 1
V= 0
M.Q. M <= N
V= V+P
P=1+P
S R
Captulo 3: Procesos repetitivos 169
Nelson Francisco Beltrn Franco
S R
M=1+M
Fin M.Q.
Terminar
Figura 3.13
Prueba de escritorio
Tabla 3.60
N M P V Mensaje
4 1 1 0
2 2 1 1
Tabla 3.61
N M P V Mensaje
4 1 1 0
170 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
2 2 1 1
3 3 3 3
Tabla 3.62
N M P V Mensaje
4 1 1 0
2 2 1 1
3 3 3 3
4 4 6 6
Tabla 3.63
N M P V Mensaje
4 1 1 0
2 2 1 1
3 3 3 3
4 4 6 6
5 5 5 10
Tabla 3.64
Anlisis de la informacin
Algoritmo
Seudocdigo
Leer aoinicio
AOINI = aoinicio
Leer aoretiro
AOFIN = aoretiro
Leer capital
172 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
CAPIT = capital
M.Q. AOINI <= AOFIN haga
CAPIT = CAPIT + CAPIT*0.075
AOINI = AOINI + 1
Presente CAPIT, AOINI
Fin M.Q.
Terminar
Diagrama de flujo
Iniciar
aoinicio
AOINI = aoinicio
aoretiro
AOFIN = aoretiro
capital
CAPIT = capital
AOINI = AOINI + 1
CAPIT, AOINI
Fin M.Q.
Terminar
Figura 3.14
Captulo 3: Procesos repetitivos 173
Nelson Francisco Beltrn Franco
Prueba de escritorio
Tabla 3.65
Tabla 3.66
Tabla 3.67
3.3 Resumen
EJERCICIOS PROPUESTOS
3*1=3
3*2=6
3*3=9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
Captulo 3: Procesos repetitivos 175
Nelson Francisco Beltrn Franco
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
3 * 10 = 30
4*1=4
4*2=8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
4 * 10 = 40
1.
2.
3.
1.
2.
3.
La suma = .
La suma al cuadrado = .
La media .
La varianza .
La desviacin estndar .
Realice, anlisis de la informacin, algoritmo, seudocdigo, diagrama de
flujo y prueba de escritorio.
4 Arreglos
Figura 4.1
Figura 4.2
Figura 4.3
Existen matrices de una sola fila o de una sola columna, que son muy
tiles en la programacin y se les conoce como vector fila o vector
columna, o matriz de una sola dimensin.
Figura 4.4
Figura 4.5
Anlisis de la informacin
En este caso se va a trabajar con una matriz de Nx3, que significa que
va a tener N filas y 3 columnas, porque se tiene mayor nmero de
estudiantes que es desconocido y la informacin por estudiante es la
misma.
Algoritmo
Seudocdigo
Lea N
L[N,3]
Para I=1; N; 1 haga
Presente Estudiante, I
Para J=1; 3; 1 haga
Presente 1 Cdigo
Presente 2 Apellido
Presente 3 Nombre
Presente Digite el Dato, J
Lea Dato
L[I,J] = Dato
Fin para
Fin para
Diagrama de flujo
Iniciar
L [N, 3]
Q
Captulo 4: Arreglos 183
Nelson Francisco Beltrn Franco
Para I = 1; N; 1
Estudiante N, I
Para J = 1; 3; 1
1 Cdigo
2 Apellido
3 Nombre
Digite el dato, J
Dato
L [I, J] = Dato
Terminar
Figura 4.6
Prueba de escritorio
N
2
Tabla 4.1
184 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
N L[F,G]
2 L[3,2]
Tabla 4.2
N L[F,G] I
2 L[3,2] 1
Tabla 4.3
N L[F,G] I Mensaje
2 L[3,2] 1 Estudiante, I
Tabla 4.4
Ahora se inicia el segundo Para que est anidado, con las variables J = 1
hasta 3, incrementando de a 1.
N L[F,G] I Mensaje J
2 L[3,3] 1 Estudiante, I 1
Tabla 4.5
Tabla 4.6
Tabla 4.7
En la Tabla 4.7, se presenta todo el proceso que realizan los ciclos Para
anidados y se puede apreciar claramente el incremento de cada una de
las variables y las instrucciones que se van ejecutando para almacenar
la informacin de cada estudiante. Cuando ya se llega al ltimo valor del
para exterior, entonces ya se termina el proceso, y se encuentran en la
matriz almacenados los datos digitados.
186 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Anlisis de la informacin
Algoritmo
Seudocdigo
Lea N
Reserve el espacio en memoria para el arreglo A[N]
Para I=1; N; 1 haga
Lea Dato
A[I] = Dato
Fin para
Para I=1;(N-1);1 haga
Para J=i+1;N;1 haga
Si A[I] > A[J] haga
C = A[I]
A[I] = A[J]
A[J] = C
Fin Si
Fin para J
Fin para I
Para I=1;N;1 haga
Presente A[I] es el nmero I
Fin para I
Terminar
188 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Diagrama de flujo
Iniciar
A [N]
Para I=1;N;1
Dato
A [I] = Dato
Si
A[I] > A[J]
C = A[I] No
A[I] = A[J] o
A[J] = C
A
Captulo 4: Arreglos 189
Nelson Francisco Beltrn Franco
Para I=1; N; 1
A[I], es el nmero , I
Terminar
Figura 4.7
Prueba de escritorio
N A [N]
4 4
Tabla 4.8
N A [N] I Dato
4 4 1 -1
2 11
3 -7
4 5
Tabla 4.9
190 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Tabla 4.10
Tabla 4.11
Tabla 4.12
Tabla 4.13
192 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Anlisis de la informacin
Tabla 4.14
Algoritmo
Seudocdigo
Notas[50,5]
Para I =1; 50; 1
Para J =1; 5; 1
Si J < 5 haga
Presente 1 Cdigo, 2 Nota1, 3 Nota2, 4 Examen
Presente Dato ,J
Leer Dato
Notas[I, J] = Dato
Sino
Notas[I, J] = Notas[I, 2]*0.3 + Notas[I, 3]*0.3 + Notas[I,
4]*0.4
Presente Notas [I, J], Notas[I, 5]
Fin si
Fin Para J
Fin Para I
Terminar
194 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
Seudocdigo
Iniciar
Notas[50,5]
Para J=1; 5; 1
No Si
J<5
Dato
Notas[I,J] = Dato
Iniciar
Figura 4.8
Prueba de escritorio
Tabla 4.15
Notas[2,5] I J
1 1
Tabla 4.16
4.2 Resumen
EJERCICIOS PROPUESTOS
de tal forma que coincida con la ubicacin del arreglo Posicin. Por
ltimo debe calcular el promedio por fila y guardarlo en el arreglo Notas,
y presentar un reporte que diga de quin y cul es la mxima nota por
fila y de quin y cul el la mnima nota por fila. Realice, anlisis de la
informacin, algoritmo, seudocdigo, diagrama de flujo y prueba de
escritorio.
4 15 14 1 n= 34
9 6 7 12 n= 34
5 10 11 8 n= 34
16 3 2 13 n= 34
n= n= n= n=
34 34 34 34
Figura 4.9
P[1] 1
P[2] 2
P[3] 3
P[4] 4
P[5] 5
P[6] 6
P[7] 7
Tabla 4.17
Bibliografa
1. CAIR, Osvaldo. Metodologa de la programacin: Algoritmos,
diagramas de flujo y programas. 3 ed. Bogot D.C.: Alfaomega
Grupo Editor S.A. de C.V., 2005. 464 p. ISBN 978-958-682-749-2
2. DEITEL, Harvey M. and DEITEL, Paul J., C++ Cmo programar. 2 ed.
Mxico: Prentice Hall, 1999. 1184 p. ISBN 970-17-0254-9
3. LIBERTY, Jesse and HORVATH, David B. Aprendiendo C++ para Linux
en 21 das. 1 ed. Mxico: Pearson Educacin, 2001. 1144 p. ISBN
970-26-0012-X
4. LIPSCHUTZ, Seymour and POE, Arthur. Programacin con FORTRAN:
Incluye Fortran Estructurado. Bogot D.C.: Editorial McGraw-Hill
Latinoamericana, S.A., 1980. 314 p. ISBN 968-451-017-9
5. LIPSCHUTZ, Martin M. and LIPSCHUTZ, Seymour. Procesamiento de
datos: Serie Compendios Schaum. Bogot D.C.: Mc Graw-Hill, 1982.
218 p. ISBN 968-451-412-3
6. SANCHEZ C., Rubn E. y VELASCO M., Antonio. Curso bsico de
ALGEBRA LINEAL. 3 ed. Bogot D.C.: Compaa Editorial Comex
S.A., 1981. 213 p.
7. SCHEID, Francis. Introduccin a la ciencia de las computadoras. 2
ed. Bogot D.C.: Editorial McGraw-Hill Latinoamericana S.A., 1983.
402 p. ISBN 968-451-399-2
8. SPIEGEL, Murray R. Mathematical Handbook of formulas and tables.
1 ed. New York: Schaums Online Series, McGraw-Hill Book
Company, 1968. 272 p.
9. SUPPES, Patrick and HILL, Shirley. Introduccin a la lgica
matemtica. Bogot D.C.: Editorial Revert S.A., 1988. 285 p. ISBN
84-291-5150-8
10.ULLMAN, Larry. PHP for the world wide web. 2 ed. Berkeley, CA.:
Peachpit Press, 2004. 450 p. ISBN 0-321-24565-2
Apuntes de clase de algoritmos 203
Nelson Francisco Beltrn Franco
ndice analtico
Smbolos
operador **, 17, 18, 28 informacin, 6, 29, 32, 35,
operador *, 17, 18, 28 38, 43, 54, 58, 62, 69, 74,
operador /, 17, 18, 28 79, 84, 89, 95, 100, 105,
operador +, 17, 18, 28 109, 124, 130, 133, 138,
operador -, 17, 18, 28 144, 151, 157, 161, 166,
operador Mod, 17, 18, 28 171, 181, 186, 192
operador Div, 17, 18, 28 ngulos
operador (),18, 28 directores, 68
operador =, 21, 28 rea
operador <>, 21, 28 crculo, 32
operador <, 21, 28 aritmticos, 16
operador >, 21, 28 arreglos, 179
operador <=, 21, 28
operador >=, 21, 28 B
operador Y, 23, 28 Booleanas, 21
operador O, 23, 28 burbuja, 186
operador NO, 23, 28
operador , 24, 28 C
operador , 24, 28 Celsius, 52, 120, 177
operador , 24, 28 componentes
operador &, 24, 28 Vectoriales, 68
operador , 24, 28 conjuncin, 23, 26, 27
constante, 16
convenciones, 12, 13
A
cuadrado
algoritmo, 9, 10, 29, 32, 35, 39, mgico
44, 54, 58, 63, 70, 74, 79, 84, Duron, 197
90, 95, 100, 105, 109, 124, 130,
134, 139, 144, 151, 157, 161, D
167, 171, 181, 186, 192 datos, 5, 7
anlisis derecha, 19
204 Apuntes de clase de algoritmos
Nelson Francisco Beltrn Franco
P S
parntesis, 18 series, 121, 175
polgono, 100 seudocdigo, 11, 29, 32, 35, 40,
polinomio, 176 44, 54, 58, 64, 71, 75, 80, 84,
programa, 16 91, 96, 101, 105, 111, 124, 131,
programador, 7 134, 139, 145, 152, 158, 162,
problema, 6, 7, 8
167, 171, 182, 187, 193
proceso
conmutar, 98 signo
mientras que ____ haga, zodiacal, 108
150 smbolos, 12, 13
para ____ hasta ____ de Smart DFD 1.0, 12
a ____, 123 suma, 17, 18
si ____ haga ____, 53
si ____ haga ____ sino T
____, 83
tabla
toma decisiones, 53
procesos multiplicar, 130
decisin, 21 tablas
repetitivos, 123 certeza, 26
secuenciales, 28 multiplicar, 174
proposicin, 24 Taylor
prueba expansin, 138
Apuntes de clase de algoritmos 207
Nelson Francisco Beltrn Franco
V
variable, 15
varianza, 176
vector, 68, 180, 198, 199, 200
vectores
unitarios, 68