Está en la página 1de 111

Universidad Tecnológica de Bolívar Fundamentos de Computación

PROBLEMARIO DE FUNDAMENTOS DE COMPUTACIÓN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 2
Universidad Tecnológica de Bolívar Fundamentos de Computación

TABLA DE CONTENIDO
Pág.
INTRODUCCIÓN............................................................................................................................3
CAPITULO I. CONCEPTOS BÁSICOS .........................................................................................4
1.1 ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS....................4
1.1.1 Tipos de Datos ..............................................................................................................4
1.1.2 Constantes y Variables..................................................................................................6
1.1.3 Expresiones...................................................................................................................7
1.1.3.1 Operadores ...................................................................................................................8
1.1.3.1.1 Operadores aritméticos .................................................................................................8
1.1.3.1.2 Operadores Relaciónales ..............................................................................................9
1.1.3.1.3 Operadores Lógicos ......................................................................................................9
1.1.4 Operaciones de Asignación.........................................................................................10
1.1.4.1 Asignación Aritmética ..................................................................................................11
1.1.4.2 Asignación Lógica .......................................................................................................11
1.1.4.3 Asignación de Cadenas de Caracteres .......................................................................12
1.1.5 Conversión de Tipo .....................................................................................................12
1.1.6 Funciones Internas ......................................................................................................13
1.1.7 Problemas Resueltos ..................................................................................................14
1.1.8 Problemas Propuestos ................................................................................................15

CAPITULO II. ESTRUCTURAS BASICAS...................................................................................19


2.1 Estructuras Secuenciales ............................................................................................19
2.1.1 Problemas Resueltos ..................................................................................................20
2.1.2 Problemas Propuestos ................................................................................................21
2.2 Estructuras Condicionales...........................................................................................26
2.2.1 Problemas Resueltos ..................................................................................................28
2.2.2 Problemas Propuestos ................................................................................................35
2.3 Estructuras Repetitivas ...............................................................................................48
2.3.1 Mientras ......................................................................................................................48
2.3.2 Repetir ........................................................................................................................49
2.3.3 Para ............................................................................................................................49
2.3.4 Problemas Resueltos ..................................................................................................50
2.3.5 Problemas Propuestos ................................................................................................69

CAPITULO III. ARREGLOS .........................................................................................................91


3.1 ARREGLOS ................................................................................................................91
3.2 Arreglos Unidimensionales: Los Vectores ...................................................................91
3.3 Arreglos De Varias Dimensiones.................................................................................92
3.3.1 Arreglos bidimensionales (tablas/matrices) .................................................................92
3.3.2 Arreglos Multidimensionales........................................................................................93
3.4 Problemas Resueltos ..................................................................................................94
3.5 Problemas Propuestos ..............................................................................................101
BIBLIOGRAFÍA...........................................................................................................................111

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 3
Universidad Tecnológica de Bolívar Fundamentos de Computación

INTRODUCCIÓN

Independientemente de las estrategias pedagógicas empleadas para generar en el estudiante


conocimiento, hay una parte del proceso y para el proceso donde la praxis juega un papel importante
sobre en aquellos campos donde lo que se trata es de adquirir experticia en el uso de tecnologías
fundamentales con son los algoritmos para la solución de problemas. Conocedores de lo anterior y
como complemento del manual de FUNDAMENTOS DE COMPUTACIÓN, recopilamos en este tomo
una serie de ejercicios tipos y otros no muy típicos que le permitirán al estudiante conocer una
posible solución de los mismos, pero sobre todo realizar por si mismo actividades por fuera del aula
clases.

Este documento fue elaborado de manera tal que el estudiante pueda, paso a paso, conocer y
aplicar apropiadamente los conceptos básicos de la metodología para desarrollar algoritmos
mediante el planteamiento y solución de ejercicios seleccionados cuidadosamente. Tanto los
conceptos como los ejercicios resueltos y propuestos aquí tratados, no son en su mayoría propiedad
intelectual de los autores; la bibliografía consultada por éste se presenta al final de este texto.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 4
Universidad Tecnológica de Bolívar Fundamentos de Computación

CAPITULO I

CONCEPTOS BÁSICOS

Objetivo Educacional

El alumno:

• Se Ejercitará sobre las reglas para cambiar formulas matemáticas a expresiones validas para la
computadora, además de diferenciar constantes e identificadores y tipos de datos simples.
• Deberá diferenciar los tipos de datos simples existentes.
• Deberá trabajar con identificadores sean constantes o variables.

1.1 ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

1.1.1 Tipos de Datos

Dato: Cualquier objeto de información con los que trabaja un programa.

Todos los datos tienen un tipo asociados con ellos que nos servirá para poder conocer con que
información se trabaja. Es decir, cuando se ingresa el sueldo de un trabajador es necesario que
este contenga decimales, o al solicitar la edad de una persona está tiene que estar con números
enteros, etc.. Además la suma entre caracteres no tiene sentido.

La asignación de tipos a los datos tiene dos objetivos principales:

• Detectar errores de operaciones aritméticas en los programas


• Determinar como ejecutar las operaciones

Numéricos
Simples Lógicos
Carácter
Tipos de
datos Arreglos (Vectores, Matrices)
Estructurados Registros
(Def. por el Archivos
usuario) Apuntadores

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 5
Universidad Tecnológica de Bolívar Fundamentos de Computación

Tipos de Datos Simples

Estos son los tipos de datos mas utilizados en los lenguajes de programación:

Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los
números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.
Estos pueden representarse en dos formas distintas.

• Tipo numérico entero (integer),


• Tipo numérico real (real).

Enteros: El tipo entero es un subconjunto finito de los número enteros. Los enteros son números
complejos, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos.
Ejemplos de números enteros son:
5 6
-15 4
20 7
1340 26

Los enteros se denominan en ocasiones números de punto o coma fija. Los números enteros
máximos y mínimos de una computadora suelen ser –32768 a +32767–. Los números enteros 2 En
computadoras de 16 bits como IBM PC o compatibles. Fuera de este rango no se suelen representar
como enteros, sino como reales, aunque existen excepciones (enteros largos: FORTRAN,
Quick/Qbasic, C, C++, etc).

Reales: El tipo real consiste en un subconjunto de los números reales. Los números reales siempre
tienen un punto decimal y pueden ser positivos o negativos. Un número real consta de un entero y
una parte decimal. Los siguientes ejemplos son números reales:
0.081 3739.41
3.7452 -52.321
-8.12 3.0

En aplicaciones científicas se requiere una representación especial para manejar números muy
grandes, como la masa de la Tierra, o muy pequeños, como la masa de un electrón. Una
computadora sólo puede representar un número fijo de dígitos. Este número puede variar de una
máquina a otra, siendo ocho dígitos un número típico. Este límite provocará problemas para
representar y almacenar números muy grandes o muy pequeños como son los ya citados o los
siguientes:
4867213432 0.00000000387

Existe un tipo de representación denominado notación exponencial o científica y que se utiliza para
números muy grandes o muy pequeños. Así,
367520100000000000000

se representa en notación científica descomponiéndolo en grupos de tres dígitos:


367 520 100 000 000 000 000

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 6
Universidad Tecnológica de Bolívar Fundamentos de Computación

y posteriormente en forma de potencias de 10: 3.675201 X 1020

y de modo similar: .0000000000302579

se representa como: 3.02579 X 10-22

La representación en coma flotante es una generalización de notación científica. Obsérvese que las
siguientes expresiones son equivalentes:

3.675201 X 1019 = .3675207 X 1020 = .03675201 X 1021 = . . .


= 36.75201 X 1018 = 367.5201 X 1017 = . . .

en estas expresiones se considera la mantisa (parte decimal) al número real y al exponente (parte
potencial) el de la potencia de diez.

36.75201 mantisa 18 exponente

Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan
el resultado de una comparación entre otros datos (numéricos o alfanuméricos).

Este tipo de datos se utiliza para representar las alternativas (si/no) a determinadas condiciones. Por
ejemplo, cuando se pide si un valor entero es par, la respuesta será verdadera o falsa, según sea
par o impar.

Datos Carácter: Los tipos carácter se dividen también en caracteres ASCII, como por ejemplo: a A
& * , etc.. El otro grupo de caracteres son los strings que es una secuencia de caracteres
alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye
nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero
estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este
tipo de datos se representan encerrados entre comillas.

Los caracteres que reconocen las diferentes computadoras no son estándar; sin embargo, la
mayoría reconoce los siguientes caracteres alfabéticos y numéricos:
• caracteres alfabéticos (A, B,C, . . . , Z) (a, b, c, . . . , z),
• caracteres numéricos (1, 2, . . . , 9, 0),
• caracteres especiales (+, –, * , / , ^ , . , ; . <, >, $ , . . . ).

Ejemplo:
“Universidad Tecnológica de Bolívar”
“2004”

1.1.2 Constantes y Variables

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución
del programa. Ejemplo: pi = 3.1416

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 7
Universidad Tecnológica de Bolívar Fundamentos de Computación

Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un


dato durante la ejecución de un proceso, su contenido puede cambia durante la ejecución del
programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle
un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: área = pi * radio ^ 2

Las variables son : el radio, el área y la constate es pi

Clasificación de las Variables

Numéricas
Por su Contenido Lógicas
Carácter
Variables

De Trabajo
Por su Uso Contadores
Acumuladores

Por su contenido

Variable Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o
negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo:
Iva =0.15 pi =3.1416 costo = 2500

Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos
representan el resultado de una comparación entre otros datos.

Variables Carácter: Esta formada por caracteres alfanuméricos (letras, números y caracteres
especiales). Ejemplo:
Letra = ’a’ apellido = ’lópez’ direccion=’Ternera completo industrial’

Por su Uso

Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y
que se usan normalmente dentro de un programa. Ejemplo: suma = a + b / c

Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una
operación o se cumple una condición. Con los incrementos generalmente de uno en uno.

Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una
serie de valores que se van leyendo o calculando progresivamente.

1.1.3 Expresiones

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y


nombres de funciones especiales. Por ejemplo: a + ( b + 3 ) / c

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 8
Universidad Tecnológica de Bolívar Fundamentos de Computación

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes
implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y
operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:

- Aritméticas
- Relaciónales
- Lógicas

1.1.3.1 Operadores

Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes.
Es decir, los operadores nos permiten manipular valores.

Aritméticos
Tipos de Operadores Relaciónales
Lógicos

1.1.3.1.1 Operadores aritméticos

Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores
(variables y constantes). Los operadores aritméticos 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 Aritméticos Ejemplos:


+ Suma
- Resta Expresión Resultado
* Multiplicación 7/2 3.5
/ División 12 mod 7 5
Mod Modulo (residuo de la 4 +2*5 14
división entera)

Prioridad de los Operadores Aritméticos

• Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis
anidados se evalúan de dentro a fuera, el paréntesis mas interno se evalúa primero.
• Dentro de una misma expresión los operadores se evalúan en el siguiente orden.

1.- ^ Exponenciación
2.- *, /, mod Multiplicación, división, modulo.
3.- +, - Suma y resta.

• Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda
a derecha.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 9
Universidad Tecnológica de Bolívar Fundamentos de Computación

1.1.3.1.2 Operadores Relaciónales

• Se utilizan para establecer una relación entre dos valores.


• Compara estos valores entre si y esta comparación produce un resultado de certeza o
falsedad (verdadero o falso).
• Los operadores relaciónales comparan valores del mismo tipo (numéricos o cadenas)
• Tienen el mismo nivel de prioridad en su evaluación.
• Los operadores relaciónales tiene menor prioridad que los aritméticos.

Operadores Relaciónales Ejemplos:


Si a = 10 b = 20 c = 30

> Mayor que a+b>c Falso


< Menor que a-b<c Verdadero
>= Mayor o igual que a-b=c Falso
<= Menor o igual que a*b<>c Verdadero
<> Diferente
== Igual Ejemplos no lógicos:
a<b<c
10< 20 < 30

1.1.3.1.3 Operadores Lógicos

• Estos operadores se utilizan para establecer relaciones entre valores lógicos.


• Estos valores pueden ser resultado de una expresión relacional.

Operadores Lógicos Operador Not


And Y Operando Resultado
Or O T F
Not Negación F T

Operador And Operador Or


Operando1 Operando2 Resultado Operando1 Operando2 Resultado
T T T T T T
T F F T F T
F T F F T T
F F F F F F

Prioridad de los Operadores Lógicos


Not
And
Or

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 10
Universidad Tecnológica de Bolívar Fundamentos de Computación

Prioridad de los Operadores en General


1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.- >, <, > =, < =, < >, =, Or

1.1.4 Operaciones de Asignación

La operación de asignación es el modo de darle valores a una variable. La operación de asignación


se representa con el símbolo u operador =. La operación de asignación se conoce como instrucción
o sentencia de asignación cuando se refiere a un lenguaje de programación. El formato general de
una operación es:

Nombre de la variable = expresión

En algunos textos se utiliza una flecha como operador de asignación para evitar ambigüedades,
dejando el uso del símbolo = exclusivamente para el operador de igualdad. La operación de
asignación:

Reglas de Asignación:

• Una variable en el lado derecho de una sentencia de asignación debe tener un valor antes
de que la sentencia de asignación se ejecute. Hasta que un programa le da un valor a una
variable, esa variable no tiene valor. Por ejemplo:

Si x no tiene un valor antes de ejecutar y = x + 1, se producirá un error lógico.

• En la izquierda de una sentencia de asignación solo pueden existir variables. Por


consiguiente no es valido lo siguiente: Valor_Neto - Tasas = 34015.

A = 5 Significa que a la variable A se le ha asignado el valor 5

La acción de asignar es destructiva, ya que el valor que tuviera la variable antes de la asignación se
pierde y se reemplaza por el nuevo valor. Así en la secuencia de operaciones:

A = 25
A = 134
A= 5

Cuando estas se ejecutan, el valor último que toma A será 5 (los valores 25 y 134 han desaparecido)

La computadora ejecuta la sentencia de asignación en dos pasos. En el primero de ellos se calcula


el valor de la expresión al lado derecho del operador, obteniéndose un valor de un tipo específico.
Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 11
Universidad Tecnológica de Bolívar Fundamentos de Computación

En el segundo paso, este valor se almacena en la variable cuyo nombre aparece a la izquierda del
operador de asignación, sustituyendo al valor que tenía anteriormente.

X=Y–2
El valor de la expresión Y – 2, se asigna a la variable X

Es posible utilizar el mismo nombre de la variable en ambos lados del operador de asignación. Por
ello, acciones como: N = N – 1

Las acciones de asignación se clasifican según sea el tipo de expresiones en aritmética, lógicas y
de caracteres.

1.1.4.1 Asignación Aritmética

Las expresiones en las operaciones de asignación son aritméticas:

AMN = 3 + 14 + 8 Se evalúa la expresión 3 + 14 + 8 y se asigna a la variable AMN, es decir, 25 será


el valor que toma AMN

TER1 = 14.5 + 8
TER2 = 0.75 * 3.4
COCIENTE = TER1 / TER2

Se evalúan las expresiones 14.5 + 8 y 0.75 * 3.4 y en la tercera acción se dividen los resultados de
cada expresión y se asigna a la variable COCIENTE, es decir, las tres operaciones equivalen a
COCIENTE = (14.5 + 8) / (0.75 * 3.4).

Otro ejemplo donde se pueden comprender las modificaciones de los valores almacenados en una
variable es el siguiente:

A = 0 La variable A toma el valor 0


N = 0 La variable N toma el valor 0
A = N + 1 La variable A toma el valor 0 + 1, es decir, 1

El ejemplo anterior se puede modificar para considerar la misma variable en ambos lados del
operador de asignación:

N=2
N = N –1

En la primera acción N toma el valor 2 y en la segunda acción se evalúa la expresión N+1, que
tomará el valor 2 + 1 = 3 y se asignará nuevamente a N, que tomará el valor 3.

1.1.4.2 Asignación Lógica

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 12
Universidad Tecnológica de Bolívar Fundamentos de Computación

La expresión que se evalúa en la operación de asignación es lógica. Supóngase que M, N y P son


variables de tipo lógico.

M=8<5
N = M o (7 < = 12)
P=7>6

Tras evaluar las operaciones anteriores, las variables M, N y P tomarán los valores falso, verdad.

1.1.4.3 Asignación de Cadenas de Caracteres

La expresión que se evalúa es de tipo cadena:

X = “12 de octubre de 1492”

La acción de asignación anterior asigna la cadena de caracteres -12 de octubre de 1492– a la


variable tipo cadena X

1.1.5 Conversión de Tipo

En las asignaciones no se pueden asignar valores a una variable de un tipo diferente del suyo. Se
presentará un error si se trata de asignar valores de tipo carácter a una variable numérica o un valor
numérico a una variable de tipo carácter.

Ejemplo 1. ¿Cuáles son los valores de A, B y C después de la ejecución de las siguientes


operaciones?

A=3
B=4
C=A+2*B
C=C+B
B=C–A
A=B*C

En las dos primeras acciones A y B toman los valores de 3 y 4.

C = A + 2 * B LA EXPRESIÓN A + 2 * B TOMARA EL VALOR 3 + 2 * 4 = 3 + 8 = 11


C = 11

La siguiente acción C = C + B, producirá un valor de 11 + 4 = 15

C = 15

En la acción B = C – A se obtiene para B el valor 15 – 3 = 12 y por último:

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 13
Universidad Tecnológica de Bolívar Fundamentos de Computación

A=B*C

A tomará el valor B * C , es decir, 12 * 15 = 180 ; por consiguiente; el último valor que toma A será
180.

1.1.6 Funciones Internas

Las operaciones internas que se requieren en los programas exigen además de las operaciones
aritméticas básicas, ya tratadas, un número determinado de operaciones especiales que se
denominan Funciones Internas, incorporadas o estándar. Por ejemplo, la función 1n se puede utilizar
para determinar el logaritmo neperiano de un número y la función raíz2 (sqrt) calcular la raíz
cuadrada de un número positivo. Existen otras funciones que se utilizan para determinar las
funciones geométricas.

Las funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea que
realice la función:

Ejemplo. Utilizar las funciones internas para obtener la solución de la ecuación cuadrática: ax2 + bx
+ c = 0 ; las raíces de la ecuación son:

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 14
Universidad Tecnológica de Bolívar Fundamentos de Computación

1.1.7 Problemas Resueltos

1. Encontrar el valor de la variable VALOR después de la ejecución de las siguientes expresiones:

(a) VALOR = 4.0 * 5 (a) VALOR = 20.0

(b) VALOR = 5 (b) VALOR = 5


X=3 X=3
VALOR = VALOR * X VALOR = VALOR * X = 5 * 3 = 15
VALOR =15

2. Deducir el resultado que se produce con las siguientes instrucciones:

X=1
Y=5
Escribir (X, Y)

1. X e Y toman los valores 1 y 5 respectivamente


2. La instrucción de salida (escribir) presentará en el dispositivo de salida 1 y 5,

3. Calcular el valor de las siguientes expresiones:

a) 8 + 7 * 3 + 4 * 6 a) 8 + 7 * 3 + 4 * 6
8 + 21 + 24
29 + 24
53
b) 3 + 2 * (18 - 4 ˆ 2) b) 3 + 2 * (18 - 4 ˆ 2)
3 + 2 * (18 - 16)
3+2*2
3+4
7
C ) 16 * 6 – 3 * 2 c ) 16 * 6 – 3 * 2
96 - 6
90

4. Cómo se intercambian los valores de dos variables, A y B.


El procedimiento para conseguir intercambiar los valores de dos variables entre sí debe recurrir a
una variable AUX y a las instrucciones siguientes asignadas
Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 15
Universidad Tecnológica de Bolívar Fundamentos de Computación

AUX = A
A=B
B = AUX

5. ¿Qué se obtiene de las variables A y B, después de la ejecución de las siguientes instrucciones?

A=5
B=A+6
A=A+1
B=A-5

(1) A = 5
(2) B = A + 6 = 5 + 6 = 11 Se evaluá A + 6 ( 5 + 6 ) y se asigna a B
(3) A = A + 1 = 5 + 1 = 6 Se evalúa A + 1 ( 5 + 1 ) y se asigna a A borrándose el valor que
tenía ( 5 ) y tomando el nuevo valor ( 6 )
(4) B = A - 5 = 6 – 5 =1 Se evalúa A – 5 ( 6 - 1 ) y se asigna a B

Los valores últimos de A y B son : A = 6, B = 1

6. ¿Qué se obtiene en las variables A, B y C después de ejecutar las instrucciones siguientes?

A=3
B = 20
C=A+B
B=A+B
A=B-C

(1)A=3 B y C no toman ningún valor


( 2 ) B = 20 C sigue sin valor
( 3 ) C = A + B = 3 + 20 = 23 Se evalúa A + B ( 20 + 3 ) y se asigna a C
( 4 ) B = A + B = 3 + 20 = 23 Se evalúa A + B ( 20 + 3 ) y se asigna a B; destruye el valor
antiguo ( 20 )
( 5 ) A = B - C = 23 - 23 = 0 Se evalúa B – C ( 23 – 23 ) y se asigna a A

Los valores finales de las variables son: A = 0 B = 23 C = 23

1.1.8 Problemas Propuestos

1. ¿Cuál de las siguientes identificadores no son válidos?


a) Xrayo b) X_Rayo c) R2D2 d) X e) 45 f) N14 g) ZZZZ h) 3u

2. ¿Cuál de las siguientes constantes son válidas?

a) 234 b) – 8.975 c) 12E – 5

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 16
Universidad Tecnológica de Bolívar Fundamentos de Computación

d) 0 e) 32,767 f) ½
g) 3.6E+7 h) – 7E12 I ) 3.5 x 10
j ) 0,456 k) 0.000001 l) 224E1

3. Evaluar las siguientes expresiones para A = 2 y B = 5: 3 * A – 4 * B / A * 2

4. Evaluar la expresión: 4 / 2 * 3 / 6 - 6 / 2 / 1 / 5 * 2 / 4 * 2

5. Encontrar el valor de cada una de las siguientes expresiones o decir si no es una expresión válida:

a) 9 – 5 – 3
b) 2 div 3 + 3/5
c) 9 div 2/5
d) 7 mod 5 mod 3
e) 7 mod (5 mod 3)
f) (7 mod 5) mod 3
g) (7 mod 5 mod 3)
h) ((12 + 3) div 2 ) / (8 – ( 5 + 1))
i) 12 / 2 * 3
j) raíz 2 ( cuadrado (4))
k) cuadrado (raíz 2 (4))
l) trunc (81.5) + redondeo (81.5)

6. Si a=6, b=2 y c = 3, determinar el resultado de las siguientes expresiones aritméticas:

1. a -b +c 4. a * b mod c
2. a * b div c 5. a + b mod c
3. a div b + c 6. a div b div c

7. Determinar el resultado de las siguientes expresiones lógicas:

1. (7>=5) AND (27 = 8) 2. ((4+2) < 8) AND ((24 +1 ) = 25) OR FALSE


3. (45 <= 7) OR (NOT (5 >= 7)) 4. (8 > 8) OR (7 = 7) AND (NOT (5 <5))
5. ((2*7) > 5) OR (NOT ((7 DIV 2) = 3) AND (7 > 25)) AND TRUE

8. Determinar si las siguientes expresiones lógicas son ciertas o falsas, suponiendo que las variables
que contienen almacenan los siguientes valores:

a = 5.5 b = 1.5 i = -3 hecho = false

1. a < 10.0 2. (a + b ) > = 6.5


3. i <> 0 4. (b -1.0) > a
5. not (a < (3.0 * b)) 6. -i <= (i +6)
7. (a<10.0) and (a > 5.0) 8. (abs(i) > 3) or hecho

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 17
Universidad Tecnológica de Bolívar Fundamentos de Computación

9. Convertir las siguientes ecuaciones en expresiones de asignación validas.

9.1. Pendiente de una línea entre dos puntos

y2-y1
pendiente =
x2-x1

9.2. Factor de corrección en el cálculo de la presión:

b c
factor = 1+ +
v v2

9.3. Coeficiente de fricción

v2
fricción =
30s

9.4. Distancia del centro de gravedad desde un plano de referencia, en un sector cilíndrico:

38.1972(r3 - s3) sen (a)


centro =
(r2 - s2) a

9.5. Pérdida de presión de la fricción en una tubería:

l v2
perdida = f ⋅ p ⋅ ⋅
d 2

9.6. Resistencia equivalente de un circuito paralelo

1
req = 1 1 1 1
+ + +
x1 x2 x3 x4

10. ¿Qué valor almacenan las variables a y b después de la ejecución de las siguientes sentencias?
a := 5
b := a + 6
a := a + 1
b := a -5

11. ¿Qué valor almacenan las variables a, b y c después de la ejecución de las siguientes
sentencias?
a := 3
b := 20
c := a + b
b := a + b

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 18
Universidad Tecnológica de Bolívar Fundamentos de Computación

a := b

12. ¿Qué valor almacenan las variables a y b después de la ejecución de las siguientes sentencias?
a:= 10
b := 5
a := b
b := a

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 19
Universidad Tecnológica de Bolívar Fundamentos de Computación

CAPITULO II

ESTRUCTURAS BASICAS

Objetivo Educacional

El Alumno:
• Conocerá las estructuras fundamentales presentes en la solución algorítmica.
• Se ejercitará en el uso de las estructuras básicas para la construcción de algoritmos.

2.1 Estructuras Secuenciales

Es aquella en la que una acción (instrucción) sigue a otra en secuencia, Las tareas se suceden de
tal modo que la salida de un programa es la entrada de otro programa hasta llegar al final del
proceso del programa.

Paso 1
Los pasos se dan en una
secuencia prescrita Paso 2
explícitamente

Paso 3

Ejemplo 1: Prepare un algoritmo para conversión de temperatura Fahrenheit a Celsius.

Suministre F

Reste 32

Multiplique por 5/9

Imprima resultado

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 20
Universidad Tecnológica de Bolívar Fundamentos de Computación

Ejemplo 2: Prepare un algoritmo para resolver un problema de nómina simplificado.

Suministre R, H, D
R: Valor de una hora
G=R*H H: Número de horas laboradas
D: Valor deducciones
P=G-D G: Salario bruto
P: Salario neto. Cheque contiene este valor
Imprima cheque

2.1.1 Problemas Resueltos

1 Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero
ganara después de un mes si el banco paga a razón de 2% mensual.
Inicio
Leer cap_inv Cap_inv : Capital Invertido
gan = cap_inv * 0.02 Gan : Ganancia
Imprimir gan
Fin

2 Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor
desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza
en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.
Inicio
Leer sb, v1, v2, v3 Sb : Salario Básico
tot_vta = v1 + v2 + v3 V1, v2, v3 : Ventas realizadas en el mes
com = tot_vta * 0.10 Com : Comisión
tpag = sb + com Tpag : Total pagado
Imprimir tpag, com
Fin

3 Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber
cuanto deberá pagar finalmente por su compra.
Inicio
Leer tc
d = tc * 0.15 Tc : Total de la compra
tp = tc - d d : Descuento
Imprimir tp tp : Total a pagar
Fin

4 Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha
calificación se compone de los siguientes porcentajes:
Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 21
Universidad Tecnológica de Bolívar Fundamentos de Computación

55% del promedio de sus tres calificaciones parciales.


30% de la calificación del examen final.
15% de la calificación de un trabajo final.
Inicio
Leer c1, c2, c3, ef, tf c1, c2, c3 : cada una de las calificaciones
prom = (c1 + c2 + c3)/3 ef : Examen Final
ppar = prom * 0.55 tf : Trabajo final
pef = ef * 0.30 prom : Promedio de las notas parciales
ptf = tf * 0.15 pef : porcentaje del examen final
cf = ppar + pef + ptf ppar : porcentaje de las calificaciones parciales
Imprimir cf ptf : Porcentaje trabajo final
Fin cf: calificación final

5 Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un
grupo de estudiantes.
Inicio
Leer nhombres, nmujeres ta : Total alumnos
ta = nhombres + nmujeres ph : Porcentaje hombres
ph = nhombres * 100 / ta pm : Porcentaje Mujeres
pm = nmujeres * 100 / ta
Imprimir ph, pm
Fin

6 Realizar un algoritmo que calcule la edad de una persona.


Inicio
Leer fnac, fact fnac : Fecha de nacimiento
edad = fact - fnac fact : Fecha actual
Imprimir edad
Fin.

2.1.2 Problemas Propuestos

1 Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad


cambiaría es un dato desconocido.

2 Leer un numero y escribir el valor absoluto del mismo.

3 La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula:


masa = (presión * volumen)/(0.37 * (temperatura + 460))

4 Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos de
ejercicio, si la formula es:
num. pulsaciones = (220 - edad)/10

5 Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario
anterior.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 22
Universidad Tecnológica de Bolívar Fundamentos de Computación

6 En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual


del hospital se reparte conforme a la sig. tabla:

Área Porcentaje del presupuesto


Ginecología 40%
Traumatología 30%
Pediatría 30%
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.

7 El dueño de una tienda compra un articulo a un precio determinado. Obtener el precio en que lo
debe vender para obtener una ganancia del 30%.

8 Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos
obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una
semana cualquiera.

9 Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte
una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad
total invertida.

10 Un alumno desea saber cual será su promedio general en las tres materias mas difíciles que
cursa y cual será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan
como se muestra a continuación:

La calificación de Matemáticas se obtiene de la sig. manera:


Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.

La calificación de Física se obtiene de la sig. manera:


Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.

La calificación de Química se obtiene de la sig. manera:


Examen 85%
Promedio de tareas 15%
En esta materia se pidió un promedio de tres tareas.

11. Elaborar un algoritmo que lea un número y calcule e imprima su cuadrado y su cubo.

12. Elaborar un algoritmo que obtenga el inverso aditivo y el inverso multiplicativo de un número.

13. Para un empleado se tienen los siguientes datos:

• Nombre del empleado


Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 23
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Salario básico por hora


• Horas ordinarias trabajadas
• Horas extras trabajadas

Elabora un algoritmo que calcule e imprima:

© Nombre del empleado


© Salario neto a pagar
© Valor de la retención en la fuente

Teniendo en cuenta que las horas extras tienen un recargo del 40% y la retención en la fuente
(10%) se aplica a las horas extras trabajadas.

14. Elabore un algoritmo que calcule el valor de la función Y, para el valor de X cualquiera.

x 2 / 3 35( x 2 + x 3 )
y = 3x + +
x2 − 1 x2 + 1

15. Elabore un algoritmo que intercambie el valor de las dos variables.

16. Elabore un algoritmo que lea un número y calcule e imprima:

© Valor absoluto del número


© Cuadrado del número
© Cubo del número y de su valor absoluto

17. La compañía La Veloz vende tres tipos de automóviles (A,B,C), cada uno de los cuales tiene un
precio de venta y un porcentaje de comisión por ventas diferentes. Elaborar un algoritmo que
calcule el valor de las comisiones que se deben pagar a un determinado vendedor, del cual se
tienen los siguientes datos:

© Nombre del vendedor


© Unidades vendidas del auto A
© Unidades vendidas del auto B
© Unidades vendidas del auto C

18. Elaborar un algoritmo que calcule el área y el perímetro de un rectángulo y de un circulo.

Area del circulo = π r 2 perímetro del circulo = 2πr

19. Elabore un algoritmo que calcule e imprima la suma, el producto, el cociente y el resto (módulo)
entre dos números enteros A y B

20. Elabore un algoritmo que lea una temperatura en grados centígrados y calcule la temperatura
equivalente en grados Fahrenheit. Nota: Escriba el resultado como real y como entero.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 24
Universidad Tecnológica de Bolívar Fundamentos de Computación

ºF = (9/5)ºC + 32

21. Un sistema de ecuaciones lineales del tipo: ax + by = c, dx + ey = f se puede resolver con las
siguientes fórmulas:

ce − bf af − cd
x= y=
ae − bd ae * bd

nota: asuma que ae – bd es diferente de cero.

22. Elabore un algoritmo para convertir una medida dada = 12 pulgadas, 1 yarda = 3 pies, 1
pulgada =2.54 cm y 1 metrp 100 c,m

23. Un corredor de maratón (distancia = 42.195 Km) ha hecho el recorrido en un tiempo (dado en
horas y minutos)

24. El mismo corredor del problema anterior hizo de nuevo el recorrido, pero como estaba un poco
cansado. Pero como estaba un poco cansado se demoró 30 min.

25. Elabore un algoritmo que calcule la nota definitiva de un estudiante a partir de las siguientes
notas parciales, que tienen cada una, un valor en porcentaje;: examen escrito (50%), trabajos
(20), quices (20%) y participación (10%)

26. Para un empleado se tienen los siguientes datos:

• Nombre del empleado


• Salario básico por hora
• Horas ordinarias trabajadas
• Horas extras diurnas trabajadas
• Horas extras nocturnas trabajadas
• Horas extras dominicales trabajadas

Elabore un algoritmo que calcule e imprima :

© Nombre del empleado


© Salario neto a pagar
© Valor de la retención en la fuente

Teniendo en cuenta que el 10% de retención en la fuente se aplica a las horas extras trabajadas
y que las horas extras tienen los siguientes recargos:

• Horas extras diurnas 25%


• Horas extras nocturnas 50%
• Horas extras dominicales 75%

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 25
Universidad Tecnológica de Bolívar Fundamentos de Computación

27. Suponga que un tren parte de un lugar A hacía un lugar B, los cuales están distantes S1 Km,
con velocidad constante V1. Pero, al llegara su punto C, el cual está entre A y B, a una distancia
S2 de A, hace una escala de 30 minutos para finalmente parta hacía B con una velocidad
diferente V2.

Al partir el tren de A, sale también un auto con una velocidad V. El cual al llegar a C hace una
escala de 2 horas para finalmente continuar a B con la misma velocidad.

Suponiendo que el auto se mueve en una línea paralela a la del tren, elabore un algoritmo que
calcule el tiempo que empleará el tren y el auto para trasladarse de A a B.

28. Elabore un algoritmo que calcule el área y el volumen de un cubo, o partir de la longitud de sus
lados.
Area del cubo = 6L2 Volumen del cubo = L3

29. Dado el radio de una esfera, elabore un algoritmo que calcule su área y su volumen.

Area de la esfera = 4 π r 2 Volumen de la esfera = 4/3 π r 3

30. En la ciudad de Cartagena hay un número determinado de habitantes, de los cuales, al


comenzar el año, emigraran a otras ciudades de 2%, pero llegan a la ciudad el 0.5% de la
población del resto del departamento de Bolívar. A la mitad del año la población se ha
incrementado en un 5% debido a los nacimientos, después de eso no hay más nacimientos.
Durante los primeros 10 meses no se muere, ni matan, a nadie, pero en los 2 últimos meses se
desata una mortandad tremenda y una violencia de tal magnitud, que al llegar el 31 de
Diciembre, la población se ha reducido en un 8%.

Un programador experto, como usted, llamó al DANE el 1 de Enero y formulo las siguientes
preguntas: ¿Cuantos habitantes hay en Cartagena?, ¿Cuantos habitantes hay en el resto de
Bolívar?. El DANE le dio la información que solicito, el programador sacó una calculadora
programable, oprimió algunas teclas y dijo sonriente: El 31 de Diciembre habrá en Cartagena
tantos habitantes. Elabore el algoritmo que utilizó el programador.

31. Elabore un algoritmo que convierta una cantidad de dinero dada en pesos Colombianos a su
equivalente en Dólares (E:U)

32. Un policía de tránsito (llamados en Japón Tequito Lamoto) reporta a la central en promedio N
infracciones en el mes, de las cuales el 20% se producen en las horas de la mañana, el 35% se
producen en horas de la tarde y el 45% restante se producen en horas de la noche.

Elabore un algoritmo que calcule e imprima lo siguiente:

• Promedio diario matutino de infracciones


• Promedio diario vespertino de infracciones
• Promedio diario nocturno de infracciones

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 26
Universidad Tecnológica de Bolívar Fundamentos de Computación

33. Elabore un algoritmo que lea un número entero positivo A, de cuatro cifras, y calcule e imprima
un número B que resulte de leer el número A de derecha a izquierda. Así por ejemplo. Si el
valor de A es 4538, el valor de B será 8354.

34. En la ciudad de Cartagena hay N habitantes el 1 de Enero. Al finalizar el año (el 31 de


Diciembre hubo un aumento del 1.8% por inmigraciones.

• Hubo un aumento del 1.7% por nacimientos


• El 1.1% de la población falleció

Elabore un algoritmo que basándose en la anterior información calcule e imprima lo siguiente:

a. Aumento promedio mensual de la población (en número de personas)


b. Disminución promedio mensual de la población (en número de personas)
c. Población total de la ciudad al finalizar el año.

35. En la hacienda La Vaca Gorda el primer día del mes preparan 10.000 litros de una mezcla
homogénea con agua y Q gramos de un compuesto químico que purifica el agua. Diariamente
se extraen 400 litros de la mezcla para dar de beber al ganado. El ultimo día de la semana,
después de extraer los 400 litros de la mezcla, se agrega, a la misma, suficiente agua para
completar el volumen inicial.

Elabore un algoritmo que conteste las siguientes preguntas:

• ¿Cuál será la densidad de la mezcla (gramos de compuesto químico/litros de mezcla) al


inicio de cada una de las 4 semanas del mes?

• ¿Cuantos gramos del compuesto químico se deben agregar al inicio del siguiente mes para
tener en la mezcla nuevamente Q gramos del mismo?

2.2 Estructuras Condicionales

Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al
resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar
que la comparación se puede hacer contra otra variable o contra una constante, según se necesite.
Existen dos tipos básicos, las simples y las múltiples.

• Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisión”.
Estas tomas de decisión tienen la siguiente forma:

Si <condición> entonces
Acción(es)
Fin-si

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 27
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en función del cumplimiento o no de una determinada condición. Se
representa de la siguiente forma:

Si <condición> entonces
Acción(es)
si no
Acción(es)
Fin-si

Donde:

Si ………………… Indica el comando de comparación


Condición………… Indica la condición a evaluar
entonces……..…… Precede a las acciones a realizar cuando se cumple la condición
acción(es)………… Son las acciones a realizar cuando se cumple o no la condición
si no……………… Precede a las acciones a realizar cuando no se cumple la condición

Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o mas acciones.

• Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas


que permiten comparar una variable contra distintos posibles resultados, ejecutando para
cada caso una serie de instrucciones especificas. La forma común es la siguiente:

Si <condición> entonces
Acción(es)
si no
Si <condición> entonces
Acción(es)
si no
.
. Varias condiciones
.

• Forma General
Casos Variable
Op1: Acción(es)
Op2: Acción(es)
.
.
OpN: acción
Fin-casos

El desarrollo lineal de un algoritmo se interrumpe cuando se ejecuta una bifurcación o toma de


decisión. Las bifurcaciones pueden ser, según el punto del programa a donde se bifurca, hacia
delante o hacia atrás.
Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 28
Universidad Tecnológica de Bolívar Fundamentos de Computación

Bifurcación adelante Bifurcación atrás


(positivo) (negativo)

instrucción 1 instrucción 1
instrucción 2 instrucción 2
instrucción 3 instrucción 3
. .
. .
. .
instrucción 8 instrucción 12
ultima instrucción ultima instrucción

Es normal encontrar algunos algoritmos en los cuales se incluye una condición (o proposición lógica)
con base en la cual se va a seguir uno de varios caminos.

F V
Si la condición es verdadera
Condición
entonces ejecute el proceso
A; de lo contrario, ejecute el
proceso B. Proceso B Proceso A

PROCESO: Serie de pasos


que rodean a un fenómeno
(resultado, objetivo).

(Una salida)
También es normal encontrar problemas en los cuales las decisiones son numerosas y/o
encadenadas. A continuación se ilustra una estructura de dos condiciones.

(Una entrada)

F V
Condición 1

Proceso C F V
Condición 2

Proceso B Proceso A

(Una salida)

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 29
Universidad Tecnológica de Bolívar Fundamentos de Computación

2.2.1 Problemas Resueltos

1 Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad
que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos
excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.
Inicio
Leer p_int, cap
int = cap * p_int p_int : porcentaje de interes
si int > 7000 entonces cap : Capital
capf = cap + int capf : Capital futuro
fin-si
Imprimir capf
fin

2 Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio


de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
Inicio
Leer calif1, calif2, calif3
calif1, calf2, calf3 : Calificaciones
prom = (calif1 + calif2 + calif3)/3
prom : Promedio
Si prom >= 70 entonces
Imprimir “alumno aprobado”
si no
Imprimir “alumno reprobado”
Fin-si
Fin

3 En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿
Cual será la cantidad que pagara una persona por su compra?
Inicio
Leer compra
Si compra > 1000 entonces
desc = compra * 0.20 compra : Valor de la compra
si no desc : Descuento
desc = 0 tot_pag : total a pagar
fin-si
tot_pag = compra - desc
imprimir tot_pag
fin.

4 Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera:


Si trabaja 40 horas o menos se le paga $16 por hora
Si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por
cada hora extra.

Inicio
Leer ht
Si ht > 40 entonces

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 30
Universidad Tecnológica de Bolívar Fundamentos de Computación

he = ht - 40
ss = he * 20 + 40 * 16
si no
ss = ht * 16
Fin-si
Imprimir ss
Fin

5 Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad
que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos
excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.
Inicio
Leer p_int, cap
int = cap * p_int
si int > 7000 entonces
capf = cap + int
fin-si
Imprimir capf
fin

6 Que lea dos números y los imprima en forma ascendente


Inicio
Leer num1, num2
Si num1 < num2 entonces
Imprimir num1, num2
si no
Imprimir num2, num1
fin-si
fin

7 Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuantas calorías
consume su cuerpo durante todo el tiempo que realice una misma actividad. Las actividades
que tiene permitido realizar son únicamente dormir o estar sentado en reposo. Los datos que
tiene son que estando dormido consume 1.08 calorías por minuto y estando sentado en reposo
consume 1.66 calorías por minuto.
Inicio
Leer act$, tiemp
Si act$ = “dormido” entonces
cg = 1.08 * tiemp
si no
cg = 1.66 * tiemp
fin-si
Imprimir cg
Fin

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 31
Universidad Tecnológica de Bolívar Fundamentos de Computación

8 Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio con
descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10% y
si la clave es 02 el descuento en del 20% (solo existen dos claves).
Inicio
Leer nomb, cve, prec_orig
Si cve = 01 entonces
prec_desc = prec_orig - prec_orig * 0.10

si no
prec_desc = prec_orig - prec_orig * 0.20
fin-si
Imprimir nomb, cve, prec_orig, prec_desc
fin

9 Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres
camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de
tres camisas un descuento del 10%
Inicio
Leer num_camisas, prec
tot_comp = num_camisas * prec
Si num_camisas > = 3 entonces
tot_pag = tot_comp - tot_comp * 0.20
si no
tot_pag = tot_comp - tot_comp * 0.10
fin-si
Imprimir tot_pag
fin

10 Una empresa quiere hacer una compra de varias piezas de la misma clase a una fabrica de
refacciones. La empresa, dependiendo del monto total de la compra, decidirá que hacer para
pagar al fabricante.
Si el monto total de la compra excede de $500 000 la empresa tendrá la capacidad de invertir de
su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo
pagara solicitando un crédito al fabricante.
Si el monto total de la compra no excede de $500 000 la empresa tendrá capacidad de invertir
de su propio dinero un 70% y el restante 30% lo pagara solicitando crédito al fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a
crédito.

Inicio
Leer costopza, numpza
totcomp = costopza * numpza
Si totcomp > 500 000 entonces
cantinv = totcomp * 0.55
préstamo = totcomp * 0.30
crédito = totcomp * 0.15
si no

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 32
Universidad Tecnológica de Bolívar Fundamentos de Computación

cantinv = totcomp * 0.70


crédito = totcomp * 0.30
préstamo = 0
fin-si
int = crédito * 0.20
Imprimir cantinv, préstamo, crédito, int
Fin

11 Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el segundo que
los reste y si no que los sume.
Inicio
Leer num1, num2
si num1 = num2 entonces
resul = num1 * num2
si no
si num1 > num2 entonces
resul = num1 - num2
si no
resul = num1 + num2
fin-si
fin-si
fin

12 Leer tres números diferentes e imprimir el numero mayor de los tres.


Inicio
Leer num1, num2, num3
Si (num1 > num2) and (num1 > num3) entonces
mayor = num1
si no
Si (num2 > num1) and (num2 > num3) entonces
mayor = num2
si no
mayor = num3
fin-si
fin-si
Imprimir mayor
fin

13 Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras
trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto
se consideran horas extras y que estas se pagan al doble de una hora normal cuando no
exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se
pagan las horas normales y el resto al triple.
Inicio
Leer ht, pph
Si ht < = 40 entonces
tp = ht * pph

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 33
Universidad Tecnológica de Bolívar Fundamentos de Computación

si no
he = ht - 40
Si he < = 8 entonces
pe = he * pph * 2
si no
pd = 8 * pph * 2
pt = (he - 8) * pph * 3
pe = pd + pt
fin-si
tp = 40 * pph + pe
fin-si
Imprimir tp
fin

14 Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna
como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de
acuerdo con la sig. tabla:
Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o mas y menos de 2 años 7% del salario
2 años o mas y menos de 5 años 10% del salario
5 años o mas y menos de 10 años 15% del salario
10 años o mas 20% del salario

Inicio
Leer sm, antig
Si antig < 1 entonces
util = sm * 0.05
si no
Si (antig > = 1) and (antig < 2) entonces
util = sm * 0.07
si no
Si (antig > = 2) and (antig < 5) entonces
util = sm * 0.10
si no
Si (antig > = 5) and (antig < 10) entonces
util = sm * 0.15
si no
util = sm * 0.20
fin-si
fin-si
fin-si
fin-si
Imprimir util
fin

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 34
Universidad Tecnológica de Bolívar Fundamentos de Computación

15 En una tienda de descuento se efectúa una promoción en la cual se hace un descuento sobre el
valor de la compra total según el color de la bolita que el cliente saque al pagar en caja. Si la
bolita es de color blanco no se le hará descuento alguno, si es verde se le hará un 10% de
descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la
cantidad final que el cliente deberá pagar por su compra. se sabe que solo hay bolitas de los
colores mencionados.
Inicio
leer tc, b$
si b$ = ‘blanca’ entonces
d=0
si no
si b$ = ‘verde’ entonces
d=tc*0.10
si no
si b$ = ‘amarilla’ entonces
d=tc*0.25
si no
si b$ = ‘azul’ entonces
d=tc*0.50
si no
d=tc
fin-si
fin-si
fin-si
fin-si
fin

16 El ISS requiere clasificar a las personas que se jubilaran en el año de 2010. Existen tres tipos
de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas adscritas
a la jubilación por edad deben tener 60 años o mas y una antigüedad en su empleo de menos
de 25 años. Las personas adscritas a la jubilación por antigüedad joven deben tener menos de
60 años y una antigüedad en su empleo de 25 años o mas.
Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o mas y una
antigüedad en su empleo de 25 años o mas. Determinar en que tipo de jubilación, quedara
adscrita una persona.
Inicio
leer edad,ant
si edad >= 60 and ant < 25 entonces
imprimir “la jubilación es por edad”
si no
si edad >= 60 and ant > 25 entonces
imprimir “la jubilación es por edad adulta”
si no
si edad < 60 and ant > 25 entonces
imprimir “la jubilación es por antigüedad joven”
si no
imprimir “no tiene por que jubilarse”

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 35
Universidad Tecnológica de Bolívar Fundamentos de Computación

fin-si
fin-si
fin-si
fin

2.2.2 Problemas Propuestos

1. Elabore un algoritmo que lea dos números e imprima la suma si los dos números son positivos.

2. Elabore un algoritmo que lea dos números e imprima la diferencia entre el primero y el segundo
si por lo menos uno es positivo. De lo contrario, imprima su cociente.

3. Elabore un algoritmo que lea 2 números e imprima los 2 números solo si son de signo contrario y
distintos de cero.

4. Elabore un algoritmo que lea dos números e imprima el cociente entre el primero y el segundo.
Si el segundo es cero no ejecute el caso sino que muestre el mensaje: La División no es Posible.

5 Calcular el total que una persona debe pagar en un llantería, si el precio de cada llanta es de
$800 si se compran menos de 5 llantas y de $700 si se compran 5 o mas.

6 En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento


dependiendo de un numero que se escoge al azar. Si el numero escogido es menor que 74 el
descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del
20%. Obtener cuanto dinero se le descuenta.

7 Calcular el numero de pulsaciones que debe tener una persona por cada 10 segundos de
ejercicio aeróbico; la formula que se aplica cuando el sexo es femenino es:
num. pulsaciones = (220 - edad)/10
y si el sexo es masculino:
num. pulsaciones = (210 - edad)/10

8. Elaborar un algoritmo que lea un número y averigüe si el número es par o impar.

9. Elaborar un algoritmo que lea un número y calcule e imprima su cuadrado si el número es par y
su cubo si el número es impar.

10. Elaborar un algoritmo que lea un número y calcule e imprima su cuadrado si el número es
negativo y su cubo si el número es positivo.

11. Elaborar un algoritmo que lea el nombre, la edad, el sexo, y el estado civil de una persona e
imprima su nombre de la persona si corresponde a un hombre casado mayor de N años o una
mujer soltera menor de M años.

12. Para un empleado se tienen los siguientes datos:

• Nombre del empleado


Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 36
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Salario básico por hora


• Horas ordinarias trabajadas
• Horas extras trabajadas

Elabore un algoritmo que calcule e imprima:

© Nombre del empleado


© Salario neto a pagar
© Valor de la retención en la fuente

Teniendo en cuenta que las horas extras tienen un recargo del 40% y la retención en la fuente
(10%) se aplica a las horas extras trabajadas, si el total obtenido por este concepto es superior a
$100.000.

13 Una compañía de seguros esta abriendo un Dpto. de finanzas y estableció un programa para
captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es
menor que $50 000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que $50
000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar cual será la cuota
que debe pagar un cliente.

14 En una escuela la colegiatura de los alumnos se determina según el numero de materias que
cursan. El costo de todas las materias es el mismo. Se ha establecido un programa para
estimular a los alumnos, el cual consiste en lo siguiente: si el promedio obtenido por un alumno
en el ultimo periodo es mayor o igual que 9, se le hará un descuento del 30% sobre la
colegiatura y no se le cobrara IVA; si el promedio obtenido es menor que 9 deberá pagar la
colegiatura completa, la cual incluye el 10% de IVA. Obtener cuanto debe pagar un alumno.

15 Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones:
Si los ingresos del comprador son menores de $8000 o mas el enganche será del 15% del costo
de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez años. Si los ingresos
del comprador son menos de $8000 o mas el enganche será del 30% del costo de la casa y el
resto se distribuirá en pagos mensuales a pagar en 7 años. La empresa quiere obtener cuanto
debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial.

16. Elabore un algoritmo que lea tres números y los muestre en forma ascendente.

17. Coldeportes Bolívar esta interesada en promover el Básquetbol y para ello desea conocer
personas que tengan las siguientes características:

Edad Menor de 18 años


Estatura Mínima 1.80 cm
Peso Máxima 80 Kg

Elaborar un algoritmo que lea la edad, la estatura y el peso de un deportista y verifique si


cumple o no las condiciones exigidas.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 37
Universidad Tecnológica de Bolívar Fundamentos de Computación

18. Elaborar un algoritmo para calcular el monto de las comisiones que recibirá un vendedor del cual
se tiene su nombre, total unidades vendidas y precio del articulo vendido. El porcentaje de las
comisiones es el siguiente: si el precio del articulo es de $20.000, o menos, la comisión es del
3%, si el precio del articulo es mayor que $20.000 pero menor que $50.000 la comisión será del
5%m si el precio del articulo es mayor o igual que $50.000 la comisión será del 10%.

19. La compañía La Veloz vende tres tipos de automóviles (A, B, C), cada uno de los cuales tiene un
precio de venta y un porcentaje de comisión por ventas diferentes. Elaborar un algoritmo que
calcule el valor de las comisiones que se deben pagar a un determinado vendedor, del cual se
tienen los siguientes datos:

© Nombre del vendedor


© Unidades vendidas del automóvil
© Tipo de automóvil vendida

20. Elaborar un algoritmo que lea el nombre de un empleado, el salario básico por hora y el número
de horas trabajadas durante una semana. Calcule e imprima el salario neto, teniendo en cuenta
que si el número de horas trabajadas es mayor de 40 las horas demás se consideran horas
extras y tienen un recargo del 40%

21. Elabore un algoritmo que calcule la nota definitiva de un estudiante a partir de las siguientes
notas parciales que tienen, cada una un valor en porcentaje: examen escrito (50%), trabajos
(20%), quices (20%), y participación (10%), y averigüe si la nota definitiva es aprobatorio o no.

22. Para un empleado se tienen los siguientes datos:

• Nombre del empleado


• Salario básico por hora
• Horas ordinarias trabajadas
• Horas extras diurnas trabajadas
• Horas extras nocturnas trabajadas
• Horas extras dominicales trabajadas

Elabore un algoritmo que calcule e imprima:

© Nombre del empleado


© Salario neto a pagar
© Valor de la retención en la fuente

Teniendo en cuenta que las horas extras tienen los siguientes recargos:

• Horas extras diurnas 25%


• Horas extras nocturnas 50%
• Horas extras dominicales 75%

Y que el 10% de retención en la fuente se aplica a las horas extras trabajadas, solo si el valor

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 38
Universidad Tecnológica de Bolívar Fundamentos de Computación

devengado por este concepto es superior a $200.000

23. Elaborar un algoritmo que lea el nombre y la edad de una persona. Si la persona puede votar se
debe imprimir el nombre de la persona y el mensaje “Puede votar”, en caso contrario imprimir el
nombre, la edad y el mensaje No puede votar.

24. Suponga que un tren parte de un lugar A hacía un lugar B, los cuales están distantes S1 Km,
con velocidad constante V1. Pero, al llegar a un punto C, el cual está entre A y B, a una
distancia S2 de A, hace una escala de 30 minutos para finalmente partir hacía B con una
velocidad diferente V2.

Al partir el tren de A, sale también un auto con una velocidad V. El cual al llegar a C hace una
escala de 2 horas para finalmente continuar a B con la misma velocidad.

Suponiendo que el auto se mueve en una línea paralela a la del tren, elabore un algoritmo que
averigüe quien llega primero a B.

25. Una compañía ha decidido dar a sus mejores empleados una bonificación por su desempeño.
Esta bonificación se basa en dos criterios: el número de horas extras trabajadas y el número de
horas que el empleado ha estado ausente del trabajo.

La compañía da determinado que se use la siguiente formula para determinar la bonificación: se


restan dos tercios de las horas de ausencia a las horas extras trabajadas y se distribuye la
bonificación de acuerdo con la siguiente tabla:

Resultado Bonificación
40 horas $200.000.oo
30 horas pero <= 40 horas $150.000.oo
20 horas pero <= 30 horas $100.000.oo
10 horas pero <= 20 horas $50.000.oo
<= 10 horas $20.000.oo

Elabore un algoritmo que permita determinar la bonificación que recibirá un empleado


cualquiera de la compañía.

26. A los estudiantes de un curso se le dice que su final será el promedio de las dos calificaciones
más altas de entre las tres que se han tomado. Elabore un algoritmo que permita a un
estudiante cualquiera efectuar el cálculo correspondiente a su nota definitiva. El algoritmo debe
además mostrar un mensaje de aprobado o reprobado según la nota definitiva.

27. Elabore un algoritmo lea tres números (A,B,C) y diga cual es el mayor.

28. Elabore un algoritmo que lea la longitud y el diámetro de una pieza en forma de varilla y muestre
un mensaje que indique si se acepta o rechaza la pieza, de acuerdo con los siguientes criterios:

a. Su longitud debe ser mayor que 7.5 cm pero no puede exceder los 9cm

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 39
Universidad Tecnológica de Bolívar Fundamentos de Computación

b. Su diámetro no debe ser menor que 0.5 cm ni mayor que 1.3 cm


c. Por ningún motivo su masa debe exceder los 5.8 gr (masa = volumen * densidad, densidad
= 3.5 gr/cm).

29. Elabore un algoritmo que calcule las raíces de una ecuación cuadrática de la forma:
ax 2 + bx + c = 0

Siendo:

− b + b 2 − 4ac − b − b 2 − 4ac
a) x1 = x2 = si b 2 -4ac => 0 y a ≠ 0
2a 2a

−c
b) x = si a = 0
b

nota: si b 2 - 4ac < 0 se debe enviar un mensaje que diga Esta ecuación tiene raíces imaginarias.

30. Dado que, debido a la inflación, un peso de mañana es menor que un peso de hoy, las
empresas antes de invertir su dinero en algún negocio calculan los ingresos futuros
transformados en pesos y los comparan con la inversión que se pretende hacer.

C*N
La formula general para el calculo del valor actual es: VA =
(1 + I ) N

Donde: C son los ingresos anuales


I es la tasa de inflación
N son los años en consideración.

Si se conocen los valores de C, i y N y el monto de la inversión, elabore un algoritmo que


averigüe si vale la pena o no hacer dicha inversión.

Nota: La empresa considera que vale la pena hacer la inversión si se tiene una ganancia igual o
superior al 30% del dinero invertido.

31. Existen números que leídos de izquierda a derecha y de derecha a izquierda tienen el mismo
valor. Ejemplo: 404, 1045401,. Elabore un algoritmo que lea un número entero de cinco cifras y
averigüe si tiene la característica aquí mencionada.

32. La administración de impuestos ha cambiado el método para encontrar la retención en la fuente


de un trabajador, en la siguiente forma:

Retención = (salario base)/5 – 400*(número de hijos-2)

Si el empleado tiene dos, o menos hijos, la retención será igual a: salario base/5

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 40
Universidad Tecnológica de Bolívar Fundamentos de Computación

Elabore un algoritmo que calcule la retención en la fuente para un trabajador, del cual se tienen
los siguientes datos: Nombre, Salario base y número de hijos.

33. Se desea calcular el jornal de un trabajador con base en los siguientes datos:

• Código del trabajador


• Salario básico por hora
• Producción mínima diaria
• Producción del día

El calculo del jornal se hace de acuerdo con su salario básico por hora, más una bonificación del
2%, de su salario básico por hora, por el número de unidades de exceso producidas sobre el
mínimo que debe producir. Si un trabajador no sobrepasa la producción mínima no tendrá
bonificación.

Nota: En la empresa se laboran 8 horas diarias.

34. El gerente de la empresa de transportes El Tacaño desea saber el valor a pagar por concepto
del arreglo de uno cualquiera de sus vehículos. El taller Destroyer envía a la empresa la factura
por cada vehículo arreglado, en la cual se encuentra la siguiente información: La placa del
vehículo reparado, el tipo de daño y el costo del mismo. El gerente ha establecido las siguientes
reglas de pago teniendo en cuenta el tipo de daño:

Tipo 1. El gerente paga solamente hasta $100.000


Tipo 2. El gerente paga solamente hasta $300.000
Tipo 3. El gerente paga solamente hasta $500.000

Elabore un algoritmo que muestre la placa del vehículo arreglado, el tipo del daño y el valor a
pagar.

35. El almacén Muebles la Comodidad cobra a sus clientes el último día de cada mes. Si el cliente
paga dentro de los primeros diez días del siguiente mes obtendrá un descuento del 2% de la
deuda o bien de $20.000 dependiendo de cual valor sea el mayor. Si el cliente paga dentro de
los siguientes diez días no tendrá derecho a ningún descuento. Si paga dentro de los restantes
diez días del mes tendrá un recargo del 2% de la deuda o bien de $20.000 dependiendo de cuál
valor sea el menor.

Por cada cliente se tienen los siguientes datos:

• Número de identificación
• Cantidad adeudada

Elabore un algoritmo que tomado como base los datos del cliente y la fecha actual, calcule la
cantidad que tendrá que pagar un cliente cualquiera.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 41
Universidad Tecnológica de Bolívar Fundamentos de Computación

36. Elabore un algoritmo que, dadas las longitudes de tres líneas rectas, averigue si con esas tres
lineas se puede construir un triangulo.

Nota: Tres líneas rectas pueden formar un triangulo si la suma de sus longitudes de dos
cualesquiera es mayor que la longitud de la tercera.

37. Elabore un algoritmo que calcule el grado de eficiencia de un trabajador cualquiera de una
fábrica de tornillos, del cual se tienen los siguientes datos:

• Nombre del trabajador


• Horas ausencia
• Tornillos defectuosos
• Tornillos producidos

Para el cálculo del grado de eficiencia se tendrán en cuenta las siguientes condiciones:

1. ausencia del trabajo <= 3.5 horas


2. tornillos defectuosos < 300
3. tornillos producidos > 10.000

los grados de eficiencia se asignan de la siguiente manera:

© Si no cumple ninguna condición: Grado = 5


© Si solo cumple la primera condición: Grado = 7
© Si solo cumple la segunda condición: Grado = 8
© Si solo cumple la tercera condición: Grado = 9
© Si cumple la primera y segunda condiciones: Grado = 12
© Si cumple la primera y tercera condiciones: Grado = 13
© Si cumple la segunda y tercera condiciones: Grado = 15
© Si cumple las tres condiciones: Grado = 20

38. Se tienen las longitudes de tres líneas rectas. Elabore un algoritmo que averigüe si con esas tres
líneas forman un triangulo, y si lo es, qué tipo de triangulo: equilátero, isósceles o escaleno, y si
es rectángulo o no.

39. Hacer un algoritmo que calcule el área de un triángulo, dados sus lados, utilizando la fórmula:

Area = S ( S − a)( S − b)( S − c)

donde S está dado por: S = (a+b+c)/2

calcular además, el radio del circulo inscrito que es igual a: RCI = Area/S
y el radio del circulo circunscrito: RCC = abc/(a*área)

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 42
Universidad Tecnológica de Bolívar Fundamentos de Computación

Nota: Si la expresión dentro del radical es menor que cero, el área del triangulo no existe.

40. Hacer un algoritmo que dado un número diga si es entero o racional; si el número es racional
calcule su parte entera y siga con los pasos para los enteros dados por el algoritmo. Si es
entero, diga si es par o impar. Si es par multiplíquelo por ¶, y diga si su parte entera es divisible
por 4. Si es impar súmele 1 y diga si también si es divisible por 4.

41. Elabore un algoritmo que evalúe la función:

h / 2 + x ; six ≥ 20
F(x) = X! Si 0 ≤ x <20
x8 − x5 si x < 0

Nota: El factorial del número debe ser aproximado por la fórmula:

X! = 2hx( x / e) x (1 + 1 /(12 x)) e = 2.718281828

42. Hallar el valor de R de acuerdo con la siguiente relación:

R = (ab)/(cd) Si xy > 0
R = (a+b)/(c+d) Si xy = 0
R = (a+b)-(c+d) Si xy < 0

43. realice un algoritmo para averiguar si un dato se encuentra en cierto intervalo abierto.

44. En un grupo se toman 23 notas parciales; la primera vale 30%, la segunda el 40% y la tercera el
30%. Elabore un algoritmo que en primer lugar calcule la nota definitiva de cualquier estudiante
y diga si su nota es aprobatoria o no. En segundo lugar el algoritmo debe realizar lo siguiente:
averiguar si con las dos primeras notas el estudiante ya tenía la materia ganada o no, si la tenía
ganada calcule la nota mínima que debía sacar en el tercer parcial para aprobar la materia.

45. Un joven muy creativo, seguramente usted también lo es, ha creado una alarma y desea hacer
un algoritmo que diga cuando debe estar encendida y cuándo no. Las condiciones son las
siguientes:

a. Cuando la presión es de por lo menos 25 libras, la alarma debe estar encendida


b. Cuando la temperatura excede los 75º C o esta por debajo de los 101C la alarma debe estar
encendida
c. En cualquier otro caso la alarma debe estar apagada.

Ayude al joven a elaborar el algoritmo

46. Elabore un algoritmo que dado un año escrito en cifras arábigas, muestre el año escrito en
números romanos, dentro del rango de 1000 a 2000

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 43
Universidad Tecnológica de Bolívar Fundamentos de Computación

Nota: recuerde que I=1, V=5, X=10, L=50, C=100, D=500, M=1000.

47. Los buzos con equipo autónomo deben realizar pausas para descompensación durante el
ascenso si se sumergen por largos períodos de tiempo. La siguiente tabla muestra las pausas
para descompresión en inmersiones de 70 y 80 pies y los tiempos de descompensación
requeridos:

70 pies de profundidad:

Tiempo sumergido Descompresión


100 Una pausa de 33 min. A 10 pies
110 Una pausa de 2 min. A 20 pies y una de 41 min. A 10 pies
120 Una pausa de 4 min. A 20 pies y una de 47 min. A 10 pies
130 Una pausa de 6 min. A 20 pies y una de 52 min. A 10 pies

80 pies de profundidad:

Tiempo sumergido:
100 Una pausa de 52 min. A 20 pies y una de 46 min. A 10 pies
110 Una pausa de 13 min. A 20 pies y una de 53 min. A 10 pies
120 Una pausa de 17 min. A 20 pies y una de 56 min. A 10 pies
130 Una pausa de 19 min. A 20 pies y una de 63 min. A 10 pies

Elabore un algoritmo que tome como datos de entrada la profundidad en pies y la duración en
minutos de la inmersión y determine los tiempos de descompresión apropiados y el tiempo total
aproximado que pasará el buzo sumergido.

48. A los estudiantes de un grupo de algoritmos se les dice que su nota definitiva será calculada a
partir de cuatro notas parciales que tendrán los siguientes valores: 25% cada una si todas son
aprobadas; si la primera se pierde y las otras se ganan, la primera valdrá 10% y las otras 30%
c/u; si las dos primeras se pierden y las dos últimas se ganan, las dos primeras valdrán 20% c/u
y las dos últimas valdrán 30% c/u; en cualquier otro caso las dos primeras tendrán un valor de
30% c/u y las dos últimas 20% c/u.

A usted se le pide que elabore un algoritmo que permita a uno cualquiera de los estudiantes
calcular su nota definitiva.

49. En un grupo de algoritmos se tomaron 4 notas, con igual valor, para obtener la nota definitiva.
Elabore el algoritmo que calcule e imprima la nota definitiva de un estudiante cualquiera y un
mensaje que indique la categoría en la que está clasificado el estudiante de acuerdo con su
nota, según la siguiente tabla:

Nota Definitiva Clasificación


0.6 – 0.9 Decepcionante
1.0 – 1.9 Muy deficiente
2.0 – 2.9 Deficiente
3.0 – 3.5 Satisfactorio

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 44
Universidad Tecnológica de Bolívar Fundamentos de Computación

3.6 – 4.0 Alto


4.1 – 4.5 Muy alto
4.6 – 5.0 Sobresaliente

50. Dada la siguiente función discreta:

(-2) n Para n = 1,2,3,-3,-4,-2,-1


F(n) = -1 Para n = 0
(-1) 2 n Para otro caso

Elabore un algoritmo que calcule el valor de la función para un valor cualquiera de n.

51. Suponga que el sueldo básico de un trabajador es:

S = HT * 2.500 + 5.000

Donde: HT son las horas trabajadas

Al sueldo debe descontarse una cuota de seguro social. Este descuento varía de acuerdo con el
tipo de empleado asegurado así:

Tipo de empleado Descuento


1 $3.000
2 $2.500
3 $2.000
4 $1.500
5,6,7 $1.000

Si el tipo de empleado no es ninguno de los anteriores, no hay descuento.

Diseñe un algoritmo que, dadas las horas trabajadas y el tipo de empleado, calcule e imprima su
sueldo básico, su descuento y su sueldo neto a pagar.

52. Un almacén ha decidido dar, por motivo de su aniversario, un descuento a sus clientes de
acuerdo con el tipo de productos que lleve. Si el articulo tiene un precio menor que $2.000 no
obtiene ningún descuento. Si él artículo vale más de $55.000 se le concede un descuento del
50%. los descuentos de los artículos cuyos precios fluctúan entre $2.000 y $55.000 vienen
dados por la siguiente tabla:

Precio del artículo Descuento


2.000 – 10.000 10%
10.000 – 25.000 20%
25.000 - 40.000 30%
40.000 – 55.000 40%

Haga un algoritmo para que dado el precio de un artículo imprima el descuento del artículo y el

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 45
Universidad Tecnológica de Bolívar Fundamentos de Computación

total a pagar por el cliente.

53. Escriba un algoritmo que calcule el volumen de cierta figura geométrica según se indica:

Esfera: Volumen = 4¶ r 2 / 3
Cilindro: Volumen = ¶ r 2 h
Cubo: Volumen = l 3

El algoritmo debe leer una variable que indique a qué cuerpo debe hallarse el volumen y luego
leer las variables necesarias para hacer dicho cálculo.

54 El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que consiste en
que los dueños de la empresa deben obligatoriamente depositar en una cuenta bancaria un
porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden solicitar a la
empresa que deposite directamente una cuota fija o un porcentaje de su salario en la cuenta del
SAR, la cual le será descontada de su pago. Un trabajador que ha decidido aportar a su cuenta
del SAR desea saber la cantidad total de dinero que estará depositado a esa cuenta cada mes,
y el pago mensual que recibirá.

55 Una persona desea iniciar un negocio, para lo cual piensa verificar cuanto dinero le prestara el
banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere disponer de ella a
menos que el monto por hipotecar su casa sea muy pequeño. Si el monto de la hipoteca es
menor que $1 000 000 entonces invertirá el 50% de la inversión total y un socio invertirá el otro
50%. Si el monto de la hipoteca es de $ 1 000 000 o mas, entonces invertirá el monto total de la
hipoteca y el resto del dinero que se necesite para cubrir la inversión total se repartirá a partes
iguales entre el socio y el.

56 El Alcalde de Cartagena desea reforestar la Popa que mide determinado numero de hectáreas.
Si la superficie del terreno excede a 1 millón de metros cuadrados, entonces decidirá sembrar
de la siguiente manera:
Porcentaje de la superficie de la Popa Tipo de árbol
70% Mata ratón
20% Cañas
10% Mango

Si la superficie del terreno es menor o igual a un millón de metros cuadrados, entonces decidirá
sembrar de la siguiente manera:
Porcentaje de la superficie de la Popa Tipo de árbol
50% Mata ratón
30% Cañas
20% Mango

El gobierno desea saber el numero de Mata Ratones, Cañas y Mangos que tendrá que sembrar
en la Popa, si se sabe que en 10 metros cuadrados caben 8 Mata Ratones, en 15 metros
cuadrados caben 15 Cañas y en 18 metros cuadrados caben 10 Mangos. También se sabe que
una hectárea equivale a 10 mil metros cuadrados.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 46
Universidad Tecnológica de Bolívar Fundamentos de Computación

57 Una fabrica ha sido sometida a un programa de control de contaminación para lo cual se


efectúa una revisión de los puntos IMECA generados por la fabrica. El programa de control de
contaminación consiste en medir los puntos IMECA que emite la fabrica en cinco días de una
semana y si el promedio es superior a los 170 puntos entonces tendrá la sanción de parar su
producción por una semana y una multa del 50% de las ganancias diarias cuando no se detiene
la producción. Si el promedio obtenido de puntos IMECA es de 170 o menor entonces no tendrá
ni sanción ni multa. El dueño de la fabrica desea saber cuanto dinero perderá después de ser
sometido a la revisión.

58 Una persona se encuentra con un problema de comprar un automóvil o un terreno, los cuales
cuestan exactamente lo mismo. Sabe que mientras el automóvil se devalúa, con el terreno
sucede lo contrario. Esta persona comprara el automóvil si al cabo de tres años la devaluación
de este no es mayor que la mitad del incremento del valor del terreno. Ayúdale a esta persona a
determinar si debe o no comprar el automóvil.

59 En una fabrica de computadoras se planea ofrecer a los clientes un descuento que dependerá
del numero de computadoras que compre. Si las computadoras son menos de cinco se les dará
un 10% de descuento sobre el total de la compra; si el numero de computadoras es mayor o
igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o mas se les da
un 40% de descuento. El precio de cada computadora es de $11,000

60 En una llantería se ha establecido una promoción de las llantas marca “Ponchadas”, dicha
promoción consiste en lo siguiente:
Si se compran menos de cinco llantas el precio es de $300 cada una, de $250 si se compran de
cinco a 10 y de $200 si se compran mas de 10.
Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las llantas que
compra y la que tiene que pagar por el total de la compra.

61 En un juego de preguntas a las que se responde “Si” o “No” gana quien responda correctamente
las tres preguntas. Si se responde mal a cualquiera de ellas ya no se pregunta la siguiente y
termina el juego. Las preguntas son:
1. Colon descubrió América?
2. La independencia de México fue en el año 1810?
3. The Doors fue un grupo de rock Americano?

62 Un proveedor de estéreos ofrece un descuento del 10% sobre el precio sin IVA, de algún
aparato si este cuesta $2000 o mas. Además, independientemente de esto, ofrece un 5% de
descuento si la marca es “NOSY”. Determinar cuanto pagara, con IVA incluido, un cliente
cualquiera por la compra de su aparato.

63 Una frutería ofrece las manzanas con descuento según la siguiente tabla:
NUM. DE KILOS COMPRADOS % DESCUENTO
0 - 2 0%
2.01 - 5 10%
5.01 - 10 15%
10.01 en adelante 20%

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 47
Universidad Tecnológica de Bolívar Fundamentos de Computación

Determinar cuanto pagara una persona que compre manzanas es esa frutería.

64 El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente
año. La manera de planificarlas depende de lo siguiente:

Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo bancario para
que su nuevo saldo sea de $10 000. Si su capital tiene actualmente un saldo positivo pedirá un
préstamo bancario para tener un nuevo saldo de $20 000, pero si su capital tiene actualmente
un saldo superior a los $20 000 no pedirá ningún préstamo.
Posteriormente repartirá su presupuesto de la siguiente manera.
$5 000 para equipo de computo
$2 000 para mobiliario
y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos
al personal.
Desplegar que cantidades se destinaran para la compra de insumos e incentivos al personal y,
en caso de que fuera necesario, a cuanto ascendería la cantidad que se pediría al banco.

65 Tomando como base los resultados obtenidos en un laboratorio de análisis clínicos, un medico
determina si una persona tiene anemia o no, lo cual depende de su nivel de hemoglobina en la
sangre, de su edad y de su sexo. Si el nivel de hemoglobina que tiene una persona es menor
que el rango que le corresponde, se determina su resultado como positivo y en caso contrario
como negativo. La tabla en la que el medico se basa para obtener el resultado es la siguiente:

EDAD NIVEL HEMOGLOBINA


0 - 1 mes 13 - 26 g%
> 1 y < = 6 meses 10 - 18 g%
> 6 y < = 12 meses 11 - 15 g%
> 1 y < = 5 años 11.5 - 15 g%
> 5 y < = 10 años 12.6 - 15.5 g%
> 10 y < = 15 años 13 - 15.5 g%
mujeres > 15 años 12 - 16 g%
hombres > 15 años 14 - 18 g%

66 Una institución educativa estableció un programa para estimular a los alumnos con buen
rendimiento académico y que consiste en lo siguiente:
• Si el promedio es de 9.5 o mas y el alumno es de preparatoria, entonces este podrá cursar
55 unidades y se le hará un 25% de descuento.
• Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de preparatoria,
entonces este podrá cursar 50 unidades y se le hará un 10% de descuento.
• Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, este podrá
cursar 50 unidades y no tendrá ningún descuento.
• Si el promedio es de 7 o menor, el numero de materias reprobadas es de 0 a 3 y el alumno
es de preparatoria, entonces podrá cursar 45 unidades y no tendrá descuento.
• Si el promedio es de 7 o menor, el numero de materias reprobadas es de 4 o mas y el
alumno es de preparatoria, entonces podrá cursar 40 unidades y no tendrá ningún
descuento.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 48
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podrá cursar


55 unidades y se le hará un 20% de descuento.
• Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podrá cursar 55
unidades y no tendrá descuento.

Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos de profesional
es de $300 por cada cinco unidades y para alumnos de preparatoria es de $180 por cada cinco
unidades.

67 Que lea tres números diferentes y determine el numero medio del conjunto de los tres números
(el numero medio es aquel numero que no es ni mayor, ni menor).

68 A los estudiantes de un grupo de lógica se les dice que su nota definitiva será calculada a partir
de 4 notas parciales que tendrán los siguientes valores:

• 25% cada una si todas son aprobadas


• Si una se pierde y las otras se ganan, la perdida valdrá 10% y las otras 30% c/u
• Si se pierden 2 y las otras 2 se ganan, las 2 perdidas valdrán 20% c/u y las otras 30%
• En cualquier otro caso las dos primeras tendrán un valor de 30% c/u y las otras 20% c/u

A usted se le pide que elabore un algoritmo que permita a uno cualquiera de los estudiantes
calcular su nota definitiva.

2.3 Estructuras Repetitivas

Se presentan una serie de problemas donde un conjunto de instrucciones o tareas se deben realizar
varias veces.

2.3.1 Mientras

La estructura repetitiva mientras es aquella en que el cuerpo del bucle se repite mientras se cumple
una determinada condición.

No
condición

Si
Acciones
(una salida)

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 49
Universidad Tecnológica de Bolívar Fundamentos de Computación

Cuando se ejecuta la instrucción mientras, la primera acción que se lleva a cabo es la evaluación de
la condición.
• Si la evaluación es falsa, el flujo de control sigue con la instrucción inmediatamente que
indica la salida del ciclo.
• Si la expresión es verdadera, entonces se ejecuta el conjunto de instrucciones dentro del
bucle del mientras, después de lo cual se evalúa de nuevo la expresión booleana. Este
proceso se repite una y otra vez mientras la expresión booleana sea verdadera.

2.3.2 Repetir

En muchas situaciones es necesario que un grupo de instrucciones se ejecute al menos una vez
antes de comprobar la condición de repetición.

Acciones

condición Verdadera

Falsa

La estructura repetir se ejecuta hasta que se cumpla una condición determinada que se comprueba
al final del bucle. El bucle repetir-hasta_que se repite mientras el valor de la expresión booleana de
la condición sea falsa, exactamente lo contrario de la orden mientras.

2.3.3 Para

Cuando se conoce de antemano el numero de veces que una acción se debe repetir se debe hacer
uso de la estructura Para. Dicha estructura ejecuta las acciones dentro del bucle un numero
determinado de veces y de manera automática controla el numero de iteraciones o veces que se
ejecuta a través del cuerpo del bucle.

En una estructura Para:

1. La variable indice toma el valor indicado por Valor_inicial


2. Se ejecutan las acciones ubicadas dentro del bucle
3. Se incrementa la variable indice en el valor indicado por incremento
4. Se verifica que indice halla alcanzado el valor indicado por Valor_final
a. Si es igual se sale del bucle
b. Si es menor vuelve y se repite el paso 2

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 50
Universidad Tecnológica de Bolívar Fundamentos de Computación

Indice = Valor_inicial
Indice = Inicial,
Final Incremento

Verdadero
Indice > Valor_final
Acciones

Falso
Acciones

Incrementar indice

2.3.4 Problemas Resueltos

1 En el ejemplo de la nómina simplificado sólo se consideró un empleado, prepare un algoritmo


para resolver dicho problema pero para 34 empleados.

R: Valor de una hora H: Número de horas laboradas


D: Valor deducciones G: Salario bruto
P: Salario neto, cheque contiene este valor
Contador: variable para controlar que el
ciclo se ejecute 34 veces

(una entrada)

Contador = 0
Incremente
contador en 1

F
Contador < 34 V

(una salida) Suministre R, H, D

G=R*H

P=G=D

Imprima cheque

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 51
Universidad Tecnológica de Bolívar Fundamentos de Computación

2 Prepare un algoritmo para realizar un procedimiento 100 veces.


(una entrada)

Contador = 0

F V
Contador
<100

(una salida) procedimiento

Incremente
contador en 1

3 Prepare un algoritmo para encontrar el promedio de N números.

Suma: Variable acumulador donde se almacena la suma de los valores


suministrados al programa
Contador: variable para controlar que el ciclo se ejecute N veces

Contador = 0
Suma = 0
Suministre el valor de N

F
V
Contador < N

Divida la suma por N


Imprima el promedio Suministre un número
Adiciónelo a la suma
Incremente contador en 1

(una salida)

4 Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Fundamentos de


Computación

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 52
Universidad Tecnológica de Bolívar Fundamentos de Computación

Inicio
Sum=0
Leer Nom
Para c = 1 Hasta 7 Incremento 1 Hacer
Leer calif
Sum = sum + calif
Fin-para
prom = sum / 7
Imprimir prom
Fin.

5 Leer 10 números y obtener su cubo y su cuarta.


Inicio
Para n = 1 Hasta 10 Incrementos 1 Hacer
Leer num
cubo = num * num * num
cuarta = cubo * num
Imprimir cubo, cuarta
Fin-para
Fin.

6 Leer 10 números e imprimir solamente los números positivos


Inicio
Para n = 1 Hasta 10 Incremento 1 Hacer
Leer num
Si num > 0 entonces
Imprimir num
fin-si
Fin-para
Fin.

7 Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos neutros.
Inicio
cn = 0
cp = 0
cneg = 0
Para x = 1 Hasta 20 Incrementos 1 Hacer
Leer num
Sin num = 0 entonces
cn = cn + 1
si no
Si num > 0 entonces
cp = cp + 1
si no
cneg = cneg + 1
Fin-si
Fin-si

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 53
Universidad Tecnológica de Bolívar Fundamentos de Computación

Fin-para
Imprimir cn, cp, cneg
Fin.

8 Leer 15 números negativos y convertirlos a positivos e imprimir dichos números.


Inicio
Para x = 1 Hasta 15 Incrementos 1 Hacer
Leer num
pos = num * -1
Imprimir num, pos
Fin-para
Fin.

9 Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos. Realizar un


algoritmo para calcular la calificación media y la calificación mas baja de todo el grupo.
Inicio
sum = 0
baja = 9999
Para a = 1 Hasta 40 Incrementos 1 Hacer
Leer calif
sum = sum + calif
Si calif < baja entonces
baja = calif
fin-si
Fin-para
media = sum / 2
Imprimir media, baja
fin

10 Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimir el multiplicando, el


multiplicador y el producto.
Inicio
Leer num
Para X = 1 Hasta 10 Incrementos 1 Hacer
resul = num * x
Imprimir num, “ * “, X, “ = “, resul
Fin-para
fin.

11 Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un


día desde las 0:00:00 horas hasta las 23:59:59 horas
Inicio
Para h = 1 Hasta 23 Incrementos 1 Hacer
Para m = 1 Hasta 59 Incrementos 1 Hacer
Para s = 1 Hasta 59 Incrementos 1 Hacer
Imprimir h, m, s
Fin-para

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 54
Universidad Tecnológica de Bolívar Fundamentos de Computación

Fin-para
Fin-para
fin.

12 Leer 1500 números negativos y convertirlos a positivos e imprimir dichos números.


INICIO

Q=0

Pos = Pos * (-1)

Pos

Q=Q+1

V
Q < 1500

FIN

13 Calcular e imprimir la tabla de multiplicar de un número cualquiera, imprimir el multiplicando, el


multiplicador y el producto.
INICIO

C=1

Tabla = n * C
C=C+1
“Multiplicando” n

V “Multiplicador” C
C <= n
“Producto” Tabla
F

FIN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 55
Universidad Tecnológica de Bolívar Fundamentos de Computación

14 Dados a y b, informar los primeros n múltiplos de a.

INICIO

Q=0

a n

Ma = Ma + a

Ma

Q=Q+1

V
Q<n

FIN

15 Dados a y b, informar el producto de ambos por sumas sucesivas.

INICIO

Q=0

a b

Prod = Prod + a

Q=Q+1

V
Q<n

Prod

FIN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 56
Universidad Tecnológica de Bolívar Fundamentos de Computación

16 Una persona debe realizar un muestreo con 50 personas para determinar el promedio de peso
de los niños, jóvenes, adultos y viejos que existen en su zona habitacional. Se determinan las
categorías con base en la siguiente tabla:
CATEGORÍA EDAD
Niños 0 – 12
Jóvenes 13 – 29
Adultos 30 – 59
Viejos 60 en adelante
INICIO

Q=0

Edad , Peso

V
Edad <= 12 niños = niños + Peso

V
Edad >=13 and Edad <= 29 jóvenes = jóvenes + Peso

V
Edad >=30 and Edad <= 59 adultos = adultos +1

viejos = viejos + 1

Q=Q+1

V
Q < 50

Pniños = niños/50 * 100

Pjovenes = jovenes/50 *100

Padultos = adultos/50 * 100

Pviejos = viejos/50 * 100

Pniños , Pjovenes , Padultos , Pviejos

FIN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 57
Universidad Tecnológica de Bolívar Fundamentos de Computación

17 La presión, volumen y temperatura de una masa de aire se relacionan por la formula:

masa = presión * volumen .


0.37 * (temperatura + 460)

Calcular el promedio de masa de aire de los neumáticos de 100.000 vehículos que están en
compostura en un servicio de alineación y balanceo a los cuales se les lee: presión, volumen y
temperatura
.
INICIO

Q=0

presión, volumen , temperatura

Masa = (presion * volumen)/0.37* (temperatura + 460)

C = C + masa

Q=Q+1

V
Q < 100.000

PC = C/100.000

PC

FIN

18 Se tiene un conjunto de 1000 tarjetas cada una contiene la información del censo para una
persona:

1. numero de censo.
2. sexo.
3. edad.
4. estado civil (a – soltera, b – casada, c – viudo, d – divorciado.).
Se requiere saber el numero de todas las jóvenes solteras que estén entre 16 y 21 años.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 58
Universidad Tecnológica de Bolívar Fundamentos de Computación

INICIO

Q=0

sexo, edad, civil

V
sexo = H

civil = a F

F
Edad >=16 and Edad <= 21

mujer = mujer + 1

Q=Q+1

V
Q < 1.000

mujer

FIN

19 Se lee el valor de un ángulo expresado en radianes y calcule e imprima el valor del seno de
dicho ángulo. Se tiene una buena aproximación con los 20 primeros términos de la serie.

SEN(X) = X – (X3 / 3!) + (X5 / 5!) - (X7 / 7!) + …

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 59
Universidad Tecnológica de Bolívar Fundamentos de Computación

INICIO

C = 1, π = 180, n = 1, C = 1, C2 = 1, C3 = 0, fact = 1

Fact = fact * C
C=C+1

V
C <= n

V
C2 = 1 SumPos = SumPos + ((X^n) / fact

F
C2 = C2 + 1
SumNeg = SumNeg + ((X^n) / fact

C2 = 1

C3 = C3 + 1
n=n+2

V
C3 < 20

SEN = SumPos - SumNeg

SEN

FIN

20 Se requiere imprimir el pago de 102 trabajadores que laboran en la Cía. GACMAN. Los datos
que se leerán serán los siguientes:
a) Las horas trabajadas.
b) El sueldo por hora.
c) El tipo de trabajador (1. Obrero, 2. Empleado)
Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 60
Universidad Tecnológica de Bolívar Fundamentos de Computación

Para calcular los pagos considere lo siguiente:


- los obreros pagan 10 % de impuesto.
- Los empleados pagan 10 % de impuesto.
- Los trabajadores (obreros y empleados) que reciban un pago menor de
100.000 pesos no pagan impuesto.
- Al final se deberá imprimir el total a pagar a los trabajadores y a los
empleados.
INICIO

Q=0

HT, SH, TT

PT = HT * SH

V V
TT = 1 PT < 100.000

F F

V D = PT / 100 *10 PO = PT
PT < 100.000

F PO = PT - D
PE = PT D = PT / 100 *10
PO
PE = PT - D

TPO = TPO + PO
PE

TPE = TPE + PE

Q=Q+1

V
Q < 102

TPE, TPO

FIN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 61
Universidad Tecnológica de Bolívar Fundamentos de Computación

21 Dado N calcular: (11) + (22) + (33) + ...+ (NN)?

INICIO

Q = 1, N1= 1

T = T + (N1^N1)

N1 = N + 1
Q=Q+1

V
Q <= N

FIN

22 ¿Dado N y X calcular: X1/1 + X3/3 + X5/5 + ... X(2n)-1/(2n)-1?

INICIO

Q = 1, n= 1, C = 1

x n

Sum = Sum + (x^c) / C

C=C+2
P = (2n)-1

V
n<P

sum

FIN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 62
Universidad Tecnológica de Bolívar Fundamentos de Computación

23 Un número entero positivo se dice perfecto si es igual a la suma de todos sus divisores excepto
el mismo. Ejemplo; los números 6 (1+2+3), 28 (1+2+7+14) y 496
(1+2+4+8+16+31+62+124+248) son perfectos. Determinar los 200 números perfectos.

INICIO

n=1

Q=1

V
n mod Q = 0 Div = Div + Q

Q=Q+1

P=n-1

V
Q<P

Div > P n

Q=Q+1

P=n-1

V
N < 200

FIN

24 Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un 15% de
descuento si compran mas de 10 Kilos. Determinar cuanto pagara cada cliente y cuanto
percibirá la tienda por esas compras.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 63
Universidad Tecnológica de Bolívar Fundamentos de Computación

INICIO

Q=0

VK, K

TC = VK * K

F
K > 10

D = TC / 100 *15 TP = TC

TP = TC – D

TP

TT = TT + TP

Q=Q+1

V
Q < 15

TT

FIN

25 Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros durante 10 días
y registrando el tiempo empleado, para determinar si es apto para la prueba de 5 kilómetros o
debe buscar otra especialidad. Para considerarlo apto debe cumplir por lo menos una de las
siguientes condiciones:

- Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.


- Que al menos en una de las pruebas realice un tiempo menor de 11 minutos.
- Que su promedio de tiempos sea menor o igual a 15 minutos.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 64
Universidad Tecnológica de Bolívar Fundamentos de Computación

INICIO

Q=0

V
t > 16 tmayor = tmaor + 1

F
t < 11

tmenor = tmenor + 1

Pt = Pt + t

Q=Q+1

V
Q < 10

Tp = Pt / 15

V
Tp <= 15 TP1 = TP1 + 1

F Tmayor >=1 or tmenor >=1 or TP1 >= 1 V


“No Acto” “Acto”

INICIO

26 Evaluar la función F(x) = x + 1/x para cada uno de los 100 primeros números naturales y
múltiplos de 7.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 65
Universidad Tecnológica de Bolívar Fundamentos de Computación

INICIO

X=1

V
X mod 7 = 0 Y = X + (1 / X)

F
X Y

X = X +1

V
n<P

FIN

27 Dado n, informar los n primeros términos de la sucesión geométrica de razón 3 (1, 3, 9, 27, etc)

INICIO

Q=0

Razon = Razon *3

Razon

Q=Q+1

V
Q<n

FIN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 66
Universidad Tecnológica de Bolívar Fundamentos de Computación

28 Calcular: X – (X2) / 2 + (X3) / 3 – (X4) / 4 ... (XN) / N

INICIO

n = 1, Q = 0, C = 1

X, n

V
C=1 SumPos = SumPos + ((X^n) / n

F
C=C+1
SumNeg = SumNeg + ((X^n) / n

C=1

Q = Q +1
n=n+1

V
Q<n

SumTo = SumPos - SumNeg

SumTo

FIN

29 Un zoólogo pretende determinar el porcentaje de animales que hay en las siguientes tres
categorías de edades: de 0 a 1 año, de mas de 1 año y menos de 3 y de 3 o mas años. El
zoológico todavía no esta seguro del animal que va estudiar. Si se decide por elefantes solo
tomara una muestra de 20 de ellos si se decide por las jirafas tomara quince muestras, y si son
chimpancés tomara 40.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 67
Universidad Tecnológica de Bolívar Fundamentos de Computación

INICIO

Q=0

animal

V
Animal = E
Muestra = 1
F

F
Animal = J Muestra = 40

Muestra = 15

Edad

V
Edad1 = Edad1 + 1 Edad >= 0 and Edad <= 1

V
Edad > 1 and Edad < 3 Edad2 = Edad2 + 1

Edad3 = Edad3 + 1

Q=Q+1
PorEdad1 = ((edad1/ muestra) *100

PorEdad2 = ((edad2/ meuesttra)*100


V F
Q < muestra PorEdad3 = ((edad3/ meuesttra)* 00

PorEdad1, PorEdad2, PorEdad3

Fin

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 68
Universidad Tecnológica de Bolívar Fundamentos de Computación

30 Calcula el coseno para cualquier ángulo dado en radianes mediante la siguiente expresión:

x2 x4 x6
cos( x) = 1 − + − + ... Nota: una buena aproximación exige 40 términos.
2! 4! 6!

INICIO

C = 1, π = 180, n = 0, C = 1, C2 = 1, C3 = 0, fact = 1

Fact = fact * C
C=C+1

V
C <= n

V
C2 = 1 SumPos = SumPos + ((X^n) / fact

F
C2 = C2 + 1
SumNeg = SumNeg + ((X^n) / fact

C2 = 1

C3 = C3 + 1
n=n+2

V
C3 < 40

COS = SumPos - SumNeg

COS

FIN

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 69
Universidad Tecnológica de Bolívar Fundamentos de Computación

2.3.5 Problemas Propuestos

1 Calcule la suma de los términos de la serie FIBONACCI cuyos valores se encuentran entre 100
y 10,000.

2 Elaborar un algoritmo que imprima los N primeros números naturales

3 Elaborar un algoritmo que imprima los números pares comprendidos entre 1 y N

4 Elaborar un algoritmo que imprima los números impares comprendidos entre 1 y N.

5 Elaborar un algoritmo que lea un número entero positivo y obtenga los múltiplos de X
comprendidos entre X y el número leído.

6 Elaborar un algoritmo que lea un número entero positivo y obtenga todos los divisores del
número leído.

7 Elaborar un algoritmo que obtenga los primeros N números primos (enteros positivos).

8 Elaborar un algoritmo que imprima la suma de los primeros N números naturales.

9 Elaborar un algoritmo que imprima la suma de los primeros N números pares positivos.
10 Elaborar un algoritmo que calcule la calificación promedio de un números (desconocido) de
estudiantes.

11 Elaborar un algoritmo que lea N parejas de números, por cada pareja debe imprimir el mayor y el
menor. Imprima un mensaje especial si los números son iguales.

12 Elaborar un algoritmo que lea N ternas de números, por cada terna debe imprimir el mayor y el
menor. Imprima un mensaje especial si por lo menos hay dos números iguales.

13 Una persona debe realizar un muestreo con 50 personas para determinar el promedio de peso
de los niños, jóvenes, adultos y viejos que existen en su zona habitacional. Se determinan las
categorías con base en la siguiente tabla:
CATEGORIA EDAD
Niños 0 - 12
Jóvenes 13 - 29
Adultos 30 - 59
Viejos 60 en adelante

14 Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un 15% de
descuento si compran mas de 10 kilos. Determinar cuanto pagara cada cliente y cuanto
percibirá la tienda por esas compras.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 70
Universidad Tecnológica de Bolívar Fundamentos de Computación

15 En un centro de verificación de automóviles se desea saber el promedio de puntos


contaminantes de los primeros 25 automóviles que lleguen. Asimismo se desea saber los
puntos contaminantes del carro que menos contamino y del que mas contamino.

16 Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros durante 10 días,
para determinar si es apto para la prueba de 5 Kilómetros o debe buscar otra especialidad. Para
considerarlo apto debe cumplir por lo menos una de las siguientes condiciones:
- Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.
- Que al menos en una de las pruebas realice un tiempo mayor a 16 minutos.
- Que su promedio de tiempos sea menor o igual a 15 minutos.

17 Un Zoólogo pretende determinar el porcentaje de animales que hay en las siguientes tres
categorías de edades: de 0 a 1 año, de mas de 1 año y menos de 3 y de 3 o mas años. El
zoológico todavía no esta seguro del animal que va a estudiar. Si se decide por elefantes solo
tomara una muestra de 20 de ellos; si se decide por las jirafas, tomara 15 muestras, y si son
chimpancés tomara 40.

18 Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la
semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por
comisiones de sus ventas. El gerente de su compañía desea saber cuanto dinero obtendrá en la
semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto
tomando en cuenta su sueldo base y sus comisiones.

19 En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que
laboran en ella. El salario se obtiene de la siguiente. forma:
Si el obrero trabaja 40 horas o menos se le paga $20 por hora
Si trabaja mas de 40 horas se le paga $20 por cada una de las primeras 40 horas y $25 por
cada hora extra.

20 Determinar cuantos hombres y cuantas mujeres se encuentran en un grupo de n personas,


suponiendo que los datos son extraídos alumno por alumno.

21 La secretaria de Salud Distrital y Transito desea saber, de los n autos que entran a la ciudad de
Cartagena, cuantos entran con calcomanía de cada color. Conociendo el ultimo dígito de la
placa de cada automóvil se puede determinar el color de la calcomanía utilizando la siguiente
relación:

DÍGITO COLOR
1o2 amarilla
3o4 rosa
5o6 roja
7o8 verde
9o0 azul

22 Obtener el promedio de calificaciones de un grupo de n alumnos.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 71
Universidad Tecnológica de Bolívar Fundamentos de Computación

23 Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés. Cual será
la cantidad de dinero que esta persona tendrá al cabo de un año si la ganancia de cada mes es
reinvertida?.

24 Calcular el promedio de edades de hombres, mujeres y de todo un grupo de alumnos.

25 Encontrar el menor valor de un conjunto de n números dados.

26 Encontrar el mayor valor de un conjunto de n números dados.

27 En un supermercado un cajero captura los precios de los artículos que los clientes compran e
indica a cada cliente cual es el monto de lo que deben pagar. Al final del día le indica a su
supervisor cuanto fue lo que cobro en total a todos los clientes que pasaron por su caja.

28 Cinco miembros de un club contra la obesidad desean saber cuanto han bajado o subido de
peso desde la ultima vez que se reunieron. Para esto se debe realizar un ritual de pesaje en
donde cada uno se pesa en diez básculas distintas para así tener el promedio mas exacto de su
peso. Si existe diferencia positiva entre este promedio de peso y el peso de la ultima vez que se
reunieron, significa que subieron de peso. Pero si la diferencia es negativa, significa que
bajaron. Lo que el problema requiere es que por cada persona se imprima un letrero que diga:
“SUBIO” o “BAJO” y la cantidad de kilos que subió o bajo de peso.

29 Se desea obtener el promedio de g grupos que están en un mismo año escolar; siendo que
cada grupo puede tener n alumnos que cada alumno puede llevar m materias y que en todas las
materias se promedian tres calificaciones para obtener el promedio de la materia. Lo que se
desea desplegar es el promedio de los grupos, el promedio de cada grupo y el promedio de
cada alumno.

30 En una tienda de descuento las personas que van a pagar el importe de su compra llegan a la
caja y sacan una bolita de color, que les dirá que descuento tendrán sobre el total de su
compra. Determinar la cantidad que pagara cada cliente desde que la tienda abre hasta que
cierra. Se sabe que si el color de la bolita es roja el cliente obtendrá un 40% de descuento; si es
amarilla un 25% y si es blanca no obtendrá descuento.

31 En un supermercado una ama de casa pone en su carrito los artículos que va tomando de los
estantes. La señora quiere asegurarse de que el cajero le cobre bien lo que ella ha comprado,
por lo que cada vez que toma un articulo anota su precio junto con la cantidad de artículos
iguales que ha tomado y determina cuanto dinero gastara en ese articulo; a esto le suma lo que
ira gastando en los demás artículos, hasta que decide que ya tomo todo lo que necesitaba.
Ayúdale a esta señora a obtener el total de sus compras.

32 Un teatro otorga descuentos según la edad del cliente. determinar la cantidad de dinero que el
teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los niños menores
de 5 años no pueden entrar al teatro y que existe un precio único en los asientos. Los
descuentos se hacen tomando en cuenta el siguiente cuadro:

Edad Descuento

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 72
Universidad Tecnológica de Bolívar Fundamentos de Computación

Categoría 1 5 - 14 35 %
Categoría 2 15 - 19 25 %
Categoría 3 20 - 45 10 %
Categoría 4 46 - 65 25 %
Categoría 5 66 en adelante 35 %

33 La presión, volumen y temperatura de una masa de aire se relacionan por la formula:

masa= presión * volumen .


0.37 * (temperatura + 460)

Calcular el promedio de masa de aire de los neumáticos de n vehículos que están en


compostura en un servicio de alineación y balanceo. Los vehículos pueden ser motocicletas o
automóviles.

34 Determinar la cantidad semanal de dinero que recibirá cada uno de los n obreros de una
empresa. Se sabe que cuando las horas que trabajo un obrero exceden de 40, el resto se
convierte en horas extras que se pagan al doble de una hora normal, cuando no exceden de 8;
cuando las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por
una hora normal y el resto al triple.

35 En una granja se requiere saber alguna información para determinar el precio de venta por cada
kilo de huevo. Es importante determinar el promedio de calidad de las n gallinas que hay en la
granja. La calidad de cada gallina se obtiene según la formula:

calidad = peso de la gallina * altura de la gallina


numero de huevos que pone

Finalmente para fijar el precio del kilo de huevo, se toma como base la siguiente tabla:

TOTAL DE CALIDAD PESO POR KILO DE HUEVO


mayor o igual que 15 1.2 * promedio de calidad
mayor que 8 y menor que 15 1.00 * promedio de calidad
menor o igual que 8 0.80 * promedio de calidad

36 En la Cámara de Diputados se levanta una encuesta con todos los integrantes con el fin de
determinar que porcentaje de los n diputados esta a favor del Tratado de Libre Comercio, que
porcentaje esta en contra y que porcentaje se abstiene de opinar.

37 Una persona que va de compras a la tienda “Enano, S.A.”, decide llevar un control sobre lo que
va comprando, para saber la cantidad de dinero que tendrá que pagar al llegar a la caja. La
tienda tiene una promoción del 20% de descuento sobre aquellos artículos cuya etiqueta sea
roja. Determinar la cantidad de dinero que esta persona deberá pagar.

38 Un censador recopila ciertos datos aplicando encuestas para el ultimo Censo Nacional de
Población y Vivienda. Desea obtener de todas las personas que alcance a encuestar en un día,

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 73
Universidad Tecnológica de Bolívar Fundamentos de Computación

que porcentaje tiene estudios de primaria, secundaria, carrera técnica, estudios profesionales y
estudios de posgrado.

39 Un jefe de casilla desea determinar cuantas personas de cada una de las secciones que
componen su zona asisten el día de las votaciones. Las secciones son: norte, sur y centro.
También desea determinar cual es la sección con mayor numero de votantes.

40 Un negocio de copias tiene un limite de producción diaria de 10 000 copias si el tipo de


impresión es offset y de 50 000 si el tipo es estándar. Si hay una solicitud de un el empleado
tiene que verificar que las copias pendientes hasta el momento y las copias solicitadas no
excedan del limite de producción. Si el limite de producción se excediera el trabajo solicitado no
podría ser aceptado. El empleado necesita llevar un buen control de las copias solicitadas hasta
el momento para decidir en forma rápida si los trabajos que se soliciten en el día se deben
aceptar o no.

41 Calcular la suma siguiente:


100 + 98 + 96 + 94 + . . . + 0 en este orden

42 Leer 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje de reprobados.


Tomando en cuenta que la calificación mínima aprobatoria es de 70.

43 Leer por cada alumno de Diseño estructurado de algoritmos su numero de control y su


calificación en cada una de las 5 unidades de la materia. Al final que escriba el numero de
control del alumno que obtuvo mayor promedio. Suponga que los alumnos tienen diferentes
promedios.

44 El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen derecho al
examen de nivelación.
Diseñe un algoritmo que lea las calificaciones obtenidas en las 5 unidades por cada uno de los
40 alumnos y escriba la cantidad de ellos que no tienen derecho al examen de nivelación.

45 Leer los 250,000 votos otorgados a los 3 candidatos a gobernador e imprimir el numero del
candidato ganador y su cantidad de votos.

46 Suponga que tiene usted una tienda y desea registrar las ventas en su computadora. Diseñe un
algoritmo que lea por cada cliente, el monto total de su compra. Al final del día que escriba la
cantidad total de ventas y el numero de clientes atendidos.

47 El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen derecho al
examen de nivelación.
Diseñe un pseudocódigo que lea las calificaciones obtenidas en las 5 unidades por cada uno de
los 40 alumnos y escriba la cantidad de ellos que no tienen derecho al examen de nivelación.

48 Diseñe un diagrama que lea los 2,500,000 votos otorgados a los 3 candidatos a gobernador e
imprima el número del candidato ganador y su cantidad de votos.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 74
Universidad Tecnológica de Bolívar Fundamentos de Computación

49 Suponga que tiene usted una tienda y desea registrar las ventas en una computadora. Diseñe
un pseudocódigo que lea por cada cliente, el monto total de su compra. Al final del día escriba la
cantidad total de las ventas y el número de clientes atendidos.

50 Suponga que tiene una tienda y desea registrar sus ventas por medio de una computadora.
Diseñe un pseudocódigo que lea por cada cliente:
a).- el monto de la venta,
b).- calcule e imprima el IVA ,
c).-calcule e imprima el total a pagar,
d).- lea la cantidad con que paga el cliente,
e).-calcule e imprime el cambio.
Al final del día deberá imprimir la cantidad de dinero que debe haber en la caja.

51 Modificar el pseudocódigo anterior de tal forma que no permita que la cantidad con la que paga
el cliente sea menor a lo que debe pagar.

52 Se tiene un conjunto de 1,000 tarjetas cada una contiene la información del censo para una
persona:
1.- Número de censo,
2.- Sexo
3.- Edad
4.- Estado civil (a.- soltero, b. Casado, c. Viudo, d. Divorciado )
Diseñe un pseudocódigo estructurado que lea todos estos datos, e imprima el número de censo
de todas las jóvenes solteras que estén entre 16 y 21 años.

53 Un jeep puede viajar 500 km con un tanque lleno de gasolina. Desde una posición inicial,
conteniendo ‘n’ tanques de gasolina el mismo jeep puede viajar:
L = 500 ( 1 + 1/3 + 1/5 + ...+ 1 / (2n -1) ) km
Estableciendo economía de combustible en una ruta . Diseñe un pseudocódigo que calcule el
valor de ‘L’ dado ‘ n ‘ .

54 Se ofrece un trabajo que pague un centavo en la primera semana, pero dobla su salario cada
semana, es decir , $.01 la primera semana; $.02 la segunda semana; $0.4 la tercera semana; ...
etc. Hasta $(2n-1)/100 la n- ésima . Diseñar el pseudocódigo que determine ( y escriba ) el
salario por cada semana y el salario pagado hasta la fecha por espacio de 50 semanas.

55 Un objeto es dejado caer a una altura de 100 mts. Diseñe un algoritmo que imprima cada
décima de segundo la distancia entre el objeto y el suelo y al final imprima el tiempo necesario
en décimas de segundo para que el objeto toque el suelo.

56 La Cía. Automovilística EL PRINGA CARA, S.A. de C.V premia anualmente a sus mejores
vendedores de acuerdo a la siguiente tabla:

Si vendió Le corresponde de Comisión


sobre ventas totales
1,000,000 <= v < 3,000,000 3%
3,000,000 <= v < 5,000,000 4%

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 75
Universidad Tecnológica de Bolívar Fundamentos de Computación

5,000,000 <= v < 7,000,000 5%


7,000,000 <= v 6%

Diseñar un pseudocódigo que lea las ventas de 100 vendedores y que escriba la comisión anual
que le corresponda a cada vendedor. Suponer que nadie vende más de 10,000,000 al año.

57 Un grupo de 100 estudiantes presentan un examen de Física. Diseñe un algoritmo que lea por
cada estudiante la calificación obtenida y calcule e imprima:
A.- La cantidad de estudiantes que obtuvieron una calificación menor a 50.
B.- La cantidad de estudiantes que obtuvieron una calificación de 50 o más pero menor que 80.
C.- La cantidad de estudiantes que obtuvieron una calificación de 70 o más pero menor que 80.
D. La cantidad de estudiantes que obtuvieron una calificación de 80 o más.

58 Un avión que viaja 800 Km/hr. Dispara un proyectil autoimpulsado, en el momento del disparo,
el avión hace un giro de 90 0 y acelera a 20 mtrs/seg2. El proyectil sigue su curso, acelerando a
10 mtrs./seg2. Diseñe un algoritmo que escriba cada segundo, la distancia que separa al avión
del proyectil, hasta que estén a 10,000 mtrs. o más.

59 Una pizzería, vende sus pizzas en tres tamaños:


pequeña (10 pulg. De diámetro);
mediana (12 pulg. De diámetro); y
grandes (16 pulg. De diámetro);

Una pizza puede ser sencilla (con sólo salsa y carne), o con ingredientes extras, tales como
pepinillos, champiñones o cebollas
Los propietarios desean desarrollar un programa que calcule el precio de venta de una pizza,
dándole el tamaño y el numero de ingredientes extras. El precio de venta será 1.5 veces el costo
total, que viene determinado por el área de la pizza, mas el numero de ingredientes.

En particular el costo total se calcula sumando:


- un costo fijo de preparación
- un costo base variable que es proporcional al tamaño de la pizza
- un costo adicional por cada ingrediente extra. Por simplicidad se supone que cada ingrediente
extra tiene el mismo costo por unidad de área.

60 Diseñar un algoritmo que calcule el promedio ponderado para alumno de la UTB. El calculo se
hace de la siguiente forma:
- Se multiplica cada calificación por los créditos de cada materia
- El resultado anterior se suma con los resultados de todas las materias, por separado se suman
los créditos de cada materia y finalmente se divide la suma de todas las materias por sus
respectivos créditos, entre la suma de todos los créditos.

61 El DANE desea saber cuantas personas mayores de edad hay en la bella ciudad de Cartagena.
Elaborar un algoritmo que lea el nombre y la edad de cada uno de las personas que viven en
Cartagena y provea la información que el DANE necesita.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 76
Universidad Tecnológica de Bolívar Fundamentos de Computación

62 Coldeportes Bolívar esta interesada en promover el Básquetbol y para ello desea conocer
personas que tengan las siguientes características:

Edad Menor de 18 años


Estatura Mínima 1.80 cm
Peso Máxima 80 Kg

N personas se presentan en las instalaciones de Coldeportes manifestando su deseo de


participar en ese deporte. Elaborar un algoritmo que lea la edad, la estatura y el peso de
personas interesada y calcule e imprima.

• Número de personas que cumplen las condiciones exigidas


• Número de personas que no cumplen las condiciones exigidas
• Promedio de estatura de las personas que cumplen las condiciones.
• Edad, estatura y peso de la persona más alta que se presento.

63 Un vendedor desea calcular su comisión total sobre la venta de varios artículos. Al vendedor le
corresponde el 5% de comisión sobre artículos cuyo precio sea menor de $10.000, y 7.5% sobre
los artículos cuyo precio es de $10.000 ó más. Elabore un algoritmo que permita calcular la
comisión total de un vendedor. Asuma que el vendedor hizo N ventas.

64 Elabore un algoritmo que lea dos números (M y N) y calcule e imprima la suma de los múltiplos
de M comprendidos entre M y N.

65 Elabore un algoritmo que calcule e imprima las tablas de multiplicar dentro de un rango de
valores dado por los enteros M y N. Se debe imprimir el multiplicando, el multiplicador y el
producto.

66 Elabore un algoritmo que calcule e imprima los N primeros números múltiplos de X anteriores a
un número dado Y.

67 En una librería se calcula el precio de los libros de acuerdo con el tipo de libro y el número de
páginas del mismo, de la siguiente manera:

• Los libros de tipo 1 tienen un precio básico de $10.000 más $50 por página
• Los libros de tipo 2 tienen un precio básico de $15.000 más $70 por página
• Los libros de tipo 3 tienen un precio básico de $20.000 más $90 por página
• Los demás libros tienen un precio básico de $25.000 más $120 por página

Elabore un algoritmo que calcule el precio de cada uno de los libros de la librería y el valor
total del inventario. Por cada libro se tiene el código, el tipo de libro y el número de páginas,
pero no se sabe cuantos libros hay en total.

68 Elabore un algoritmo que lea la longitud y anchura de un número desconocido de rectángulos.


Se debe producir una lista con la anchura, la longitud y el área de todos los rectángulos cuyo
perímetro sea mayor que un número A dado.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 77
Universidad Tecnológica de Bolívar Fundamentos de Computación

69 Elabore un algoritmo que lea N parejas de valores (A y B) y calcule e imprima el valor de Y,


siendo:

y= ∑ f =1 X f
N

En donde: X! = A + B Si A 2 − B 2 > 0
X ! = A − 2B SI A 2 − B 2 = 0
X! = A + B + 3 SI A 2 − B 2 < 0

70 Dada la siguiente sumatoria:

K 2 +1

?
K −1
K

Elabore un algoritmo que calcule el número de términos necesarios para la sumatoria se


aproxime lo más cercanamente a un valor K sin que lo exceda.

71 Considere la siguiente serie:

a, (a+d)r, (a+2d)r 2 ..........(a+(n-1)d)r n −1

Elabore un algoritmo que lea los valores de a, d, r y n y calcule e imprima la suma de los n
primeros términos de la serie.

72 Elabore un algoritmo que lea N valores de X y calcule e imprima el logaritmo natural y el


logaritmo decimal para cada valor de X, mediante la siguiente formula:

1 ⎛ X −1⎞
1000 K

Logaritmo natural de X = ∑ ⎜
K −1 K ⎝ X ⎠

Logaritmo decimal de X = (logaritmo natural de X)/2.30259

73 Se tiene la siguiente sucesión: S=(An); donde A1 = 0, A2 = 0. A3 = 2 y An = An-1 + An-2 + An-3


para cualquier n ≥ 4. Hacer un algoritmo para determinar si un número dado X pertenece o no
a la sucesión.

74 Se tiene la siguiente sucesión: S=(An): donde A1 = 0, A2 = 0. A3 = 2 y An = An-1 + An-2 + An-3


para cualquier n ≥ 4. Hacer un algoritmo que conteste la siguiente pregunta: ¿Cuántos
términos de la serie se pueden sumar sin que la suma exceda a un valor de X?

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 78
Universidad Tecnológica de Bolívar Fundamentos de Computación

75 Se tiene la siguiente sucesión: S = (An); donde A1 = 0, A2 = 0. A3 = 2 y An = An-1 + An-2 + An-3


para cualquier n ≥ 4. Hacer un algoritmo que dados N valores de X calcule e imprima:

• ¿Cuantos valores de X están en la sucesión?


• Porcentaje de valores de X que no están en la sucesión.

76 En un curso de N estudiantes se realiza una prueba, la cual solo puede tener como notas 1,2,4 ó
5. Hacer un algoritmo que elabore una tabla de distribución de frecuencia de las notas. (En una
tabla de distribución de frecuencias lo que se hace es contabilizar el número de veces que se
repite cada posible valor).

77 En la granja Gato por liebre se desea comenzar el negocio de la crianza de conejos.


Inicialmente se compran N conejos hembras y N conejos machos (todos adultos)

Mediante un estudio estadístico previo se han obtenido los siguientes datos:

• De cada 10 conejos mueren mensualmente 2. (El índice de mortalidad es independiente de


la edad y el sexo de los conejos)
• Cada hembra adulta tiene 8 conejos bebés al mes
• De todos los bebés que nacen el 50% son hembras
• Cada conejo hembra que nace comienza a tener conejitos a los dos meses.

Hacer un algoritmo que permita a los dueños de la granja saber el número aproximado de
conejos (adultos, jóvenes y bebés) que se tendrán durante cada uno de los M primeros meses
de su negocio.

Hacer un segundo algoritmo que lea el número de meses que se necesitan para tener una
población de aproximadamente R conejos.

78 Elaborar un algoritmo que lea el nombre, la edad, el sexo (1, masculino y 2, femenino) y el
estado civil (1, soltero, 2, casado, 3, divorciado, 4, viudo, 5, otros) de N personas y calcule e
imprima:

• Número de hombres solteros


• Número de mujeres casadas
• Promedio de edad de las mujeres solteras
• Porcentaje de hombres viudos
• Número de hombres divorciados menores de 30 años
• Número de mujeres solteras con edades entre 20 y 28 años.

79 En la empresa El Camello laboran N personas. Para cada empleado se tienen los siguientes
datos:

• Nombre del empleado


• Salario básico por hora
• Horas ordinarias trabajadas

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 79
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Horas extras trabajadas

Elabore un algoritmo que calcule e imprima lo siguiente para cada trabajador:

© Nombre del empleado


© Salario neto a pagar
© Valor de la retención en la fuente

Teniendo en cuenta que las horas extras tienen un recargo del 40% y la retención en la fuente
(10%) se aplica a las horas extras trabajadas, si el total obtenido por este concepto es superior a
$100.000

El algoritmo también debe proveer lo siguiente:

• Salario promedio de los trabajadores


• Total horas extras laboradas en la empresa
• Valor total de la nómina
• Total a pagar por concepto de horas extras
• Total recaudado por retención en la fuente.

80 En un grupo de N estudiantes se tomaron las siguientes notas parciales que tienen, cada una,
un valor en porcentaje examen escrito (50%), trabajos (20%), quices (20%) y participación
(10%). Elabore un algoritmo que lea el código y las calificaciones parciales de los estudiantes y
calcule e imprima:

• La nota definitiva de cada estudiante y un mensaje indicado si aprobó o no.


• Número de estudiantes con calificación inferior a 2
• Número de estudiantes con calificación superior a 4
• Nota promedio del grupo
• Código del estudiante que obtuvo la nota definitiva más alta y su nota.

81 Existen números que leídos de izquierda a derecha y de derecha a izquierda tienen el mismo
valor. ejemplo: 404, 1045401. Elabore un algoritmo que lea un número entero y averigüe si tiene
la característica aquí mencionada:

82 En una universidad se desea obtener algunas estadística de sus estudiantes. Por cada
estudiante se tiene la siguiente información:

• Código
• Edad
• Sexo (1, masculino, 2, femenino).
• Cartera (1, Ing. Industrial, 2 Ing. Eléctrica, 3 Ing. Mecánica, 4 Ing. Electrónica, 5 Ing. De
Sistemas, 19 Tecnología de Sistemas).

Elabore un algoritmo que calcule e imprima:

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 80
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Número de estudiantes que hay en cada carrera


• Promedio de edad de los estudiantes
• Porcentaje de hombres
• Porcentaje de mujeres que estudian Ing. Industrial

83 Dadas N ternas de valores, donde cada terna representa las longitudes de tres líneas rectas,
elabore un algoritmo que calcule e imprima:

• Número de triángulos que se pueden construir


• Número de triángulos equiláteros que se pueden construir
• Número de triángulos isósceles que se pueden construir
• Número de triángulos escálenos que se pueden construir
• Número de ternas con las cuales no se puedan construir triángulos

Nota: Tres líneas rectas pueden formar un triángulo si la suma de las longitudes de dos líneas
cualesquiera es mayor que la longitud de la tercera.

84 La sucesión de Fibonacci, 0,1,1,2, etc. se genera empezando con los números 0 y 1 y


calculando cada nuevo miembro como la suma de los dos miembros que le preceden en la
sucesión. Elabore un algoritmo que calcule e imprima los primeros N términos de la sucesión y
su suma.

85 Elabore un algoritmo que calcule la suma de los términos de la sucesión de Fibonacci cuyos
valores están entre M y n.

86 Elabore un algoritmo que calcule el número máximo de términos de la sucesión de Fibonacci


cuya suma no exceda de un número K.

87 Elabore un algoritmo que lea un valor de X y averigüe si ese valor pertenece a la sucesión de
Fibonacci, y de ser así diga que posición ocupa.

88 Elabore un algoritmo que lea N valores de X y calcule e imprima:

• Cantidad de valores de X que pertenecen a la sucesión de Fibonacci


• Porcentaje de valores de X que no están en la sucesión.

89 Dada la siguiente sucesión: S = (5,8,10,13,15,18,20,23, ...)

Elabore un algoritmo que dé respuesta a los siguientes interrogantes:

• ¿Cuántos términos, contando desde el primero en adelante, se pueden sumar sin que la
suma exceda a un número K?
• Dado N valores de X, ¿Cuales valores de X pertenecen a la sucesión y que posición ocupan
dentro de ella?
• ¿Cuál es el porcentaje de los valores de X que pertenecen a la sucesión?

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 81
Universidad Tecnológica de Bolívar Fundamentos de Computación

90 Las permutaciones de x objetos tomados de entre n objetos se define así:

nPx = n! / (n-x)!

Elabore un algoritmo que lea el valor de n y de x y calcule las permutaciones de x objetos


tomados de entre n.

Nota: Para el cálculo sea posible se debe cumplir que n >= x y x >= 0

91 El número de combinaciones de n objetos tomado x al mismo tiempo se define:

NCx = n! / ((n – x)! * x!)

Elabore un algoritmo que lea el valor de n y de un par de valores XMIN y XMAX e imprima una
tabla de nCx para valores de x comprendidos entre XMIN y XMAX inclusive.

Nota: Para que el cálculo sea posible se debe cumplir que n >= x y x >= 0.

92 El gerente de compras del almacén Pague Tres y Lleve Dos, desea responder el inventario, para
lo cual necesita un informe sobre los artículos y las cantidades a ordenar a los proveedores.

Usted ha sido comisionado expresamente para elaborar un algoritmo que provea la información
que el jefe necesita. Se sabe que en el almacén hay muchos artículos, aunque no se sabe el
número exacto de ellos. Para cada artículo se tiene la siguiente información:

© Código del artículo


© Nombre del artículo
© Costo unitario
© Existencias (unidades)
© Existencia mínima (unidades)
© Existencia máxima (unidades)

El informe que necesita el jefe debe contener, cada artículo a ordenar, lo siguiente:

© Código del artículo


© Cantidad a ordenar (unidades)
© Costo unitario
© Costo total de la cantidad a ordenar

El algoritmo debe calcular también el costo total de la mercancía a ordenar.

Nota: Se ordena (se hace un pedido a un proveedor) cuando las existencias están por debajo de
la existencia mínima, pero las existencias nunca deben estar por encima de la existencia
máxima.

93 Elabore un algoritmo que lea los siguientes datos para un número desconocido de personas:

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 82
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Año de nacimiento
• Sexo (1 si es masculino, 2 si es femenino)
• Estado civil (1 si es soltero, 2 si es casado)

Se desea saber:

• El número de hombres solteros que pueden votar.


• El número de hombres casados que pueden votar.
• El número de mujeres solteras que pueden votar.
• El número de mujeres casadas que pueden votar.
• El número total de personas solteras que pueden votar.
• El número total de personas casadas que pueden votar.
• El número que pueden votar.
• El número total de personas que no pueden votar.

Nota: Solo pueden votar los que tengan 18 años cumplidos ó más.

94 Los valores de las funciones seno y coseno se pueden calcular, para cualquier valor real de X,
usando las siguientes series de Maclaurin:

SEN(X) = X − X 3 / 3!+ X 5 / 5!− X 7 / 7!+...

COS(X) = 1 − X 2 / 2!+ X 4 / 4!− X 6 / 6!+...

Elabore un algoritmo que para N valores de x calcule e imprima el valor del Seno, Coseno,
tangente, Secante y Cosecante, teniendo en cuenta que Tan(X) = SEN(X)/COS(X), SEN(X) =
1/COS(X), COS(X) = 1/SEN(X).

Para el cálculo de las funciones Seno y Coseno se pueden usar M términos de la serie.

95 Se ha efectuado una encuesta entre las familias de un determinado sector de la ciudad. Por
cada familia entrevistada se tienen los siguientes datos:

• Código
• Ingreso anual
• Número de miembros

Elabore un algoritmo que calcule e imprima:

a. El promedio de ingresos familiares


b. La familia con mayores ingresos y valor de su ingreso
c. Porcentaje de familias con ingresos menores a un millón de pesos
d. Porcentaje de familias con ingresos entre un millón de pesos y dos millones de pesos
e. Porcentaje de familias con ingresos superiores a los dos millones de pesos

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 83
Universidad Tecnológica de Bolívar Fundamentos de Computación

f. Número de familias que tienen ingresos por debajo del nivel de pobreza, el cual se puede
calcular con base en la siguiente formula:

NP = ·(30.000 + 25.000(m-2))

Donde m es el número de miembros de la familia.

96 Elabore un algoritmo que calcule el promedio de una serie de observaciones (X) con base en
sus respectivas frecuencias (F). Este promedio se puede calcular por medio de la siguiente
fórmula:
N

∑X F i i
prom = i =1
N

∑F
i =1
i

97 Realice un algoritmo para calcular la suma de los primeros N términos de la siguiente serie: S =
(1, 1/3!, 1/5!, 1/7!, ...)

98 Realice un algoritmo para calcular la suma de los primeros N términos de la siguiente serie: S =
(1, -1/3!, 1/5!, -1/7!, ...)

99 En una empresa laboran N empleados fabricando tornillos. Por cada uno de ellos se tienen los
siguientes datos:

• Nombre del Trabajador


• Horas ausencia
• Tornillos defectuosos
• Tornillos producidos

Elabore un algoritmo que lea el valor de N y los datos de cada trabajador y calcule el grado de
eficiencia para cada uno.

Para el cálculo del grado de eficiencia se tendrán en cuenta las siguientes condiciones:

1. Ausencia del trabajo <= 3.5 horas


2. Tornillos defectuosos < 300
3. Tornillos producidos > 10.000

Los grados de eficiencia se asignan de la siguiente manera:

© Si no cumple ninguna condición: Grado = 5


© Si solo cumple la primera condición: Grado = 7
© Si solo cumple la segunda condición: Grado = 8
© Si solo cumple la tercera condición: Grado = 9

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 84
Universidad Tecnológica de Bolívar Fundamentos de Computación

© Si cumple la primera y segunda condiciones: Grado = 12


© Si cumple la primera y tercera condiciones: Grado = 13
© Si cumple la segunda y tercera condiciones: Grado = 15
© Si cumple las tres condiciones: Grado = 20

El algoritmo también debe proveer la siguiente información:

• Número de trabajadores con grado de eficiencia 20


• Porcentaje de trabajadores que tienen grado de eficiencia 5

100 A los N estudiantes de un grupo de algoritmos se les dice que su nota definitiva será calculada a
partir de cuatro notas parciales que tendrán los siguientes valores: 25% cada una si todas son
aprobadas; si la primera se pierde y las otras se ganan, la primera valdrá 10% y las otras 30%
c/u; si las dos primeras se pierden y las dos últimas se ganan, las dos primeras valdrán 20% c/u
y las dos últimas valdrán 30% c/u; en cualquier otro caso las dos primeras tendrán un valor de
30% c/u y las dos últimas 20% c/u.

A usted se le pide que elabore un algoritmo que permita calcular la nota definitiva de cada uno
de los estudiantes del grupo y provea además lo siguiente:

• Número de estudiantes con nota definitiva mayor que 4


• Número de estudiantes que no aprobaron
• Nota definitiva promedio del grupo
• Nota definitiva máxima

101 Elaborar un algoritmo que lea la edad y el código de un grupo de estudiantes y calcule e imprima
el promedio de edad de los mayores de 21 años y el promedio de edad del resto.

102 Por cada habitante de Colombia se tienen los siguientes datos: número de identificación y
número de enfermedades graves que ha padecido. Elaborar un algoritmo que calcule: cuántos
habitantes han tenido enfermedades graves y el promedio de enfermedades graves que han
padecido.

103 Elabore un algoritmo que lea un valor entero N y los valores de X e Y (N en total), calcule e
imprima el valor de R dado por:
N

∑(X i * Yi ) − X * Y
R= i =1

⎛1 N
⎞⎛ 1 N


⎝N
∑ (x
i =1
2
1 ) − X 2 ⎟⎜
⎠⎝ N
∑ (Y
i =1
i
2
)Y 2 ⎟

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 85
Universidad Tecnológica de Bolívar Fundamentos de Computación

∑ ∑
N N
Xi Yi
X= i =1
Y= i =1

N N
104 Un administrador desea obtener los datos necesarios para elaborar una curva de salarios en una
determinada empresa, en función del puntaje asignado por valoración de méritos. Las fórmulas
utilizadas para el cálculo son las siguientes:

170000+ 0.486P2 para P < 120

18.000.000
S= para P > 120
P
15.000.000
100.000 + para P = 120
P

Elaborar un algoritmo que calcule los valores de S para N valores de P. Donde S es el salario y
P es el
puntaje.

105 Elabore un algoritmo que calcule e imprima las primeras N filas de una tabla, de acuerdo con las
siguientes reglas.

ƒ La tabla tendrá 4 columnas llamadas A, B, C, D.


ƒ Los valores de la primera fila de le pedirán al usuario.
ƒ El valor en A será uno mayor que en la fila anterior.
ƒ El valor en B será dos unidades mayor que en la fila anterior.
ƒ El valor de C será la será de los valores de B hasta D de la fila anterior.
ƒ El valor en D será la suma acumulada de los valores de B hasta la fila anterior.

135. De los hombres casados de Cartagena se desea saber cuántos tienen hijos y cuántos
no; además se desea tener el promedio del número de hijos. Por cada hombre casado se
tienen los siguientes datos: Número de la cédula y número de hijos. Elabore un algoritmo
que provea la información que se necesita con base en la información que se posee. .

136. El dueño de un teatro desea hacer una investigación para cambiar la silletería de su
teatro. Para ello necesita saber cuántas sillas dobles y cuántas sencillas se deben colocar.

En el teatro caben N personas sentadas. El sábado se llenó el teatro y el portero anotó en un


papel un uno por cada persona sola que entraba y un dos si entraba una pareja. Elabore un
algoritmo que basándose en el número de personas que caben y los datos recogidos por el
portero calcule cuántas sillas dobles y cuántas sencillas se necesitan.

106 En una encuesta telefónica se entrevistaron a N personas. A cada persona se les hicieron 5
preguntas, las cuales podía responder de la siguiente manera: si está a favor oprimía 1, si está
en contra oprimía 2, si no está ni a favor ni en contra oprimía 3. Elaborar un algoritmo que
muestre los resultados de la encuesta en porcentajes.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 86
Universidad Tecnológica de Bolívar Fundamentos de Computación

107 El encargado de m peaje deseaba obtener mas estadísticas sobre los autos que pasaron
durante m día. Para ello hizo las siguientes anotaciones: si pasaba m automóvil anotaba un uno,
si pasaba m bus anotaba m dos, si pasaba un camión anotaba un tres. En todos los casos
anotaba el número de personas que iba en cada vehículo.

Elabore un algoritmo que procese la información que obtuvo el encargado del peaje y provea 10
siguiente:

• Cuántos automóviles pasaron.


• Cuántos buses pasaron.
• Cuántos camiones pasaron.
• Número total de vehículos que pasaron. - Promedio de personas por vehículo.

108 Elabore m algoritmo que lea un conjunto de N números enteros de 4 dígitos cada uno y averigüe
cuántos de esos números contienen un dígito d. Además calcule la suma de los números que no
10 contienen.

109 Suponga la siguiente función: f(x) = X3 + 5 X2 + 2X +1. Elabore un algoritmo que evalúe la
función en un intervalo cerrado [A, B], con incremento fijo x.

110 Un laboratorio se encuentra oculto en el sótano de una granja. Un terremoto produjo un


derrumbe, lo que dejó obstruida la entrada. Parte de los marcos al caer partieron unas probetas
que contenían bacterias que al reproducirse generan gas carbónico y consumen oxígeno.

En forma matemática el número de bactel1as puede expresarse como:

Pt = p 0 (1 + (0.54t ) / 1!+(0.54t ) / 2!+.... + (0.54t ) / n!)


2 n

donde:

Pt : Número de bacterias en un tiempo 1.


P0: Número bacterias en un tiempo inicial.
t : Tiempo en horas, después del tiempo inicial.

La cantidad de oxígeno que consumen las bacterias para producir gas carbónico está dado por:
O = Pt (1/230 . l/ Pt2).

En el momento del derrumbe había en el laboratorio un total de 25 personas, cada una de las
cuales
consume igual cantidad de oxígeno.

De los equipos de computación disponibles en el laboratorio solo quedó servible una calculadora
programable con poca memoria. Un programador experto tomó la calculadora, hizo un
programa, y
formuló las siguientes preguntas a los científicos presentes:

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 87
Universidad Tecnológica de Bolívar Fundamentos de Computación

• ¿Qué cantidad de bacterias había en las probetas?


• ¿Qué cantidad de oxigeno hay aproximadamente en el laboratorio?
• ¿Qué cantidad de oxígeno consume una persona durante una hora?
• ¿Cuántos términos de la serie de la reproducción de las bacterias se pueden considerar?

Después oprimió unas teclas en la calculadora y dijo el tiempo aproximado de que disponían
para que
fuesen rescatados antes de quedar sin oxígeno. ¿Cuál algoritmo cree usted que hizo el
programador
para obtener esta respuesta?

111 Elaborar un algoritmo que lea un par de valores enteros J y K Y calcule el valor de la siguiente
sumatoria (haciendo el cálculo de la potenciación por multiplicaciones sucesivas).

S=l j + 2 j + 3 j + ...+ k j

112 Un número perfecto es aquel que es igual a la suma de los divisores menores que éL Por
ejemplo: 6 = 1 + 2 +3. Elabore un algoritmo que permita buscar dentro de los números naturales
los primeros N números perfectos.

113 En la hacienda "La Vaca Gorda" el primer día del mes preparan 50.000 litros de una mezcla
homogénea con agua y Q gramos de un compuesto químico que purifica el agua. Diariamente
se extraen 400 litros de la mezcla para dar de beber al ganado. El último día de la semana.
después de extraer los 400 litros de la mezcla. se agrega. a la misma. suficiente agua para
completar el volumen inicial.

Elabore un algoritmo que conteste la siguiente pregunta ¿Cuál será la densidad de la mezcla
(gramos/litros) al inicio de cada una de las N semanas de estudio?

Elabore un segundo algoritmo que permita determinar el tiempo. en días. que pasará antes que
deba agregarse más compuesto químico a la mezcla y qué cantidad de químico se debe
agregar. Tenga en cuenta que se debe agregar más compuesto químico cuando la cantidad de
éste ha descendido por lo menos en un 70%.

114 Un .proyectil se dispara con un ángulo e grados con una velocidad inicial V en metros por
segundo. viaja una distancia horizontal de R metros y alcanza una altura de H metros. El vuelo
dura T segundos. Con las fórmulas siguientes elabore un algoritmo que calcule estos factores
(R. H Y T). usando ángulos desde 100 hasta 800 con un incremento el. con velocidad inicial
desde 100 hasta 500 metros por segundo. con incrementos VI. Escriba los resultados de manera
que la velocidad inicial y los valores correspondientes a R. H Y T se escriban para cada ángulo.

V 2SENO(2θ) V 2SENO 2 (θ) 2VSENO (θ )


R= H= T=
g 2g g

115 Una zona del departamento de Bolívar tiene N Kilómetros cuadrados y es capaz de sostener 15
personas por kilómetro cuadrado. En la actualidad hay M individuos. La población anualmente

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 88
Universidad Tecnológica de Bolívar Fundamentos de Computación

varia así: al comienzo del año inmigran a la región 5 personas_ a la mitad del año la población
se incrementa. por nacimientos. en un 10%; al final del año fallece el 5%. Elabore un algoritmo
que determine en cuántos años la población se excederá por primera vez a la capacidad de la
región.

116 Elabore mI algoritmo que tome como datos N valores de una lista que supuestamente está
ordenados ascendentemente y verifique si efectivamente esa lista está ordenada o no.

117 Considere todas las parejas ordenadas a. J) que se pueden formar con los N primeros números
naturales. Elabore mI algoritmo que genere dichas parejas.

118 Dos amigos juegan a los dados. En cada lance gana el que saca el número más alto. pero gana
el juego el que gane tres lances de seguido. Diseñe un algoritmo que determine quién es el
ganador del juego.

119 Los botones de mI teléfono están organizados según este patrón:

1 2 3
4 5 6
7 8 9
* 0

Elabore mI algoritmo que lea los siete enteros. todos en la escala del O al 9 que represente mI
número telefónico. y que muestre los números de fila y columna donde está ubicado cada dígito del
número telefónico.

120 Dos personas apuestan a los dados con las siguientes regias:

a. Cada uno arroja dos dados en cada jugada.


b. Si alguno saca doble se aumenta su puntaje acumulado en dos puntos.
c. El que saca mayor puntaje en la jugada aumenta su puntaje en la diferencia entre 15 y los que
sacó. pero si hay empate en la jugada no se anotan puntos.
d. El partido lo gana el que obtenga una ventaja de 25 puntos. (Las ventajas se comparan
después de haber analizado los resultados de ambas jugadas).

Elabore mI algoritmo que lea el nombre de cada jugador. el valor obtenido en los dados en cada
jugada y calcule e imprima el puntaje final de cada jugador y el nombre del ganador.

121 Elabore un algoritmo que dados los lados (A. B .C) de N triángulos. calcule el área de aquellos
cuyo perímetro sea mayor que 15. Asuma que A es la base y B es la altura del triángulo.

122 Elabore mI algoritmo que dada una serie de N parejas (x. y) determine: cuáles puntos caen
dentro de un circunferencia de radio R con centro en el origen de coordenadas. y que también
estén sobre una recta de ecuación Y = AX + B; cuáles caen en la recta pero fuera de la
circunferencia y cuáles caen fuera de la circunferencia y la recta.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 89
Universidad Tecnológica de Bolívar Fundamentos de Computación

123 Elabore un algoritmo que escriba todos los números de tres cifras menores que 600 que no
tengan el digito 5 ni que tengan cifras repetidas.

124 Elabore un algori1mo que lea un lote de N números enteros y haga lo siguiente: si hay más
números positivos que negativos. calcule el promedio de los positivos; en caso contrario calcule
el promedio de los negativos; y si son iguales calcule el promedio de todos los números
incluyendo los ceros.

125 Elabore un algoritmo que calcule cuántos y cuáles números menores que N hay que sean
iguales a la suma de los cubos de los dígitos que 10 forman.

126 Se tienen cuatro candidatos para elegirse uno como presidente de una junta directiva y se desea
saber quién es el que gana sabiendo que fueron N los votantes.

127 El propietario de un rancho ganadero tiene la oportunidad de comprar el rancho adyacente. No


habrá oportunidad de comprar tierras adicionales en N años. Fl rancho actual es capaz de
mantener 13000 animales. y en la actualidad hay 4500. pero el hato se incrementa en un 12%
anual Elabore un algori1mo que permita determinar al propietario si debe comprar o esperar.
(Todos los cálculos del tamaño del hato se deben redondear a la parte entera).

128 Elaborar un algoritmo que lea un conjunto de N números y calcule e imprima el porcentaje de
ceros. el porcentaje de negativos y cantidad de positivos.

129 Un móvil parte con velocidad Vo y aceleración constante A. Elaborar un algoritmo que calcule el
espacio recorrido cada 0.5 segundos durante los primeros N segundos.

130 En una universidad todos los estudiantes ven 5 asignaturas. y en cada asignatura hay N
estudiantes. Al llegar el final del semestre se tienen las 5 notas definitivas de cada estudiante en
cada asignatura.

Con el objetivo de hacer un estudio del rendimiento académico la universidad desea conocer la
siguiente información: nota promedio de cada alumno y nota promedio por materia. Elabore un
algoritmo que provea la información que la universidad requiere.

131 Elabore un algoritmo para hallar cuántos números se debieron haber leído de un conjunto dado
para que la suma de los pares sea mayor que un valor X.

132 Una entidad bancaria dispone de X pesos para sus clientes; pero tiene la regla de que cada vez
que un cliente solicita un préstamo. lo máximo que se le presta es el 10% de la plata que hay
disponible. Elabore un algoritmo que conteste la siguiente pregunta: ¿A cuántos clientes se les
presta antes de tener disponible menos del 15% de la cantidad de dinero con que comenzó?

133 Dos cursos se enfrentan a un concurso de cultura general en forma de test. con equipos de dos
personas. Se hacen preguntas a cada equipo. cada una de las cuales tiene 3 respuestas
posibles: buena. regular y mala. En cada equipo cada jugador responde por su cuenta. Si las
respuestas coinciden se anotan 3 puntos. excepto si la respuesta es mala. en cuyo caso se
anota tan solo un punto. Si las respuestas no coinciden y hay una mala. no anotan nada; y si no
Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 90
Universidad Tecnológica de Bolívar Fundamentos de Computación

hay mala y si una buena anotan dos puntos. Si uno de los dos equipos logra una ventaja de 10
puntos antes de completar las N preguntas de: que consta el concurso gana por k.o. de lo
contrario ganará el que al final obtenga más puntos. Elaborar un algoritmo para hallar el curso
ganador. En cada iteración lo único que se debe leer son los valores de las respuestas de cada
concursante.

134 Diseñe un algoritmo que reciba como dato de entrada un número entero y a partir de éste
genere un numero de un digito (entre O y 9) sumando los dígitos del número tantas veces como
sea necesario. Por ejemplo, si el número es 32767 se procede así:

3 + 2 + 7 + 6 + 7 = 25

2 + 5 = 7

luego, el número obtenido es 7.

135 El antiguo filósofo Zenón es conocido por su paradoja de Aquiles y la Tortuga. Esta consiste: en
que ambos disputan una carrera en la que Aquiles corre diez veces más rápido que la Tortuga.
Pero, ésta se encuentra a 100 m delante al comienzo de la carrera. Se supone, en la paradoja.
que Aquiles nunca alcanzará a su contrincante.
Suponiendo que la tortuga se mueve a V m/seg, diseñe un algoritmo que muestre segundo a
segundo la distancia que la separa de Aquiles hasta que éste la sobrepasa.

136 Elabore un algoritmo que lea dos valores enteros A y B Y calcule e imprima el producto entre A y
B Y el cociente de la división entera entre A y B. El algoritmo se debe desarrollar para ejecutarse
en un computador que sólo "sabe" sumar y restar.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 91
Universidad Tecnológica de Bolívar Fundamentos de Computación

CAPITULO III

ARREGLOS
OBJETIVO EDUCACIONAL:

El alumno:

• Será capaz de utilizar los datos de tipo arreglo para plantear la solución de problemas que
requieran de esta estructura.

3.1 ARREGLOS

Un arreglo es una estructura de datos temporal compuesta por un conjunto de datos homogéneos
que deben ser tratados en forma similar.

3.2 Arreglos Unidimensionales: Los Vectores

Un arreglo (matriz o vector) es un conjunto finito y ordenado de elementos homogéneos. La


propiedad “ordenado” significa que los elementos primero, segundo, tercero,..., enésimo de un
arreglo pueden ser identificados. Los elementos de un arreglo son homogéneos, es decir, del mismo
tipo de datos.

El tipo mas simple de arreglo es el arreglo unidimensional o vector (matriz de una dimensión). Un
vector es una serie ordenada y fija de variables del mismo tipo que tienen igual nombre y pueden ser
accedidas en forma individual mediante un único índice.

Por ejemplo un vector denominado NOTAS que consta de n elementos se puede representar por la
Figura 3.1.

Figura 3.1. Ejemplo de Vector.

El subíndice o índice de un elemento (1, 2, ..., i, n) designa su posición en la ordenación del vector.

Obsérvese que el vector global tiene nombre un NOTAS. Los elementos del vector son
referenciados por su subíndice o índice, es decir, posición relativa en el vector.

El número de elementos de un vector se denomina Tamaño del vector. Los posibles valores que
toma el índice o sub-índice esta entre 1 y el tamaño del vector

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 92
Universidad Tecnológica de Bolívar Fundamentos de Computación

Cada elemento de un vector tiene dos propiedades importantes:


• Posición: es el orden del elemento dentro del vector
• Dato almacenado: Es el valor que almacena cada posición dentro del vector.

La posición dentro del vector es una característica que no se puede varia, mas sin embargo el dato
almacenado puede cambiar ya este se puede procesar como si fuese una variable simple que
ocupa una posición de memoria. Así,

Algunas instrucciones que manipulan este vector se representa en la Tabla 3.1.

Tabla 3.1. Operaciones básicas con vectores


Acciones Resultados
escribir (X [1] ) Visualiza el valor de X [1] o14.0
X(4) = 45 Almacena el valor 45 en X [4]
SUMA = X [1] + [3] Almacena la suma de X [1] y X [3];o bien 22.0 en la variable SUMA
SUMA = SUMA + X [4] Añade en la variable Suma el valor de X [4], es decir Suma = 67.0
X(5) = X[5] + 3.5 Suma 3.5 a X [5]; EL NUEVO VALOR De X [5] será 9.91
X(6) = X [1] + X [2] Almacena la suma de X[1] y X[2] en X[6] el nuevo valor de X[6] será
26

La forma de sintaxis como se hará de aquí en adelante es:

{Tipo de Dato} Nombre [Tamaño]

Donde:
Tipo de Dato: será uno de los tipos de datos simples estudiados antes ( enteros, real,
carácter)
Nombre: Cualquier Nombre de identificador valido
Tamaño: cualquier entero positivo

3.3 Arreglos De Varias Dimensiones

En los vectores cada elemento se define o referencia por un índice o subíndice. Sin embargo,
existen grupos de datos que son representados mejor en forma de matriz con dos o más subíndices.
Ejemplos típicos de matrices son: tablas de distancias kilométricas entre ciudades, cuadros horarios
de trenes o aviones, informes de ventas periódicas (mes/unidades vendidas o bien mes/ventas
totales), etc.

Se pueden definir tablas o matrices como arreglos multidimensionales, cuyos elementos se pueden
referenciar por dos, tres o más subíndices. Los arreglos no unidimensionales los dividiremos en dos
grandes grupos:
• Arreglos bidimensionales (2 dimensiones)
• Arreglos multidimensionales (3 o más dimensiones)

3.3.1 Arreglos bidimensionales (tablas/matrices)

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 93
Universidad Tecnológica de Bolívar Fundamentos de Computación

El arreglo bidimensional se puede considerar como un vector de vectores. Es, por consiguiente, un
conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo
y en el que se necesita especificar dos subíndices para poder identificar cada elemento del arreglo.

Si se visualiza un arreglo unidimensional, se puede considerar como una columna de datos: un


arreglo bidimensional es un grupo de columnas, como se ilustra en la Figura 3.2.

Figura 3.2. Representación de una matriz

Los arreglos de dos dimensiones son muy frecuentes: las calificaciones de los estudiantes de una
clase se almacenan en una tabla NOTAS de dimensiones NOTAS [20, 5], donde 20 es el número de
alumnos y 5 el número de asignaturas. El valor del subíndice I debe estar entre 1 y 20, y el de J
entre 1 y 5. Los subíndices pueden ser variables o expresiones numéricas, NOTAS (M, 4) y en ellos
el subíndice fila irá de 1 a M y el de columnas de 1 a N.

3.3.2 Arreglos Multidimensionales

Un arreglo puede ser definido de tres dimensiones, cuatro dimensiones, hasta de n-dimensiones.
Los conceptos de rango de subíndices y número de elementos se pueden ampliar directamente
desde arreglos de una y dos dimensiones a estos arreglos de orden más alto. En general, un arreglo
de n-dimensiones requiere que los valores de los n subíndices puedan ser especificados a fin de
identificar un elemento individual del arreglo. Si cada componente de un arreglo tiene a subíndices,
el arreglo se dice que es sólo de n-dimensiones.

El arreglo A de n-dimensiones se puede identificar como

A [U1, U2, ..., Un]

Y un elemento individual del arreglo se puede especificar por A [I1, I2; …, I n]

Donde cada subíndice Ik está dentro de los límites adecuados


Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 94
Universidad Tecnológica de Bolívar Fundamentos de Computación

1 <= Ik <= UK

Donde

K = 1, 2, ..., n

El número total de elementos de un arreglo A es igual a producto de todas y cada una de las
dimensiones o sea : U1 * U2 * ... * UN

3.4 Problemas Resueltos

1. Elaborar un algoritmo para leer un vector de N elementos y que nos calcule e imprima la
suma de sus elementos.
Solución:
Inicio
Lea N
Dim V[N]
Suma = 0
Para i = 1 hasta N haga
lea V (i)
finpara
escriba suma
fin
2. El ejemplo anterior, pero ahora se pide además que calcule e imprima el promedio.
Inicio
Lea N
Dim V[N]
Suma = 0
Para i = 1 hasta N haga
lea V (i)
suma = suma + V (i)
finpara
promedio = suma / N
escriba suma, promedio
fin

3. Dado un vector de 60 elementos numéricos, elaborar un algoritmo para imprimir: el vector, el


promedio de los elementos y los elementos que se encuentran en las posiciones pares.

Solución: cuando en un enunciado de un problema nos dicen que el vector está dado nos
quieren decir que no hay necesidad de leerlo.

Inicio
dim V [60]
Suma = 0

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 95
Universidad Tecnológica de Bolívar Fundamentos de Computación

para i = 1 hasta 60 haga


escriba V (i)
suma = suma + V (i)
finpara
promedio = suma /34
escriba promedio
j= 2
Mientras j <= 60 haga
Escriba V(j): j = j + 2
FinMientras
fin
4. Elaborar un algoritmo para leer dos vectores A y B de N elementos cada uno y que nos
genere otro vector C que contenga la suma de A con B. Imprima los tres vectores.

Inicio
Lea N
Dim A [N], B [N], C[N]
para i = 1 hasta N haga
lea A (i), B (i)
C (i) = A (i) + B (i)
Finpara
Para i = 1 hasta N haga
Escriba A (i), B (i), C (i)
Fin para
fin
5. El ejemplo anterior, pero ahora se pide además que se imprima del vector C sólo los
elementos pares.

Solución: observe en el enunciado que se están pidiendo los elementos pares y no los de las
posiciones pares.
Inicio
Lea N
Dim A [N], B [N], C[N]
para i = 1 hasta N haga
lea A (i), B (i)
C (i) = A (i) + B (i)
Finpara
Para i = 1 hasta N haga
Escriba A (i), B (i), C (i)
Fin para
Para i = 1 hasta N haga
si int (C(i) / 2) = C (i) / 2 entonces
escriba C (i)
finsi
finpara
fin

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 96
Universidad Tecnológica de Bolívar Fundamentos de Computación

6. Elaborar un algoritmo para llenar una matriz con números enteros. La matriz es de 3 filas y 5
columnas.

Solución N° 1 Solución N° 2

Inicio Inicio
Dim A [3,5] Dim A [3,5]
Para f = 1 hasta 3 haga para c = 1 hasta 5 haga
para c = 1 hasta 5 haga para f = 1 hasta 3 haga
lea A (f,c) lea A (f,c)
finpara finpara
finpara finpara
fin fin

Observación: analizar la diferencia entre ambas soluciones.

7. Dada una matriz cuadrado de N x N elaborar un algoritmo que nos imprima los elementos de
la diagonal principal. Los elementos de la diagonal principal son aquellos en los cuales la
fila es igual a la columna.

Solución N° 1 Solución N° 2
Inicio Inicio
Lea N Lea N
Dim A [N,N] dim A [N,N]
Para i = 1 hasta N haga i= N
escriba A (i,i) Mientras i > = 1 haga
finpara Escriba A (i,i)
fin i=i–1
FinMientras
fin

Observación: analizar la diferencia entre ambas soluciones.

8. Elaborar un algoritmo para llenar una matriz con las dos notas de los 25 estudiantes de un
grupo de Fundamentos de Computación. La matriz debe tener una tercera columna con el
promedio aritmético de cada estudiante. Imprimir además la matriz resultante.

Inicio
Dim A [25,3] Nota: observe que no hubo la necesidad
Para f = 1 hasta 25 haga de definir una segunda instrucción HAGA
Lea A (f, 1), A (f,2) PARA para recorrer la matriz. Esta
A(f, 3) = (A(f, 1 ) + A (f, 2)) / 2 operación es común cuando el número de
Finpara filas y/o el de columna es relativamente
Para f = 1 hasta 25 haga pequeño.
Escriba A (f, 1), A (f, 2), A (f, 3)

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 97
Universidad Tecnológica de Bolívar Fundamentos de Computación

Finpara
Fin

9. Leer un vector de N elementos y calcule e imprima: a) el número de valores impares; b) el


número de valores pares.

Inicio
lea N: ContPar = 0: ContImp = 0
dim V [N]
para i = 1 hasta N haga
lea V (i)
si int ( V (i) / 2) = ( V (i) / 2 ) entonces
ContPar = ContPar + 1
sino
ContImp = ContImp + 1
finsi
finpara
escriba “Número de elementos pares :”, ContPar
escriba “Número de elementos impares :”, ContImp
fin

10. Leer un vector de 50 elementos y calcule e imprima: a) la suma y el promedio de los valores;
c) cuántas veces se repite el promedio.

Inicio
dim V [50]: suma = 0: ContImp = 0
para i = 1 hasta 50 haga
lea V [i]: suma = suma + V [i]
finpara
promedio = suma/50
escriba “el suma es :”, suma
escriba “el promedio es :”, promedio
para i = 1 hasta 50 haga
si V [i] = promedio entonces
ContProm = ContProm + 1
finsi
finpara
escriba “el promedio se repite”, ContProm, “veces”
fin

11. El ejercicio anterior, pero ahora se desea conocer además cuántos valores hay menores que
el promedio y cuántos mayores al promedio.

Inicio
dim V [50]: suma = 0
ContProm = 0: ContMayProm = 0: ContMenProm = 0

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 98
Universidad Tecnológica de Bolívar Fundamentos de Computación

para i = 1 hasta 50 haga


lea V [i]: suma = suma + V [i]
finpara
promedio = suma/50
escriba “el suma es :”, suma
escriba “el promedio es :”, promedio
para i = 1 hasta 50 haga
si V [i] = promedio entonces
ContProm = ContProm + 1
Sino
si V [i] > promedio entonces
ContMayProm = ContMayProm +1
sino
ContMenProm = ContMenProm + 1
finso
finsi
finpara
escriba “el promedio se repite”, ContProm, “veces”
escriba “número de elementos mayores que el promedio”, ContMayProm
escriba “número de elementos menores que el promedio”, ContMenProm
fin

12. Elaborar un algoritmo para procesar con 5 vectores las tres notas parciales de los 32
alumnos de la materia de fundamentos de programación con la profesora Claudia Prieto
Socha. Usted debe:
a) leer su nombre, nota 1, nota 2 y nota 3 en vectores distintos.
b) Calcular la definitiva de cada alumno, esto es el promedio aritmético y guardarla en otro
vector.
c) Calcular e imprimir el promedio del grupo
d) Imprimir un listado del grupo con el nombre y la definitiva del alumno
e) Imprimir otro listado con el nombre y la definitiva de los alumnos que ganaron la materia.
Calificación mínima de 3,0.

inicio
dim nom [32], nota 1 [32], nota 2 [32], nota 3 [32]. defin [32],
sum = 0
para i = 1 hasta 32 haga
lea nom [i], nota 1 [i], nota 2 [i], nota 3 [i]
defin (i) = (nota 1 [i] + nota 2 [i] + nota 3 [i] / 3
sum = sum + defin (i)
finpara
promedio = sum / 32
escriba “el promedio del grupo es: “, promedio
escriba “listado del grupo con la definitiva de cada alumno”
para i = 1 hasta 32 haga
escriba nom [i], defin (i)

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 99
Universidad Tecnológica de Bolívar Fundamentos de Computación

finpara
escriba “listado de los alumnos que pasaron la asignatura”
para i = 1 hasta 32 haga
si defin (i) > = 3.0 entonces
escriba nom [i], defin (i)
finsi
finpara
fin

13. Elaborar un algoritmo para hallar e imprimir la matriz C igual a la suma de las matrices A y B.
Las matrices A y B con K filas y J columnas deben ser leídas.

Inicio
lea K, J
dim A [K,J], B [K, J], C [K, J]
para f = 1 hasta K haga
para c = 1 hasta J haga
lea A (f,c), B (f,c)
C (f, c) = A (f, c) + B (f, c)
finpara
finpara
para f = 1 hasta K haga
para c = 1 hasta J haga
escriba C (f, c)
finpara
finpara
fin

14. Elaborar un algoritmo para leer los elementos de una matriz X de N filas y N columnas e
imprimir la matriz transpuesta de X. La matriz transpuesta de S se obtiene intercambiando
las filas y las columnas de X, esto es, XT (i, j) = X (j, i).

Inicio
lea N
dim X [N,N], TX [N,N]
para f = 1 hasta N haga
para c = 1 hasta N haga
lea X (f, c)
XT (f, c) = X (f, c)
finpara
finpara
para f = 1 hasta N haga
para c= 1 hasta N haga
imprima TX (f, c)
finpara
finpara

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 100
Universidad Tecnológica de Bolívar Fundamentos de Computación

fin

15. Elaborar un algoritmo para leer los elementos de la matriz M de N x N y calcular e imprimir.
A) SEDP = suma de los elementos de la Diagonal Principal: b) PEDS = Producto de los
elementos de la Diagonal Secundaria. Los elementos de la diagonal principal son aquellos
en los cuales las filas son iguales a las columnas, es decir, aquellos M (i, j) tales que i = j; los
elementos de la diagonal secundaria son aquellos M (i, N + 1) para todos los valores de i.

Inicio
lea N
dim M [N,N]
SEDP = 0: PEDS = 1
para f = 1 hasta N haga
para c = 1 hasta N haga
lea M (f, c)
finpara
finpara
para f = 1 hasta N haga
SEDP = SEDP + M (f, f)
PEDS = PEDS * M (f, N + 1 – f)
finpara
escriba “suma de los elementos de la Diagonal Principal”,
SEDP
escriba “producto de los elementos de la Diagonal secundaria:”, PEDS
fin

16. Elaborar un algoritmo para leer los elementos de la matriz M de N x N y calcular e imprimir:
a) SESDP = suma de los Elementos sobre la Diagonal Principal, b) PEBDS = producto de
los Elementos Bajo la Diagonal Secundaria.
Inicio
lea N
dim M [N,N]
SESDP = 0: PEBDS = 1
para f = 1 hasta N haga
para c = 1 hasta N haga
lea M (f, c)
finpara
finpara
para f = 1 hasta N haga
para c = 1 hasta N haga
si c > f entonces
SESDP = SESDP + M (f, c)
PEBDS = PEBDS * M ( N + 1 – f, c)
finsi
finpara
finpara

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 101
Universidad Tecnológica de Bolívar Fundamentos de Computación

escriba “suma de los elementos sobre la Diagonal Principal”,


SESDP
escriba “producto de los elementos bajo la Diagonal secundaria:”, PEBDS
fin

17. Elaborar un algoritmo para averiguar si una matriz A de N x N es simétrica respecto a la


diagonal principal. La matriz A es simétrica, si A (i, j) = A (j, i) para todos los valores de i y j
desde 1 hasta N.

Inicio
lea N
dim M [N,N]
Sw = “SI”
para f = 1 hasta N haga
para c = 1 hasta N haga
lea A (f, c)
finpara
finpara
para f = 1 hasta N haga
para c= 1 hasta N haga
si A (f, c) <> A (c, f ) entonces
Sw = “NO”
finsi
finpara
finpara
si Sw = “SI” entonces
escriba “la matriz A es simétrica”
sino
escriba “La matriz A no es simétrica”
finsi
fin

3.5 Problemas Propuestos

1 Elaborar un algoritmo que lea un vector de N elementos (enteros) y que coloque en cero los
elementos del arreglo que tienen valor impar.

2 Elabore un algoritmo que lea tres vectores A, B, C de M elementos y genere un cuarto


vector NUEV de M elementos, donde cada elemento. contenga la suma de los elementos
correspondientes en los arreglos A, B, Y C. Así NUEV(I) = A(I) + B(I) + C(I).

3 Elabore un algoritmo que lea dos vectores A, B de N elementos y genere otros tres vectores,
uno que contenga la suma de los elementos respectivos, otro con el producto y otro con la
diferencia (si la diferencia es negativa se debe colocar un cero como valor).

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 102
Universidad Tecnológica de Bolívar Fundamentos de Computación

4 Elabore un algoritmo que genere e imprima mI vector de N elementos asignando a cada


elemento un valor igual al inverso multiplicativo de la posición que ocupa.

5 Elabore un algoritmo que lea un vector A de N elementos y una variable CLAVE, encuentre
si el valor de CLAVE se encuentra o no dentro del arreglo. En caso de encontrarse debe
indicar cuántas veces aparece dicho valor en el arreglo.

6 Elabore un algoritmo que lea un vector F de N elementos y encuentre:


N

∏F i
FEQ = i =1
2
N
⎡⎛ N ⎞ ⎤
∑ ⎢⎜⎜ ∏ Fi ⎟⎟ F ⎥
i =1 ⎣⎝ i =1 ⎠ i⎦
7 Elabore un algoritmo que lea dos vectores A y B de N elementos cada uno y calcule e
imprima:
• Un vector C cuyos elementos resulten de sumar los valores de A(I) y B(I) para todo valor de
I.
• Un vector D cuyos elementos tienen la forma general: D(K) = A(I) - B(I) para 1 par.
• Un vector E cuyos elementos tienen la forma general: E(K) = A(I) * B(I) para 1 impar.

8 Elaborar un algoritmo que lea un vector de N elementos y calcule e imprima el número


mayor y el menor del vector.

9 Elaborar un algoritmo que lea un vector de N elementos y calcule e imprima el numero


mayor y la posición que ocupa en el vector.

10 Elaborar un algoritmo que lea un vector A de N elementos (enteros) y calcule:

◊ La suma de las diferencias entre un elemento y el siguiente.


◊ La suma de los números positivos.
◊ La cantidad de números entre cero y diez inclusive.

11 Elabore un algoritmo que lea un vector de N elementos (enteros) y calcule e imprima:

- El número de datos repetidos en el vector.


- El número de valores positivos.
- El número de valores impares.

12 Elabore un algoritmo que lea N números los imprima ordenados descendentemente.

13 Elabore un algoritmo que lea dos vectores. El primero. de M elementos. contendrá los
códigos _e los estudiantes que perdieron Cálculo integral. El segundo. de N elementos.
contiene los códigos de los estudiantes que perdieron Lógica y algoritmos. Se debe crear e
imprimir otro arreglo que contendrá los códigos de los estudiantes que perdieron tanto
Cálculo integral como Lógica y algoritmos.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 103
Universidad Tecnológica de Bolívar Fundamentos de Computación

14 Se tiene dos vectores relacionados. El primero contiene los códigos de los N artículos que
se venden en un almacén. El segundo contiene las existencias (numero de unidades
existentes) de cada uno de los artículos.

Durante el día se realiza un número desconocido de transacciones en el almacén. las cuales


pueden ser de despacho de mercancía a los clientes o de recibo de mercancía de los
proveedores. Por cada transacción de tienen los siguientes datos:

• Tipo de Transacción: 1 para proveedor (recibo) ó 2 para cliente (venta).


• Código del articulo transado.
• Número de unidades transadas (recibidas o vendidas).

Se pide elaborar un algoritmo que lea los dos vectores. que lea los datos de cada
transacción. que actualice el vector de existencias y que imprima los dos vectores después
de procesar todas las transacción.

Nota: Asuma que en ningún momento la cantidad vendida es mayor que las existencias.

15 Dos vectores contienen valores ordenados de menor a mayor. uno de M elementos y otro de
N elementos. Elabore un algoritmo que lea los dos vectores y genere otro vector de N + M
elementos que contendrá los elementos de los dos primeros ordenados de menor a mayor.

16 Un almacén tiene N departamentos numerados consecutivamente. los cuales venden


artículos de diferente naturaleza. Durante el día se hacen muchas ventas. Por cada venta
que se realiza se tienen los siguientes datos:

• Código del artículo.


• Precio de venta.
• Costo del articulo.
• Código del departamento donde se vendió.
• Cantidad vendida.
• Indicativo que dice si el producto es colombiano o importado.

El gerente del almacén necesita saber. para cada departamento. cuántos productos nacionales
y
cuántos importados obtuvieron utilidades superiores a $20.000. Elabore lm algoritmo que provea
la
información que el gerente necesita.

17 N estudiantes toman un examen de escogencia múltiple que contiene M preguntas. cada


una de las cuales con 5 respuestas posibles. Por cada estudiante que presentó la prueba se

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 104
Universidad Tecnológica de Bolívar Fundamentos de Computación

tienen los siguientes datos: código del estudiante y las respuestas a las M preguntas. Por
otro lado se tienen las respuestas correctas a las M preguntas.

Elabore un algoritmo que basándose en los datos anteriores provea la siguiente información:

⇒ Código y puntaje de cada estudiante.


⇒ Código y puntaje del estudiante: que sacó el puntaje más alto.
⇒ Número de estudiantes que respondieron correctamente por 10 menos el 50% de las
preguntas.
⇒ Puntaje promedio del grupo.

18 Elabore un algoritmo que lea dos vectores A y B de M y N elementos respectivamente y


genere un vector V que contenga la unión de los conjuntos definidos por los vectores A y B.
Por unión se entiende que V contendrá una copia de cada valor distinto encontrado en todo
A y en todo B.

19 El DANE ha recopilado información sobre la cantidad de trabajadores agrícolas y


trabajadores no agrícolas en Colombia durante los últimos N años. Para cada uno de los N
años se tiene la siguiente información:

⇒ Año.
⇒ Numero de trabajadores agrícolas (millones).
⇒ Número de trabajadores no agrícolas (millones).

Los datos están ordenados en forma ascendente según el año. Elabore un algoritmo que lea la
anterior información y provea la siguiente:

• Año (s) en el cual hubo el menor número de trabajadores agrícolas.


• Año (s) en el cual hubo el mayor número de trabajadores no agrícolas.
• Año (s) en el cual hubo el mayor decrecimiento en el número de trabajadores agrícolas.
• Año (s) en el cual hubo un decrecimiento en el numero de trabajadores no agrícolas
mientras que el número de trabajadores agrícolas se incremento con respecto al año
anterior.
• Año (s) en el cual hubo el mayor número de trabajadores.
• Año (s) en los cuales hubo el mismo número de trabajadores agrícolas.
• El porcentaje de trabajadores agrícolas con respecto al total de trabajadores.

20 El Instituto Colombiano Agropecuario ha recopilado información sobre la producción. en los


últimos 20 años. de carne y leche en diversos municipios del departamento de Bolívar. La
información se ha guardado en carpetas, ordenadas por año en forma ascendente. Cada
carpeta está rotulada con el código del municipio y en ella está consignada la siguiente
información por cada año de estudio: Año, Producción de carne (toneladas) y Producción de
leche (millones de litros). Su trabajo. si decide aceptarlo. consiste en elaborar un programa
que teniendo en cuenta los datos anteriores provea la siguiente información:

Para cada municipio:


Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 105
Universidad Tecnológica de Bolívar Fundamentos de Computación

• Año de mayor producción de carne y cuántas toneladas se produjeron.


• Año de menor producción de leche y cuántos millones de litros se produjeron.
• Año en que hubo la mayor disminución en la producción de carne con respecto al año
anterior.
• Producción media de leche y carne.

Para todo el departamento:

◊ Código del municipio con mayor producción media de leche.


◊ Cantidad de municipios en los que la producción total de carne fue menor de 200 toneladas.
◊ Cantidad de municipios en los que la producción total de leche fue mayor de 50 millones de
litros.

21 Un grupo de estudiantes presentó una prueba de aptitud matemática, por cada uno de los
cuales de se tiene el código y su calificación en la prueba (de O a 100). Elabore un algoritmo
que permita clasificar las calificaciones, determinando cuántas caen en cada uno de los
intervalos O a 10, 11 a 20, 21 a 30, y así sucesivamente hasta el intervalo 91 a 100. Imprima
además los códigos y la calificación de los 20 estudiantes con calificación más alta.

22 Elabore un algoritmo que lea un vector A de N elementos que se encuentra ordenado en


fom13 ascendente, lea un valor X y lo inserte en el vector de tal forma que se mantenga el
orden ascendente. Si en el vector A ya hay un valor igual a X no haga la inserción. Imprima
el vector actualizado.

23 En una universidad se efectúa un examen de admisión que consta de dos pruebas: Aptitud
Matemática y Aptitud Verbal. Cada prueba contiene N preguntas de escogencia múltiple y
cada pregunta tiene 5 opciones. En un vector R de 2N elementos se graban las respuestas
correctas de las dos pruebas. Las N primeras posiciones de R contienen las respuestas
correctas a la prueba de Aptitud Matemática y las restantes N posiciones contienen las
respuestas correctas a la prueba de Aptitud Verbal.

Se presentan M estudiantes a la prueba. Para cada uno de ellos se tienen los siguientes datos:

• Número de credencial.
• Respuestas a la prueba de Aptitud Matemática.
• Respuestas a la prueba de Aptitud Verbal.

Elabore un algoritmo que basándose en la información anterior provea la siguiente:

- El puntaje obtenido por cada estudiante en cada prueba.


- El p1mtaje total obtenido por cada estudiante.
- El puntaje promedio de cada examen.
- El puntaje promedio total.
- La credencial y el puntaje correspondiente a los estudiantes que obtuvieron un puntaje igual o
superior al promedio.
Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 106
Universidad Tecnológica de Bolívar Fundamentos de Computación

- El mayor puntaje (total) y la credencial del estudiante que lo obtuvo.

24 Elaborar un algoritmo que imprima las primeras N filas del triangulo de Pascal. El cual tiene
la siguiente forma:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

Cada uno de los elementos es la suma de dos elementos de la fila precedente. a excepción de
los elementos del contorno que son todos unos (1).

25 Elaborar un algoritmo que lea una matriz de N filas y M columnas. Luego lea un valor y
chequee si ese valor existe en algunos de los elementos de la matriz. Si existe se debe
imprimir la posición que ocupa el valor dentro de la matriz. Si no existe se debe un mensaje
que diga: "No se encuentra dentro de la matriz".

26 Elabore un algoritmo que lea una matriz de N*N. Calcule la suma de los elementos de la
diagonal principal de la matriz. Calcule la suma de los elementos de la última fila y la suma
de los elementos de la última columna.

27 Una compañía tiene N vendedores y lleva funcionando M años. Elabore un algoritmo que lea
la venta (en miles de pesos) de cada uno de los N vendedores en cada uno de los NI años y
almacene esos datos en una matriz. Luego debe calcular e imprimir:

• Total de ventas de cada vendedor en los M años.


• Total de ventas en cada año.
• El total de ventas de la comp311fa en los M años.

28 La transpuesta de una matriz se define como la matriz cuya fila 1 es la columna 1 de la


matriz original. Elabore un algoritmo que lea la matriz A de M filas y N columnas y calcule la
transpuesta de A.

29 Dada una matriz A de N filas y M. Elabore un algoritmo que lea la matriz y genere e imprima
un vector que contenga los números pares de la matriz.

30 Elabore un algoritmo que lea dos matrices A y B Y calcule la matriz e resultante de


multiplicar A*B. donde:
N
C (i, j ) = ∑ A(i, k ) * B(k , j ) para todo i, j.
K −1

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 107
Universidad Tecnológica de Bolívar Fundamentos de Computación

Con la condición de que el número de colw11nas de la matriz A debe ser igual al número de
filas de la matriz B.
Nota: Si no es posible la multiplicación se debe mostrar un mensaje indicando la razón por la
cual no se puede realizar la operación.

31 N trabajadores de una construcción laboran M días en cierta obra. Al final de la jornada a


cada trabajador se le anota en un registro el código y el número de horas trabajadas durante
la jornada. Al concluir la obra se tendrá la siguiente información:

Código Día 1 Día 2 . . . Día M


trabajador
120 8:50 9:00 . . . 8:00
128 8:00 9:50 . . . 9:00
500 7:30 8:30 . . . 6:20
.
.
.
Elabore un algoritmo que lea los datos de los trabajadores teniendo en cuenta lo siguiente:

a) Los códigos de los trabajadores se almacenarán en un vector y las horas


en una matriz. donde, en su orden, a cada elemento del vector le
corresponda a una fila en la matriz.
b) Por cada trabajador se leerán su código y las horas trabajadas en cada día
del mes.
Se debe calcular e imprimir lo siguiente:
• El total de horas trabajadas por cada hombre.
• El total de horas trabajadas en cada jornada.
• El total de horas trabajadas por todos los hombres en toda la obra. . El código del trabajador
que más horas laboró.
• El numero del día en que menos horas se laboró.

32 Elabore un algoritmo que lea tres matrices de WN (A, B, C) y el valor de N y que produzca
como salida un valor lógico (verdadero o falso) que indique si la matriz e es o no el producto
de A*B.

33 Elabore un algoritmo que lea un vector de N enteros positivos y posteriormente cambie los
elementos repetidos por el número -l. de tal forma que el vector resultante no tenga
elementos repetidos (salvo el-1).

34 Elabore un algoritmo que lea un vector de N elementos e intercambie el primer elemento con
el último, el segundo con el penúltimo, etc., hasta llegar a la mitad.

35 Elabore un algoritmo que lea un vector A de N elementos y que luego rote el vector 2
posiciones adelante. así: (2. -3, 1.4.9.5, O. 7) (1.4.9.5. O. 7. 2. -3).

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 108
Universidad Tecnológica de Bolívar Fundamentos de Computación

36 Elabore un algoritmo que lea dos vectores A y B de 2N elementos cada uno. Elabore un
algoritmo que intercambie los N primeros elementos de A con los N últimos elementos de B.
así: El primero de A con el N+1 de B. el segundo de A con el N+2 de B. etc. La lectura de los
datos se debe hacer de dos en dos. es decir. un elemento de A y uno de B.

37 Una matriz cuadrada de orden 2N puede ser dividida en 4 submatrices como se muestra a
continuación:

38 Elaborar 1m algoritmo que ordene una matriz de tamaño N"'M de menor a mayor con el
siguiente proceso: guarde primero por filas de la 1 a la N la matriz en un vector de N*M
elementos y luego ordene el vector. Finalmente copie el vector ordenado en la matriz.

39 Una matriz cuadrada cuyos elementos de la diagonal principal tienen valor uno y los demás
elementos tienen valor cero se conoce como matriz identidad.

Cualquier matriz cuadrada de orden N puede aumentarse por medio de una matriz identidad.
del mismo orden. colocada a su derecha. por ejemplo:

Matriz dada Matriz identidad Matriz aumentada


1 3 1 0 1 3 1 0
5 8 0 1 5 8 0 1

Elabore un algoritmo que lea una matriz cuadrada. e imprima la matriz identidad del mismo orden
y la matriz aumentada.

40 Se dice que una matriz cuadrada es ortogonal si al multiplicarla por su transpuesta da como
resultado la matriz idéntica. Elabore algoritmo que lea una matriz A de N*N y averigüe si es
ortogonal o no.

41 La empresa de aviación "Alas de Águila" desea computarizar los datos de sus vuelos. La
empresa realiza N vuelos diarios a diferentes destinos dentro y fuera del país. En un vector
de N elementos se graban los valores. enteros. correspondientes al cupo máximo para cada
uno de los vuelos. La empresa recibe todas las reservaciones el día anterior a la fecha
prevista para el vuelo. Para cada pasajero que solicita una reservación se tienen los
siguientes datos:

- Número de identificación.
- Nombre del pasajero.
- Número del vuelo que desea tomar.
- Ciudad de destino.
- Tipo de destino. (1 Nacional, 2 extranjero).

Elabore un algoritmo que lea los valores correspondientes a los cupos máximo de los
vuelos, los datos de todas las personas que solicitan reservación y provea la siguiente
información:

⇒ Número total de reservaciones para cada vuelo.


Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado
Página: 109
Universidad Tecnológica de Bolívar Fundamentos de Computación

⇒ Cantidad de vuelos en los que se reservaron todos los cupos.


⇒ Cantidad de cupos que no se reservaron en cada vuelo.
⇒ Cantidad de personas que no pudieron hacer reservación porque los cupos estaban
llenos.
⇒ Cuántas personas viajarán al extranjero y cuántas dentro del país.
⇒ Si al pasajero se le puede hacer la reservación, imprima toda su información y el
mensaje: "Cupo reservado",
⇒ Si al pasajero No se le puede hacer la reservación, imprima toda su información y el
mensaje: "Cupo no reservado",

42 Una matriz A se dice que es simétrica si A(i . 1) = AO . i) para todo i. j dentro de los límites
de la matriz. Elabore un algoritmo que lea una matriz de N*N y diga si es o no es simétrica.

En un departamento de N municipios se realizan elecciones para gobernador, para las


cuales se presentan M candidatos. Elabore un algoritmo que haga lo siguiente:

- Almacene los nombres de los candidatos en un "lector de M elementos.


- Almacene los nombres de los municipios en un "lector de N elementos
- Almacene, en una matriz (VOTOS) de N*M, la cantidad de votos que cada candidato
obtuvo en cada municipio. Así: el elemento VOTOS(2.5) contendrá la cantidad de votos que
el candidato 5 obtuvo en el municipio 2.
- Calcule e imprima el número total de votos que recibió cada candidato y el porcentaje del
total de votos emitidos. Asimismo imprima el nombre del candidato ganador.
- Calcule e imprima el total de votos emitidos en cada municipio, y el nombre del municipio
donde fue mayor la votación.
- Imprima el nombre del municipio donde más personas votaron por el candidato ganador y
el número de votos que obtuvo ese candidato en ese municipio.

43 Se desea permutar las filas I y J de una matriz (array) de dos dimensiones (M * N): M filas, N
columnas.
44 Utilizando arrays, escribir un algoritmo que visualice un cuadrado mágico de orden impar n,
comprendido entre 3 y 11. El usuario debe elegir el valor de n. Un cuadrado mágico se
compone de números enteros comprendidos entre 1 y n. La suma de los números que
figuran en cada fila, columna y diagonal son iguales. Ejemplo:
816
357
492
45 Algoritmo que triangule una matriz cuadrada y halle su determinante. En las matrices
cuadradas el valor del determinante coincide con el producto de los elementos de la
diagonal de la matriz triangulada, multiplicado por –1 tantas veces como hayamos
intercambiado filas al triangular la matriz.
46 Hacer un programa que invierta un array lineal de 20 elementos.
A1->b1 a1->b20
A2->b2 a2->b4
. .
. .

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 110
Universidad Tecnológica de Bolívar Fundamentos de Computación

A20->b20 a20->b1
47 Un caballo -que puede moverse según las reglas del ajedrez- se sitúa en el cuadro de
coordenadas (x0,y0). Se pide encontrar, si existe, un recubrimiento del tablero completo,
o sea, calcular un circuito de n*n-1 movimientos de forma que cada cuadro del tablero
sea visitado exactamente una vez. (**)
48 Hacer un programa en el cual consiste en situar ocho reinas en un tablero de ajedrez, de
forma que ninguna reina pueda actuar sobre cualquiera de las otras.(**)

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 111
Universidad Tecnológica de Bolívar Fundamentos de Computación

Bibliografía
JOYANES, Luis: Fundamentos de Programación. Algoritmos y Estructura de Datos. Segunda
Edición. McGraw-Hill, 1998.

HERNÁNDEZ, Lourdes. Diseño Estructurado de Algoritmos. 1998.

LIPSCHUTZ, Seymour, LIPSCHUTZ, Martín: Procesamiento de Datos. McGraw-Hill.1982

CORREA U., Guillermo. Desarrollo de Algoritmos y sus aplicaciones en Basic, Pascal, Cobol y C.
Tercera edición.

Conferencias y Ejercicios Instituto Santandereano de Sistematización (ISIS), Universidad Industrial


de Santander (UIS) y Apuntes de clases del profesor Arnulfo Rodríguez Pacheco, entre otros.

Ing. Alfonso De la Rosa Caraballo Ing. Isaac Zúñiga Silgado


Página: 112

También podría gustarte