Anda di halaman 1dari 46

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.

CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .















U
UN NI I D DA AD D I
I
:
: A
AN N L LI I S SI I S S D DE E P
PR RO OB BL LE EM MA AS S Y Y
D
DI I S SE E O O D DE E A
AL LG GO OR RI I T T M MO OS S


1 1 . . A AL L G GO OR R I I T T M MO OS S
2 2 . . T T I I P P O OS S D D E E D DA AT T O O
3 3 . . I I D D E E N N T T I I F F I I C CA AD D O OR R E E S S
4 4 . . V VA AR R I I A AB B L L E E S S / / C CO ON N S S T T A AN N T T E E S S
5 5 . . O OP P E E R R A AD D O OR R E E S S
6 6 . . C CO ON N S S T T R R U U C CC CI I N N Y Y E E V V A AL L U U A AC CI I N N D DE E E E X X P P R R E E S S I I O ON N E E S S
7 7 . . I I N NS S T T R R U U C CC CI I O ON N E E S S B B S S I I C CA AS S
8 8 . . A AB B S S T T R R A AC CC CI I N N D DE E D D A AT T O OS S
9 9 . . U US S O OS S D D E E V VA AR R I I A AB B L L E E S S
1 1 0 0 . . C CO ON N C CE E P P T T O OS S V VA AR R I I O OS S
1 1 1 1 . . T T C CN NI I C CA AS S D D E E P PR R O OG GR R A AM MA AC CI I N N
1 1 2 2 . . E E J J E E R R C CI I C CI I O OS S T T P P I I C CO OS S R RE E S S U U E E L L T T O OS S
1 1 3 3 . . E E J J E E R R C CI I C CI I O OS S P PR R O OP P U U E E S S T T O OS S
1 1 4 4 . . R RE E F F E E R R E E N NC CI I A AS S



UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 D D E E 4 4 6 6



1 . AL G O R I T M O S

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.

D E F I N I C I N
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.
F I N I T O : 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.

R O B U S T E Z D E U N A L G O R I T M O
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.

T I P O S D E A L G O R I T M O S

COMP U T AC I ON AL NO C OMP U T AC I ON AL
algoritmo que puede ser ejecutado por un
computador. Ejemplo: Calculo de n!
algoritmo que NO puede ser ejecutado por
un computador. Ejemplo: Receta de cocina

P A R T E S D E U N A L G O R I T M O
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?

R E P R E S E N T A C I N D E A L G O R I T M O S
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:

VE R S I N 1 VE R S I N 2 VE R S I N 3
Sumar dos valores ledos
e imprimir resultado.
Dados dos valores ledos, su-
marlos e imprimir resultado.
Imprimir el resultado de
sumar dos valores ledos.

VE R S I N 4 Distinguiendo
las acciones
VE R S I N 5 : Jerarquizando
acciones
VE R S I N 6 : Resaltando
acciones
1. leer dos valores
2. sumarlos
3. imprimir resultado
1. leer A, B
2. calcular C como A + B
3. imprimir C
1. leer A, B
2. calcular C como A + B
3. imprimir C
Problema Algoritmo Programa
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 D D E E 4 4 6 6


I inicio
A, B leer
C A + B calcular
C imprimir
F fin
P S E U D O C D I G O : Descripcin no grafica expresada
en lenguaje natural pero con forma de
programa; se requiere tener
conocimiento de algn lenguaje de
programacin



D I A G R A M A D E F L U J O : Representacin grfica de
un algoritmo. Ventaja: es INDEPENDIENTE
del lenguaje de programacin.












V E R I F I C A C I N
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:
C O R R I D A E N F R I O [ T R A Z A ] : P R U E B A E X H A U S T I V A : Llevar record de los valores de
las variables mientras se ejecuta instruccin por instruccin. Los datos deben considerar
valores en frontera del rango de los datos a usar. Por ejemplo para el Diagrama de Flujo
arriba:
CO R R I D A E N F R O 1 CO R R I D A E N F R O 2 CO R R I D A E N F R O 3
A B C A B C A B C
4 5 9 -4 5 1 0 -5 -5

P R E Y P O S T C O N D I C I O N E S : V E R I F I C A C I O N M A T E M A T I C A : Toda instruccin tiene
una precondicin y poscondicin. Precondicin se refiere a los valores de las variables y
estado del programa ANTES de ejecutar la instruccin. Poscondicin se refiere al valor
obtenido por la variable o estado del programa DESPUES de ejecutar la instruccin. En el
caso del algoritmo arriba: Para la instruccin: calcular A+B
PRECONDICION: Las variables A y B han sido ledas
POSCONDICION: La variable C es el resultado de A + B
P R O B L E M A S P R O P U E S T O S
1. Escriba el algoritmo para cambiar el caucho delantero de un automvil.
2. Escriba el algoritmo para expresar en centmetros y pulgadas una cantidad dada en metros.
VE R S I N 1
Inicio
leer A, B;
C = A + B;
imprimir C;
Fin.

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 D D E E 4 4 6 6



2 . T I P O S D E DA T O

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:
T I P O D E D A T O
E S T T I C O
Un tipo de DAT O E S T T I CO
se refiere a que no es
posible cambiar el tipo de
una variable durante la
ejecucin de un programa.
Por ejemplo si una variable
se declara numrica
entera, no es posible
convertirla a una variable
de tipo cadena de
caracteres, numrico real,
arreglo o cualquier otro
tipo durante la ejecucin
de un programa.
T I P O D E D A T O S I M P L E
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.
T I P O D E D A T O O R D I N A L :
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
T I P O S P R I N C I P A L E S P O S I B L E S V A L O R E S T A M A O
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:
TIPO POSIBLES VALORES TAMAO
Carcter [Un carcter] Definidos en tabla de caracteres ASCII 1 byte
Cadena de caracteres Combinacin de caracteres ASCII
Nro de Bytes = Nro de
caracteres
T I P O S D E D A T O
E S T A T I C O S D I N A M I C O S
O R D I N A L E S
numricos: enteros
alfanumrico: carcter
lgicos: boolean

definidos por usuario
subrango
enumerados
E S T R U C T U R A D O S S I M P L E S
N O O R D I N A L E S
numricos: reales
alfanumricos:
cadena de
caracteres
Apuntadores
Tipos de datos
abstractos
listas
enlazadas
rboles
grafos
archivos
arreglos
registros
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 5 5 D D E E 4 4 6 6


TIPO DE DATOS NUMRICO:
TIPO POSIBLES VALORES
DIGITOS
SIGNIFICATIVOS
TAMAO
Byte 0 .. 255 1
Shortint -128 .. 127 1
Integer -32768 .. 32767 2
Word 0 .. 65535 2
Longint -2147483648..2147483647 4
Real platform dependant ??? 4 o 8
Single 1.5E-45 .. 3.4E38 7-8 4
Double 5.0E-324 .. 1.7E308 15-16 8


3 . I D E N T I F I C A D O R E S

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 . V A R I A B L E S / CO N S T A N T E S

V A R I A B L E S :
Una variable es un espacio para guardar informacin la cual se
puede recuperar ms tarde. Las variables tienen tres
componentes: el N OM B R E de la variable; el V A L OR almacenado
y el T I P O permitido para ese valor. El N OMB R E de la variable
debe respetar las normas para formar identificadores. Toda
variable tiene la capacidad de cambiar su V AL OR durante la
ejecucin de un programa. Una variable debe declararse en
programas o algoritmos indicando su N OMB R E y el T I P O que
maneja.
C O N S T A N T E S :
Son valores que no cambian durante la ejecucin del programa. Por ejemplo:

Numrico Carcter Cadena de
Caracteres
Lgicas
4 -58 0.335 a B 4 + hola 45 verdadero falso
TIPO DE DATOS BOOLEANO:
TIPO POSIBLES VALORES VALOR
ORDINAL
PARA
VERDADERO
Boolean 0, 1
false, true
falso-verdadero
1

I DE N T I F I CADOR E S V AL I DOS I DE N T I F I CADOR E S I N V AL I DOS
Hola _hola Est_2 MayorProm 2_est a+b Mayor Prom

valor
Nombre de variable
tipo
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 6 6 D D E E 4 4 6 6



5 . OP E R A D O R E S

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
OP E R AN D OS y OP E R A D OR E S .
Las expresiones son combinaciones de constantes, variables, smbolos de operacin (operadores) y
parntesis. Por ejemplo:
Cada expresin toma un valor, que se determina tomando los valores de las variables y constantes
implicadas; y realizando la ejecucin de las operaciones indicadas.
Segn el tipo de datos que se generan, los operadores se clasifican en: AR I T M T I C OS , R E L AC I N AL E S ,
L GI C OS . El resultado de la expresin aritmtica es de tipo numrico; el resultado de la expresin
relacional y de la expresin lgica es de tipo lgico/boleano.
O P E R A N D O S
El tipo de operando determinar, que una expresin sea o no correcta, y pueda ser evaluada para
obtener un resultado. El tipo de dato determina la cantidad de celdas de memoria a utilizar, as como la
estructura de la informacin de cada celda y su interpretacin.
O P E R A D O R E S
Son elementos que relacionan de forma diferente, los valores de una o ms variables y/o constantes. Es
decir, los operadores nos permiten manipular valores.
Segn el nmero de operandos a los que se aplica un operador, estos pueden clasificarse como
U N AR I OS , que actan sobre un solo operando o B I N AR I OS , cuando lo hacen sobre dos. A continuacin
se presenta la Sintaxis de las operaciones unarias y binarias:







T I P O D E O P E R A D O R E S






O P E R A D O R E S A R I T M T I C O S
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.

c b a / ) 3 ( + +
(Operador)
Operando 1
(Constante o Variable)


Resultado

Operacin Unaria
Operando 1
(Constante o Variable)
(Operador)
Operando 2
(Constante o Variable)


Resultado

Operacin Binaria
Operadores
Aritmticos
Relacionales
Lgicos / Bolanos


UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 7 7 D D E E 4 4 6 6



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
Conviene observar lo siguiente:
1. Cuando los dos operandos sean del tipo E N T E R O, el resultado ser de tipo E N T E R O.
2. Cuando uno de los dos operandos, o ambos, sean del tipo R E AL , el resultado ser de tipo R E AL .
3. La operacin divisin (/) siempre presenta un resultado de tipo R E AL .
4. Los operandos en caso de DIV y MOD tienen que ser E N T E R OS .
En las operaciones aritmticas, debe asegurarse que el resultado de sumar, restar o multiplicar dos valores,
no produzca un resultado fuera de los rangos definidos, para los diferentes tipos.
O P E R A D O R E S R E L A C I O N A L E S
Una RELACIN consiste de dos operandos separados por un operador R E L AC I ON AL . Si la relacin es
satisfecha, el resultado tendr un valor boleano T R U E ; si la relacin no se satisface, el resultado tendr un
valor F AL S E . Los operandos deben ser del mismo tipo.
Tienen el mismo nivel de prioridad en su evaluacin y esta est por debajo de los operadores aritmticos.

Operadores de Relacin
Igual =
Diferente de <>
Mayor >
Mayor o igual >=
Menor <
Menor o Igual <=
O P E R A D O R E S L G I C O S
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


UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 8 8 D D E E 4 4 6 6



Operando-2
Operador:
AND
T F

T

T F

O
p
e
r
a
n
d
o
-
1

F

F F


Operando-2
Operador:
OR
T F

T

T T

O
p
e
r
a
n
d
o
-
1

F

T F


Operando-1
Operador:
NOT
T F


F T


Las definiciones de las operaciones Negacin, And y Or, se resume en las siguientes tablas, conocidas
como tablas de la verdad:














6 . CO N S T R U C C I N Y E V A L U A C I N D E E X P R E S I O N E S

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 AR QU A D E OP E R AD OR E S . La siguiente tabla muestra la
jerarqua de los operadores:




R E G L A S D E E V A L U A C I N P A R A L A S E X P R E S I O N E S
1. Las operaciones encerradas entre parntesis se evalan primero. Si existen parntesis anidados, las
expresiones ms internas se evalan primero.
2. Las operaciones dentro de una expresin siguen el orden de prioridad especificado.
3. En caso de coincidir varios operadores de igual prioridad en una expresin, el orden de evaluacin de
las operaciones es de izquierda a derecha.
4. Las expresiones enlazadas con un operador lgico AND, OR NOT, deben estar entre parntesis.
Prioridad Operadores
0 ( )
1 -Unitario, Not
2 * , / , AND, DIV, MOD
3 + , - , OR
4 = , <> , > , >= , < , <=
5
[asignacin]
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 9 9 D D E E 4 4 6 6


E J E M P L O S D E E V A L U A C I N D E E X P R E S I O N E S
LEYENDA: E representa un valor numrico entero [ 4 ]
R representa un valor numrico real [ 4.53 ]
B representa un valor lgico / boleano [ True, False ]
) 9 ( ) 0 . 3 * 2 / 2 * ( = > + Z or Z B A
































E E E E E R E E E
E R
R
B
B
B
B
Error al asignar por incompatibilidad de tipos

7
6
5
4
3
2
1
8

R
Ejemplo 1
4 + 2 * 5


Se evala primero

10

Se evala en segundo
lugar


14

Ejemplo 2
23 * 2 / 5


Se evala primero

46

Se evala en segundo
lugar


9.2

Ejemplo 5
Si a = 10 b = 20 c = 30
(a < b) AND (b < c)
(10 < 20) AND (20 < 30)

True True


True

Ejemplo 6
Si a = 10 b = 20 c = 30
a + b > c
10 + 20 > 30
30 > 30
False
Ejemplo 7
23 * 2 DIV 5
46 DIV 5
9
Ejemplo 4
3.5 + 5.09 - 14.0 / 4
3.5 + 5.09 - 3.5
8.59 - 3.5
5.09
Ejemplo 3
7 DIV 2 MOD 5
3 MOD 5
3
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 0 0 D D E E 4 4 6 6



7 . I N S T R U C C I O N E S B S I C A S


Lenguaje Algortmico
Estructuras Secuenciales
Pseudocdigo Diagrama de Flujo
ACCIN:
Lectura de informacin

DESCRIPCIN:
Interaccin entre el mundo exterior [usuario] y el programa
leer




ACCIN:
Presentar resultados

DESCRIPCIN:
Interaccin entre el programa y el mundo exterior [usuario]
imprimir


ACCIN:
Asignar valores

DESCRIPCIN:
Almacena valores constantes, resultados de la evaluacin
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.

Constante
VARIABLE expresin
valor almacenado en otra variable
asignar




seudos

Lenguaje Algortmico
Estructuras Selectivas
Pseudocdigo Diagrama de Flujo
ACCIN:
Seleccin simple

DESCRIPCIN:
Caso: Cuando solo existen dos elecciones posibles.
Determina cual de las dos acciones debe ejecutarse
dependiendo del resultado de la evaluacin de una
condicin. La condicin puede ser una expresin de
relacin o una expresin lgica.
Preguntar:
Si condicin es
verdadera:
entonces
ACCION 1
sino
ACCION 2

ACCIN:
Seleccin mltiple

DESCRIPCIN:
Caso: Cuando existen mas de dos elecciones posibles.
Determina accin a ejecutarse dependiendo del valor que
tome la variable.
E representa ELECCION
A representa ACCION
Segn sea
variable hacer:
E1 : ACCION 1
E2 : ACCION 2
: :
En : ACCION n
sino ACCION

a,b,c
a,b,c
A 58+2 58+2 58+2 58+2
NO SI
cond
Accin 2 Accin 1
variable
A1 A2 An A
...
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 1 1 D D E E 4 4 6 6


Lenguaje Algortmico
Estructuras Repetitivas
Pseudocdigo Diagrama de Flujo
ACCIN:
Iteracin tipo mientras mientras mientras mientras
DESCRIPCIN:
Mientras se cumple la condicin, se ejecuta la accin
NO se conoce el numero de veces que se ejecuta
Funcionamiento:
Se evala la condicin:
si el resultado es VERDADERO se ejecuta el cuerpo del
ciclo. Este proceso se repite mientras que la condicin
sea VERDADERA
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.
Observacin:
Cabe la posibilidad de que NO se cumpla la condicin la
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.










Mientras cond
hacer:
ACCION



ACCIN:
Iteracin tipo repita repita repita repita
DESCRIPCIN:
Repetir la accin hasta que se cumpla una condicin
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
si el resultado es FALSO se ejecuta el cuerpo del ciclo.
Este proceso se repite hasta que la condicin sea
VERDADERA
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.
Observacin:
Como verifica despus de ejecutar la accin toda
iteracin tipo repita se ejecuta al menos una vez, en caso
de que la condicin nunca se cumpla el proceso no se
detiene y se conoce como CICLO INFINITO.
Repita
ACCION
Hasta cond

Mientras cond
Fin Mientras
A
C
C
I
O
N

SI


NO
Cond Accin 1
Repetir
Hasta cond
A
C
C
I
O
N

NO


SI
Accin 1
Cond
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 2 2 D D E E 4 4 6 6


Lenguaje Algortmico
Estructuras Repetitivas
seudos cdigo Diagrama de Flujo
ACCIN:
Iteracin tipo desde desde desde 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
+1 o -1
SI se conoce el numero de veces que se ejecuta
Funcionamiento:
Ejecuta la accin un nmero especfico de veces y
AUTOMTICAMENTE controla el nmero de iteraciones. El
proceso automtico consta de:
Inicializar la variable de control en el valor inicial
Verificar la condicin: variable de control es <= que valor
final si el inc es +1 o si variable de control es >= que valor
final si el inc es 1.
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

Desde vc vi
hasta vf con
incremento inc
hacer:
ACCION



















vc vi, vf, inc
Fin del ciclo
A
C
C
I
O
N

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 3 3 D D E E 4 4 6 6



8 . AB S T R A C C I N D E DA T O S

L I S T A S S I M P L E S
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












A continuacin se presenta un esquema de cmo manipular una lista de este tipo:

Forma de Datos
Estructura del Programa: ciclo desde 1 a N hacer insts
N
Informacin de tem 1
Informacin de tem 2
Informacin de tem 3
:
:
:
Informacin de tem n




















Informacin de tem 1
Informacin de tem 2
Informacin de tem 3
:
:
:
Informacin de tem n
N
Datos
N
Informacin de tem 1
Informacin de tem 2
Informacin de tem 3
:
:
:
Informacin de tem n
Lista de datos a procesar por el programa
Figura 1 Figura 2
Fin del
ciclo
A
C
C
I
O
N

Lectura del tamao de la lista

Inicializaciones para el manejo de una
lista
Ciclo para controlar la lista, en general
de 1 a N

Lectura de un tem



Instrucciones propias de los datos de la
lista



Fin de ciclo


Totales de una lista
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 4 4 D D E E 4 4 6 6



Forma de Datos
Estructura del Programa; Ciclo mientras cond hacer insts
Similarmente cuando el ciclo es tipo repita insts hasta cond
N
Informacin de tem 1
Informacin de tem 2
Informacin de tem 3
:
:
:
Informacin de tem n



























NUMERO DE DATOS A PROCESAR DESCONOCIDO: 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 para controlar el ciclo se agrega una variable CENT que se
comporta como un centinela para detectar el fin de datos.













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.

Lectura del tamao de la lista
Inicializaciones para el manejo de una lista
Inicializacin de contador de datos ledos,
Ciclo mientras para controlar la lista,

Lectura de un tem

Incremento de contador



Instrucciones propias de los datos de la lista


Fin de ciclo
Totales de una lista
Fin del ciclo
A
C
C
I
O
N

Mientras cond
Informacin de tem
Informacin de tem
Informacin de tem
:
:
:
Informacin de tem
?
Datos
Informacin de tem CENT
Informacin de tem CENT
Informacin de tem CENT
:
:
:
Informacin de tem CENT
Lista de datos a procesar por el programa
Figura 1 Figura 2
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 5 5 D D E E 4 4 6 6


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

Informacin de tem CENT
Informacin de tem CENT
Informacin de tem CENT
:
:
:
Informacin de tem CENT

























Forma de Datos Estructura del Programa; Ciclo repita insts hasta cond

Informacin de tem CENT
Informacin de tem CENT
Informacin de tem CENT
:
:
:
Informacin de tem CENT



















Inicializaciones para el manejo de
una lista
Inicializacin de CENT
Ciclo mientras para controlar la lista
en funcion de CENT
Lectura de un tem y CENT


Instrucciones propias de los datos de
la lista

Fin de ciclo

Totales de una lista
Fin del ciclo
A
C
C
I
O
N

Mientras cond
Inicializaciones para el manejo de
una lista
Ciclo repita para controlar la lista
Lectura de un tem y CENT


Instrucciones propias de los datos
de la lista

Fin de ciclo, cond en funcin de
CENT
Totales de una lista
Hasta cond
A
C
C
I
O
N

Repita
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 6 6 D D E E 4 4 6 6



9 . U S O S D E V A R I A B L E S

A C U M U L A D O R E S
Variables que trabajan sobre si mismas [se modifican a si mismas] que almacenan resultados parciales de
un proceso [clculos sucesivos].
CAR AC T E R S T I C AS :
Estas variables se reconocen porque aparecen en ambos lados de una instruccin de asignacin.
Por ejemplo la asignacin: valor A A +

El nuevo valor de A ser el anterior valor de A mas valor

A A + valor
Donde valor puede ser una variable, constante o resultado de una expresin

Requieren un valor inicial.
T I P OS :
S U M AT OR I AS : Aquellas variables que trabajan sobre si mismas para sumar sucesivamente
: Por lo general tienen valor inicial CERO, aunque esto depende del problema. Ejemplo
de aplicacin: calculo de series numricas, calculo de promedios
Contadores: Caso particular de en el que el incremento es constante. Cuando el
objetivo es contar el nmero de veces que ocurre un evento, su incremento puede ser
+1 o 1, en cuyo caso cuenta ascendentemente o descendentemente,
respectivamente. Aplicacin: Variable de control de ciclos, Contar datos procesados
/datos que faltan por procesar por un programa
P R OD U CT OR I AS : Aquellas variables que trabajan sobre si mismas para multiplicar sucesivamente
: Por lo general tienen valor inicial diferente de CERO. Ejemplo de aplicacin: calculo de
series numricas, calculo de exponenciacin, calculo del factorial
C E N T I N E L A S | B A N D E R A S | F L A G S
Variables usadas para detectar eventos durante la ejecucin de
un programa. El programador tiene pleno control en variables de
este uso, es decir, asigna valores iniciales y cambia valor al
detectar evento. Un evento se detecta por una condicin
durante la ejecucin de un programa.
Si la variable detecta UN solo evento: El tipo apropiado para la
variable es: tipo lgico. El programador debe documentar esta
variable indicando que representan sus posibles valores. Por lo
general: false representa que NO ha ocurrido el evento y true que
ha ocurrido.
Si la variable detecta MAS de UN evento: El tipo lgico ya no es
apropiado. El programador debe documentar esta variable indicando que representan sus posibles
valores. Por lo general: se definen de tipo numrico entero y se toma el rango de posibles valores
True: Se ha procesado el
primer valor negativo
False: No se han
procesado valores
negativos
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 7 7 D D E E 4 4 6 6


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.





1 0 . CO N C E P T O S V A R I O S

I N T E R C A M B I O D E V A L O R E S D E D O S V A R I A B L E S C O M P A T I B L E S
Variables que trabajan sobre si mismas [se modifican
a si mismas] que almacenan resultados parciales de
un proceso [clculos sucesivos].









C I C L O I N F I N I T O



















Mientras i > 0
Fin mientras
i i + 1
i
i 1
I
F
Un ciclo infinito ocurre cuando NUNCA se detiene. Esto sucede en
estructuras repetitivas de tipo:
mientras cuando la condicin siempre se cumple y por lo tanto
no sale del ciclo,
repita cuando la condicin nunca se cumple y por lo tanto no
sale del ciclo

Por ejemplo:
En el segmento de Diagrama de flujo que se muestra en la figura se
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
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
forma que i sea igual o menor que 0. De todo lo anterior se concluye
entonces que el ciclo mostrado es un ciclo infinito.



Cuando se desea intercambiar los valores
almacenados en dos variables compatibles
[de un mismo tipo] se requiere usar una
variable auxiliar para almacenar
temporalmente uno de los valores. Esta
variable auxiliar debe ser del tipo de las
variables a intercambiar.
Aux

A B


1
2
3
aux A
A B
B aux

Aux

A B


1
2
3
aux B
B A
A aux

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 8 8 D D E E 4 4 6 6



1 1 . T C N I C A S D E P R O G R A MA C I N

S U M A S | R E S T A S S U C E S I V A S
Procesos para emular multiplicacin / divisin de enteros.
MU L T I P L I CACI N: Multiplicar N * M se logra sumando N veces el valor M o viceversa.
Por ejemplo: 4*6 = 6 + 6 + 6 + 6 pero tambin es 4*6 = 4 + 4 + 4 + 4 + 4 + 4
DI VI S I N: Dividir N/M se logra restando el valor M de N hasta que el valor resultante de la resta
sea menor o igual a M. As que el nmero de veces que se resta es el resultado entero de dividir
N/M, y el valor resultante de la resta representa el residuo de la divisin. No olvide que (0 <= residuo
< divisor). CASO PARTICULAR: Cuando el valor resultante de la resta es CERO, entonces el numero N
es mltiplo de M.
Por ejemplo: 14/3 = ( ( ( 14 - 3 ) - 3 ) - 3 ) - 3 ) Por lo tanto el resultado entero de la divisin
corresponde al resultado entero de dividir N/M. Para N = 14 y M = 3 el resultado entero de la divisin
es 4, ya que cuatro veces se resta el valor 3. El residuo de la divisin es, para este ejemplo, 2. Que
es lo que sobra despus de restar sucesivamente cuatro veces el valor 3.
E S T A D S T I C A S B S I C A S
P R OME DI O: 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.
P OR CE NT AJ E : 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.
M X I M O S Y M N I M O S
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 . T E NE R L A L I S T A DE DAT OS . No olvide que la lista puede tener nmero de datos
conocido, o desconocido.
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 1 1 9 9 D D E E 4 4 6 6


2. AS I GNAR E L V AL OR I NI CI AL AL V AL OR DE R E F E R E NCI A/ COMP AR ACI ON:
CU ANDO S E CONOCE E L R ANGO DE L OS V AL OR E S P R OCE S ADOS :
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.
CU ANDO NO S E CONOCE E L R ANGO DE L OS V AL OR E S
P R OCE S ADOS : 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 . DE T E R MI NAR E L MAY OR / ME NOR COMP AR ANDO L OS V AL OR E S L E I DOS CON
E L V AL OR DE R E F E R E NCI 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.
A continuacin se presentan algunos ejemplos de mximos y mnimos:































F
Repita
Mayor -11
cont 0
I
N
SI NO
X > Mayor
Mayor X
Hasta que cont = N
cont cont + 1
Mayor
X
M T ODO DE L DAT O F AL S O VAL OR
DE R E F E R E NCI A F U E R A DE L R ANGO
Ejemplo: Dado un grupo de N valores de X
[-10 < X < 10 ], elabore el Diagrama de
Flujo que determine el mayor valor de
los X ledos.

Repita
I 0
I
M
X
SI (1er dato) NO
I = 0
Mayor X
Hasta que ( I = M )
I I + 1
Mayor
F
S
I
NO
X > Mayor
Mayor X
M T ODO DE L CONT ADOR :
Ejemplo: Dado un grupo de M valores de X,
determine el mayor valor de X.

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 0 0 D D E E 4 4 6 6


S E C U E N C I A S Y S E R I E S
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 CE S I N Y S E CU E NCI 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:

+ =
=
=
) 1 ( ) 2 ( ) (
1 ) 2 (
0 ) 1 (
) (
n fib n fib n fib
fib
fib
n fib


Los primeros 10 trminos de esta secuencia son: 0 , 1, 1 , 2 , 3 , 5 , 8, 13 , 2 1, 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

0
1
) (n S


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.

Si n est en la sucesin de Fibonacci
En otro caso
Para n = 1
Para n = 2
n > 2
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 1 1 D D E E 4 4 6 6


S E R I E S : Una serie es la suma de los trminos de una sucesin. Se representa una serie con trminos
a
n
como se muestra a continuacin:


donde N es el ndice final de la serie.
A continuacin se presenta, como ejemplo, la serie para el calculo de: seno de X y e
X

...
! 13 ! 11 ! 9 ! 7 ! 5 ! 3
13 11 9 7 5 3
X X X X X X
X SinX + + + =
...
! 7 ! 6 ! 5 ! 4 ! 3 ! 2
1
7 6 5 4 3 2
X X X X X X
X e
X
+ + + + + + + =

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 ON E L T R MI N O C OMO U N T OD 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 ON L OS E L E ME N T OS QU E C ON F OR M AN E L T R MI 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.



UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 2 2 D D E E 4 4 6 6


F I G U R A S G E O M T R I C A S
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:








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.







Ecuaciones que determinan la ubicacin del punto:
1. Sobre la circunferencia
2 2 2
r y x = +
2. Dentro de la circunferencia
2 2 2
r y x < +
3. Fuera de la circunferencia
2 2 2
r y x > +
x
y
Recta
Ecuaciones que determinan la ubicacin del punto:
1. Sobre la recta x y =
2. Por encima de la recta a la izquierda x y <
3. Por debajo de la recta o a la derecha x y >
x
y
=
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 3 3 D D E E
4 4 6 6



1 2 . E J E R C I C I O S R E S U E L T O S

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.


































QU E S E T I E N E ?

Tarifas de consumo y consumo del suscriptor


T A B L A D E V A R I A B L E S : CO M E N T A R I O :

R, S, T tarifas por rangos de KWH

CONSUMO consumo de KWH de un suscriptor

Bs monto a facturar

A, B, C auxiliares para determinar consumo
correspondiente a cada tarifa




Note que la solucin del problema se ajusta a
cualquier tarifa ya que son valores ledos.
A, B, y C son variables que almacenan una parte
del consumo segn la distribucin de tarifas.
Este ejercicio solo procesa un suscriptor, que
modificaciones tendra que realizar para procesar
N suscriptores?
QU E S E P I D E ?
Monto a facturar para el suscriptor procesado





COM O L OGR AR L O?






a.- lectura de valores
b.- calcular y guardar en A, B y C la porcin del
consumo correspondiente a cada tarifa
c.- calcular monto a pagar segn tarifa
d.- imprimir: consumo y monto de factura
f.- fin del proceso.


i
CONSUMO
X > 0
CONSUMO , BS
Si No
Fin
X > 0
Si No
BS C * 2.0 + B * 1.0 + A * 0.50
A CONSUMO 500
B 400
C 100 A 0
B CONSUMO 100
C 100
A 0
B 0
C CONSUMO
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 4 4 D D E E 4 4 6 6




2. Dados N valores numricos, elaborar el Diagrama de Flujo de un programa que calcule el promedio
de los valores positivos.





































QU E S E T I E N E ?

Conjunto de N valores de a procesar X


T A B L A D E V A R I A B L E S : CO M E N T A R I O :

N numero de valores de X a procesar

X valor ledo a procesar

NP contador de valores positivos de X

S sumatoria de valores X positivos

P promedio = S/NP
Cabe destacar que la variable NP no siempre
coincide con el nmero de datos N ya que los
valores de X pueden ser negativos. Adems, debe
tomarse en cuenta que el valor de NP no sea igual
a cero ya que la divisin por cero causara una
indeterminacin.
QU E S E P I D E ? DI AGR AM A D E F L U J O
Promedio de los valores positivos ledos. Para ese
calculo se requiere la sumatoria de los valores
positivos ledos y el contador de valores positivos
ledos





COM O L OGR AR L O?






a.- leer N
b.- asignar el valor cero a NP y a S
c.- ejecutar desde K=1 hasta N
c.1.- leer X
c.2.- preguntar si X es > que 0
c.2.a.- SI: acumular x en S
contar en NP
c.2.b.- NO: no realizar nada
c.3.- calcular: decrementar N en 1
d.- preguntar si NP es igual a 0
d.1.- SI: imprimir mensaje
d.2.- NO: calcular: P=S/NP e imprimir P
e.- fin del proceso.






i
Desde k 1, N ; +1
N
Fin Desde
X
X > 0
P S / NP
El Promedio es , P
No se puede
calcular el Promedio
Si No
NP 0
S 0
S S + X
NP NP+1
X > 0
Si
No
Fin
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 5 5 D D E E 4 4 6 6




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
local
b. Porcentaje de personas que almuerzan
c. Monto total de desayunos vendidos
d. Promedio de personas que vienen
juntas a cenar
QU E S E P I D E ?
Numero total de personas que visitan el local
Porcentaje de personas que almuerzan
Monto total de desayunos vendidos
Promedio de personas que vienen juntas a cenar





COM O L OGR AR L O?






a.- inicializaciones
b.- mientras hayan mas datos ejecutar
b.1.- leer un grupo: NP, M, TC
b.2.- segn tipo de comida calcular:
b.2.a.- D o d: suma monto
b.2.b.- A o a: contar total personas
b.2.c.- C o c: contar total personas y
contar total grupos
c.- calcular porcentaje personas que almuerzan PA
d.- imprimir: NT, PA, MD
e.- preguntar: numero de grupos a cenar = a cero?
e.1.- SI: imprimir mensaje
e.2.- NO: calcular e imprimir PC
f.- fin del proceso.


i
Fin Mientras
NP, M, TC, K
PC NC1 / NC2
El Promedio de
personas que cenan , P
No se puede
calcular el Promedio
D, d
NC1 NC1 + NP
NC2 NC2+1
NC2 > 0
Si
No
Fin
NT 0 NA 0
NC1 0 NC2 0
MD 0 K 0
Mientras que K=0 Haga
NT NT + NP
TC
MD MD + M NA NA + NP
A , a
C, c
PA NA / NT *100
Nmero de Personas:, NT
% de personas que almuerzan ,PA
Monto Total en desayunos ,MD
QU E S E T I E N E ?
Nmero de Personas, monto de la cuenta y tipo de comida, por cada grupo

T A B L A D E V A R I A B L E S : CO M E N T A R I O :

NP numero de personas por grupo visitante

M monto de la cuenta [Bs]

TC tipo de comida

K centinela para detectar fin de datos

NT numero total de personas procesadas

NA numero de personas que almuerzan
Note que el tipo de comida TC es de tipo carcter
representando la letra A o a un Almuerzo, D o
d un Desayuno y C o c una cena
No se conoce cuantos datos a procesar por lo que
se requiere un centinela para detectar el fin de
datos. Los posibles valores del centinela K: 0 hay
mas datos y <> 0 fin de datos

NC1 numero total de personas que cenaron
DI AGR AM A D E F L U J O

NC2 numero de grupos visitantes a cenar S O L U C I N U S A N D O S E L E C C I N M L T I P L E

MD suma de montos de desayunos

PA porcentaje de almuerzos servidos

PC promedio de grupos a cenar




UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 6 6 D D E E 4 4 6 6



S O L U C I N U S A N D O D E C I S I N , S E L E C C I N S I M P L E
i
Fin Mientras
NP, M, TC, K
PC NC1 / NC2
El Promedio de
personas a cenar , P
No se puede
calcular el Promedio
NC1 NC1 + NP
NC2 NC2+1
NC2 > 0
Si
No
Fin
NT 0
NA 0
NC1 0
NC2 0
MD 0
K 0
Mientras que K=0 Haga
NT NT + NP
NA NA + NP
PA NA / NT *100
Nmero de Personas:, NT
% de personas a Almorzar ,PA
Monto Total en desayunos ,MD
(TC=A)
Or
(TC=a)
(TC=D)
Or
(TC=d)
MD MD + M
(TC=C)
Or
(TC=c)
Si No
Si
No
Si
No
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 7 7 D D E E 4 4 6 6



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




































QU E S E T I E N E ?

Un conjunto de coordenadas x,y


T A B L A D E V A R I A B L E S : CO M E N T A R I O :

X, Y coordenadas del punto

CP Contador de puntos analizados

C0 Contador de puntos en el origen

C1 Contador de puntos en cuadrante I

CE Contador de puntos en los ejes
Note las preguntas anidadas para determinar la
ubicacin del punto en el plano cartesiano
No se conoce cuantos datos a procesar por lo que
se requiere un centinela para detectar el fin de
datos. Los posibles valores del centinela K: 0 hay
mas datos y <> 0 fin de datos

P1 Porcentaje de puntos en cuadrante I
DI AGR AM A D E F L U J O

K centinela para detectar fin de datos










QU E S E P I D E ?
Cantidad de puntos en origen
Porcentaje de puntos en cuadrante I
Cantidad de puntos en eje


COM O L OGR AR L O?






a.- inicializaciones
b.- mientras hayan mas datos ejecutar
b.1.- leer coordenadas X, Y
b.2.- determinar ubicacin en plano y
contar donde corresponda
b.3.- contar punto
c.- calcular porcentaje de puntos en
cuadrante I
d.- imprimir: C0, P1, CE
e.- fin del proceso.


i
X , Y , K
X = 0
Si No
Fin
Si
Y = 0
Y= 0
Si No
C0 C0 + 1
CE CE + 1
( X > 0 )
and
( Y >0 )
No
CE CE + 1
C1 C1 + 1
Si
No
Mientras que K=0 Haga
Fin Mientras
P1 C1/CP*100
Cantidad de pares coordenados en el origen: ,C0,
Porcentaje de pares coordenados en el primer cuadrante: , P1 , % ,
Cantidad de pares coordenados sobre los ejes: , CE
CP 0 C0 0
C1 0 CE 0
K 0
CP CP + 1
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 8 8 D D E E 4 4 6 6


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.
C ONS I DE R ACI ONE S :
La hora viene expresada en formato militar: HH MM SS
El tipo de vehculo representa: 1=Particular; 2= Autobs; 3=Pesado; 0= Fin del turno del cobrador

AN L I S I S D E L E J E R CI CI O:


























QU E S E T I E N E ?

Tipo de vehculo y hora de paso por el peaje


T A B L A D E V A R I A B L E S : CO M E N T A R I O :

T I P O T I P O D E VE H C U L O

HH Hora de paso del vehculo

MM Minutos de Paso del Vehculo

SS Segundos de Paso del Vehculo

B Bandera para detectar si el vehiculo es el
primero, el segundo u otro
Note las preguntas anidadas para determinar la
ubicacin del punto en el plano cartesiano
No se conoce cuantos datos a procesar por lo
depende de los datos suministrados por el cobrador
el fin del proceso.



MT Menor tiempo entre vehculos en
segundos











QU E S E P I D E ?
Tiempo mnimo entre vehculos consecutivos, expresado en segundos


COM O L OGR AR L O?






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.


UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 2 2 9 9 D D E E 4 4 6 6



UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 0 0 D D E E 4 4 6 6


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.

AN L I S I S D E L E J E R CI CI O:










QU E S E P I D E ?

Porcentaje de puntos dentro del rea sombreda (PORC)

COM O L OGR AR L O?













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
sombreada
Interno
PORC Entero Porcentaje de puntos en el rea sombreada Salida
M
X Y
X Y
X Y
: :
: :
X Y
M
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, 9
2 2
<= + y x y fuera de la circunferencia de
radio 2, 4
2 2
>= + y x
Si es as incrementar contador c
Fin ciclo desde
4 Calcular Porcentaje
5 Imprimir Porcentaje

4
2 2
= + y x
9
2 2
= + y x
QU E S E T I E N E ?

Tarifas de consumo y consumo del suscriptor




UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 1 1 D D E E 4 4 6 6



DI AGR AM A D E F L U J O


Solucin 1 Solucin 2



i
M
C 0
Fin Desde
Desde k=1, M; +1
X , Y
X
2
+ y
2
<=9
X
2
+ y
2
>=4
C C + 1
PORC C/M *100
PORC
FIN
si
si no
no




i
M
C 0
Fin Desde
Desde k=1, M; +1
X , Y
( X
2
+ y
2
<=9 )
AND
( X
2
+ y
2
>=4 )
C C + 1
PORC C/M *100
PORC
FIN
si no
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 2 2 D D E E 4 4 6 6


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.

...
! 9 ! 7 ! 5 ! 3
4 3 2 3 2 2
+
+ + +
+
+ +
+
+
+ =
X X X X X X X X X X
S

Anlisis del ejercicio:


QU E S E T I E N E ?

Valores N y X leidos. Se asume que N > 0

QU E S E P I D E ?


Imprimir los primeros N trminos y sumarlos, al final imprimir la suma


CM O L OGR AR L O?

0
S = X X + X
2
X + X
2
+ X
3
X + X
2
+ X
3
+ X
4
3! 5! 7! 9!

CONTADOR DE TRMINOS
I 1 2 3 4 Variable control
de ciclo
Hacer desde i 1 a N haga:

POTENCIA DE X
1
P X X
2
X
3
X
4
P P * X


SUMATORIA DE POTENCIA DE X
0
A X X + X
2
X + X
2
+ X
3
X + X
2
+ X
3
+ X
4
A A + P


FACTORIAL DE IMPARES
1
F 3! 5! 7! 9! F F * (2*I)
* (2*I+1)




Anlisis del ejercicio 2 pto.
Estructura cclica apropiada 1 pto.
Algoritmo 2 ptos
+1 +1 +1





* X * X * X * X



+X + X
2
+ X
3
+ X
4



* 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 3 3 D D E E 4 4 6 6


DI AGR AM A D E F L U J O

































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.

Anlisis del ejercicio 3 pto.
Estructura cclica apropiada 1 pto.
Lectura apropiada 1 pto.
Tabla de variables 1 pto.
Clculo de las preguntas a, b y c 1 pto c/u

S 0
P 1
A 0
F 1
I
Desde I 1 a N , +1 hacer
P P * X
A A + P
F F * (2*I) * (2*I +1)
Termino A / F
S S + Termino
N, X
Termino
Fin de ciclo
S
Fin
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 4 4 D D E E 4 4 6 6


Analisis del ejercicio:

QU E S E T I E N E ?

Representacin de los datos:













QU E S E P I D E ?

a. Cul es la comunidad con mayor necesidad, segn el ndice general: CMIG
b. Qu comunidades en su totalidad necesitan muchos recursos: COM ledo cuando IG > 4
c. Cuntas comunidades tienen un nivel 5 en salud: CN5S



CM O L OGR AR L O?


Tabla de Variables
Variable Tipo Descripcin Uso
COM Cadena Nombre de comunidad Entrada
IS Entero ndice de salud Entrada
IAP Entero ndice de agua potable Entrada
IAS Entero ndice de aguas servidas Entrada
IE Entero ndice de educacin Entrada
Cent Entero Centinela de ultimo dato Entrada
IG Real Indice general [IS+IAP+IAS+IE]/4 Interno
CMIG Cadena Comunidad de MIG Salida
MIG Real Mayor indice general Interno
PrimerDato Logico Centinela pa detectar el primer
dato leido.
True = no ha leido datos
False = ya leyo el primer dato
Interno
CN5S Entero Contador de comunidades con
nivel de salud = 5
Salida





COM IS IAP IAS IE 0
COM IS IAP IAS IE 0
COM IS IAP IAS IE 0
: : : : : :
: : : : : :
COM IS IAP IAS IE 0
COM IS IAP IAS IE 1

?
Centinela de ltimo dato:
0 Hay ms datos
1 Fin de datos
Algoritmo:
1.- Inicializaciones
2.- Procesar datos:
Repita
Leer informacin de una comunidad
Calcular IG de la comunidad
Calcular CMIG segn IG: usar
bandera para detectar primer
comunidad procesada para asignar
su IG como el mayor
Determinar comunidades que
necesitan muchos recursos:
condicin: IG > 4
Contar comunidades con nivel 5 en
salud
Hasta cent = 1
3.- Imprimir resultados:

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 5 5 D D E E 4 4 6 6


DI AGR AM A D E F L U J O



















































PrimerDato true
CN5S 0
I
COM, IS, IAP, IAS, IE, Cent
Repita
IG ( IS + IAP + IAS + IE )/4
IG>4 ?
COM, IG
NO SI
IS=5 ?
NO SI
CN5S CN5S + 1
NO SI
PrimerDato ?
NO SI
CMIG, MIG
Hasta que cent = 1
IG>MIG ?
CMIG COM
MIG IG
PrimerDato false

CMIG COM
MIG IG

CN5S
fin
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 6 6 D D E E 4 4 6 6



1 3 . E J E R C I C I O S P R O P U E S T O S

E X P R E S I O N E S
1. INSTRUCCIONES: Escribir las siguientes expresiones algebraicas como expresiones algortmicas
Expresin Algebraica Expresin Algortmica
a.-
z y + 5
5*y+z
b.-
) ( 5 z y +


c.- 7 2 4
2
+ z z
d.-
2 2
) ( ) ( w z w z + +

e.-
z y +
5



f.-
) ( w z
y
x
+



g.-
y
x
w z +


h.-
c y
b x

+



i.-
5
) ( w z
y
t x +

+



j.-
q
r
p
n
m
+
+
5






2. INSTRUCCIONES: Escribir las siguientes expresiones algortmicas como expresiones algebraicas
Expresin Algortmica Expresin Algebraica
a.- B*B-4*A*C
AC B 4
2

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

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 7 7 D D E E 4 4 6 6


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
Expresin Algortmica y Algebraica Expresin Algebraica
a.- a*b/c
c
ab


Expresin correcta

b.- a*b/c
c
b a +



c.- 3*x+2*y/2*z
z
y x
2
2 3 +



d.- (y2-y1)/(x2-x1)
1 2
1 2
x x
y y





4. INSTRUCCIONES: Dada la expresin algortmica, indicar el orden de evaluacin
Expresin Algortmica Orden de Evaluacin
a.- a*b/c
a * b / c


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

h.- 100 DIV 5 DIV 3 DIV 2

i.- 1485658 DIV 1000 DIV 10 MOD 10


1
2
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 8 8 D D E E 4 4 6 6


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.-







c.-







d.-








e.-
x
y


f.-
x
y




y




x
y




x
y




x
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 3 3 9 9 D D E E 4 4 6 6


I N S T R U C C I O N E S B S I C A S
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.
E S T R U C T U R A S D E S E C U E N C I A L E S
6. Dado el radio de una esfera calcular el volumen.
E S T R U C T U R A S D E D E C I S I N S I M P L E
7. Dado un nmero entero indicar si: es mayor, menor o igual a cero.
8. Dados tres nmeros determinar el mayor.
9. Dadas cuatro notas obtenidas por un alumno, calcular su promedio e indicar si est aprobado o no.
La condicin de aprobacin es obtener un promedio mayor o igual que 10.
10. Dados tres nmeros, imprimirlos en orden creciente.
11. Dados cinco nmeros, imprimirlos en orden decreciente.
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%.
E S T R U C T U R A S D E D E C I S I N M L T I P L E
13. Dado un mes imprimir la cantidad de das de dicho mes.
14. Dado un nmero que representa el da de la semana, imprimir el nombre del da correspondiente.
15. Dado un nmero que representa un mes, imprimir el nombre del mes correspondiente. Considere
que puede haber error en el nmero dado.
16. Dada una fecha ao, mes y da, determinar si corresponde a una fecha correcta o no.
E S T R U C T U R A S D E I T E R A T I V A S : M I E N T R A S O R E P I T A
17. Dada una serie de nmeros determinar si se encuentran ordenados.
18. Dados dos nmeros enteros K y M, determinar, aplicando restas sucesivas si K es mltiplo de M.
19. Dado un nmero entero determinar si: es primo.
20. Calcular e imprimir los cubos de los 10 primeros nmeros naturales impares y la suma de los mismos.
21. Dado un conjunto de pares ordenados (x, y) correspondientes a un conjunto de puntos ubicados en
el plano cartesiano, determinar para cada punto: si pertenece, es exterior o interior al rectngulo
de coordenadas:
3 x 5, 2 y 3.
22. Dados a y n, determinar los primeros n mltiplos de a. Realizar 3 versiones, una con el ciclo
mientras, otra con el ciclo repetir y otra con el ciclo para ... desde.
23. Dados a y b enteros, calcular el producto de ambos por el mtodo de sumas sucesivas.
24. Dados a y n enteros, calcular la potencia ensima de a.
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 0 0 D D E E 4 4 6 6


L I S T A S S I M P L E S
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.

F I G U R A S G E O M T R I C A S

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.









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









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







y (1,2)

1 ( 2,1)


x
(X-1)
2
+(Y-1)
2
= 1

y
2

1

x





1


(X-1)
2
+ (Y-1)
2
= 1
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 1 1 D D E E 4 4 6 6


E J E R C I C I O S V A R I O S
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.
33. Un caracol cae en un pozo de H metros de profundidad. Durante el da asciende Ld metros y
durante la noche resbala Ln metros. Elabore el diagrama de flujo de un programa que, simulando el
movimiento del caracol, calcule el nmero de das que necesita para salir del pozo.
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:

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:
Km
n
L )
1 2
1
...
7
1
5
1
3
1
1 ( 500
+
+ + + + =
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:
t g v = y
2
2
t g
x

=
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
47 . 4 20 =
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 2 2 D D E E 4 4 6 6


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:










42. El Departamento de Seguridad Pblica y de Trnsito asigna una
calcomana de color a cada vehiculo de una ciudad dependiendo del
ultimo digito de la placa, segn se muestra en la tabla a la derecha.
Dadas las placas de N vehculos que ingresan en la ciudad, elaborar el
diagrama de flujo de un programa que determine, cuantos vehculos
por color de calcomana ingresaron en la ciudad.
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:
Dgito Color
1 2 Amarilla
3 4 Rosa
5 6 Roja
7 8 Verde
9 0 Azul
PLANO XY
Coordenadas Puntos:
P1: [ 6, 2 ]
P2: [-3, -2 ]

PLANO RELATIVO XY
Coordenadas Origen en plano XY: [ 5, 4 ]
Coordenadas Origen en plano XY: [ 0, 0 ]

Coordenadas y Cuadrante de Puntos en plano XY:
P1: [ 1, -2 ] Cuadrante IV
P2: [-8, -6 ] Cuadrante III


O


O
Y Y
X



X
P1
P2
-3 6
-8
2



-2
-
2



Ejemplo 1
Hay 2 valores desordenados
W = 6
5
8
10
12
11
14

Hasta aqu
estn
ordenados
Ejemplo 2
Hay 3 valores desordenados
W = 5
5
9
8
12
11

Hasta aqu
estn
ordenados
Ejemplo 3
Hay 5 valores desordenados
W = 5
5
4
8
12
11

Todos estn
desordenados
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 3 3 D D E E 4 4 6 6


S E R I E S
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 .
L *
7
6
*
5
6
*
5
4
*
3
4
*
3
2
*
1
2
2
=


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 X
A
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:







51. Dada la siguiente serie:
L + + + =
! 5
5
! 3
3
X X
X S
Elabore el diagrama de flujo de un programa que calcule el valor de S para un valor x ledo.
Detenga el clculo de la serie cuando el ltimo trmino sumado sea menor que un valor EPS,
tambin ledo como dato. El proceso no debe llevar ms de 100 iteraciones.
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 + X
2
+ X
3
+ X
4
+
f. S = X
2
+ X
4
+ X
6
+ X
8
+
g. S = X + X
3
+ X
5
+ X
7
+
h. S = X(N) + X(N-1) + X(N-2) + X(N-3) + X(N-4) +

UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 4 4 D D E E 4 4 6 6


52. Elabore el diagrama de flujo de un programa que determine la sumatoria de los N primeros trminos
de:

a. S
X X X X X
= + +
2
2
3
3!
4
4
5
5!
6
6
2 3 4 5
! ! !
L
b. L + + =
! 8 ! 6 ! 4 ! 2
8 6 4 2
X X X X
S
c. L
! 9
) 12 * 8 * 6 * 4 * 2 (
! 7
) 8 * 6 * 4 * 2 (
! 5
) 6 * 4 * 2 (
! 3
) 4 * 2 (
! 1
) 2 (
5 4 3 2
X X X X X
S + + =
d. L

+ =

3
*
2
*
1
* *
3 4 2 3 1 2
N
Y X
N
Y X
N
Y X
N
Y X
S
N N N N

e. L + + + =
! 5 5 * 3 * 1 ! 3 3 * 1 ! 1
25 16 9 4
X X X X X
S
f. L +

+ =
+ + + + + +
Y N
X N
Y N
X N
Y N
X N
Y N
X N
S
* ) 6 (
)! 3 (
* ) 4 (
)! 2 (
* ) 2 (
)! 1 (
*
!
9 7 5 3 1 7 5 3 1 5 3 1 3 1

g. L

+ + +
+

+ +

+
+ = ) 12 (
) 8 * 6 * 4 * 2 (
4
3
) ! 7 ! 5 ! 3 ! 1 (
) 9 (
) 6 * 4 * 2 (
3
2
) ! 5 ! 3 ! 1 (
) 6 (
) 4 * 2 ( *
2
1
) ! 3 ! 1 (
) 3 (
) 2 ( *
!* 1
Y
N
X
Y
N
X
Y
N
X
Y
N
X
S

h. L
+ + + +
+ + + +
+
+ + +
+ + +

+ +
+ +
+
+
+
=
) 10 8 6 4 2 (
5
* ) 9 7 5 3 1 (
)! 8 6 4 2 (
4
* ) 7 5 3 1 (
) 6 4 2 (
3
* ) 5 3 1 (
)! 4 2 (
2
* ) 3 1 (
2
) 1 ( X X X X X
S
i. L + + + + + + + = ! 5
! 8
11 * 9 * 7 * 5 * 3
! 4
! 6
9 * 7 * 5 * 3
! 3
! 4
7 * 5 * 3
! 2
! 2
5 * 3
! 1 S
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:
...
8
)! 7 (
)! 6 (
7
6
)! 5 (
)! 4 (
5
4
)! 3 (
)! 2 (
3
2
)! 1 (
!
1
+

=
N
N
N
N
N
N
N
X
X
X
X
X
X
X
X
S

Por ejemplo si N es 6 se calculan los siguientes tres promedios:
N
N
N
N
N
X
X
X
X
X
X
S
6
)! 5 (
)! 4 (
5
4
)! 3 (
)! 2 (
3
2
)! 1 (
!
1

=


Promedio 1 Promedio 2 Promedio 3


UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 5 5 D D E E 4 4 6 6


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:
















55. La siguiente serie es evidentemente decreciente,
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.
























T 4T T
4
(4-8)T T
7
(4-8+12)T T
10

S= -
K!
+
(K+2)!
-
(K+4)!
+
(K+6)!
-
(K+8)!
+
(K+10)!
-
(K+12)!
+
...
X
2
X
2
X
4
X
2
X
4
X
6
X
2
X
4
X
6
X
8

Y Y
+
Y
2
Y
+
Y
2

+
Y
3
Y
+
Y
2

+
Y
3

+
Y
4

S= -
1!
+
3!
-
5!
+
7!
-
...

X
3
X
3
X
5
X
3
X
5
X
7
X
3
X
5
X
7
X
9
X
3
X
5
X
7
X
9
X
11

Y Y
+
Y
4
Y
+
Y
4

+
Y
7
Y
+
Y
4

+
Y
7

+
Y
10


Y
+
Y
4

+
Y
7

+
Y
10

+
Y
13

S= -
1!+3!
+
1!+3!-5!
-
1!+3!-5!+7!
+
1!+3!-5!+7!-9!
-
1!+3!-5!+7!-9!+11!
+


...
)! 3 ( *
*
11
1
9
1
7
1
5
1
3
1
*
9
1
7
1
5
1
3
1
)! 2 ( *
)! 1 ( *
*
7
1
5
1
3
1
*
5
1
3
1
! *
4
3 2
2 2
3
2
1 2
2
+

\
|
+ +

\
|
+ +

\
|
+

\
|
+
=

N X
y
y
N X
N X
y
y
N X
S
N
N
N
N

! 11
10
! 9
8
! 7
6
! 5
4
! 3
2
+ + + + = S
Diagrama de Flujo A Diagrama de Flujo B



















F
X, Y, q
Fin Mientras
Mientras que d < Y haga
I
X, Y
d X
q 0
d d + 1
q q + d

F
X, Y, q
Hasta que d > Y
Repetir
I
X, Y
d X
q 0
q q + d
d d + 1
UNI VE R S I DAD DE CAR AB OB O. F ACU L T AD DE I NGE NI E R A. DE P AR T AME NT O DE COMP UT ACI N.
CT E DR A DE COMP U T ACI N I S E GU N DO PE R ODO L E CT I V O DE 2 0 0 6 .
M MA A T T E E R R I I A A L L D D E E A AP P O OY Y O O A A C CL L A A S S E E S S P P G G I I N N A A 4 4 6 6 D D E E 4 4 6 6



1 4 . R E F E R E N C I A S


El Material de Apoyo correspondiente al Primer Lapso de Evaluacin de la asignatura Computacin 1 es
una recopilacin selectiva del material desarrollado por los miembros de la Ctedra de Computacin 1
adscrita al Departamento de Computacin de los Estudio Bsicos de la Facultad de Ingeniera de la
Universidad de Carabobo. Un agradecimiento especial a los Profesores de la Ctedra: Ing. ngel
Almarza, Ing. Jess Cordero, Ing. Hugo Hernndez, Ing. Lisbeth Pacheco, Ing. Maria Cristina Rodrguez de
Furioni, Ing. Maria Beatriz Serrano. Pedimos disculpas si hemos omitido algn profesor.



Ctedra de Computacin I [2004] Ejercicios Recopilados y Exmenes anteriores.
Departamento de Computacin, Facultad de Ingeniera.
HERNANDEZ M., Ma de Lourdes. (1998). Apuntes de Diseo Estructurado de Algoritmos.
Instituto Tecnolgico de Tuxtepec. Mxico
JOYANES A., Luis. [2003]. Fundamentos de programacin: Algoritmos, Estructuras de Datos y
Objetos. Tercera Edicin. McGraw-Hill.
MANSILLA, Francisco Rus, Aplicacin en C++ URL:
http://polaris.lcc.uma.es/~rusman/docencia/ic/ecuacion2.cpp
PACHECO S., Lisbeth C. [2004] [2006]. Departamento de Computacin. Facultad de
Ingeniera.
SERRANO V., Maria B. [2004] [2006]. Departamento de Computacin, Facultad de
Ingeniera.
Universidad Mayor de San Simn Tutorial: Introduccin a la Programacin. Fecha de
acceso: 20-04-2004. URL: http://www.geocities.com/inf135/index.html
VARGAS, Jos R. [2003]. Programacin Cientfica Bsica. Facultad de Ingeniera. Universidad
Central de Venezuela.
WIKIPEDIA, Sucesin Matemtica, URL:
http://es.wikipedia.org/wiki/Sucesi%C3%B3n_matem%C3%A1tica
WIKIPEDIA, Serie Matemtica, URL: http://es.wikipedia.org/wiki/Serie_matem%C3%A1tica

Anda mungkin juga menyukai