Professional Documents
Culture Documents
Índice
1. Introducción
2. Estructura secuencial
2.1. Definición
2.2. Figuras
2.3. Ejemplos
2.4. Ejercicios propuestos
3. Estructuras selectivas
3.1. Simple
3.1.1. Definición
3.1.2. Figuras y pseudocódigo
3.1.3. Ejemplos
3.1.4. Ejercicios propuestos
3.2. Doble
3.2.1. Definición
3.2.2. Figuras y pseudocódigo
3.2.3. Ejemplos
3.2.4. Ejercicios propuestos
3.3. Múltiple
3.3.1. Definición
3.3.2. Figuras y pseudocódigo
3.3.3. Ejemplos
3.3.4. Ejercicios propuestos
4. Estructuras iterativas
4.1. Mientras
4.1.1. Definición
4.1.2. Figuras y pseudocódigo
4.1.3. Ejemplos
4.1.4. Ejercicios propuestos
4.2. Hasta
4.2.1. Definición
4.2.2. Figuras y pseudocódigo
4.2.3. Ejemplos
4.2.4. Ejercicios propuestos
4.3. Para
4.3.1. Definición
4.3.2. Figuras y pseudocódigo
4.3.3. Ejemplos
4.3.4. Ejercicios propuestos
4.4. Ejercicios misceláneos
UTB Página 1
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
5. Funciones
5.1. Definición
5.2. Figuras y pseudocódigo
5.3. Ejemplos
5.4. Ejercicios propuestos
6. Procedimientos
6.1. Definición
6.2. Figuras y pseudocódigo
6.3. Ejemplos
6.4. Ejercicios propuestos
7. Arreglos
7.1. Vectores
7.1.1. Definición
7.1.2. Figuras y pseudocódigo
7.1.3. Ejemplos
7.1.4. Ejercicios propuestos
7.2. Matrices
7.2.1. Definición
7.2.2. Figuras y pseudocódigo
7.2.3. Ejemplos
7.2.4. Ejercicios propuestos
7.3. Arreglos multidimensionales
7.3.1. Definición
7.3.2. Figuras y pseudocódigo
7.3.3. Ejemplos
7.3.4. Ejercicios propuestos
8. Ordenamiento
8.1. Definición
8.2. Ejemplo
8.3. Ejercicios propuestos
9. Búsqueda
9.1. Definición
9.2. Ejemplo
9.3. Ejercicios propuestos
10. Recursividad
10.1. Definición
10.2. Ejemplo
10.3. Ejercicios propuestos
11. Archivos
11.1. Definición
11.2. Figuras y pseudocódigo
UTB Página 2
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
11.3. Ejemplo
11.4. Ejercicios propuestos
Bibliografía
UTB Página 3
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 1
INTRODUCCIÓN
Por otra parte, cuando se desea resolver un problema se debe seguir los
siguientes pasos:
iii) Algoritmo.
Es una descripción que se implementará directamente en pseudocódigo, bajo
las reglas específicas de programación, para luego poder trasladarse al
diagrama de flujo correspondiente y que alternativamente también permitirá
realizar la prueba de escritorio.
UTB Página 4
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
v) Prueba de escritorio.
Permite analizar y demostrar la funcionalidad del diagrama de flujo o del
algoritmo en base al planteamiento del problema en base a las variables
definidas en el análisis, lo que más adelante se definirá como proceso de caja
blanca.
ix) Mantenimiento.
Consiste en realizar mejoras y actualizaciones al programa para su mejor
desempeño.
UTB Página 5
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 2
ESTRUCTURA SECUENCIAL
2.1. Definición
Implica que seguirá una línea de continuidad con la entrada de datos,
procesos y salida o resultados; además, se requiere aprender los siguientes
conceptos y definiciones:
i) Constante, es un espacio de memoria cuyo dato es fijo, es decir no
cambia durante la ejecución del programa.
ii) Variable, es un espacio de memoria cuyo dato puede tomar distintos
valores cada vez que se ejecuta un programa.
iii) Identificador, es la forma de representar al dato o al espacio de
memoria, utilizando para ello palabras, letras o letras con números. Un
identificador siempre comienza con una letra.
iv) Asignación, consiste en colocar unta dato en el espacio de memoria
utilizando para ello el signo , como por ejemplo:
A1978
SA+B
C$’J’
N$”HOLA”
v) Tipos de datos, para los diagramas de flujo existen varios tipos de datos
pero los más utilizados son:
Tipo Identificador Dato
Entero 123
Número entero E -35
N1 19
Real 12.36
Número real R -1.21
R1 456.09
Carácter$ ‘a’
Carácter C$ ‘;’
C1$ ‘&’
Cadena$ “Hola”
Cadena Cad$ “Dos amigos”
Cad1$ “3 años”
Lógico True
Booleano o lógico L False
L1 True
UTB Página 6
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
2.2. Figuras
Entrada/Salida de datos.
Líneas de flujo.
Comentarios.
Operadores aritméticos
Operador Símbolo Ejemplo
Suma o adición + A+B
Resta o sustracción - A-B
Multiplicación o producto * A*B
División o cociente / A/B
División entera Div A Div B
Módulo o residuo Mod A Mod B
Potencia ^ A^B
Funciones especiales
Función Símbolo Ejemplo
Valor absoluto || |A|
Parte entera [] [A]
Raíz cuadrada sqrt() sqrt(A)
UTB Página 7
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
2.3. Ejemplos
1) Elaborar un programa que permita sumar dos números enteros y
despliegue el resultado por pantalla.
Análisis
2 números enteros a, b (E)
Suma s (P/S)
Algoritmo
Inicio Programa_suma_2_números
Entero a, b, s
Leer: a, b
sa+b
Escribir: s
Fin
Diagrama de flujo
Inicio
a, b
sa+b
Fin
Prueba de escritorio
a 5 s=7
b 2
s 7
2) Elaborar un programa que permita leer los datos personales de una sola
persona y se los despliegue por pantalla e impresora.
UTB Página 8
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 9
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 10
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
31) Se lee un número real por teclado, mostrar su parte entera y su parte
decimal.
32) De un número real con dos dígitos en la parte entera y dos dígitos en la
parte decimal, intercambiar las partes.
33) Se tienen dos notas que se evalúan sobre 100 puntos, de un estudiante
de la materia de programación, hallar la tercera nota para que pueda
aprobar con un promedio de 71.
34) Hallar el dígito mayor y el menor de un número entero de tres dígitos.
UTB Página 11
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 3
ESTRUCTURAS SELECTIVAS
3.1.1. Definición
Operadores lógicos
Operador Símbolo(s) Ejemplo
Mayor que > A>B
Mayor o igual que >= A >= B
Menor que < A<b
Menor o igual que <= A <= B
Igual que = A=B
Diferente que <> A <> B
Operadores relacionales
Operador Símbolo Ejemplo
Y and p1 and p2
O or p1 or p2
No not not (p1)
Falso Verdad
Condición(es)
Proceso(s) Verdad
Si (Condición(es))
Entonces: Proceso(s) Verdad
Fin Si
UTB Página 12
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
3.1.3. Ejemplos
1) Se lee tres números por teclado, hallar el mayor de los 3.
Análisis
3 números enteros a, b, c (E)
Mayor may (P/S)
Algoritmo
Inicio Programa_mayor_de_3_números_estr_selec_simple
Entero a, b, c, may
Leer: a, b, c
Si (b > may)
Entonces: may b
Fin Si
Si (c > may)
Entonces: may c
Fin Si
Escribir: may
Fin
Diagrama de flujo
Inicio
a, b, c
may a
Falso Verdad
b > may
may b
Falso Verdad
c > may
may c
UTB Página 13
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
may
Fin
Prueba de escritorio
a 5 may=7
b 7
c -1
may 7
Condición(es) 1
Condición(es) 2
Proceso(s) Verdad
Si (Condición(es))
Entonces: Si (Condición(es))
Entonces: Proceso(s) Verdad
Fin Si
Fin Si
UTB Página 14
α
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Falso Verdad
Condición(es)
Si (Condición(es))
Entonces: Proceso(s) Verdad
Sino: Proceso(s) Falso
Fin Si
3.2.3. Ejemplos
1) Mostrar en pantalla el mayor de dos números.
Análisis
2 números enteros a, b (E/S)
Algoritmo
Inicio Programa_mayor_de_2_números_estr_selec_doble
Entero a, b
Leer: a, b
Si (a > b)
Entonces: Escribir: “El mayor es: “, a
Sino: Escribir: “El mayor es: “, b
Fin Si
UTB Página 15
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Diagrama de flujo
Inicio
a, b
Falso Verdad
a>b
Fin
Prueba de escritorio
a 5 El mayor es: 7
b 7
UTB Página 16
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 17
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Opción
1 2 3 ……. No
Según (Opción)
Opción 1: Proceso(s) 1
Fin opción 1
Opción 2: Proceso(s) 2
Fin opción 2
Opción 3: Proceso(s) 3
Fin opción 3
………….
Defecto: Proceso No
Fin Según
3.3.3. Ejemplos
1) Se lee un número que representa a un día de la semana, muestre
por pantalla a qué día de la semana representa.
Análisis
Opción op (E)
Algoritmo
Inicio Programa_día_de_la_semana_estr_selec_múltiple
UTB Página 18
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Entero op
Leer: op
Según (op)
Opción 1: Escribir: “Lunes”
Fin Opción 1
Opción 2: Escribir: “Martes”
Fin Opción 2
Opción 3: Escribir: “Miércoles”
Fin Opción 3
Opción 4: Escribir: “Jueves”
Fin Opción 4
Opción 5: Escribir: “Viernes”
Fin Opción 5
Opción 6: Escribir: “Sábado”
Fin Opción 6
Opción 7: Escribir: “Domingo”
Fin Opción 7
Defecto: Escribir: “Error”
Fin Según
Fin
Diagrama de flujo
Inicio
op
Opción
1 2 3 4 5 6 7 No
Fin
Prueba de escritorio
op 5 Viernes
UTB Página 19
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 20
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 4
ESTRUCTURAS ITERATIVAS
Mientras (Condición(es))
Proceso(s)
Fin Mientras
4.1.3. Ejemplos
1) Genere los primeros números impares.
Análisis
Límite lim (E)
Contador c (P)
Número par p (P/S)
UTB Página 21
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Algoritmo
Inicio Programa_ números_pares_estr_mientras
Entero lim, c, p
Leer: lim
c1
p2
Mientras (c <= lim)
Escribir: p
pp+2
cc+1
Fin Mientras
Fin Si
Diagrama de flujo
Inicio
lim
c1
p2
Falso
c <= lim
Verdad
p
cc+1
pp+2
Fin
Prueba de escritorio
lim 5 2 4 6 8 10
c 123456
p 2 4 6 8 10 12
UTB Página 22
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 23
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Proceso(s)
Verdad
Condición(es)
Falso
Repetir
Proceso(s)
Hasta (Proceso(s))
4.2.3. Ejemplos
1. Genere los primeros números impares.
Análisis
Límite lim (E)
Contador c (P)
Número par p (P/S)
Algoritmo
Inicio Programa_ números_pares_estr_hasta
Entero lim, c, p
Repetir
Leer: lim
Hasta (lim <= 0)
c1
p2
Repetir
Escribir: p
pp+2
cc+1
Hasta (c<=lim)
Fin Si
Diagrama de flujo
Inicio
β
α
UTB Página 24
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
α
β
lim
c <= 0
c1
p2
cc+1
pp+1
Verdad
c <= lim
Falso
Inicio
Prueba de escritorio
lim 5 2 4 6 8 10
c 123456
p 2 4 6 8 10 12
UTB Página 25
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 26
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
v vi vf
Proceso(s)
Falso
i
Verdad
Para ( i vi vf)
Proceso(s)
Fin Para
4.3.3. Ejemplos
1) Genere los primeros números impares.
Análisis
Límite lim (E)
Contador automático i (P)
Número par p (P/S)
Algoritmo
Inicio Programa_ números_impares_estr_para
Entero lim, i, p
Repetir
Leer: lim
Hasta (lim <= 0)
p1
Para (i 1 lim)
Escribir: p
pp+2
Fin Para
Fin Si
Diagrama de flujo
Inicio
lim
β
α
UTB Página 27
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
α
β
lim <= 0
p2
i 1 lim
pp+2
Falso
i
Verdad
Fin
Prueba de escritorio
lim 5 2 4 6 8 10
i 1 5||1 2 3 4 5
p 2 4 6 8 10 12
UTB Página 28
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 29
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 30
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
n = 15 => 15 = 33 - 32 - 31
29) Introducir dos números enteros positivos n y k, luego hallar el menor
múltiplo de k respecto a n.
Si: n = 7 y k = 3 => El menor múltiplo de 3 respecto a 7 es 6.
n = 12 y k = 5 => El menor múltiplo de 5 respecto a 12 es 10.
30) Introducir dos números enteros positivos n y k, luego hallar el múltiplo de
k que esté más cerca de n.
Si: n = 7 y k = 3 => El múltiplo más cercano de 3 respecto a 7 es 6.
n = 14 y k = 5 => El múltiplo más cercano de 5 respecto a 14 es 15.
n = 10 y k = 4 => El múltiplo más cercano de 5 respecto a 10 es 8 ó
12.
31) Dados dos números enteros positivos m y n, se desea obtener la
división de los mismos, en el formato de fracción mixta simplificándolo al
máximo.
18 1
Si: m = 18 y n = 4 => = 4 2 (Cuatro enteros y un medio).
4
Lote de números
1) Leer n números y mostrar cuántos números negativos se han leído.
2) Dado un lote de n números, determinar cuántas veces un número
positivo está seguido de un cero.
3) Dado un lote de n números determinar cuántos son primos, pares e
impares.
4) Dado un conjunto de n números determinar el promedio de los pares y
los impares.
5) Dado un conjunto de n números, mostrar la suma de todos aquellos que
no son primos y su promedio.
6) Encontrar el menor de n números.
7) Encontrar el mayor de n números.
8) Encontrar el menor y mayor de n números.
9) Dado un conjunto de n números, se desea saber:
a) El promedio de los números pares.
b) El promedio de los números impares.
c) La suma de los n números y el promedio.
10) Dado un lote de n grupos de datos, cada grupo contiene tres datos que
son los lados de un triángulo, se pide calcular el área, luego desplegar el
área y los lados.
11) De un lote de n números se pide determinar:
a) ¿Cuántas veces un número par está seguido por dos impares?
b) ¿Cuántas veces un número positivo está seguido por un negativo y
cero?
12) Dado un lote de z números se pide:
UTB Página 31
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 32
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
9) Dado un número entero positivo n con los dígitos diferentes entre sí,
determinar el mayor dígito que éste contiene y la posición que ocupa
contando de derecha a izquierda.
Si: n = 3264510 => El dígito mayor es 6 y se encuentra en la posición 5.
10) Dado un número entero positivo n con los dígitos diferentes entre sí,
determinar el menor dígito que éste contiene y la posición que ocupa
contando de derecha a izquierda.
Si: n = 3172645 => El dígito menor es 1 y se encuentra en la posición 6.
11) Dado un número entero positivo n con los dígitos diferentes entre sí, se
pide intercambiar el dígito mayor con el dígito menor.
12) Dados dos números enteros positivos a y b, dado a mayor que b.
determinar cuántas veces el número b se encuentra en a.
Si: a = 32432 y b = 32 => 32 se encuentra en 32432, 2 veces.
a = 77777 y b = 77 => 77 se encuentra en 77777, 4 veces.
13) Dado un número entero positivo n ordenar sus dígitos en forma
ascendente.
14) Dado un número entero positivo n ordenar sus dígitos en forma
descendente.
15) Dado un número real positivo r, se pide invertir los dígitos del número,
manteniendo la cantidad de dígitos en la parte entera como en la parte
decimal.
Si: r = 123.45 => s = 543.21
16) Dado un número entero positivo n con los dígitos diferentes entre sí
mostrar el dígito mayor y la posición que éste ocupa; se debe tomar en
cuenta las posiciones de izquierda a derecha.
17) Dado un número real positivo r contar la cantidad de dígitos enteros y
decimales que contenga.
18) Dado un número entero positivo n hallar la suma de los factoriales de los
dígitos.
19) Leer un número n entero positivo de más de cuatro dígitos e
intercambiar los dígitos de las posiciones pares con los dígitos de las
posiciones impares (de derecha a izquierda).
20) Leer un número real positivo r, luego intercambiar el primer dígito de la
parte entera con el primer dígito de la parte decimal.
Si: r = 987.321 => s = 187.329
21) Mostrar todos los números de tres dígitos que cumplan las siguientes
condiciones:
a) Todos sus dígitos deben ser distintos entre sí.
b) El primer dígito de la derecha debe ser par.
c) El dígito central debe ser primo.
UTB Página 33
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
22) Dado un número n entero positivo de más de seis dígitos construir otros
dos números a y b, donde a está formado por los dígitos pares de n y b
está formado por los dígitos impares de n.
23) Dado un número n entero positivo, eliminar todos los dígitos pares de
éste contenga.
24) Dado un número n entero positivo, eliminar todos los dígitos cero de
éste contenga.
25) Dado un número n entero positivo, eliminar todos aquellos dígitos que
se encuentran más de una vez en n (debe permanecer únicamente uno
de ellos).
26) Dado un número entero positivo n, se pide sumar 1 a los dígitos pares y
restar 1 a los dígitos impares.
27) Dado un número real positivo r, cambiar la parte entera con la parte
decimal y con el orden de los dígitos invertidos.
28) Dado un número entero positivo n de más de tres dígitos, hacer rotar los
dígitos de n, a la derecha k veces (k entero positivo mayor a 0); además,
mostrar cada rotación.
29) Dado un número x entero positivo generar y desplegar el número
capicúa que le corresponde de la siguiente manera:
Si: x = 123 => El número capicúa correspondiente es 12321.
30) Dado un número entero positivo n de más de tres dígitos, hacer rotar los
dígitos de n a la izquierda k veces (k entero positivo mayor a 0);
además, mostrar cada rotación.
31) Dado un número n entero positivo de más de seis cifras y otro k también
entero positivo de una sola cifra, insertar éste elemento en la posición p
(p es entero positivo y menor o igual al número de dígitos que tiene n.
considerar las posiciones del número n de derecha a izquierda del
número n.
Si: n = 12608567, k = 9 y p = 4; entonces: n = 126089567
32) Dado un número n entero positivo y otro k también entero positivo, se
pide insertar el número k en la posición p (p es entero positivo y menor o
igual al número de dígitos que tiene n. Considerar las posiciones del
número n de derecha a izquierda) del número n.
Si: n = 123, k = 5467 y p = 2; entonces: n = 1254673
n = 6, k = 54321 y p = 1; entonces: n = 654321
33) Generar un número n de k dígitos que cumpla las siguientes
condiciones:
a) Si la posición es múltiplo de dos asignar el dígito 0.
b) Si la posición es múltiplo de tres pero no de dos asignar el 1.
c) Si la posición es múltiplo de cinco pero no de dos ni de tres asignar
el 2.
UTB Página 34
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 35
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 36
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Sucesiones y series
1) Generar la siguiente sucesión para n términos: 0, 1, 2, 3, 4, 5,…
2) Generar la siguiente sucesión para n términos: 0, 2, 3, 5, 8, 12, 19, 31,…
3) Generar la siguiente sucesión para n términos: 0, 0, 0, 1, 1, 1, 0, 0, 0, 1,
1,1,…
UTB Página 37
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 38
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 39
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
1
6) Hallar la suma de los n primeros términos de la siguiente serie: 1 + 2 +
1 1 1 1 1 1 1
+4+5+⋯ 1+2+3+4+5+⋯
3
1 1
7) Hallar la suma de los n primeros términos de la siguiente serie: +4+
2
1 1 1
+ 8 + 10 + ⋯
6
1 1
8) Hallar la suma de los n primeros términos de la siguiente serie: + 21 +
20
1 1 1
+ 23 + 24 + ⋯
22
1
9) Hallar la suma de los n primeros términos de la siguiente serie: − 1! +
3 5 7 9
− + − +⋯
2! 3! 4! 5!
1∗2
10) Hallar la suma de los n primeros términos de la siguiente serie: −
3!
3∗4 5∗6 7∗8 9∗10
+ 11! − + −⋯
7 15 19!
11) Dado un número n entero positivo, hallar el valor de la siguiente
𝑦
sumatoria: ∑𝑛𝑥=1 ∑𝑛𝑦=1 𝑥!
12) Dado un número n entero positivo, hallar el valor de la siguiente
(2𝑖)
sumatoria: ∑𝑛𝑖=1(−1)𝑖+1 (2𝑖+1)!
13) Dados los números m y n enteros positivos, hallar el valor de la
𝑖∗𝑗∗𝑘
siguiente sumatoria: ∑𝑚 𝑛 𝑚+𝑛
𝑖=1 ∑𝑗=1 ∑𝑘=𝑖+𝑗 𝑚+𝑛
14) Dado un número n entero positivo, hallar el valor de la siguiente
productoria: ∏𝑛𝑖=1 𝑖 2
15) Dados tres números enteros positivos m, n y p, encontrar el valor de la
𝑝
siguiente expresión: ∑𝑚 𝑛
𝑖=1 ∑𝑗=1 ∏𝑘=1(𝑖 + 𝑗) ∗ (𝑗 + 𝑘)
16) Dado un número n entero positivo, hallar el valor de la siguiente
1! 2! 3! 4!
sumatoria: ∑1 𝑘
− ∑2 𝑘
+ ∑3 𝑘
− ∑4 𝑘
…
𝑘=1 𝑥! 𝑘=1 𝑥! 𝑘=1 𝑥! 𝑘=1 𝑥!
17) Calcular el valor de ex mediante aproximaciones sucesivas con un error
1 1 1
menor o igual a 10-5: 1 + 𝑥 + 2! 𝑥 2 + 3! 𝑥 3 + 4! 𝑥 4 + ⋯
18) Calcular el valor de sen(x) mediante aproximaciones sucesivas con un
1 1 1
error menor o igual a 10-5: sin(𝑥) = 1 − 3! 𝑥 3 + 5! 𝑥 5 − 7! 𝑥 7 + ⋯
19) Calcular el valor de cos(x) mediante aproximaciones sucesivas con un
1 1 1
error menor o igual a 10-5: cos(𝑥) = 1 − 2! 𝑥 2 + 4! 𝑥 4 − 6! 𝑥 6 + ⋯
20) Calcular el valor de tg(x) mediante aproximaciones sucesivas utilizando
para esto los resultados obtenidos anteriormente.
UTB Página 40
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 5
FUNCIONES
5.1. Definición
Son una forma de dividir un programa para que sea más simple su solución,
utilizan la metodología Top-Down y se caracterizan porque siempre
devuelven una respuesta al programa que las invoca. Además, el número de
argumentos en el parámetro debe ser la misma cantidad y en el mismo orden
para la invocación de una función. Finalmente, los parámetros pueden ser de
recepción (R) o devolución (D).
var NomFum(Parámetros)
var NomFun(Parámetros)
NomFun
Parámetros
Proceso(s)
Return(var)
Fin NomFun
5.3. Ejemplos
1) Hallar el producto de dos números enteros en base a sumas sucesivas.
Análisis
Programa principal
Un número a, b (E)
UTB Página 41
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Suma s (P/S)
Función leer
Un número x (E/D)
Función suma
Dos números a, b (R)
Suma s (P/D)
Algoritmo
Inicio Programa_principal_suma_en_base_función
Entero a, b, s
a leer(_leer
b leer()
s suma(a, b)
Escribir: s
Fin
Diagrama de flujo
Inicio
a leer()
Se pasa a la función leer
b leer()
UTB Página 42
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
s suma(a, b)
Fin
a, b
Sa+b
x Return (x)
Verdad
x <= 0
Fin suma
Falso
Return (x)
Fin leer
Prueba de escritorio
Programa principal
a 3
s=7
b 4
s 7
Función leer
x 3 4
Función suma
a 3
b 4
s 7
UTB Página 43
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 44
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 6
PROCEDIMIENTOS
6.1 Definición
Son una forma de dividir un programa para que sea más simple su solución,
utilizan la metodología Top-Down y se caracterizan porque pueden devolver:
Ninguna, una, dos o más respuestas al programa que las invoca. Además, el
número de argumentos en el parámetro debe ser la misma cantidad y en el
mismo orden para la invocación de un procedimiento. Finalmente, los
parámetros pueden ser de recepción (R) o devolución (D).
NomProc(Parámetros)
NomProc(Parámetros)
NomProc
Parámetros
Proceso(s)
Fin NomProc
6.3. Ejemplos
1) Hallar el producto de dos números enteros en base a sumas sucesivas.
Análisis
Programa principal
Un número a, b (E)
UTB Página 45
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Función leer
Un número x (E/D)
Procedimiento suma
Dos números a, b (R)
Suma s (P/S)
Algoritmo
Inicio Programa_principal_suma_en_base_procedimiento
Entero a, b
a leer()
b leer()
suma(a, b)
Fin
Diagrama de flujo
Inicio
a leer()
Se pasa a la función leer
b leer()
suma(a, b)
Fin
UTB Página 46
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
a, b
sa+b
x
Verdad s
x <= 0
Falso
Fin suma
Return (x)
Fin leer
Prueba de escritorio
Programa principal
a 3
b 4
Función leer
x 3 4
s=7
Procedimiento suma
a 3
b 4
s 7
UTB Página 47
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
UTB Página 48
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 6
ARREGLOS
7.1. Vectores
7.1.1. Definición
Un vector es un arreglo unidimensional, también denominado
registro, que permite almacenar dos o más datos (información) a
diferencia de una variable pero que en similitud tiene un nombre,
ocupa un espacio de memoria y define posiciones de memoria.
V
……. null
0 1 2 n-1 n
7.1.3. Ejemplos
7.1.4. Ejercicios propuestos
7.2. Matrices
7.2.1. Definición
7.2.2. Figuras y pseudocódigo
7.2.3. Ejemplos
7.2.4. Ejercicios propuestos
7.3. Arreglos multidimensionales
7.3.1. Definición
7.3.2. Figuras y pseudocódigo
7.3.3. Ejemplos
7.3.4. Ejercicios propuestos
UTB Página 49
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 8
ORDENAMIENTO
8.1. Definición
8.2. Ejemplo
8.3. Ejercicios propuestos
UTB Página 50
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 9
BÚSQUEDA
9.1. Definición
9.2. Ejemplo
9.3. Ejercicios propuestos
UTB Página 51
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 10
RECURSIVIDAD
10.1. Definición
10.2. Ejemplo
10.3. Ejercicios propuestos
UTB Página 52
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
CAPÍTULO 11
ARCHIVOS
11.1. Definición
11.2. Figuras y pseudocódigo
11.3. Ejemplo
11.4. Ejercicios propuestos
UTB Página 53
Lic. Juan Mario Eguívar G. Lógica computacional Programación 1
Bibliografía
UTB Página 54