Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. ALGORITMOS
2. TIPOS DE DATO
3. IDENTIFICADORES
4. VARIABLES / CONSTANTES
5. OPERADORES
6. CONSTRUCCIN Y EVALUACIN DE EXPRESIONES
7. INSTRUCCIONES BSICAS
8. ABSTRACCIN DE DATOS
9. USOS DE VARIABLES
10. CONCEPTOS VARIOS
11. TCNICAS DE PROGRAMACIN
12. EJERCICIOS TPICOS RESUELTOS
13. EJERCICIOS PROPUESTOS
14. REFERENCIAS
U NI VER SI D AD D E C AR AB O BO . F AC U LT AD DE I NG ENI ER A. DEP AR T AM EN T O DE C OM P UT ACI N.
CTEDRA DE COM PUTACIN I SEGUNDO PERODO LECTIVO DE 2006.
1. ALGORITMOS
La palabra algoritmo se deriva del nombre del gran matemtico rabe Mohamed Ibn al-Khwarizmi, que
vivi durante el siglo IX y alcanz gran reputacin por el enunciado de las reglas para sumar, restar,
multiplicar y dividir nmeros decimales; la traduccin al latn del apellido de la palabra algorismus deriv
posteriormente en algoritmo.
Problema Algoritmo Programa
DEFINICIN
Un algoritmo es la descripcin de los pasos a seguir para la solucin de un problema. Todo algoritmo
debe ser:
P R E C I S O : cada instruccin debe indicar de forma inequvoca que se tiene que hacer.
FINITO: debe tener un nmero limitado de pasos.
D E F I N I D O : debe producir los mismos resultados para las mismas condiciones de entrada.
ROBUSTEZ DE UN ALGORITMO
Cada algoritmo debe contemplar todas las posibles facetas del problema que se desea resolver. Al
elaborar el algoritmo no se debe escapar ningn detalle que provoque un mal funcionamiento.
TIPOS DE ALGORITMOS
COMPUTACIONAL NO COMPUTACIONAL
algoritmo que puede ser ejecutado por un algoritmo que NO puede ser ejecutado por
computador. Ejemplo: Calculo de n! un computador. Ejemplo: Receta de cocina
PARTES DE UN ALGORITMO
Todo algoritmo puede ser descompuesto en tres partes:
E S P E C I F I C A C I N D E E N T R A D A : Que informacin se requiere. Que se tiene?
P R O C E S O : Pasos a seguir para resolver el problema. Como lograrlo?
E S P E C I F I C A C I N D E S A L I D A : Resultados esperados. Que se pide?
REPRESENTACIN DE ALGORITMOS
Los lenguajes algortmicos representan los smbolos y reglas que se utilizan para describir de manera
explicita al algoritmo; pueden representarse de las siguientes maneras:
E S C R I T A : Descripcin no grafica expresada en lenguaje natural. Por ejemplo: Para sumar
dos nmeros podran escribirse los siguientes algoritmos:
VERSIN 1 VERSIN 2 VERSIN 3
Sumar dos valores ledos Dados dos valores ledos, su- Imprimir el resultado de
e imprimir resultado. marlos e imprimir resultado. sumar dos valores ledos.
A, B leer
C A + B calcular
C imprimir
F fin
VERIFICACIN
Todo algoritmo debe ser verificado para que funcione correctamente presentando una solucin al
problema a tratar y cumple con todos lo requerimientos especificados. Los mtodos de verificacin son:
A B C A B C A B C
4 5 9 -4 5 1 0 -5 -5
2. TIPOS DE DATO
Los datos que manejan los lenguajes de programacin se clasifican segn la figura. La asignatura
Computacin 1 se dedica a cubrir los tipos elementales o base de un lenguaje de programacin:
TIPOS DE DATO
TIPO DE DATO
ESTTICO
ESTATICOS DINAMICOS
Un tipo de D A T O E S T T I C O
se refiere a que no es
posible cambiar el tipo de SIMPLES ESTRUCTURADOS Apuntadores
una variable durante la Tipos de datos
ejecucin de un programa. ORDINALES abstractos
alfanumricos:
Por ejemplo si una variable numricos: enteros listas
cadena de
se declara numrica alfanumrico: carcter enlazadas
caracteres
lgicos: boolean rboles
entera, no es posible
grafos
convertirla a una variable archivos
definidos por usuario
de tipo cadena de subrango arreglos
caracteres, numrico real, enumerados registros
arreglo o cualquier otro
tipo durante la ejecucin
NO ORDINALES
de un programa.
numricos: reales
TIPO DE DATO SIMPLE
Se refiere a que no es posible almacenar ms de un valor a la vez; este tipo tambin se conoce como
tipo de dato base.
TIPO DE DATO ORDINAL:
Tomando como referencia el lenguaje de programacin Pascal [versin freePascal] se puede afirmar que
todos los tipos base [simples] exceptuando al tipo numrico real y al tipo entero especfico int64 son
ORDINALES que cumplen con las siguientes caractersticas:
1. Los ordinales son contables y ordenables. i.e. es posible contarlos uno a uno en un orden
especfico. i.e. a, b, c, , z o 1, 2, 3
2. Se define como sucesor el siguiente valor ordinal segn su orden, y antecesor el valor inmediato
anterior. Todo valor ordinal tiene un sucesor y un antecesor bien definido, i.e. el numero 4 tiene
como antecesor el numero 3 y como sucesor el numero 5; la letra s tiene como antecesor la
letra r y como sucesor la letra t
3. El mnimo valor ordinal NO tiene un antecesor
4. El mximo valor ordinal NO tiene un sucesor
TIPOS PRINCIPALES POSIBLES VALORES TAMAO
A continuacin se presenta una tabla con los tipos de dato mas frecuentemente usados, sus posibles
valores y su tamao [espacio en memoria requerido para almacenar valores de este tipo]
TIPO DE DATOS ALFANUMRICO:
3. IDENTIFICADORES
Todo elemento definido por el usuario, sea una variable, constante, programa, tipo o subprograma se
identifica por un nombre. Este nombre debe cumplir las siguientes normas:
1. El primer carcter debe ser alfabtico o smbolo de subrayado,
2. Puede usarse cualquier carcter alfabtico, numrico o el smbolo de subrayado
[ no acepta caracteres especiales ]
3. Su mximo tamao es 255 caracteres
4. VARIABLES / CONSTANTES
VARIABLES:
Una variable es un espacio para guardar informacin la cual se
Nombre de variable puede recuperar ms tarde. Las variables tienen tres
componentes: el N O M B R E de la variable; el V A L O R almacenado
tipo y el T I P O permitido para ese valor. El N O M B R E de la variable
valor debe respetar las normas para formar identificadores. Toda
variable tiene la capacidad de cambiar su V A L O R durante la
ejecucin de un programa. Una variable debe declararse en
programas o algoritmos indicando su N O M B R E y el T I P O que
maneja.
CONSTANTES:
Son valores que no cambian durante la ejecucin del programa. Por ejemplo:
5. OPERADORES
A menudo los programas, aparte de almacenar y recuperar valores de la memoria requieren manipular
valores con el fin de obtener resultados; por ello se crean expresiones que pueden ser de distinto tipo:
Aritmticas, relacionales y lgicas. En dichas expresiones intervienen dos elementos fundamentales
OPERANDOS y OPERADORES.
Resultado
Resultado
TIPO DE OPERADORES
Aritmticos
Operadores Relacionales
Lgicos / Bolanos
OPERADORES ARITMTICOS
Los operadores aritmticos permiten la realizacin de operaciones matemticas con los valores (variables
y constantes).
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros,
el resultado es entero; si alguno de ellos es real, el resultado es real.
Operadores Aritmticos
Cambio de Signo Menos unitario
(Operador unario) -
Suma +
Resta -
Multiplicacin *
Divisin /
Cociente de Divisin Entera de dos enteros DIV
Residuo de Divisin Entera de dos enteros MOD
OPERADORES RELACIONALES
Operadores de Relacin
Igual =
Diferente de <>
Mayor >
Mayor o igual >=
Menor <
Menor o Igual <=
OPERADORES LGICOS
Estos operadores se utilizan para establecer relaciones entre valores lgicos, los cuales pueden ser el
resultado de una expresin relacional.
Operadores Lgicos/Boleanos
Negacin
(Operados Unario)
NOT
--- y --- AND
--- --- OR
Las definiciones de las operaciones Negacin, And y Or, se resume en las siguientes tablas, conocidas
como tablas de la verdad:
NOT Operando-1
AND Operando-2
OR Operando-2
T F T F T F
Operando-1
Operando-1
T F T T
T
F T
F F T F
F
6. CONSTRUCCIN Y EVALUACIN DE EXPRESIONES
Las expresiones son secuencias de constantes y/o variables separadas por operadores vlidos. Se puede
construir una expresin vlida por medio de:
1. Una sola constante o variable, la cual puede estar precedida por un signo + - .
2. Una secuencia de trminos (constantes, variables, funciones) separados por operadores.
Toda variable utilizada en una expresin debe tener un valor almacenado para que la expresin, al ser
evaluada, d como resultado un valor.
Cualquier constante o variable puede ser reemplazada por una llamada a una funcin.
Las expresiones se evalan de acuerdo a la J E R A R Q U A D E O P E R A D O R E S . La siguiente tabla muestra la
jerarqua de los operadores:
Prioridad Operadores
0 ()
1 -Unitario, Not
2 * , / , AND, DIV, MOD
3 + , - , OR
4 = , <> , > , >= , < , <=
5 [asignacin]
A ( B * 2 + Z / 2 * 3. > 0)or ( Z = 9)
E E 1 E E E R E E E
2
E R 3
4 R
R 5
B 6
7 B
8 B
B
Error al asignar por incompatibilidad de tipos
Ejemplo 1 Ejemplo 2
4 + 2 * 5 23 * 2 / 5
Se evala primero Se evala primero
10 46
Se evala en segundo Se evala en segundo
lugar lugar
14 9.2
Ejemplo 3 Ejemplo 4
7 DIV 2 MOD 5 3.5 + 5.09 - 14.0 / 4
3 MOD 5 3.5 + 5.09 - 3.5
3 8.59 - 3.5
5.09
Ejemplo 5 Ejemplo 6
Si a = 10 b = 20 c = 30 Si a = 10 b = 20 c = 30
(a < b) AND (b < c) a + b >c
(10 < 20) AND (20 < 30) 10 + 20 > 30
30 > 30
True True False
Ejemplo 7
True 23 * 2 DIV 5
46 DIV 5
9
7. INSTRUCCIONES BSICAS
Lenguaje Algortmico
Estructuras Secuenciales
Pseudocdigo Diagrama de Flujo
ACCIN:
Lectura de informacin a,b,c
leer
DESCRIPCIN:
Interaccin entre el mundo exterior [usuario] y el programa
ACCIN:
Presentar resultados a,b,c
imprimir
DESCRIPCIN:
Interaccin entre el programa y el mundo exterior [usuario]
ACCIN:
Asignar valores
DESCRIPCIN: asignar
Almacena valores constantes, resultados de la evaluacin A 58+2
de expresiones y/o copia valores de otras variables. Debe
tenerse en cuenta una compatibilidad de tipos entre la
variable que recibe la asignacin y el valor asignado.
seudos
Constante
VARIABLE expresin
valor almacenado en otra variable
Lenguaje Algortmico
Estructuras Selectivas
Pseudocdigo Diagrama de Flujo
ACCIN: Preguntar:
Seleccin simple NO SI
Si condicin es cond
DESCRIPCIN: verdadera:
Caso: Cuando solo existen dos elecciones posibles. entonces Accin 2 Accin 1
Determina cual de las dos acciones debe ejecutarse ACCION 1
dependiendo del resultado de la evaluacin de una
sino
condicin. La condicin puede ser una expresin de
relacin o una expresin lgica. ACCION 2
ACCIN:
Segn sea variable
Seleccin mltiple
variable hacer:
DESCRIPCIN: E1 : ACCION 1
Caso: Cuando existen mas de dos elecciones posibles. E2 : ACCION 2
A1 A2 ... An A
Determina accin a ejecutarse dependiendo del valor que : :
tome la variable.
E representa ELECCION En : ACCION n
A representa ACCION sino ACCION
Lenguaje Algortmico
Estructuras Repetitivas
Pseudocdigo Diagrama de Flujo
ACCIN:
Iteracin tipo mientras
Mientras cond
DESCRIPCIN:
Mientras se cumple la condicin, se ejecuta la accin
NO se conoce el numero de veces que se ejecuta
ACCION
Funcionamiento:
Se evala la condicin:
si el resultado es VERDADERO se ejecuta el cuerpo del
Mientras cond
ciclo. Este proceso se repite mientras que la condicin
hacer:
sea VERDADERA
ACCION Fin Mientras
si el resultado es FALSO se ejecuta la primera instruccin
fuera del ciclo y continua
Nota:
Condicin, puede ser una expresin de relacin o una
expresin lgica. Las variables asociadas a la condicin
deben modificarse durante la ejecucin de la accin para
garantizar un fin de ejecucin del ciclo. SI
Cond Accin 1
Observacin:
Cabe la posibilidad de que NO se cumpla la condicin la
NO
primera vez que se evala, en cuyo caso NO entra en el
ciclo, que nunca deje de cumplirse por lo que el
proceso no se detiene y se conoce como CICLO INFINITO.
ACCIN:
Iteracin tipo repita Repetir
DESCRIPCIN:
Repetir la accin hasta que se cumpla una condicin
ACCION
NO se conoce el numero de veces que se ejecuta
Funcionamiento:
Se ejecuta la accin
Se evala la condicin:
si el resultado es VERDADERO se ejecuta la primera
instruccin fuera del ciclo y continua Repita Hasta cond
si el resultado es FALSO se ejecuta el cuerpo del ciclo. ACCION
Este proceso se repite hasta que la condicin sea Hasta cond
VERDADERA
Nota:
Condicin puede ser una expresin de relacin o una Accin 1
expresin lgica. Las variables asociadas a la condicin
deben modificarse durante la ejecucin de la accin para
garantizar un fin de ejecucin del ciclo.
NO
Observacin: Cond
Como verifica despus de ejecutar la accin toda
iteracin tipo repita se ejecuta al menos una vez, en caso SI
de que la condicin nunca se cumpla el proceso no se
detiene y se conoce como CICLO INFINITO.
Lenguaje Algortmico
Estructuras Repetitivas
seudos cdigo Diagrama de Flujo
ACCIN:
Iteracin tipo desde
DESCRIPCIN:
Ejecutar la accin un numero determinado de veces
controlado por una variable de control vc desde un valor
inicial vi hasta un valor final vf con un incremento inc igual a vc vi, vf, inc
+1 o -1
SI se conoce el numero de veces que se ejecuta
ACCION
Funcionamiento:
Ejecuta la accin un nmero especfico de veces y
AUTOMTICAMENTE controla el nmero de iteraciones. El
proceso automtico consta de:
Desde vc vi
Inicializar la variable de control en el valor inicial hasta vf con
Verificar la condicin: variable de control es <= que valor incremento inc
hacer: Fin del ciclo
final si el inc es +1 o si variable de control es >= que valor
final si el inc es 1. ACCION
Si el resultado es VERDADERO:
se ejecuta el cuerpo del ciclo
se incrementa la variable de control en inc
se transfiere el control al inicio del ciclo para verificar
otra vez
Si el resultado es FALSO:
se ejecuta la primera instruccin fuera del ciclo y
contina.
Nota:
Cuando inc = +1: si vi > vf NO entra en el ciclo
inc = -1: si vi < vf NO entra en el ciclo
8. ABSTRACCIN DE DATOS
LISTAS SIMPLES
Se entiende por una lista de datos a la organizacin o representacin de los datos segn uno o ms
criterios. Una lista es, entonces, aquella representacin de datos que tiene un solo criterio de
organizacin. Por ejemplo: la informacin de los estudiantes de una seccin que puede constar de:
Cedula de Identidad, Nombre del Estudiante, Notas, Escuela a la que pertenece.
La abstraccin de los datos consta de su representacin, generalmente la informacin de un tem de
informacin por lnea de representacin. En el caso de los estudiantes, toda la informacin asociada a un
estudiante aparecer en una lnea de los datos.
Las listas simples se clasifican en listas con:
NUMERO DE DATOS A PROCESAR CONOCIDO: La figura 1 muestra la informacin a organizarse
para ser procesada por un programa. La figura 2 muestra la informacin ya organizada en
una lista. Note que el numero de datos a procesar es el PRIMER dato de la lista
Datos Lista de datos a procesar por el programa
N
Informacin de tem 1 Informacin de tem 1
Informacin de tem 2 Informacin de tem 2
Informacin de tem 3 Informacin de tem 3
N : :
: :
: :
Informacin de tem n Informacin de tem n
Figura 1 Figura 2
Figura 1 Figura 2
Es importante hacer notar que un ciclo tipo desde valor inicial a valor final hacer
insts no es implementable para este caso por el mismo hecho que NO se conoce el numero
de datos.
La variable CENT se comporta como una variable tipo centinela, ya que permite detectar el
final de la lista de datos. El Esta variable debe indicarse claramente que valor toma en cada
uno de locentinela debe definirse cA continuacin se presenta un esquema de cmo
manipular una lista de este tipo:
Forma de Datos Estructura del Programa; Ciclo mientras cond hacer insts
Inicializacin de CENT
ACCION
:
:
Informacin de tem CENT Instrucciones propias de los datos de
la lista
Forma de Datos Estructura del Programa; Ciclo repita insts hasta cond
9. USOS DE VARIABLES
ACUMULADORES
Variables que trabajan sobre si mismas [se modifican a si mismas] que almacenan resultados parciales de
un proceso [clculos sucesivos].
CARACTERSTICAS:
Estas variables se reconocen porque aparecen en ambos lados de una instruccin de asignacin.
Por ejemplo la asignacin: A A + valor
A A + valor
Donde valor puede ser una variable, constante o resultado de una expresin
apropiado, dependiendo del nmero de eventos a detectar. Por ejemplo: Bandera [nombre de la
variable] toma el valor 0 cuando NO ha ocurrido ningn evento, 1 cuando ocurre el primer evento, 2
cuando ocurre el segundo evento y as sucesivamente.
Ejemplos de aplicacin: Detectar primer mayor de un conjunto de datos, determinar primer, segundo o
tercer valor con una determinada caracterstica [por ejemplo: primer, segundo o tercer impar de un
conjunto de valores]. Detectar el primer valor negativo procesado.
CICLO INFINITO
Un ciclo infinito ocurre cuando NUNCA se detiene. Esto sucede en
I estructuras repetitivas de tipo:
mientras cuando la condicin siempre se cumple y por lo tanto
i 1 no sale del ciclo,
repita cuando la condicin nunca se cumple y por lo tanto no
sale del ciclo
Mientras i > 0
Por ejemplo:
En el segmento de Diagrama de flujo que se muestra en la figura se
i i+1
puede observar que la variable i es inicializada en 1. Como el valor es
mayor que 0 entra en el ciclo mientras. Dentro del ciclo la nica
Fin mientras instruccin es el incremento en 1 de la variable i. Como i tenia un valor
mayor que 0 inicialmente, y solo se incrementa en 1, siempre tendr un
valor mayor que 0, por lo que la condicin siempre se cumple y no hay
i forma que i sea igual o menor que 0. De todo lo anterior se concluye
entonces que el ciclo mostrado es un ciclo infinito.
F
MATERIAL DE AP O Y O A CLASES PGINA 17 DE 46
U NI VER SI D AD D E C AR AB O BO . F AC U LT AD DE I NG ENI ER A. DEP AR T AM EN T O DE C OM P UT ACI N.
CTEDRA DE COM PUTACIN I SEGUNDO PERODO LECTIVO DE 2006.
ESTADSTICAS BSICAS
PROMEDIO: S e refiere a la sumatoria de los valores que cumplen una condicin entre el
nmero de valores que se sumaron. Al calcular promedios se debe tener en cuenta lo siguiente:
1. Los acumuladores [sumatorias y contadores] deben inicializarse antes de procesar la
informacin, es decir fuera del ciclo que procesa los datos.
2. Es posible que el nmero de valores sumados sea cero, pues puede darse el caso que ningn
valor cumpla la condicin. Por lo tanto es necesario determinar que el denominador sea mayor
que cero.
3. El clculo del promedio debe realizarse al procesar toda la informacin, es decir fuera del ciclo.
PORCENTAJE: S E refiere a la relacin existente, entre el numero de valores que cumplen una
condicin dividido entre el nmero total de valores procesados y multiplicado por 100. Al calcular
porcentajes debe tener en cuenta lo siguiente:
1. Los acumuladores [contadores] deben inicializarse antes de procesar la informacin, es decir
fuera del ciclo que procesa los datos.
2. Como el porcentaje es relacin entre el total de valores procesados, no tiene sentido que el
nmero de valores a procesarse sea cero. Por lo general no es necesario verificar que el
denominador sea mayor que cero.
3. El clculo del porcentaje debe realizarse al procesar toda la informacin, es decir fuera del
ciclo. En otro sitio del programa no tendra mayor sentido.
MXIMOS Y MNIMOS
El proceso para determinar el mximo o mnimo valor, entre un grupo de valores, consiste en comparar
cada valor procesado con un valor de referencia que almacena en un instante dado el mayor o menor
valor procesado. Al encontrar un valor que sea mayor o menor [segn se busque el mximo o el mnimo
respectivamente] ser guardado como el mayor o menor parcial o temporal.
Para determinar el mayor o menor valor de una lista de datos, debe tenerse en cuenta lo siguiente:
1. TENER LA LISTA DE DATOS. No olvide que la lista puede tener nmero de datos
conocido, o desconocido.
MATERIAL DE AP O Y O A CLASES PGINA 18 DE 46
U NI VER SI D AD D E C AR AB O BO . F AC U LT AD DE I NG ENI ER A. DEP AR T AM EN T O DE C OM P UT ACI N.
CTEDRA DE COM PUTACIN I SEGUNDO PERODO LECTIVO DE 2006.
2. A S I G N A R E L V A L O R I N I C I A L A L V A L O R D E R E F E R E N C I A / C O M P A R A C I O N :
CUANDO SE CONOCE EL RANGO DE LOS VALORES PROCESADOS:
Se puede utilizar la tcnica de dato falso valor de referencia fuera del rango, que se
refiere a dar como valor inicial de referencia un valor conveniente y fuera del rango de los
posibles valores.
CUANDO NO SE CONOCE EL RANGO DE LOS VALORES
PROCESADOS: La tcnica a seguir es la dar como valor inicial al valor de referencia
el primer dato ledo. Este mtodo depende, entonces, de conocer N o no, siendo N el
numero de datos a procesar. En el caso de conocer N se puede aprovechar el valor del
contador de datos para detectar el primer dato ledo. En caso se no conocer N se
requiere declarar una variable centinela bandera para detectar el primer dato.
3. DETERMINAR EL MAYOR/MENOR COMPARANDO LOS VALORES LEIDOS CON
E L V A L O R D E R E F E R E N C I A . Es importante destacar que un problema de mximos/mnimos
no se refiere solo a los valores comparados, puede referirse a determinar el primer mximo, ultimo
mximo, numero de veces que el mximo aparece en los datos, informacin asociada al valor
buscado, y muchas otras variantes.
I0 N
Repita
Mayor -11
cont 0
X
Repita
NO SI (1er dato)
I=0
X
NO S
X > Mayor I Mayor X
NO SI
Mayor X X > Mayor
Mayor X
II+1
cont cont + 1
Hasta que ( I = M )
Hasta que cont = N
Mayor
Mayor
F
F
SECUENCIAS Y SERIES
Para los estudiantes de programacin, es interesante la aplicacin de las tcnicas de resolucin de
ejercicios relacionados al clculo de los trminos de una serie o secuencia, por que en ellas se utilizan
todas las tcnicas elementales de programacin, tales como acumuladores, ciclos de diferentes tipos,
banderas y por supuesto expresiones de diferentes tipos.
S U C E S I N Y S E C U E N C I A : Una sucesin matemtica es una funcin definida sobre los
enteros naturales. Una secuencia es una concatenacin de smbolos obtenidos a partir de una
sucesin. Son semejantes a las sucesiones y se pueden derivar fcilmente de stas.
Por ejemplo, la definicin matemtica de la secuencia de Fibonacci es:
Los primeros 10 trminos de esta secuencia son: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . . As, si se
toma como base la secuencia de Fibonacci, es sencillo definir una nueva secuencia para el
alfabeto A = {0,1} segn el siguiente mtodo
que obtendra como resultado un 1 para el numero natural 1, ya que ste est en la secuencia de
Fibonacci; 1 para los nmeros naturales 2 y 3; pero 0 para el numero natural 4, ya que l no
pertenece a la secuencia de Fibonacci. Obtenindose, entonces, la siguiente secuencia de dgitos
binarios: 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 ...
Observe la relacin entre la secuencia de los dgitos binarios generada, la secuencia de Fibonacci: y
los nmeros naturales:
N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
S(n) 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0
Los ejercicios tpicos para estos casos corresponden a: [1] Determinar los primeros N trminos de
la secuencia, [2] Determinar los trminos de la secuencia menores que N, [3] Determinar los
trminos comprendidos en el rango abierto de N y M. El problema podra referirse a sumar los
trminos calculados, o determinar promedios/porcentajes, etc.
Para calcular, desde el segundo trmino en adelante, la secuencia de Fibonacci, se requiere
recordar los dos ltimos trminos calculados. El concepto de recordar valores obtenidos de
clculos anteriores, se conoce como un historial y es interesante desde el punto de vista de
programacin, porque requiere el uso de variables auxiliares, asignaciones o cambios de
valores adecuados.
S E R I E S : Una serie es la suma de los trminos de una sucesin. Se representa una serie con trminos
an como se muestra a continuacin:
En el desarrollo de programas para el clculo de series es muy importante hacer un anlisis previo,
detallado y preciso de [1] cmo el programa generara el trmino en s y [2] cmo se conforman los
trminos de la serie.
Para la generacin de los trminos, el programador puede disear el programa de tal manera que
se trabaje:
a. C O N E L T R M I N O C O M O U N T O D O , en cuyo caso la transicin de los elementos se
realiza sobre una sola variable. Esta variable se comporta como una productoria del
trmino anterior por la transicin para generar el nuevo termino. Esta tcnica no es
apropiada para aquellos casos en que el trmino de la serie conlleva una sumatoria.
b. C O N L O S E L E M E N T O S Q U E C O N F O R M A N E L T R M I N O , en este caso se descompone
el termino en elementos bsicos como sumatorias, productorias, signos alternos, clculos
previos o internos.
Entre los elementos de programacin ms usados en los programas de series, se encuentran:
CONTADORES: Se usan tpicamente para contar el numero de trminos a calcular, para
calcular pares/impares y definir paridad
SUMATORIAS: Variables que almacenan el valor de la serie, o de porciones de los trminos
PRODUCTORIAS: Variables apropiadas para el clculo de factoriales y potencias
BANDERAS: Variables necesarias para detectar cuando debe cambiarse el signo o invertir los
trminos, o para clculos especiales que requieran la determinacin de un evento
CALCULOS PREVIOS: Se refiere a los clculos necesarios para obtener el primer termino de la
serie a partir del cual se generaran los siguientes. Tal como el caso de un factorial decreciente
o potencias decrecientes
CALCULOS INTERNOS: Caso que se presenta cuando no es posible determinar el termino a
generare a partir del anterior. Como por ejemplo el caso de una potencia donde la base
cambia entre trminos.
FIGURAS GEOMTRICAS
Las Figuras Geomtricas son muy ilustrativas para utilizar las estructuras selectivas, con ellas se estimula el
aprendizaje del uso correcto de las expresiones relacionales y lgicas. En sntesis, este tipo de ejercicio se
basa en establecer las condiciones para que un punto se encuentre o no dentro de un rea marcada,
sombreada o sealada; para ello es conveniente:
1. Dividir la figura en elementos conocidos que al unirlos permitan formar la figura indicada. Por ejemplo:
2. Evaluar si el punto est dentro del rea, para ello debe considerar:
Si es una figura cerrada, se establecer la expresin que permita determinar si el punto est dentro,
fuera o en el borde del rea encerrada por la figura. Por ejemplo:
y
Ecuaciones que determinan la ubicacin del punto:
1. Sobre la circunferencia x2 + y2 = r 2
2
x
2. Dentro de la circunferencia x + y2 < r 2
2 2 2
3. Fuera de la circunferencia x + y > r
Si es una recta, se establecer la expresin que permita determinar si el punto se encuentra arriba,
abajo, a la derecha, a la izquierda o sobre la recta estudiada.
Recta
1. Dadas las tarifas de consumo elctrico: R, S, y T, donde los primeros 100 KWH se facturaran a R Bs/KWH
los siguiente KWH hasta 500 KWH a S Bs/KWH y lo que pase de 500 KWH a T Bs/KWH. Dado el consumo
de un suscriptor, elaborar el Diagrama de Flujo de un programa que determine el monto a pagar del
suscriptor.
QUE SE TIENE?
CONSUMO
No Si
X>0
A CONSUMO 500
COMO LOGRARLO? B 400
A 0 A 0 C 100
a.- lectura de valores B 0 B CONSUMO 100
b.- calcular y guardar en A, B y C la porcin del C CONSUMO C 100
consumo correspondiente a cada tarifa
c.- calcular monto a pagar segn tarifa
d.- imprimir: consumo y monto de factura
f.- fin del proceso.
BS C * 2.0 + B * 1.0 + A * 0.50
CONSUMO , BS
Fin
2. Dados N valores numricos, elaborar el Diagrama de Flujo de un programa que calcule el promedio
de los valores positivos.
QUE SE TIENE?
i
Promedio de los valores positivos ledos. Para ese
calculo se requiere la sumatoria de los valores
positivos ledos y el contador de valores positivos N
ledos
NP 0
S 0
COMO LOGRARLO?
a.- leer N
b.- asignar el valor cero a NP y a S Desde k 1, N ; +1
c.- ejecutar desde K=1 hasta N
c.1.- leer X X
c.2.- preguntar si X es > que 0
c.2.a.- SI: acumular x en S
contar en NP No Si
X>0
c.2.b.- NO: no realizar nada
c.3.- calcular: decrementar N en 1 S S+X
d.- preguntar si NP es igual a 0 NP NP+1
d.1.- SI: imprimir mensaje
d.2.- NO: calcular: P=S/NP e imprimir P
e.- fin del proceso.
Fin Desde
No Si
X>0
No se puede
P S / NP
calcular el Promedio
El Promedio es , P
Fin
3. En un restaurante muy frecuentado se lleva un registro de las ventas realizadas en un da, anotndose,
para cada cliente la siguiente informacin: Nmero de personas por grupo visitante, Monto de la
cuenta, Tipo de comida: Desayuno, Almuerzo o Cena.
Elabore el Diagrama de Flujo de un programa que determine:
a. Numero total de personas que visitan el c. Monto total de desayunos vendidos
local d. Promedio de personas que vienen
b. Porcentaje de personas que almuerzan juntas a cenar
QUE SE TIENE?
Nmero de Personas, monto de la cuenta y tipo de comida, por cada grupo
TABLA DE VARIABLES: COMENTARIO:
NP numero de personas por grupo visitante
Note que el tipo de comida TC es de tipo carcter
M monto de la cuenta [Bs] representando la letra A o a un Almuerzo, D o
TC tipo de comida d un Desayuno y C o c una cena
No se conoce cuantos datos a procesar por lo que
K centinela para detectar fin de datos se requiere un centinela para detectar el fin de
NT numero total de personas procesadas datos. Los posibles valores del centinela K: 0 hay
mas datos y <> 0 fin de datos
NA numero de personas que almuerzan
NC1 numero total de personas que cenaron DIAGRAMA DE FLUJO
NC2 numero de grupos visitantes a cenar SOLUCIN USANDO SELECCIN MLTIPLE
i
MD suma de montos de desayunos
NT 0 NA 0
PA porcentaje de almuerzos servidos NC1 0 NC2 0
MD 0 K 0
PC promedio de grupos a cenar
Mientras que K=0 Haga
QUE SE PIDE?
NP, M, TC, K
NT 0
NA 0
NC1 0
NC2 0
MD 0
K 0
NP, M, TC, K
NT NT + NP
(TC=A)
No Si
Or
(TC=a)
No (TC=D)
Si
Or
(TC=d) NA NA + NP
No (TC=C)
Si
Or MD MD + M
(TC=c)
NC1 NC1 + NP
NC2 NC2+1
Fin Mientras
PA NA / NT *100
Nmero de Personas:, NT
% de personas a Almorzar ,PA
Monto Total en desayunos ,MD
No Si
NC2 > 0
No se puede
PC NC1 / NC2
calcular el Promedio
El Promedio de
personas a cenar , P
Fin
4. Dado un conjunto de pares (X, Y) correspondientes a los puntos ubicados en el plano cartesiano,
elabore el Diagrama de Flujo de un programa que determine:
a. Cuantos puntos caen en el origen
b. Porcentaje de puntos que se encuentran en el primer cuadrante
c. Cuantos puntos caen en los ejes
QUE SE TIENE?
COMO LOGRARLO? No Si
Y=0
a.- inicializaciones No Si
Y= 0
b.- mientras hayan mas datos ejecutar (X>0)
No Si
and CE CE + 1
b.1.- leer coordenadas X, Y ( Y >0 ) C0 C0 + 1
b.2.- determinar ubicacin en plano y
contar donde corresponda C1 C1 + 1
CE CE + 1
b.3.- contar punto
c.- calcular porcentaje de puntos en
cuadrante I
d.- imprimir: C0, P1, CE
e.- fin del proceso. CP CP + 1
Fin Mientras
P1 C1/CP*100
Fin
5. Un cobrador de peaje tiene a su cargo un Terminal en el cual debe registrar los diferentes vehculos y
la hora en que han pasado por el peaje. Elabore el Diagrama de Flujo de un programa que determine
el tiempo mnimo expresado en segundos entre el paso de un vehiculo y otro, sin importar el tipo de
vehiculo.
CONSIDERACIONES:
QUE SE PIDE?
COMO LOGRARLO?
a.- inicializaciones
b.- Repita
b.1.- leer tipo de vehculos
b.2.- Si no es el fin del turno del cobrador
b.2.1.- Leer hora de paso del vehculo
b.2.2.- Si es el primer vehculo, Guardar el tiempo en segundos TAN
b.2.2.- Si es el segundo vehculo, Guardar tiempo en segundos,TAC, calcular la diferencia con el
primero y tomar ese tiempo como menor
b.2.3.- A partir del tercer vehculo, determinar la diferencia de tiempo entre vehculos y comparar con
el menor
b.2.4.- Asignar como tiempo anterior el actual para el siguiente clculo
Hasta que termine el turno del operador
c.- imprimir : MT
e.- fin del proceso.
6. Dada la siguiente figura geomtrica y un conjunto de M pares (X,Y) correspondientes a los puntos de
un plano. Elabore el Diagrama de Flujo de un programa que determine el Porcentaje de puntos
ubicados dentro del rea sombreada, incluyendo los bordes.
QUE SE TIENE?
x2 + y2 = 9
QUE SE PIDE?
COMO LOGRARLO?
Algoritmo:
1 Leer cantidad de pares coordenados a procesar
2 Inicializaciones
3 Procesar datos:
Desde k=1 hasta M haga
Leer informacin las coordenadas
Calcular IG de la comunidad
Determinar si el punto est en el rea sombreada; dentro de la
circunferencia de radio 3, x 2 + y 2 <= 9 y fuera de la circunferencia de
2 2
radio 2, x + y >= 4
Si es as incrementar contador c
Fin ciclo desde
4 Calcular Porcentaje
5 Imprimir Porcentaje
Tabla de Variables
Variable Tipo Descripcin Uso
M Entero Cantidad de Pares coordenados procesar Entrada
X Real Coordenada X (Abcisa) Entrada
Y Real Coordenada Y (Ordenada) Entrada
C Entero Contador de pares coordenados en el rea Interno
sombreada
PORC Entero Porcentaje de puntos en el rea sombreada Salida
DIAGRAMA DE FLUJO
Solucin 1 Solucin 2
i
i
M
M
C 0
C 0
Desde k=1, M; +1
Desde k=1, M; +1
X, Y
X, Y
( X2 + y2<=9 )
no si
AND
no si ( X2 + y2>=4 )
X2 + y2<=9
C C+1
no si
X2 + y2>=4
C C+1
Fin Desde
FIN
PORC C/M *100
PORC
FIN
7. Dados N y X, desarrollar el Diagrama de Flujo de un programa que calcule y escriba cada trmino de
la serie y la suma de los N primeros trminos.
X X + X2 X + X2 + X3 X + X2 + X3 + X4
S= + + + + ...
3! 5! 7! 9!
Anlisis del ejercicio 2 pto.
Estructura cclica apropiada 1 pto.
Anlisis del ejercicio: Algoritmo 2 ptos
QUE SE TIENE?
QUE SE PIDE?
CMO LOGRARLO?
0
S= X X + X2 X + X2 + X3 X + X2 + X3 + X4
3! 5! 7! 9!
CONTADOR DE TRMINOS
I 1 +1
2 +1
3 +1
4 Variable control
de ciclo
Hacer desde i 1 a N haga:
POTENCIA DE X
1
P *X X *X X2 *X X3 *X X4 P P*X
SUMATORIA DE POTENCIA DE X
0
A +X X + X2 X + X2 + X 3 X + X2 + X3 + X 4 X + X2 + X3 + X4 A A+P
FACTORIAL DE IMPARES
1
F *2*3 3! * 4 * 5 5! *6*7 7! *8*9 9! F F * (2*I)
* (2*I+1)
DIAGRAMA DE FLUJO
S0
P1
A0
F1
N, X
Desde I 1 a N , +1 hacer
PP*X
AA+P
F F * (2*I) * (2*I +1)
Termino A / F
S S + Termino
Termino
Fin de ciclo
Fin
8. Un municipio est dividido en comunidades, cada una de ellas fue evaluada por la Organizacin
Mundial de Desarrollo, obtenindose los ndices de: salud, agua potable, aguas servidas y educacin.
Los valores posibles de los ndices estn entre 1 y 5, siempre enteros. El 5 representa que deberan
invertirse recursos importantes en este ndice y 1 representa que no deben ser invertidos tantos recursos.
El ndice general para cada comunidad, ser el promedio de sus ndices.
Desarrolle el diagrama de flujo de un programa que calcule:
a. Cul es la comunidad con mayor necesidad, segn el ndice general.
b. Qu comunidades en su totalidad necesitan muchos recursos
( Nota: se entiende como muchos recursos cuando el ndice general es mayor a 4 ).
c. Cuntas comunidades tienen un nivel 5 en salud.
QUE SE TIENE?
QUE SE PIDE?
CMO LOGRARLO?
Algoritmo:
1.- Inicializaciones Tabla de Variables
2.- Procesar datos: Variable Tipo Descripcin Uso
Repita COM Cadena Nombre de comunidad Entrada
Leer informacin de una comunidad IS Entero ndice de salud Entrada
Calcular IG de la comunidad IAP Entero ndice de agua potable Entrada
Calcular CMIG segn IG: usar IAS Entero ndice de aguas servidas Entrada
bandera para detectar primer IE Entero ndice de educacin Entrada
comunidad procesada para asignar Cent Entero Centinela de ultimo dato Entrada
su IG como el mayor IG Real Indice general [IS+IAP+IAS+IE]/4 Interno
Determinar comunidades que CMIG Cadena Comunidad de MIG Salida
necesitan muchos recursos: MIG Real Mayor indice general Interno
condicin: IG > 4 PrimerDato Logico Centinela pa detectar el primer Interno
Contar comunidades con nivel 5 en dato leido.
salud True = no ha leido datos
Hasta cent = 1 False = ya leyo el primer dato
3.- Imprimir resultados: CN5S Entero Contador de comunidades con Salida
nivel de salud = 5
DIAGRAMA DE FLUJO
PrimerDato true
CN5S 0
Repita
NO SI
IG>4 ?
COM, IG
NO SI
IS=5 ?
CN5S CN5S + 1
NO SI
PrimerDato ?
NO SI
CMIG COM
IG>MIG ? MIG IG
PrimerDato false
CMIG COM
MIG IG
CMIG, MIG
CN5S
fin
EXPRESIONES
a.- 5y + z 5 * y+ z
b.- 5( y + z )
c.- 4z 2 2z + 7
d.- ( z + w) 2 ( z + w) 2
5
e.-
y+z
x
f.- ( z + w)
y
x
g.- z+w
y
x+b
h.-
yc
x + t ( z + w)
i.-
y 5
m
+p
n
j.-
r
+q
5
a.- B*B-4*A*C B 2 4 AC
b.- 3*X*X*X*X-5*X*X*X-X*12-17
c.- (B+D)/(C+4)
d.- (B+D)/C+4
e.- B+D/(C+4)
f.- B+D/C+4
3. INSTRUCCIONES: Verificar, para cada caso, si la expresin algortmica corresponde a la expresin algebraica. En
caso de no corresponder, cual seria la modificacin necesaria para que le corresponda
ab
a.- a*b/c Expresin correcta
c
a+b
b.- a*b/c
c
3x + 2 y
c.- 3*x+2*y/2*z
2z
y 2 y1
d.- (y2-y1)/(x2-x1)
x 2 x1
a*b/c
a.- a*b/c 1
2
b.- a*(b/c)
c.- 3*x+2*y/2*z
d.- 3*(x+2*y)/2*z
e.- 3*(x+2*y/2)*z
f.- a<3*x+2*y/2*z
g.- -3*(x+2*y)>1/2*z
5. INSTRUCCIONES: Dado un par ordenado (x, y) correspondiente a un punto ubicado en el plano cartesiano, escriba
la expresin lgica para determinar si el punto est ubicado en el rea sombreada de cada una de las siguientes
figuras. Suponga que los crculos son de radio r y los cuadrados son de lado 2L. Note que algunas de las figuras se
forman por composicin de otras ms sencillas.
Expresin
a.-
b.- x
c.-
x
d.- x
e.- x
f.- x
INSTRUCCIONES BSICAS
INSTRUCCIONES: Escribir el Algoritmo necesario para cada uno de los ejercicios que se presentan a
continuacin, para ello desarrolle el Anlisis del Problema, Diseo del Algoritmo y Verificacin del
Algoritmo.
ESTRUCTURAS DE SECUENCIALES
12. Dada la cantidad total de preguntas realizadas por un alumno y la cantidad de respuestas
correctas, determine el nivel obtenido por el alumno, de acuerdo a la siguiente escala: Muy Bueno si
el porcentaje es mayor o igual a 90 %; Bueno si el porcentaje se encuentra entre 70 % y 90 %;
Regular entre 50 % y 70 %; Malo si el porcentaje es menor que 50%.
LISTAS SIMPLES
25. Dada una lista de valores reales, obtener el promedio de los valores ledos.
26. Dado un conjunto de pares de valores A y B, determinar, para cada par, el mayor entre A y B. Al final
imprimir el nmero de veces que A es mayor que B y el nmero de veces que B es mayor que A.
27. Dado un conjunto de pares ordenados (x, y) correspondientes a un conjunto de puntos ubicados en
el plano cartesiano, determinar el porcentaje de puntos que caen en el origen, el porcentaje que
cae en los cuadrantes (I, II, III, IV) y el porcentaje que cae sobre los ejes.
28. Dado un conjunto de valores, determinar el mayor de ellos y el nmero de veces que se repite.
FIGURAS GEOMTRICAS
29. Dada la siguiente figura geomtrica y un conjunto de W pares (X, Y), correspondientes a los puntos
ubicados en el plano cartesiano, determinar e imprimir:
a. Porcentaje de puntos ubicados dentro de ambas figuras (Circunferencia y tringulo)
b. Cantidad de puntos ubicados dentro de la circunferencia pero fuera del tringulo.
y (1,2)
(X-1)2+(Y-1)2 = 1
1 ( 2,1)
x
30. Dada la siguiente figura geomtrica y un conjunto de S pares (X, Y) correspondientes a los puntos
ubicados en el plano cartesiano, determinar e imprimir:
a. Porcentaje de puntos dentro de la circunferencia y fuera del cuadrado.
b. Cantidad de puntos ubicados sobre el permetro de ambas figuras
y
2
31. Dada la siguiente figura geomtrica cuyo permetro esta compuesto de dos segmentos de
circunferencias simtricos y un conjunto de M pares (X,Y) correspondientes a los puntos ubicados en
el plano cartesiano, determinar e imprimir:
a. Porcentaje de puntos ubicados dentro de la figura
b. Cantidad de puntos ubicados en el permetro de la figura
(X-1)2 + (Y-1)2 = 1
EJERCICIOS VARIOS
32. Dados dos puntos en el plano cartesiano: (X1,Y1) y (X2,Y2), que definen una recta, y un conjunto de
valores de X, correspondientes a coordenadas x de puntos en el plano, elabore el diagrama de flujo
de un programa que determine la ordenada Y correspondiente a cada valor de abscisa x usando el
mtodo de interpolacin lineal, si se puede.
34. La capacidad de un depsito es de V litros. Mediante una vlvula se introducen Li litros por segundo
y mediante un desage se extraen Ls litros por segundo. Si el depsito tiene inicialmente Lo litros,
elabore el diagrama de flujo de un programa que imprima segundo a segundo el volumen de agua
almacenada e indique, al final, si se rebasa la capacidad de almacenamiento, si siempre es la
misma cantidad o si se vaca.
35. Un reloj se atrasa un minuto por cada cuarto de hora transcurrida. Elabore el diagrama de flujo de
un programa que determine la hora que marca el reloj, transcurridos D das, H roras y M minutos
desde el momento en que comenz a funcionar. Considere: DI horas y MI minutos como valor inicial
36. La parte entera de la raz cuadrada de un nmero puede calcularse como la cantidad de nmeros
impares sucesivos que hay que sumar sin sobrepasar el nmero. Por ejemplo:
20 = 4.47
la parte entera de la raz es 4 y adems los impares 1+3+5+7=16 son 4 impares que al sumarlos no
sobrepasan el nmero 20. Elabore el diagrama de flujo de un programa que dado un valor R,
determine la parte entera de la raz cuadrada por el mtodo descrito.
37. Un jeep puede viajar unos 500 Km con un tanque lleno de gasolina. Desde una posicin inicial,
conteniendo n tanques de gasolina, el mismo jeep puede viajar L Km, los cuales se determinan de
acuerdo a los siguiente:
1 1 1 1
L = 500 (1 + + + + ... ) Km
3 5 7 2n + 1
Estableciendo economa de combustible en una ruta. Elabore el diagrama de flujo de un programa
que dado el valor de n, determine el nmero de Kilmetros L que el jeep puede recorrer.
38. Un objeto se deja caer desde una altura H. Elabore el diagrama de flujo de un programa que
imprima para cada dcima de segundo: la distancia entre el objeto y el suelo; al final imprima el
tiempo necesario en dcimas de segundo para que el objeto toque el suelo. No tome en cuenta la
resistencia del aire, las frmulas de cada libre son:
g t2
v = g t y x=
2
39. Dado un conjunto de fechas representadas como: S, DD, MM, AA en donde:
S = Da de la Semana entre 1 y 7 ( 1= lunes, 2=martes 7=domingo)
DD = Da del mes
MM = Mes entre 1 y 12 (1=enero, 2=febrero, 12=diciembre)
AA = Ao
Elabore el diagrama de flujo de un programa que imprima la fecha en palabras. Por ejemplo: para
los datos 1 10 02 2006, debe imprimir Lunes 10 de Febrero de 2006
40. Un Ferry de transporte de vehculos, soporta una carga mxima de W toneladas y el canal de
almacenamiento tiene una longitud de L metros. El canal de almacenamiento es estrecho y permite
almacenar nicamente los vehculos alineados uno detrs del otro. Elabore el diagrama de flujo de
un programa que dados los datos de un conjunto de M vehculos, Placa, Peso en toneladas y
Longitud en metros, determine porcentaje de vehculos que podrn ingresar al Ferry y cual es el
vehculo ms largo dentro del Ferry. Considere que para ingresar al Ferry se respeta estrictamente la
cola.
41. Dadas las coordenadas del origen de un plano relativo al plano XY, y un conjunto de pares
ordenados (x, y) correspondientes a un conjunto de puntos ubicados en el plano cartesiano,
elaborar el diagrama de flujo de un programa que determine las coordenadas del punto en el
plano relativo e indique en qu cuadrante de ese plano est ubicado.
Observe el ejemplo: Y Y PLANO XY
Coordenadas Puntos:
P1: [ 6, 2 ]
P2: [-3, -2 ]
-8 O
X PLANO RELATIVO XY
P2
X Coordenadas y Cuadrante de Puntos en plano XY:
P1: [ 1, -2 ] Cuadrante IV
-2
P2: [-8, -6 ] Cuadrante III
43. Dados un conjunto de W valores numricos, desarrolle el Diagrama de Flujo de un programa que
verifique si estn en orden creciente desde el primer valor, en caso de no estar ordenados indique
cuantos valores estaban desordenados. Observe los siguientes ejemplos:
SERIES
44. El matemtico italiano Leonardo Fibonacci present la solucin al problema: Suponiendo que un
par de conejos tiene un par de cras cada mes y cada nueva pareja se hace frtil a la edad de un
mes. Si se dispone de una pareja frtil y ninguno de los conejos muere, cuntas parejas habr
despus de un ao? La serie numrica que se produce es la siguiente: 0 1 1 2 3 5 8 13 21 34, donde
0 representa ninguna pareja y el primer 1 es la primera pareja frtil. Cada nuevo trmino se calcula
como el penltimo ms el ltimo. Elabore para cada uno de los siguientes casos, el diagrama de
flujo de un programa que determine e imprima:
a) La Suma de los trminos de la serie menores a un valor M ledo.
b) La Suma de los N primeros trminos de la serie.
c) La Suma de los trminos de la serie mayores a un valor N y menores a un valor M
45. El valor de la constante PI, se puede obtener a travs de la serie de PI/2, elabore el diagrama de
flujo de un programa que para un valor N, entero positivo, determine a partir de los primeros N
trminos de la serie el valor de aproximado de PI .
2 2 4 4 6 6
= * * * * * *L
2 1 3 3 5 5 7
46. Elabore el diagrama de flujo de un programa que determine la suma de los nmeros impares
comprendidos entre X e Y.
47. Elabore el diagrama de flujo de un programa que determine la productoria de los nmeros impares
comprendidos entre M y N, siendo M < N.
48. Elabore el diagrama de flujo de un programa que determine el factorial de N, siendo N un valor
entero positivo o negativo.
49. Elabore el diagrama de flujo de un programa que determine XA por multiplicacin sucesiva de X,
siendo A un valor entero positivo o negativo.
50. Elabore el diagrama de flujo de un programa que determine la sumatoria de los N primeros trminos
de:
a. S = 1! + 2! + 3! + 4!+ + N!
b. S = 2! + 4! + 6! + 8! +
c. S = 1! + 3! + 5! + 7! +
d. S = N!+ (N 1)! + (N 2)! + (N 3)! +
e. S = X + X2 + X 3 + X 4 +
f. S = X 2 + X 4 + X 6 + X8 +
g. S = X + X3 + X5 + X7 +
h. S = X(N) + X(N-1) + X(N-2) + X(N-3) + X(N-4) +
52. Elabore el diagrama de flujo de un programa que determine la sumatoria de los N primeros trminos
de:
2 X 3X 2 4 X 3 5X 4 6 X 5
a. S= + + L
2! 3! 4! 5! 6!
X2 X4 X6 X8
b. S= + + L
2! 4! 6! 8!
(2) X ( 2 * 4) X 2 (2 * 4 * 6) X 3 ( 2 * 4 * 6 * 8) X 4 (2 * 4 * 6 * 8 * 12) X 5
c. S= + + L
1! 3! 5! 7! 9!
X *Y N X 2 * Y N 1 X 3 * Y N 2 X 4 * Y N 3
d. S = + + L
N N 1 N 2 N 3
X X4 X9 X 16 X 25
e. S = + + +L
1! 1 * 3 3! 1 * 3 * 5 5!
N ! X 1+ 3 ( N 1)! X 1+ 3 5 ( N 2 )! X 1+ 3 5 + 7 ( N 3)! X 1+ 3 5 + 7 9
f. S = + + + +L
N *Y ( N 2) * Y ( N 4) * Y ( N 6) * Y
N N 1 N 2 N 3
1!* X (1!+ 3! ) X (1!+ 3!+ 5 ! ) X (1!+ 3!+ 5 !+ 7 ! ) X
g. S = (3) +
2
(6)
3
(9 ) +
4
(12 ) L
Y * (2) Y * (2 * 4) Y (2 * 4 * 6) Y (2 * 4 * 6 * 8)
2 3 4 5
(1) X (1 + 3) * X (1 + 3 + 5) * X (1 + 3 + 5 + 7 ) * X (1 + 3 + 5 + 7 + 9 ) * X
h. S = + + L
2 ( 2 + 4 )! ( 2 + 4 + 6) ( 2 + 4 + 6 + 8)! ( 2 + 4 + 6 + 8 + 10 )
53. Dado el valor de N y X, [siendo: N par y X > N], elabore el diagrama de flujo de un programa que,
para los primeros N trminos, calcule el mayor promedio de cada par de trminos de la siguiente
serie:
1 ( X 1)! 3N ( X 3)! 5N ( X 5)! 7N ( X 7)!
S= N
+ N
+ N
+ + ...
X! 2 ( X 2)! 4 ( X 4)! 6 ( X 6)! 8N
1 ( X 1 )! 3N ( X 3 )! 5N ( X 5 )!
S = + +
X! 2N ( X 2 )! 4N ( X 4 )! 6N
54. Dados los valores de T y K, o X e Y, elabore el diagrama de flujo de un programa que genere e
imprima los primeros N trminos de las siguientes serie:
T 4T T4 (4-8)T T7 (4-8+12)T T10
S= - + - + - + - + ...
K! (K+2)! (K+4)! (K+6)! (K+8)! (K+10)! (K+12)!
X2 X2 X4 X2 X4 X6 X2 X4 X6 X8
+ 2 + 2 + 3 + + +
Y Y Y Y Y Y Y Y2 Y3 Y4 ...
S= - + - + -
1! 3! 5! 7!
X3 X3 X5 X3 X5 X7 X3 X5 X7 X9 X3 X5 X7 X9 X11
+ 4 + 4 + 7 + 4 + 7 + 10 + 4 + 7 + 10 + 13
S= - Y + Y Y - Y Y Y + Y Y Y Y - Y Y Y Y Y +
1!+3! 1!+3!-5! 1!+3!-5!+7! 1!+3!-5!+7!-9! 1!+3!-5!+7!-9!+11!
1 1 1 2 N 1 1 1 1 1 1 2 N 3
+ * y + + * y
X 3 * ( N 2 )!
X * N! 3 5 7 3 5 7 9 11
S = + + ...
1 1 2N X 2 * ( N 1)! 1 1 1 1 2 N 2 X 4 * ( N 3 )!
+ * y + + * y
3 5 3 5 7 9
2 4 6 8 10
55. La siguiente serie es evidentemente decreciente, S= + + + +
3! 5! 7! 9! 11!
Una forma de calcular la sumatoria de manera aproximada es sumar tantos trminos como sea
necesario generar, sin que el trmino generado sea menor que un valor conocido EPS. Elabore el
Diagrama de Flujo de un programa que dado un valor EPS, calcule la cantidad de trminos que se
tienen que generar, para determinar la sumatoria de manera aproximada de acuerdo a lo descrito
anteriormente.
56. Para X < Y, el Diagrama de Flujo A, determina la suma de los nmeros naturales entre X y Y, indique si
el Diagrama de Flujo B es equivalente al Diagrama de Flujo A, soporte con argumentos vlidos su
respuesta, de no ser equivalentes realice los cambios, modificaciones o adiciones, que considere
convenientes para hacer ambos algoritmos equivalentes.
X, Y X, Y
dX dX
q0 q0
qq+d dd+1
dd+1 qq+d
X, Y, q X, Y, q
F F
14. REFERENCIAS