30 Ejercicios
30 Ejercicios
30 Ejercicios
Se hace entrega un total de 40 ejercicios para su desarrollo que corresponde a su 1er Proyecto en Microsoft
Visual Basic 6.0 que incluyen problemáticas de “Estructuras Algorítmicas Secuenciales, Condicionales
y de Iteración” para su práctica en el software VBBASIC60.
Para resolver este problema se debe identificar que la forma A está compuesta por dos figuras: un
triángulo de base B y de altura (A - C); y por otro lado, un rectángulo que tiene base B y altura C. Con
estas consideraciones se puede establecer la tabla 2.6 con las variables que se requieren para implementar
el algoritmo de solución.
Tabla: Variables utilizadas para determinar el área de un terreno.
Por consiguiente, como se puede ver, se establecen variables para las respectivas áreas de las figuras que
conforman el terreno, las cuales determinarán el área total del respectivo terreno. Ahora, con estas
consideraciones, se puede representar el algoritmo mediante el diagrama de flujo 2.5, el cual permite la
solución del problema.
De igual forma, el pseudocódigo 2.5 muestra la solución correspondiente mediante este método de
representación.
Pseudocódigo: Algoritmo para determinar el área de un terreno.
Por lo tanto, para poder resolver el problema, se tiene que calcular el cateto faltante, que es la altura del
triángulo, con ésta se puede calcular el área del triángulo, y para obtener el área total triangular se multi-
plicará por dos. Por otro lado, para calcular el área de la parte circular, se calcula el área de la
circunferencia y luego se divide entre dos, ya que representa sólo la mitad del círculo. De este análisis se
puede obtener la tabla 2.7, que contiene las variables requeridas para plantear el algoritmo con la solución
respectiva.
Forma de la alberca.
“Si la cantidad comprada es inferior a 30 metros cúbicos el descuento es del 2%, independientemente
del tipo de madera”
Mediante el pseudocódigo 3.2 represente el algoritmo que permite determinar si el número que se
proporciona es positivo o negativo.
Como se puede ver, para determinar si un número es positivo o negativo, sólo es necesario establecer si
éste es mayor o igual a cero; si el resultado de la comparación es afirmativo, a la variable R se le asignará
el valor de “POSITIVO”, si resulta una negación, por consiguiente, el valor que tome R será de
“NEGATIVO”. Ahora, el diagrama de flujo 3.2 muestra el algoritmo que permite obtener la solución del
problema tal y como se presenta mediante la utilización de pseudocódigo.
El diagrama de flujo 3.5 muestra la estructura del algoritmo correspondiente para la solución de este
problema.
Un algoritmo es perfectible, o en su caso puede ser sustituido por otro con otras características que
conducen a la misma solución, la diferencia que se presenta se puede basar en la eficiencia que presente
uno con respecto a otro de los algoritmos; en la mayoría de los casos esta eficiencia se mide con respecto
al número de pasos y variables que intervienen en el proceso de solución del problema, que se puede
reflejar en el tiempo de respuesta. Para este problema se puede establecer un algoritmo de solución como
el que se presenta mediante el diagrama de flujo.
Como se puede ver, en esta solución que se presenta ahora sólo se compara los dos primeros valores (A
y B), de los cuales se almacena el mayor en una variable auxiliar (M), la cual se compara con el tercer
valor (C), y a partir de esta comparación se establece cuál valor es el mayor. Nótese que en ambas
alternativas no se considera determinar el nombre de la variable, sino sólo se pide el valor que se
almacena en ella.
El costo de la mano de obra se obtiene de la siguiente forma: para los productos con clave 3 o 4 se
carga 75% del Costo de la Materia Prima; para los que tienen clave 1 o 5 se carga 80 %, y para los que
tienen clave 2 o 6, 85 %. En caso de ingresar un “0”, el proceso no se realiza. Para calcular el Gasto de
Fabricación se considera que, si el artículo que se va a producir tiene claves 2 o 5, este gasto representa
30 % sobre el costo de la materia prima; si las claves son 3 o 6, representa 35 %; si las claves son 1 o 4,
representa 28 %. La materia prima tiene el mismo costo para cualquier clave.
Inicio
MP, C
V (C=3) o (C=4) F
V (C=1) o (C=5)
F
V (C=2) o (C=5) F
V (C=3) o (C=6) F
CP=MP+MO+GF
PV=CP+CP*0,45%
CP, PV
FIN
TALLER N° 15 | FORMULARIO N° 15: El banco “Bandido de peluche” desea calcular para uno de
sus clientes el saldo actual, el pago mínimo y el pago para no generar intereses. Los datos que se conocen
son: saldo anterior del cliente, monto de las compras que realizó y el pago que depositó en el corte
anterior. Para calcular el pago mínimo se debe considerar 15% del saldo actual, y para no generar
intereses corresponde 85% del saldo actual, considerando que este saldo debe incluir 12% de los intereses
causados por no realizar el pago mínimo y $200 por multa por el mismo motivo. Realice el algoritmo
correspondiente y represéntelo mediante el diagrama de flujo y pseudocódigo.
III. ESTRUCTURAS ALGORÍTMICAS DE ITERACION (15) | ENTRADA,
PROCESO, SALIDA (FOR, WHILE, REPEAT UNTIL)
Tabla 4.11 Variables utilizadas para determinar el número de ventas de cada tipo y sus montos.
Es posible plantear este problema con cualquier tipo de ciclo, ya que previamente se puede saber cuántas
ventas se realizan y cuál es el valor que determina el número de veces que se realiza el ciclo, por tal
motivo, el pseudocódigo 4.18 muestra la solución mediante la utilización de un ciclo Mientras. De igual
forma, el diagrama de flujo 4.19 y el diagrama N/S 4.18 representan la solución correspondiente a este
problema.
Pseudocódigo 4.18 Algoritmo para determinar
el número de ventas de cada tipo y sus montos
respectivos.
Diagrama de flujo 4.19 Algoritmo para determinar el número de ventas de cada tipo y sus montos
respectivos.
TALLER N° 17 | FORMULARIO N° 17: SE SOLICITA: Imprimir promedio de cada categoría;
Imprimir cantidad de cada categoría; Imprimir descuentos aplicados por cada categoría.
INICIO ALGORITMO
# PA: Precio por asiento
# CA: Cantidad de asientos
# E: Edad
# C1: Acumulador de la Categoría 1
# C2: Acumulador de la Categoría 2
# C3: Acumulador de la Categoría 3
# C4: Acumulador de la Categoría 4
# C5: Acumulador de la Categoría 5
# Respuesta: Variable para determinar si continuamos
C1 = 0; C2 = 0; C3 = 0; C4 = 0; C5 = 0
HAGA
Imprimir “Ingrese la Cantidad de Asientos”
Leer CA
Imprimir “Ingrese la Edad”
Leer E
Si (E < 5) Entonces
Imprimir “Los Niños < 5 años no entran al Teatro”
De lo contrario
Si (E < 15) Entonces
C1 = C1 + CA * PA * 0,35
De lo contrario
Si (E<20) Entonces
C2 = C2 + CA * PA * 0,25
De lo contrario
Si E < 46 Entonces
C3 = C3 + CA * PA * 0,10
De lo contrario
Si E < 66 Entonces
C4 = C4 + CA * PA * 0,25
De lo contrario
C5 = C5 + CA * PA * 0,35
Fin Si
Fin Si
Fin Si
Fin Si
Fin Si
Imprimir “¿Desea Continuar S/N?”
Leer Respuesta
Imprimir “Categoría 1: “, C1
Imprimir “Categoría 3: “, C2
Imprimir “Categoría 4: “, C3
Imprimir “Categoría 5: “, C4
Imprimir “Categoría 5: “, C5
FIN ALGORITMO
TALLER N° 18 | FORMULARIO N° 18: Programa que muestra “N” veces un mismo mensaje.
TALLER N° 21 | FORMULARIO N° 21: Programa que recibe como datos de entrada las edades de
los “N” empleados de una empresa y calcular:
Para resolver este problema utilizando una estructura de repetición, se requiere como primer dato de
entrada el número de estudiantes de la Facultad.
Luego, para cada estudiante se solicitan los siguientes datos: sexo, edad y promedio de notas.
Este programa utiliza variables contadoras para determinar el número de estudiantes del sexo masculino
(nm) y el número de estudiantes del sexo femenino (nf).
Se asume que el sexo masculino debe ser ingresado al programa con una letra M (mayúscula o
minúscula), y el sexo femenino con una F (mayúscula o minúscula).
Además, se usaron acumuladores (sumae y sumap) para representar la sumatoria de las edades y la
sumatoria de los promedios de notas.
TALLER N° 24 | FORMULARIO N° 24: Este programa tiene un conjunto de instrucciones que
permiten validar la entrada de datos haciendo uso de una estructura “Repetir Hasta”. En el ejemplo el
usuario debe introducir la edad, pero se requiere que la edad esté entre 5 y 100, es decir que una edad
menor que 5 se considera inválida, al igual que una edad superior a 100. El objetivo es que el programa
detecte el error y no acepte las edades que son inválidas.
TALLER N° 25 | FORMULARIO N° 25: Programa que calcula la suma y la media aritmética de un
conjunto de números. Cada vez que se introduce un número se muestra un MsgBox donde se pregunta
si se desea introducir un nuevo número, si la respuesta es sí, aparece un InputBox para escribir el
siguiente número, si es no, entonces se muestran la suma, la media aritmética y la cantidad de números
procesados.
Nota: cuando una instrucción no cabe en una sola línea, se coloca al final de ésta el símbolo _, y se
continúa en la siguiente línea.
TALLER N° 26 | FORMULARIO N° 26: Hacer de tres maneras diferentes: usando “Hacer Para”,
“Hacer Mientras” y “Hacer Hasta”.
a) Obtener la suma de n números introducidos por el usuario.
b) Calcular la suma y la multiplicación de los cuadrados de los 50 primeros números naturales
(enteros positivos).
Tabla 4.5 Variables utilizadas para determinar el número de cantidades positivas y negativas.
Este problema se puede resolver mediante la utilización de cualquiera de los ciclos, dado que se conoce
el número de cantidades para capturar, que es el número de veces que se debe efectuar el ciclo, pero se
debe considerar que en caso de utilizar el ciclo Repite, al menos debe haber una cantidad leída o por leer.
La solución para este problema utilizando el ciclo Repite se puede plantear mediante el pseudocódigo
4.9 o con el diagrama N/S 4.9, o en su caso con el diagrama de flujo 4.9.
TALLER N° 28 | FORMULARIO N° 28: Una empresa tiene el registro de las horas que trabaja
diariamente un empleado durante la semana (seis días) y requiere determinar el total de éstas, así como
el sueldo que recibirá por las horas trabajadas. Realice un algoritmo para determinar esto y represéntelo
mediante el diagrama de flujo, el pseudocódigo y el diagrama N/S, utilizando el ciclo apropiado. La tabla
4.8 muestra las variables requeridas en la solución de este problema.
Tabla 4.8 Variables utilizadas para determinar las horas trabajadas y el sueldo de un empleado.
Dado que se conoce como dato que el total de días por contabilizar es seis, es posible realizar la solución
con cualquier tipo de ciclo. La solución para este problema utilizando el ciclo Mientras se puede plantear
mediante el pseudocódigo.
Diagrama de flujo: Algoritmo para determinar las horas trabajadas y el sueldo semanal de un
empleado.
Pseudocódigo 4.15 Algoritmo para determinar las horas laboradas y el sueldo semanal de un empleado.
TALLER N° 29 | FORMULARIO N° 29: Una persona se encuentra en el kilómetro 70 de la carretera
Aguascalientes-Zacatecas, otra se encuentra en el km 150 de la misma carretera, la primera viaja en
dirección a Zacatecas, mientras que la segunda se dirige a Aguascalientes, a la misma velocidad. Realice
un algoritmo para determinar en qué kilómetro de esa carretera se encontrarán y represéntelo mediante
el diagrama de flujo, el pseudocódigo y el diagrama N/S, utilizando el ciclo apropiado. Las variables que
se emplean se muestran en la tabla 4.9. Para plantear el algoritmo que dé la solución de este problema,
no se puede utilizar un ciclo Desde, dado que se desconoce el número de veces que se debe efectuar el
ciclo, por consiguiente, para la solución de este problema se pueden utilizar los ciclos Mientras o Repite,
ya que se determinará la duración del ciclo cuando la distancia entre los dos puntos sea cero o menor que
cero, como se ve en la solución planteada; con base en esto, el diagrama de flujo 4.18 muestra el algoritmo
de solución mediante la utilización del ciclo Mientras.
Diagrama de flujo 4.18 Algoritmo para determinar el punto de encuentro entre las dos personas.
Tabla 4.9 Variables utilizadas para determinar el punto de encuentro entre las dos personas.
A partir del diagrama de flujo se puede observar que cuando se establece finalmente el punto de
encuentro, si R fue igual a cero los dos valores de kilómetros son iguales, y en caso de que no se cumpla
esta condición se tiene que disminuir medio kilómetro al punto KA, dado que ahora la distancia entre
KA y KB sería de un kilómetro, por lo tanto, el punto común para ambos es medio kilómetro antes del
que ahora tiene KA, o bien medio kilómetro más del que ahora tiene KB, esto en lo que respecta a valores
absolutos. Si se planteara la solución utilizando el ciclo Repite, esta parte de la consideración de las
distancias debería ser igual, lo que cambiaría sería básicamente el formato del ciclo, en lo que difiere del
ciclo Mientras. El pseudocódigo 4.17 y el diagrama N/S 4.17 representan la solución correspondiente a
este planteamiento:
Pseudocódigo 4.17 Algoritmo para determinar el punto de encuentro entre las dos personas.
TALLER N° 30 | FORMULARIO N° 30: Un vendedor ha realizado N ventas y desea saber cuántas
fueron por 10,000 o menos, cuántas fueron por más de 10,000 pero por menos de 20,000, y cuánto fue el
monto de las ventas de cada una y el monto global.