Logo Studenta

George_Fundamentos_de_programacion

¡Este material tiene más páginas!

Vista previa del material en texto

George Boole [buː l] (2 de noviembre de 1815 - 8 de diciembre 
de 1864) fue un matemático y filósofo británico. 
 
Como inventor del álgebra de Boole, que marca los fundamentos 
de la aritmética computacional moderna, Boole es considerado 
como uno de los fundadores del campo de las Ciencias de la 
Computación. En 1854 publicó "An Investigation of the Laws of 
Thought" en el que desarrollaba un sistema de reglas que le 
permitían expresar, manipular y simplificar problemas lógicos y 
filosóficos cuyos argumentos admiten dos estados (verdadero o 
falso) por procedimientos matemáticos. Se podría decir que es el padre de las operaciones 
lógicas y gracias a su álgebra hoy en día es posible manipular operaciones lógicas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Estructuración de Algoritmos. 
 
 Objetivo 
 Que el estudiante aprenda el correcto uso de las distintas 
sentencias con sus respectivas notaciones y sintaxis que ofrece 
la teoría algorítmica para el desarrollo de problemas además de 
mostrar de manera práctica como es el desarrollo de la misma 
aplicación en Visual Basic. 
 
 
 
En esta unidad 
 
 Estructuración de Algoritmos. 
 Algoritmos de Estructura Secuencial. 
 Algoritmos de Estructura Condicional. 
 Algoritmos de Estructura Repetitiva 
 
 
 
 
 
 
 
Página 50 
 
Fundamentos de programación 
 
Estructuración de Algoritmos 
Los algoritmos se estructuran de diversas formas, en algunos casos simplemente su 
desarrollo es consecutivo, a este tipo de algoritmos se denomina de estructura secuencial, 
en otros casos durante el desarrollo secuencial se generan preguntas a este tipo de 
algoritmos se denomina de estructura condicional y en otros casos generan bucles es decir 
repetición de ciertas líneas de programas, a estos algoritmos se denominan de estructura 
repetitiva. 
Para poder estructurar un algoritmo de manera correcta se deberá de aplicar los 
conceptos aprendidos en la unidad anterior de modo que desarrollen algoritmos adecuados, 
los términos usados son aplicables a los programas algorítmicos, de ahí que siempre se 
tendrá la siguiente estructura básica para cualquier algoritmo a desarrollar: 
 
 
 
 
 
 
 
I. Algoritmos de Estructura Secuencial. 
Este tipo de algoritmos se caracteriza por que entre sus instrucciones no existen 
estructuras condicionales ni repetitivas, se desarrollan línea a línea hasta culminar 
con su ejecución, gráficamente se observaría de la siguiente manera: 
 
 
 
 
 
 
 
Declaración de 
Variables 
Captura de 
Datos 
Proceso de Datos 
Salida de 
Información 
Instrucción 1 
Instrucción 2 
Instrucción 3 
Instrucción N 
 
 
 
 
Fundamentos de Programación Página 51 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
A continuación se desarrollaran una serie de problemas del tema en dos ambientes: 
estructurado(Algoritmos) y orientado a objetos(Visual Basic). 
 
 
 
Diseñar un Algoritmo que permita hallar el área de un triangulo rectángulo si se 
sabe: 
Área_triángulo = (B * H) / 2 
 
Donde B es base del triangulo y H es la altura. 
 
Solución: 
 
1. Análisis 
i. ¿Qué te piden que realices? 
Hallar el área de un triangulo. 
ii. ¿Qué datos necesito conocer? 
Según la formula que se muestra debería de conocer la base y la altura. 
 
2. Planteamiento Lógico. 
El problema es de aplicación directa solamente abra que tener en cuenta la 
formula para hallar el área de un triangulo rectángulo, la cual es dato del 
problema. 
 
3. Definición de variables de entrada 
Las variables que se usaran para la captura de la base y la altura son: B y H. 
 
4. Definición de variables de salida 
Finalmente la variable en donde se muestra el área del triangulo rectángulo es: 
AR 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
B, H: entero 
AR: real 
Escribir(„Ingrese el valor de la base:‟) 
Capturar(B) 
Escribir(„Ingrese el valor de la altura:‟) 
Ejercicio de aplicación No. 1 
 
 
 
 
Página 52 
 
Fundamentos de programación 
 
Capturar(H) 
AR = (B * H) / 2 
Mostrar(„El valor del área del triangulo es:‟, AR) 
FIN 
 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
Observación: Para el diseño y programación de las aplicaciones de 
este libro, usaremos el Visual Basic en esta parte observaremos los 
siguientes objetos: 
 
 
 
 
 
 
 
 
 
 
 
INICIO 
FIN 
B, H 
AR = (B * H) / 2 
 
AR 
Declaración de variables 
B, H: entero 
AR: real 
El formulario que es un contenedor 
de objetos, es la pantalla donde 
diseñaremos nuestros programas 
Label1 lo usaremos para los títulos de 
los datos a usar y los resultados 
obtenidos 
TextBox1 captura los datos entrantes 
y mostrar resultados generados 
Button1 es para procesar un 
programa 
 
 
 
 
Fundamentos de Programación Página 53 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
La programación orientada a objetos se caracteriza porque se 
estudian dos cosas: 
 
 
 
 
 
De este modo todo objeto que observamos posee dos divisiones 
marcadas: 
 
 
 
 
 
Las propiedades nos servirán para Diseñar y las operaciones para 
Programar. 
 
A continuación observaremos como es el diseño del formulario 
 
 
 
 
 
 
 
5.4 Codificación del Programa 
Private Sub Button1_Click 
 Dim b as integer 
Dim h as integer 
Dim ar as single 
b = val(textbox1.text) 
h = val(textbox2.text) 
 ar = (b*h) / 2 
textbox3.text = ar 
End Sub 
 
 
DATOS + COMPORTAMIENTO 
PROPIEDADES + OPERACIONES 
Títulos para 
ingresar datos 
(ESCRIBIR) 
Objetos para el 
ingreso de datos 
(CAPTURAR) 
Ejecución del 
programa realizado 
Salida de 
información 
generada 
(MOSTRAR) 
Botones para nuevo 
ingreso y salir 
Declaración 
de variables 
Asignación de 
valores a las 
variables 
Desarrollo del 
Proceso 
Salida de información generada 
 
 
 
 
Página 54 
 
Fundamentos de programación 
 
 
Un docente demora demasiado al momento de hallar sus promedios ya que hace uso 
de una calculadora, ha planteado que un alumno le desarrolle un programita que le 
permita hacer los cálculos, si se sabe que estos se obtienen de tres notas: nota de 
prácticas, nota de trabajo y examen parcial. Desarrolle el Algoritmo. 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Diseñar un programa para ayudar al profesor a calcular sus promedios. 
ii. ¿Qué datos necesito conocer? 
Según el texto, los promedios se obtienen a partir de tres notas: nota de 
prácticas, nota de trabajo y examen parcial. 
 
2. Planteamiento Lógico. 
Para la solución del problema, se deberá tener en cuenta como es que se obtiene 
un promedio, en general los promedios se obtienen sumando las notas 
involucradas y dividiendo entre el número de estas, ejemplo: 
 Si tenemos 2 notas: promedio = (n1 + n2) / 2 
 Si tenemos 3 notas: promedio = (n1 + n2 + n3) / 3 
 ... 
 
3. Definición de variables de entrada. 
Las variables a utilizar para cada nota son: NP para las notas de prácticas, NT 
para las notas de trabajo y EP para el examen parcial. 
 
4. Definición de variables de salida. 
El promedio que se obtenga, se almacena en la variable PROM. 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
NP, NT, EP: entero 
PROM: real 
Escribir(„Ingresela nota de practicas:‟) 
Capturar(NP) 
Escribir(„Ingrese la nota de trabajo:‟) 
Capturar(NT) 
Escribir(„Ingrese la nota del examen parcial:‟) 
Capturar(EP) 
 
PROM = (NP + NT + EP) / 3 
Ejercicio de aplicación No. 2 
 
 
 
 
Fundamentos de Programación Página 55 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
Mostrar(„El promedio obtenido es:‟, PROM) 
FIN 
 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
 
 
INICIO 
FIN 
NP, NT, EP 
PROM = (NT + NP + EP) / 3 
 
PROM 
Declaración de variables 
NP, NT, EP: entero 
PROM: real 
ESCRIBIR 
CAPTURAR 
Ejecución del 
programa realizado 
MOSTRAR 
 
 
 
 
Página 56 
 
Fundamentos de programación 
 
5.4 Codificación del Programa 
 
Private Sub Button1_Click 
 Dim nt, np, ep As Integer 
 Dim prom As Single 
 nt = Val(TextBox1.Text) 
 np = Val(TextBox2.Text) 
 ep = Val(TextBox3.Text) 
 prom = (nt + np + ep) / 3 
 TextBox4.Text = prom 
End Sub 
 
 
 
 
 
 
 
 
 
 
Desarrollar un algoritmo que permita hallar el valor de X en la siguiente ecuación: 
 
 X = 3 + 5B – 8C 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Hallar el valor de X en la ecuación planteada. 
ii. ¿Qué datos necesito conocer? 
Si se observa la ecuación existen 2 variables cuyos valores no se conocen: B 
y C. 
 
2. Planteamiento Lógico. 
Este problema es de aplicación directa solamente habrá que tener en cuenta la 
ecuación que se esta dando como dato. 
 
3. Definición de variables de entrada 
Las variables para la captura de datos estarán representadas por las letras B y C. 
 
4. Definición de variables de salida 
El valor final de la ecuación se almacenará en la variable X. 
 
5. Diseño de la Solución. 
 
Declaración de 
variables 
Asignación de 
valores a las 
variables Desarrollo 
del Proceso 
Salida de información 
generada 
Ejercicio de aplicación No. 3 
 
 
 
 
Fundamentos de Programación Página 57 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
B, C, X: entero 
Escribir(„Ingrese el valor de B:‟) 
Capturar(B) 
Escribir(„Ingrese el valor de C:‟) 
Capturar(C) 
 X = 3 + 5 * B – 8 * C 
Mostrar(„El valor de X en la ecuación es:‟, X) 
FIN 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
INICIO 
FIN 
B, C 
X = 3 + 5 * B – 8 * C 
 
X 
Declaración de variables 
B, C, X: entero 
 
 
 
 
Página 58 
 
Fundamentos de programación 
 
5.4 Codificación del Programa 
Private Sub Button1_Click 
Dim b, c, x As Integer 
b = Val(TextBox1.Text) 
c = Val(TextBox2.Text) 
x = 3 + 5 * b - 8 * c 
TextBox3.Text = x 
End Sub 
 
 
 
 
 
Realizar un algoritmo que permita realizar lo siguiente: 
Se ingresa un número de 2 cifras de la forma ab y la salida final deberá ser: ba (es 
decir la inversa del número ingresado): 
 
 Ejemplo: 
 43------- 34 
 81------- 18 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Invertir un número de 2 cifras. 
ii. ¿Qué datos necesito conocer? 
El número que se desea invertir. 
 
2. Planteamiento Lógico. 
Para invertir un número debemos tener en cuenta que en un primer instante se 
debe de descomponer el número (de 2 dígitos), para ello lo dividiremos entre 10, 
usaremos los operadores matemáticos “div” y “mod” que nos van a permitir 
obtener el resto y el cociente entero; una vez que tenemos el número 
descompuesto lo volveremos a generar solo que transformando las unidades en 
decenas(multiplicar por 10) y sumando las centenas. 
 
Observe: sea 54 el número a invertir. 
 
 
4 * 10 + 5 = 45 
 
 
DIV 
MOD 
Ejercicio de aplicación No. 4 
 
 
 
 
Fundamentos de Programación Página 59 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
3. Definición de variables de entrada. 
La variable que se usará para la captura del número de 2 cifras será NUM. 
 
4. Definición de variables de salida. 
El número invertido se almacenará en la variable INV. 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 5.2 Diagrama de Flujo 
 
INICIO 
Declaración de variables 
A, B, NUM, INV: entero 
Escribir(„Ingrese el número de 2 cifras a invertir:‟) 
Capturar(NUM) 
A = NUM div 10 
B = NUM mod 10 
INV = B * 10 + A 
Mostrar(„El número invertido es:‟, X) 
FIN 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
5.4 Codificación del Programa 
Private Sub Button1_Click( 
 Dim num, a, b, inv As Byte 
 num = Val(TextBox1.Text) 
 a = num \ 10 
 b = num Mod 10 
 inv = b * 10 + a 
 TextBox2.Text = inv 
End Sub 
INICIO 
FIN 
NUM 
A = NUM div 10 
B = NUM mod 10 
INV = B * 10 + A 
INV 
Declaración de variables 
A, B, NUM, INV: entero 
 
 
 
 
Página 60 
 
Fundamentos de programación 
 
 
Se ingresa un número expresado en kilómetros por teclado, diseñe un algoritmo que 
realice las operaciones (conversiones) correspondientes para transformarlo en 
milímetros. 
 
Unidad Unidad_Equivalente 
1 centímetro 10 milímetros 
1 metro 100 centímetros 
1 kilómetro 1000 metros 
 
Solución: 
1. Análisis. 
i. ¿Qué te piden que realices? 
Me piden transformar un número que se ingresa en kilómetros a milímetros. 
 
ii. ¿Qué datos necesito conocer? 
El número que se desea convertir. 
 
2. Planteamiento Lógico. 
Para poder llevar un número de un sistema a otro, se deberá de utilizar las 
conversiones de sistemas (para el caso: unidades de longitud), de modo que se 
pueda encontrar una formula de conversión, para ello nos proporcionan una tabla 
con los datos de equivalencias. 
 
Observe: voy convertir 10 kilómetros a milímetros. 
 
 
 El resultado sería entonces: 10 * 1000 * 100 * 10 
 = 10000000 
 
 Generalizando, la formula sería: N * 1000000 
 
3. Definición de variables de entrada. 
El número a convertir en milímetros será capturado en la variable KM. 
 
4. Definición de variables de salida. 
El número convertido en milímetros se guardará en la variable ML. 
 
5. Diseño de la Solución. 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
KM, ML: entero 
Ejercicio de aplicación No. 5 
 
 
 
 
Fundamentos de Programación Página 61 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
Escribir(„Ingrese el número de kilómetros a transformar:‟) 
Capturar(KM) 
ML = KM * 1000000 
Mostrar(„El número expresado en milímetros es:‟, ML) 
FIN 
 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
5.4 Codificación del Programa 
 
Private Sub Button1_Click 
 Dim km, ml As Long 
 km = Val(TextBox1.Text) 
 ml = km * 1000000 
 TextBox2.Text= ml 
End Sub 
 
 
INICIO 
FIN 
KM 
ML = KM * 1000000 
ML 
Declaración de variables 
KM, ML: entero 
 
 
 
 
Página 62 
 
Fundamentos de programación 
 
 
Una herencia se tiene que repartir entre 3 hermanos, al primero le tocará el 20% de la 
herencia, al segundo le tocará el 35% de la herencia y al tercero el resto. Diseñe un 
algoritmo que nos permita calcular y visualizar cuanto le toca a cada hermano. 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
El problema me pide que muestre cuanto le toco de la herencia a cada 
hermano. 
ii. ¿Qué datos necesito conocer? 
Deberé conocer cual es la herencia ya que la forma como se reparte esta 
expresada en el problema. 
 
2. Planteamiento Lógico. 
Si sabemos cual es la herencia que se pretende repartir, solo tendremos que tener 
en cuenta la forma en que esta se reparte para poder plantear las formulas, para 
ello debemos saber lo siguiente: 
 
 
Los porcentajes se deben expresar en números, de la siguiente forma: 
 
 Por lo tanto 20% = 0.2 
 35% = 0.35 
Las formulas serían: (la palabra de significa producto en matemáticas) 
 
Herencia del 1er hermano = 0.2 * Herencia 
Herencia del 2do hermano = 0.35 * Herencia 
Herencia del 3er hermano = Herencia – (herencias anteriores) 
OBS: Para hallar el monto que le toca al ultimo hermano se puede realizar de la 
forma como se muestra en la formula o aplicando porcentajes, si se observa el 
gráfico al tercer hermano le tocaría el 45%. 
 
 
Ejercicio de aplicación No. 6 
 
 
 
 
Fundamentos de Programación Página 63 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
3. Definición de variables de entrada. 
La variable de entrada que representa a la herencia es H. 
 
4. Definición de variables de salida. 
Las variables en donde se muestra la parte que le toca a cada hermano son: el 
monto del primer hermano en HR1, el monto del segundo hermano en HR2 y el 
monto del tercer hermano en HR3. 
 
5. Diseño de la Solución. 
5.1 Pseudocódigo 5.2 Diagrama de Flujo 
 
INICIO 
Declaración de variables 
H: entero 
HR1, HR2, HR3: real 
Escribir(„Ingrese el monto de la herencia:‟) 
Capturar(H) 
HR1 = 0.2 * H 
HR2 = 0.35 * H 
HR3 = H – (HR1 + HR2) 
Mostrar(„Al primer hermano le toca:‟, HR1) 
Mostrar(„Al segundo hermano le toca:‟, HR2) 
Mostrar(„Al tercer hermano le toca:‟, HR3) 
FIN 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
INICIO 
FIN 
H 
HR1 = 0.2 * H 
HR2 = 0.35 * H 
HR3 = H – (HR1 + HR2) 
HR1, HR2, 
HR3 
Declaración de variables 
H: entero 
HR1, HR2, HR3: real 
 
 
 
 
Página 64 
 
Fundamentos de programación 
 
5.4 Codificación del Programa 
Private Sub Button1_Click 
 Dim h As Integer 
 Dim hr1, hr2, hr3 As Single 
 h = Val(TextBox1.Text) 
 hr1 = 0.2 * h 
 hr2 = 0.35 * h 
 hr3 = h - (hr1 + hr2) 
 
 TextBox2.Text = hr1 
 TextBox3.Text = hr2 
 TextBox4.Text = hr3 
End Sub 
 
 
 
 
 
 
 
Dos hermanos comparten los siguientes gastos de la casa: el hermano mayor 
contribuye con el 40% de su sueldo para los gastos de alimentación, el 21% en pagar 
el alquiler del departamento y el resto lo destina al banco; el hermano menor tiene un 
egreso del 35% de su sueldo en sus estudios, el 25% en apoyar pagar el alquiler del 
departamento y lo restante lo destina al banco. Diseñar un algoritmo que permita 
calcular y mostrar los gastos de los hermanos, adicionalmente deberá observarse 
cuanto destinan en total al banco los dos hermanos. 
 
Solución: 
 
1. Análisis. 
o ¿Qué te piden que realices? 
Mostrar los gastos de los dos hermanos pero adicionalmente quiere que 
muestre cuanto destinan los dos juntos al banco 
o ¿Qué datos necesito conocer? 
Los datos que se deben conocer son los sueldos de cada hermano, ya que los 
gastos y destinos de sus sueldos se describen en porcentajes en el problema. 
 
2. Planteamiento Lógico. 
Teniendo en cuenta el planteamiento del problema anterior y del concepto de 
cómo se manejan los porcentajes, ahora diremos que el sueldo del hermano mayor 
representa al 100% y muy a parte el sueldo del hermano menor representa también 
el otro100%; con los datos proporcionados se procede a generar las formulas 
directamente: 
 
Para el hermano mayor: 
 
Alimentos = 0.4 * Sueldo_HMY 
Alquiler = 0.21 * Sueldo_HMY 
Ejercicio de aplicación No. 7 
 
 
 
 
Fundamentos de Programación Página 65 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
Banco_HMY = Sueldo_HMY – (Alimentos + Alquiler) 
 
Para el hermano menor: 
 
Estudios = 0.35 * Sueldo_HMN 
Alquiler = 0.25 * Sueldo_HMN 
Banco_HMN = Sueldo_HMN – (Estudios + Alquiler) 
 
Para el banco en total: 
 
Total Banco = Banco_HMY + Banco_HMN 
 
3. Definición de variables de entrada. 
Se requerirán dos variables, una para almacenar el sueldo del hermano mayor: 
SH1 y otra para el sueldo del hermano menor: SH2. 
 
4. Definición de variables de salida. 
Las variables de salida son varias cada una de ellas según al análisis representará 
la solicitud del problema: 
 
ALM1(gasto de alimentación del hermano mayor) 
ALQ1(gasto de alquiler del hermano mayor) 
BCO1(destino al banco del hermano mayor) 
EST2(gasto de estudios del hermano menor) 
ALQ2(gasto de alquiler del hermano menor) 
BCO2(destino al banco del hermano menor) 
TBCO(total destinado al banco por los 2 hermanos) 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
SH1, SH2: entero 
ALM1, ALQ1, BCO1, EST2, ALQ2, BCO2, TBCO: real 
Escribir(„Ingrese el sueldo del hermano mayor:‟) 
Capturar(SH1) 
Escribir(„Ingrese el sueldo del hermano menor:‟) 
Capturar(SH2) 
ALM1 = 0.4 * SH1 
ALQ1 = 0.21 * SH1 
BCO1= SH1 – (ALM1 + ALQ1) 
EST2 = 0.35 * SH2 
ALQ2 = 0.25 * SH2 
BCO2 = SH2 – (EST2 + ALQ2) 
TBCO = BCO1 + BCO2 
Mostrar(„Monto destinado para alimentos, Hermano mayor:‟,ALM1) 
Mostrar(„Monto destinado al alquiler, Hermano mayor:‟, ALQ1) 
Mostrar(„Monto destinado al banco, Hermano mayor:‟, BCO1) 
Mostrar(„Monto destinado para estudios, Hermano menor:‟, EST2) 
 
 
 
 
Página 66 
 
Fundamentos de programación 
 
Mostrar(„Monto destinado al alquiler, Hermano menor:‟, ALQ2) 
Mostrar(„Monto destinado al banco, Hermano menor:‟, BCO2) 
Mostrar(„Monto destinado en total al banco:‟, TBCO) 
FIN 
 
 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
INICIO 
FIN 
SH1, SH2 
ALM1 = 0.4 * SH1 
ALQ1 = 0.21 * SH1 
BCO1= SH1 – (ALM1 + ALQ1) 
EST2 = 0.35 * SH2 
ALQ2 = 0.25 * SH2 
BCO2 = SH2 – (EST2 + ALQ2) 
TBCO = BCO1 + BCO2 
ALM1, ALQ1, 
BCO1, EST2, 
ALQ2,BCO2, TBCO 
Declaración de variables 
SH1, SH2: entero 
ALM1, ALQ1, BCO1, EST2, 
ALQ2, BCO2, TBCO: real 
 
 
 
 
Fundamentos de Programación Página 67 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.4 Codificación del Programa 
Private Sub Button1_Click 
Dim sh1, sh2 As Integer 
Dim alm1, alq1, bco1, est2, alq2,bc02, tbco As Single 
sh1 = Val(TextBox1.Text) 
sh2 = Val(TextBox2.Text) 
 
alm1 = 0.4 * sh1 
alq1 = 0.21 * sh1 
bco1 = sh1 - (alm1 + alq1) 
 
est2 = 0.35 * sh2 
alq2 = 0.25 * sh2 
bc02 = sh2 - (est2 + alq2) 
tbco = bco1 + bc02 
 
TextBox3.Text = alm1 
TextBox4.Text = alq1 
TextBox5.Text = bco1 
TextBox6.Text = est2 
TextBox7.Text = alq2 
TextBox8.Text = bc02 
TextBox9.Text = tbco 
End Sub 
 
 
 
 
 
 
 
 
II. Algoritmos de Estructura Condicional. 
Este tipo de algoritmos se caracteriza por que entre sus instrucciones no solo se 
muestran estructuras secuenciales comunes sino también estructuras selectivas, es 
decir condicionales pero aun no se muestran estructuras repetitivas. 
 
Las estructuras selectivas son tres: la sentencia SI –ENTONCES – SINO, SI – 
ENTONCES – SINO – SI, SELECCIÓN – CASO. 
 
La forma como se estructura una condición se puede realizar de dos formas: 
  Condiciones Simples. 
Son aquellas condiciones que utilizan operadores relacionales. 
 
 
 
 
 
 
Expresión 1 Expresión 2 Operador 
Relacional 
 
 
 
 
Página 68 
 
Fundamentos de programación 
 
Ejemplos: 
 
- (A + 6) > (3 + P) 
- (40 * P) < 500 
- (E > 20) 
- (3 + (6 + R) * 2) = 60 
  Condiciones Compuestas. 
Son aquellas condiciones que están compuestas por operadores 
relacionales y agrupados a su vez por medio de operadores lógicos. 
 
 
 
 
 
 
Ejemplos: 
 
- ((A > C) and (4 > 0)) or (a > 5) 
- ((E * 100) > 40) and (((4 * E) < 500) or (8 = B)) 
- ((E > R) and (W = 6) ) or (5 = F) 
- ((20 + T) > (20 + R)) or ((40 > W) and (R > 100)) 
 
 
 
1) Sentencia SI – ENTONCES – SINO 
 
Esta sentencia se caracteriza porque posee una condición, la cual se evalúa y 
en caso de ser verdadera se desarrollaran ciertas acciones en caso de no ser 
verdadera se desarrollará la parte falsa. 
 
Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
Expresión 1 Expresión 2 
Operador 
Lógico 
Operador 
Lógico Expresión 3 
Condición 
Acciones _ B Acciones _ A 
V F 
 
 
 
 
Fundamentos de Programación Página 69 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
Pseudocódigo 
 
 Si ¿Condición? entonces 
 Acciones _ A 
Sino 
 Acciones _ B 
 Fin si 
 
 
 
 
 
 
 
Realizar un algoritmo que permita ingresar 2 números, luego determinar si el primer 
número ingresado fue el mayor (mostrar un mensaje). 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Evaluar 2 números para determinar si el primer número ingresado fue el 
mayor. 
ii. ¿Qué datos necesito conocer? 
Los 2 números. 
 
2. Planteamiento Lógico. 
La forma directa de poder saber si un número es mayor a otro es creando una 
condición relacional. 
 
Ejemplo: A > B 
 
3. Definición de variables de entrada. 
Se requerirán dos variables, N1 y N2 que representen a los números que se 
evalúan. 
 
4. Definición de variables de salida. 
Para este problema no existirán variables de salida debido a que se desea mostrar 
solo mensajes. 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
N1, N2: entero 
Ejercicio de aplicación No. 1 
 
 
 
 
Página 70 
 
Fundamentos de programación 
 
Escribir(„Ingrese el primer número:‟) 
Capturar(N1) 
Escribir(„Ingrese el segundo número:‟) 
Capturar(N2) 
 Si (N1 > N2) entonces 
 Mostrar(„el primer número es mayor‟) 
 Sino 
 Mostrar(„el primer número no es mayor‟) 
 Fin_Si 
FIN 
 
 
 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
el primer 
número es 
mayor 
el primer 
número no 
es mayor 
INICIO 
N1, N2 
Declaración de variables 
N1, N2: entero 
FIN 
A>B 
F V 
 
 
 
 
Fundamentos de Programación Página 71 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.4 Codificación del Programa 
Public Class Form7 
 Dim n1, n2 As Integer 
 
Private Sub Button1_Click 
 n1 = Val(TextBox1.Text) 
 n2 = Val(TextBox2.Text) 
 If n1 > n2 Then 
 TextBox3.Text = "El primer número es mayor" 
 Else 
 TextBox3.Text = "El segundo número es mayor" 
 End If 
 End Sub 
End Class 
 
 
 
 
 
 
 
 
Diseñar un algoritmo que permita calcular y mostrar el promedio de 2 notas, 
adicionalmente deberá mostrar mediante un mensaje si el promedio es aprobatorio o 
desaprobatorio. 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Hallar el promedio de 2 notas y mostrar un mensaje: aprobado o 
desaprobado. 
 
ii. ¿Qué datos necesito conocer? 
Las 2 notas que se promediaran. 
 
 
2. Planteamiento Lógico. 
Inicialmente se deberá hallar el promedio de las notas ingresadas, luego deberá 
evaluar el promedio para saber si fue aprobatorio o desaprobatorio, debe tener en 
cuenta que se considera aprobado aquel promedio que es mayor a 10.5 (medio 
punto a favor del alumno). 
 
3. Definición de variables de entrada. 
Se requerirán dos variables, NT1 y NT2 que representen a las notas que se 
promediaran. 
 
Las variables serán declaradas 
a nivel de formulario 
Ejercicio de aplicación No. 2 
 
 
 
 
Página 72 
 
Fundamentos de programación 
 
4. Definición de variables de salida. 
La variable PROM será la que represente al promedio obtenido. 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 5.2 Diagrama de Flujo 
INICIO 
Declaración de variables 
NT1, NT2: entero 
PROM: real 
Escribir(„Ingrese la nota1:‟) 
Capturar(NT1) 
Escribir(„Ingrese la nota2:‟) 
Capturar(NT2) 
PROM = (NT1 + NT2) / 2 
 Si (PROM > 10.5) entonces 
 Mostrar(„Aprobado:‟, PROM) 
 Sino 
 Mostrar(„Desaprobado:‟, PROM) 
 Fin_Si 
FIN 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
5.4 Codificación del Programa 
 Public Class Form8 
Dim nt1, nt2 As Integer 
Dim prom As Single 
 Private Sub Button1_Click 
INICIO 
NT1, NT2 
Declaración de variables 
NT1, NT2: entero 
PROM: real 
PROM = (NT1 + NT2) / 2 
FIN 
„Aprobado: „, 
PROM 
„Desaprobado:‟, 
PROM 
F V 
PROM>10.5 
 
 
 
 
Fundamentos de Programación Página 73 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
 nt1 = Val(TextBox1.Text) 
 nt2 = Val(TextBox2.Text) 
 prom = (nt1 + nt2 =/2 
 If prom > 10.5 Then 
 TextBox3.Text = "Aprobado: " + Str(prom) 
 Else 
 TextBox3.Text = "Desprobado: " + Str(prom) 
 End If 
 End Sub 
End Class 
 
 
 
 
 
 
 
Se ingresa un número por teclado, determinar si este es par (mostrar un mensaje). 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Determinar si el número que se ingresa es par. 
ii. ¿Qué datos necesito conocer? 
El número a evaluar. 
 
2. Planteamiento Lógico. 
Para poder saber si un número es par (múltiplo de 2), al dividir a esta entre 2 el 
resto deberá ser cero, si recordamos clases anteriores, el resto se obtiene mediante 
el operador MOD. 
 
Ejemplo: 
 10 mod 2 = 0 
 26 mod 2 = 0 
 4 mod 2 = 0 
 
Todos los números evaluados son múltiplos de 2, devuelven un resto igual a cero, 
en general se dice que un número es múltiplode otro si el resto de su dividirlo 
con el otro devuelve cero como resultado. 
 
3. Definición de variables de entrada. 
La variable NUM representa el número a evaluar. 
 
4. Definición de variables de salida. 
Para este problema no existirán variables de salida debido a que se desea mostrar 
solo mensajes. 
 
Ejercicio de aplicación No. 3 
 
 
 
 
Página 74 
 
Fundamentos de programación 
 
5. Diseño de la Solución. 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
NUM: entero 
Escribir(„Ingrese el número a evaluar:‟) 
Capturar(NUM) 
 Si (NUM mod 2 = 0) entonces 
 Mostrar(„Es múltiplo de 2:‟, NUM) 
 Sino 
 Mostrar(„No es múltiplo de 2:‟, NUM) 
 Fin_Si 
FIN 
 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
INICIO 
NUM 
Declaración de variables 
NUM: entero 
F V 
NUM mod 2 = 0 
„Es múltiplo de 
2:‟, NUM 
„No es múltiplo de 
2:‟, NUM 
FIN 
 
 
 
 
Fundamentos de Programación Página 75 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.4 Codificación del Programa 
Public Class Form9 
 Dim num As Integer 
 Private Sub Button1_Click 
 num = Val(TextBox1.Text) 
 If num Mod 2 = 0 Then 
 TextBox2.Text = "El número: " + Str(num) + " es par" 
 Else 
 TextBox2.Text = "El número: " + Str(num) + " es impar" 
 End If 
 End Sub 
End Class 
 
 
 
 
 
 
 
 
Se ingresan dos números por teclado, si la suma de ambos es mayor a 20 al primer 
número se le deberá de incrementar en 10 y al segundo se le quitará 5 en caso 
contrario al primer número se le quitará 18 y al segundo se le aumentará 15, 
finalmente deberá mostrar la suma los nuevos números que se formaron. Diseñar el 
algoritmo correspondiente. 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Mostrar la suma de los números pero depuse de desarrollar una serie de 
procesos. 
ii. ¿Qué datos necesito conocer? 
Los números a evaluar. 
 
2. Planteamiento Lógico. 
Para el desarrollo de este problema solamente se deberá tener un orden lógico para 
asignar los valores correspondientes de acuerdo a la pregunta que se genera al 
inicio del problema. 
 
3. Definición de variables de entrada. 
La variable N1 y N2 representarán a los números que se ingresaran. 
 
4. Definición de variables de salida. 
El resultado final se mostrará en la variable SUM. 
 
5. Diseño de la Solución. 
 
 
Ejercicio de aplicación No. 4 
 
 
 
 
Página 76 
 
Fundamentos de programación 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
N1, N2, SUM: entero 
Escribir(„Ingrese el primer número a evaluar:‟) 
Capturar(N1) 
Escribir(„Ingrese el segundo número a evaluar:‟) 
Capturar(N2) 
SUM = N1 + N2 
 Si (SUM > 20) entonces 
N1 = N1 + 10 
N2= N2 – 5 
 Sino 
N1 = N1 – 18 
N2= N2 + 15 
 Fin_Si 
SUM = N1 + N2 
Mostrar(„La suma de los número que se generan es:‟, SUM) 
FIN 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INICIO 
N1, N2 
Declaración de variables 
N1, N2, SUM: entero 
F V 
SUM > 20 
La suma de los 
número que se 
generan es:‟, SUM 
FIN 
SUM = N1 + N2 
N1 = N1 + 18 
N2 = N2 – 15 
N1 = N1 + 10 
N2 = N2 – 5 
SUM = N1 + N2 
 
 
 
 
Fundamentos de Programación Página 77 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.3 Diseño del Formulario 
 
 
 
5.4 Codificación del Programa 
Public Class Form10 
Dim n1, n2, sum As Integer 
Private Sub Button1_Click 
 n1 = Val(TextBox1.Text) 
 n2 = Val(TextBox2.Text) 
 
 sum = n1 + n2 
 If sum > 20 Then 
 n1 = n1 + 10 
 n2 = n2 - 5 
 Else 
 n1 = n1 + 18 
 n2 = n2 + 15 
 End If 
 sum = n1 + n2 
 TextBox3.Text = sum 
 End Sub 
End Class 
 
 
 
 
 
 
 
Se ingresan tres números por teclado, realizar un algoritmo que permita hallar cual es 
el mayor de los tres números que se ingresaron. 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Hallar el mayor de tres números. 
 
ii. ¿Qué datos necesito conocer? 
Conocer los tres números a evaluar. 
 
Ejercicio de aplicación No. 5 
 
 
 
 
Página 78 
 
Fundamentos de programación 
 
2. Planteamiento Lógico. 
Para determinar el mayor de tres números existen diversas formas, en la que 
observaremos, se tiene en cuenta la asignación inicial de un valor inicial a una 
variable que al final representará al mayor número(que podrá ser cualquiera de los 
números ingresados), la cual después será evaluada paulatinamente con 
condiciones simples(sin formar bucles) con los números restantes. 
 
3. Definición de variables de entrada. 
Se requieren tres números que estarán representados por: N1, N2 y N3. 
 
4. Definición de variables de salida. 
Será la variable MY en donde se observará el mayor de los tres números. 
 
5. Diseño de la Solución. 
5.1 Pseudocódigo 5.2 Diagrama de Flujo 
 
INICIO 
Declaración de variables 
N1, N2, N3, MY: entero 
 
Escribir(‘Ingrese el primer número a evaluar:’) 
Capturar(N1) 
Escribir(‘Ingrese el segundo número a evaluar:’) 
Capturar(N2) 
Escribir(‘Ingrese el tercer número a evaluar:’) 
Capturar(N3) 
 
MY = N1 
 
Si (MY < N2) entonces 
 MY = N2 
Fin_Si 
Si (MY < N3) entonces 
 MY = N3 
Fin_Si 
 
Mostrar(‘El mayor de los tres números es:’, MY) 
 
FIN 
 
 
 
 
 
 
 
 
 
 
 
 
F V 
INICIO 
N1, N2, N3 
Declaración de variables 
N1, N2, N3, MY: entero 
MY = N1 
MY = N2 
F V 
MY = N3 
MY<N2 
MY<N3 
MY 
FIN 
 
 
 
 
Fundamentos de Programación Página 79 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.3 Diseño del Formulario 
 
 
 
5.4 Codificación del Programa 
 
Public Class Form11 
 Dim n1, n2, n3, ny As Integer 
 Private Sub Button1_Click 
 n1 = Val(TextBox1.Text) 
 n2 = Val(TextBox2.Text) 
 n3 = Val(TextBox3.Text) 
 ny = n1 
 If ny < n2 Then 
 ny = n2 
 End If 
 If ny < n3 Then 
 ny = n3 
 End If 
 TextBox4.Text = ny 
 End Sub 
End Class 
 
 
Observación_1: 
La sentencia SI, puede agruparse para ciertos casos de condicionales (condicionales 
compuestas), a estas agrupaciones que puede presentar la sentencia Si se las 
denomina “Sentencia SI Anidada”, y se expresa de la siguiente forma: 
 
 
Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
C3 
C1 
Acción 1 
Acción 2 
Acción 3 Acción 4 
C2 
 
 
 
 
Página 80 
 
Fundamentos de programación 
 
Pseudocódigo 
 
Si (C1) entonces 
 Acción 1 
 ... 
 Si (C3) entonces 
 Acción 2 
 ... 
 Fin_si 
Sino 
 Si (C2) entonces 
 Acción 3 
 ... 
 Sino 
 Acción 4 
 ... 
 Fin_si 
Fin_si 
 
 
 
 
 
 
 
Diseñar un algoritmo que permita ingresar 3 notas, determinar el promedio de estas y 
luego mostrar un mensaje dependiendo el promedio obtenido, ver cuadro: 
 
Promedio Mensaje 
0 .. 7 Debes mejorar 
8 .. 15 Regular 
16 .. 20 Bueno 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Hallar el promedio de notasy mostrar un mensaje de acuerdo a cuadro. 
 
ii. ¿Qué datos necesito conocer? 
Conocer las tres notas. 
 
2. Planteamiento Lógico. 
Inicialmente deberá de calcular el promedio de las notas ingresadas, luego 
haciendo uso de sentencias condicionales anidadas, deberá evaluar el promedio e 
ir mostrando los mensajes. 
Ejercicio de aplicación No. 6 
 
 
 
 
Fundamentos de Programación Página 81 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
Cuando se evalúan rangos se debe tener en cuenta: 
 
 Si se desea expresar si un número está dentro de un rango especificado se 
usará el operador lógico and. 
 
 Si se desea expresar si un número está fuera de rango debe usar el operador 
lógico or. 
 
3. Definición de variables de entrada. 
Se requieren tres notas que estarán representados por: NT1, NT2 y NT3. 
 
4. Definición de variables de salida. 
Para el promedio la variable será PR, el resto solo son mensajes. 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
NT1, NT2, NT3: entero 
PR: real 
Escribir(„Ingrese la primera nota:‟) 
Capturar(NT1) 
Escribir(„Ingrese la segunda nota:‟) 
Capturar(NT2) 
Escribir(„Ingrese la tercera nota:‟) 
Capturar(NT3) 
PR = (NT1 + NT2 + NT3) / 3 
 Si (PR >= 0) and (PR <= 7) entonces 
Mostrar(„El promedio es pésimo:‟, PR) 
 Sino 
 Si (PR >= 8) and (PR <= 15) entonces 
Mostrar(„El promedio es regular:‟, PR) 
 Sino 
Mostrar(„El promedio es bueno:‟, PR) 
 Fin_Si 
Fin_Si 
FIN 
 
 
 
 
 
 
 
Página 82 
 
Fundamentos de programación 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
 
 
 
INICIO 
NT1, NT2, NT3 
Declaración de variables 
NT1, NT2, NT3: entero 
PR: real 
PR = (NT1+ NT2 + NT3) / 3 
(PR>=0) and (PR<=7) 
(PR>=0) and (PR<=7) 
„El promedio es 
bueno:‟, PR 
„El promedio es 
regular:‟, PR 
„El promedio es 
pésimo:‟, PR 
MY 
FIN 
 
 
 
 
Fundamentos de Programación Página 83 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.4 Codificación del Programa 
 
Public Class Form12 
 Dim nt1, nt2, nt3 As Integer 
 Dim pr As Single 
 Private Sub Button1_Click 
 nt1 = Val(TextBox1.Text) 
 nt2 = Val(TextBox2.Text) 
 nt3 = Val(TextBox3.Text) 
 
 pr = (nt1 + nt2 + nt3) / 3 
 If pr > 0 And pr < 7 Then 
 TextBox4.Text = "Debes mejorar" 
 Else 
 If pr >= 8 And pr <= 15 Then 
 TextBox4.Text = "Regular" 
 Else 
 TextBox4.Text = "Bueno" 
 End If 
 End If 
 End Sub 
End Class 
 
 
 
 
 
 
 
En una empresa el sueldo básico de los trabajadores es en base a la categoría que 
tienen: 
 
Categoría Sueldo básico 
A 800 
B 1000 
C 700 
 
Todos los trabajadores tienen una bonificación de acuerdo a cantidad de hijos que 
tienen: 
 
N_Hijos % Bonificación 
0 .. 3 10% 
4 .. 6 12% 
7 .. mas 14% 
 
Finalmente los trabajadores tienen un descuento de acuerdo a la AFP en que se 
encuentren inscritos: 
 
AFP % Descuento 
UNION 14% 
Ejercicio de aplicación No. 7 
 
 
 
 
Página 84 
 
Fundamentos de programación 
 
HORIZONTE 16% 
INTEGRA 15% 
 
Tanto los porcentajes de las bonificaciones como de los descuentos se obtienen del 
sueldo básico; realice un algoritmo que calcule y muestre el sueldo Neto a pagar, si 
este se obtiene de: 
 
 SN = Sbasico + Bonificaciones – Descuentos 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Hallar el sueldo Neto, en base al básico, bonificación y descuento. 
 
ii. ¿Qué datos necesito conocer? 
Se requiere conocer la categoría ya que en base a esta se obtiene el sueldo 
Básico; la bonificación y descuento se obtienen del sueldo básico. 
 
2. Planteamiento Lógico. 
Para obtener el sueldo básico se requiere conocer la categoría, el sueldo básico 
que corresponde se obtiene según el cuadro que se muestra en el enunciado. 
 
La bonificación es de acuerdo al número de hijos(ver cuadro), este porcentaje se 
aplica al sueldo básico. 
 
El descuento se obtiene de acuerdo a la AFP a que pertenece(ver cuadro), este 
porcentaje se aplica al sueldo básico. 
 
Para finalizar deberá aplicar la formula propuesta para hallar el sueldo neto. 
 
 
3. Definición de variables de entrada. 
Se deberá ingresar la categoría(CT), el número de hijos(NH) y la AFP a la q ue 
está afiliado(AF). 
 
4. Definición de variables de salida. 
El sueldo neto se mostrará en la variable SN. 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
CT: carácter 
AF: cadena 
NH, SB: entero 
 
 
 
 
Fundamentos de Programación Página 85 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
BON, DSC, SN: real 
Escribir(„Ingrese la categoría:‟) 
Capturar(CT) 
Escribir(„Ingrese el número de hijos:‟) 
Capturar(NH) 
Escribir(„Ingrese la AFP:‟) 
Capturar(AF) 
 Si (CT = „A‟) entonces 
SB = 800 
 Sino 
 Si (CT = „B‟) entonces 
SB = 1000 
 Sino 
SB = 700 
 Fin_Si 
Fin_Si 
Si (NH >= 0) and (NH <= 3) entonces 
BON = 0.1 * SB 
 Sino 
 Si (NH >= 4) and (NH <= 6) entonces 
BON = 0.12 * SB 
 Sino 
BON = 0.14 * SB 
 Fin_Si 
Fin_Si 
 Si (AF = „UNION‟) entonces 
DSC = 0.14 * SB 
 Sino 
 Si (AF = „HORIZONTE‟) entonces 
DSC = 0.16 * SB 
 Sino 
DSC = 0.15 * SB 
 Fin_Si 
Fin_Si 
SN = SB + BON – DSC 
Mostrar(„El sueldo neto es:‟, SN) 
FIN 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Página 86 
 
Fundamentos de programación 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INICIO 
CT, NH, AF 
Declaración de variables 
CT: carácter 
AF: cadena 
NH, SB: entero 
BON, DSC, SN: real 
CT=„A‟ 
CT=„B‟ SB = 800 
SB = 700 SB = 1000 
x 
(NH>=0) and (PR<=3) 
(NH>=4) and (PR<=6) 
BON = 0.1 * SB 
BON = 0.14 * SB BON = 0.12 * SB 
AF= „UNION‟ 
AF= „HORIZONTE‟ DSC = 0.14 * SB 
DSC = 0.15 * SB DSC = 0.16 * SB 
SN = SB + BON - DSC 
SN 
FIN 
 
 
 
 
Fundamentos de Programación Página 87 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.3 Diseño del Formulario 
Observación: Para el diseño de este formulario usaremos nuevos objetos de 
modo que se cambie un poco el diseño y deberá observar como varía la 
programación, recuerde que debemos irnos adecuando a la programación por 
operaciones: 
 
 Permite agrupar botones 
 
 Permite elegir una opción de un grupo 
 
 
 
 
Descripción del proceso: 
 
Cuando usted escoja una categoría en la caja de texto1, se mostrara el sueldo 
básico, deberá ingresar el número de hijos y finalmente escoger una AFP; 
cuando presione en el botón procesar se deberá generar el sueldo neto. 
 
 
5.4 Codificación del Programa 
Public Class Form13 
Dim nh As Byte 
Dim sb As Integer 
Dim bon, dsc, sn As SinglePrivate Sub RadioButton1_Click 
 TextBox1.Text = 800 
End Sub 
 
Private Sub RadioButton2_Click 
 TextBox1.Text = 1000 
End Sub 
 
Private Sub RadioButton3_Click 
 TextBox1.Text = 700 
End Sub 
 
Private Sub RadioButton4_Click 
 dsc = 0.14 * Val(TextBox1.Text) 
End Sub 
Se está asignando de manera 
inmediata el sueldo básico al 
objeto Text1 a medida que se 
escoge la categoría 
Se está calculando y asignando 
el descuento a la variable DSC 
a medida que se va escogiendo 
una AFP 
 
 
 
 
Página 88 
 
Fundamentos de programación 
 
Private Sub RadioButton5_Click 
 dsc = 0.16 * Val(TextBox1.Text) 
End Sub 
 
Private Sub RadioButton6_Click 
 dsc = 0.15 * Val(TextBox1.Text) 
End Sub 
 
Private Sub Button1_Click 
 sb = Val(TextBox1.Text) 
 nh = Val(TextBox2.Text) 
 If nh >= 0 And nh <= 3 Then 
 bon = 0.1 * sb 
 Else 
 If nh >= 4 And nh <= 6 Then 
 bon = 0.12 * sb 
 Else 
 bon = 0.14 * sb 
 End If 
 End If 
 sn = sb + bon - dsc 
 TextBox3.Text = sn 
End Sub 
 End Class 
 
Como podrán haber observado la aplicación de los objetos en algunos casos 
disminuye la codificación, si observa el Pseudocódigo observará que para obtener el 
sueldo básico y el descuento se desarrollan cierta codificación (similar al que 
observamos en la ultima pantalla), pero utilizando los objetos “option” se evito ello, 
ya que la asignación o calculo se realiza en sus eventos de manera directa. 
 
 
 
 
 
 
 
Se ingresa un número por teclado, si este es mayor a 20 entonces habrá que sumarle 
40, si el nuevo número generado resulta mayor a 100 entonces se le multiplicará por 
2 en caso contrario se le quitará 50; en caso de que no haya resultado mayor a 20 el 
número que se ingreso al inicio se le deberá quitar 10 para observar si el nuevo 
número que se genera es negativo, si esto se cumple se le adicionará 30. Finalmente 
se deberá observar el número que se generó después de todo el recorrido anterior. 
Desarrolle un algoritmo que permita observar lo descrito anteriormente. 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Evaluar un número que se ingresa por teclado. 
ii. ¿Qué datos necesito conocer? 
Se está asignando los valores a 
las variables respectivas 
Ejercicio de aplicación No. 8 
 
 
 
 
Fundamentos de Programación Página 89 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
El número a evaluar. 
 
2. Planteamiento Lógico. 
El desarrollo del problema planteado simplemente es de seguimiento, deberá de 
tener un orden de desarrollo y realizar las condiciones así como los procesos 
correspondientes a medida que se avanza con su solución. 
 
3. Definición de variables de entrada. 
El número a evaluar es el único que se valor que se ingresa (NUM) 
 
4. Definición de variables de salida. 
La variable de salida estará representada por la misma variable NUM. 
 
5. Diseño de la Solución. 
 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
NUM: entero 
Escribir(„Ingrese el número a evaluar:‟) 
Capturar(NUM) 
Si (NUM > 20) entonces 
NUM = NUM + 40 
Si (NUM > 100) entonces 
 NUM = NUM * 2 
Sino 
 NUM = NUM – 50 
Fin_Si 
 Sino 
NUM = NUM – 10 
 Si (NUM < 0) entonces 
NUM = NUM + 30 
 Fin_Si 
Fin_Si 
Mostrar(„El valor final del número es:‟, NUM) 
FIN 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Página 90 
 
Fundamentos de programación 
 
5.2 Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5.3 Diseño del Formulario 
 
 
 
 
 
INICIO 
NUM 
Declaración de variables 
NUM: entero 
NUM>20 
NUM = NUM – 10 NUM = NUM + 40 
NUM>100 
NUM = NUM – 50 NUM = NUM * 2 
NUM<0 
NUM = NUM + 30 
NUM 
FIN 
 
 
 
 
Fundamentos de Programación Página 91 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
5.4 Codificación del Programa 
Public Class Form14 
 Dim num As Integer 
 Private Sub Button1_Click 
 num = Val(TextBox1.Text) 
 If num > 20 Then 
 num = num + 40 
 If num > 100 Then 
 num = num * 2 
 Else 
 num = num - 50 
 End If 
 Else 
 num = num - 10 
 If num < 0 Then 
 num = num + 30 
 End If 
 End If 
 TextBox2.Text = num 
 End Sub 
End Class 
 
 
 
Observación_2 : 
La sentencia SI tiene una variante: SI-ENTONCES-SINOSI 
Esta variación se caracteriza porque por el lado falso de la sentencia SI, no se llevan 
acabo operaciones sino que se genera una pregunta inmediatamente ocurrido el lado 
falso, la salida final ya sea que existan varias sentencias SI-ENTONCES-SINOSI es 
solo un FIN_SI. 
 
Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
C3 
C1 
Acción 1 
Acción 3 
C2 
C4 
Acción 4 
Acción 2 
 
 
 
 
Página 92 
 
Fundamentos de programación 
 
Pseudocódigo 
 
Si (C1) entonces 
 Acción 1 
 Si (C3) entonces 
 Acción 2 
 Fin_si 
SinoSi (C2) entonces 
 Acción 3 
 SinoSi (C4) entonces 
 Acción 4 
Fin_Si 
 
 
 
 
 
 
 
 
Cuando un cliente se acerca a comprar 1 kilo de arroz a una tienda se da cuenta de lo 
siguiente: el arroz se vendía en tres presentaciones: bolsa, lata y vidrio. El kilo de 
arroz en bolsa cuesta 10 soles, en lata cuesta 12 soles y el vidrio cuesta 16 soles. 
Desarrolle un algoritmo que permita calcular y mostrar cuanto pagará el cliente si se 
sabe que: 
 
 Total a pagar = Precio * Cantidad 
 
 
Solución: 
 
1. Análisis. 
i. ¿Qué te piden que realices? 
Calcular el total a pagar por el cliente que comprará un kilo de arroz. 
ii. ¿Qué datos necesito conocer? 
Según la formula se requiere conocer el precio y la cantidad, tenga en cuenta 
que el precio esta en base a la presentación por lo que en realidad se requiere 
conocer la presentación en la que llevará el kilo de arroz. 
 
2. Planteamiento Lógico. 
Una vez que se ingrese la presentación se podrá obtener el precio del arroz, luego 
se deberá ingresar la cantidad para finalmente hallar el total a pagar (precio * 
cantidad). 
 
3. Definición de variables de entrada. 
Se deberá ingresar la presentación en la que quiere llevar el arroz (PRE) y la 
cantidad a comprar (CN). 
 
Ejercicio de aplicación No. 9 
 
 
 
 
Fundamentos de Programación Página 93 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
4. Definición de variables de salida. 
La variable de salida que representa al total a pagar es TP. 
 
5. Diseño de la Solución. 
5.1 Pseudocódigo 
INICIO 
Declaración de variables 
PRE: cadena 
CN, TP, PC: entero 
Escribir(„Ingrese la presentación de arroz a comprar:‟) 
Capturar(PRE) 
Escribir(„Ingrese la cantidad de arroz a comprar:‟) 
Capturar(CN) 
Si (PRE = „Bolsa‟) 
entonces 
PC = 10 
SinoSi (PRE > „Lata‟) 
entonces 
 PC = 12 
SinoSi (PRE > „Vidrio‟) 
entonces 
 PC = 16 
Fin_Si 
TP = PC * CN 
Escribir(„El total a pagar 
es:‟ TP) 
FIN 
 
 
Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INICIO 
CN, PRE 
Declaración de variables 
PRE: cadena 
CN, PC, TP: enteroTP 
FIN 
PRE=„Vidrio‟ 
TP = PC * CN 
PRE=„Bolsa‟ 
PRE=„Lata‟ 
PC = 10 
PC = 12 
PC = 16 
 
 
 
 
Página 94 
 
Fundamentos de programación 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diseño del Formulario 
 
 
 
Codificación del Programa 
 
Public Class Form15 
 Dim pc, cn, tp As Integer 
 
 Private Sub RadioButton1_Click 
 pc = 10 
 End Sub 
 
 Private Sub RadioButton2_Click 
 pc = 12 
 
 
 
 
Fundamentos de Programación Página 95 
 
Estructuración de algoritmos 
 
 Instituto de Educación Superior Tecnológico Privado 
 End Sub 
 
 Private Sub RadioButton3_Click 
 pc = 16 
 End Sub 
 
 Private Sub Button1_Click 
 cn = Val(TextBox1.Text) 
 tp = pc * cn 
 TextBox2.Text = tp 
 End Sub 
End Class 
 
 
Nuevamente observamos que la aplicación de objetos como el “option” disminuyó la 
codificación, ya que la asignación o cálculo se realizó en sus eventos de manera 
directa.

Continuar navegando

Materiales relacionados

230 pag.
MATLAB_PROGRAMACION

UNIP

User badge image

Maria Alejandra Tamayo Medina

34 pag.
272 pag.