You are on page 1of 51

SEMANA 03

Estructura de un programa
en Visual Basic
1. Estructura básica
2. Ejemplos de aplicación
3. Elementos del lenguaje VB

1
Pasos para elaborar un
programa:
1. Entender el problema
2. Identificar las entradas y salidas (datos y
resultados)
3. Identificar las restricciones y relaciones
matemáticas
4. Establecer un algoritmo de solución.
Representar el algoritmo en un diagrama
de flujo (opcional) 2
Pasos para elaborar un
programa:
5. Implementar el algoritmo en un Lenguaje
de Programación (Programa)
6. Ejecutar el programa y depurar con base
en el análisis de los resultados

3
Ejemplo 1
 Dadas las longitudes de tres segmentos
de recta, determinar si es posible formar
un triángulo con ellos.
a
b
c

 En caso afirmativo calcular el área del


triángulo
4
Estrategia para la solución
c b

Cada lado del triángulo debe ser menor que


la suma de los otros dos lados:
• c < b+a
• b < c+a
• a < b+c
5
Estrategia para la solución
Si se cumplen las condiciones para formar
el triángulo, se puede usar la fórmula de
Herón de Alejandría para calcular el área
del triángulo, así:
abc
S
2
Área  S ( S  a)( S  b)( S  c)

6
CONSTRUCCIÓN DE ALGORITMOS

PROCESAMIENTO
Datos
ENTRADA capturados • Cálculos
• Relaciones lógicas
Variables,
Muestran,
constantes Graban,
Imprimen,
(DATOS) transmiten
Variables,
SALIDA constantes
(RESULTADOS)

Esquema GENÉRICO de un ALGORITMO SECUENCIAL

7
Etapas del proceso
DATOS DE PROCESAMIENTO SALIDA
ENTRADA • Cálculos (resultados)
• Relaciones lógicas

a, b, c Verificar si: • Forman


• c < b+a triángulo y
Area
• b < c+a
• a < b+c • No forman
triángulo 8
Algoritmo

1. Leer los valores de a, b, c


2. Verificar si c < b+a
3. Verificar si b < c+a
4. Verificar si a < b+c

9
Algoritmo
5. Si se cumplen las relaciones 2, 3 y 4
entonces los tres segmentos forman
triángulo y el área es:

abc
S
2
Área  S ( S  a)( S  b)( S  c)

6. Si no cumple alguna de las tres relaciones 2,


3 y 4 entonces no forman triángulo
10
Diagrama de Flujo
Inicio

Leer a,b,c

a<b+c y SI Mostrar Mensaje:


b<a+c y “Forman triángulo”
c<a+b
S=(a+b+c)/2
NO Area=(S*(S-a)*(S-b)*(S-c))^(1/2)

Mostrar Mensaje: Escribir Área


“No forman triángulo”

Fin
11
Etapas para elaborar el
proyecto en VB
 Construir la interfaz gráfica:
 Mecanismos de entrada de datos
Formularios,
 Botón para llevar a cabo el proceso controles y
propiedades
 Mecanismos para salida de resultados

 Programación en lenguaje VB

12
Interfaz de usuario en etapa
de construcción

13
Código del programa
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim a , b , c As Integer
Dim mensaje As String
Dim Area , S As Single
a = Textbox1.Text
b = Textbox2.Text
c = Textbox3.Text
If (a < b + c And b < a + c And c < a + b) Then
mensaje = "Forman triángulo"
S=(a + b + c)/2
Area = ((S*(S-a)*(S-b)*(S-c))^(1/2)
Textbox5.Text = Area
Else
mensaje = "No forman triángulo"
End If
Textbox4.Text = mensaje
End Sub 14
End Class
Programa en ejecución

15
IDENTIFICADORES

Representan los datos de un programa (constantes, variables, tipos de


datos). Un identificador es una secuencia de caracteres que sirve para
identificar una posición en la memoria en el computador, que nos
permite accesar a su contenido.

Ejemplo: Nombre
Num_hrs
Calif2

Reglas para formar un Identificador


•Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no
deben contener espacios en blanco.
•Letras, dígitos y caracteres como el underscore ( _ ) están permitidos
después del primer carácter.
•La longitud de identificadores puede ser de hasta 256 caracteres. 16
Tipos De Datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser
un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de
dato determina la naturaleza del conjunto de valores que puede tomar
una variable.

17
Tipos primitivos
Tipo Bytes Rango de valores

Boolean ? True y False


Char 2 0 a 65,535
Date 8 1/Enero/1 a 31/Diciembre/9999
00:00:00 AM a 11:59:59 PM
SByte 1 -128 a 127
Short 2 -32,768 a +32,767
Integer 4 -2,147,483,648 a
+2,147,483,647
Long 8 -9,223,372,036,854,775,808 a
+9,223,372,036,854,775,807
Byte 1 0 a 255
UShort 2 0 a 65,535
UInteger 4 0 a 4,294,967,295
ULong 8 0 a 18,446,744,073,709,551,615

18
Tipo Bytes Rango de valores

Single 4 Un número real con precisión simple.


-1.401298E-45 a -3.4028235E+38 para valores negativos
3.4028235E+38 a 1.401298E-45 para valores positivos
Double 8 Un número real con doble precisión.
-4.94065645841246544E-324 a
-1.79769313486231570E+308 para valores negativos.
4.94065645841246544E-324 a
1.79769313486231570E+308 para valores positivos.
Decimal 16 0 a +/- 79,228,162,514,264,337,593,543,950,335 sin decimales
0 a +/- 7.9228162514264337593543950335E+28 con decimales
Object 4 Cualquier tipo puede ser almacenado
String ? Una cadena de caracteres Unicode. De 0 a aproximadamente 2
billones (2^31) de caracteres.
Estructuras ? Cada elemento de la estructura tiene su rango dependiendo del
tipo de dato que representa.

19
Tipos de Datos Simples

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.

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

Datos Alfanuméricos (String): 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.

20
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
Variable: Es un espacio en la memoria del computador que permite
almacenar temporalmente un dato durante la ejecución de un
proceso, su contenido puede cambiar durante la ejecución del
programa. Para poder reconocer una variable en la memoria del
computador, es necesario darle un nombre con el cual podamos
identificarla dentro de un algoritmo.
Ejemplo:
area = PI * radio ^ 2
Las variables son : el radio, el área y la constate es PI

21
Declaración de variables en V. B.
 Las variables se declaran (definen) con la
instrucción DIM Ejemplo:
Dim B As Integer
 La cláusula As define el tipo de datos.
 Tipos de datos, ejemplos:
 Integer: Entero simple
 Long: Entero largo
 Single: Real Simple
 Double: Real doble
 Boolean: Lógico
 String: Texto (alfanumérico)

22
Declaración de constantes en V. B.

Una constante puede ser un número (entero,


real), un texto (String), un valor lógico
(boolean).
 Const N As Integer = 100
 Const Pi As Single = 3.141592
 Const Salir As Boolean = False
 Const Mensaje As String = “*ERROR*"

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

 Ejemplo:
 veces = veces + 1

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

 Ejemplo:
 suma = suma + b

24
Clasificación de las Variables

25
Por su Contenido

Variable Numéricas: Son aquellas en las cuales se almacenan valores


numéricos, positivos o negativos.

Ejemplo:
igv = 0.18 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.
ok = 1 < 2 es_seguro = b > 3

Variables Alfanuméricas: Esta formada por caracteres alfanuméricos


(letras, números y caracteres especiales).

Ejemplo:
letra = “a” apellido = “lopez” direccion = “Av. Libertad #190”

26
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:
resultado = 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.
Ejemplo:
veces = veces + 1
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.
Ejemplo:
suma = suma + b

27
Aplicaciones de
consola
Sentencias de Entrada/Salida
Una aplicación de consola es aquella que se
ejecuta dentro de una ventana de línea de
comandos. Este tipo de ventana recibe
diferentes denominaciones: Símbolo del sistema,
Sesión MS-DOS, Ventana de línea de comandos,
etc., por lo que en este capitulo nos referiremos
a ella de forma genérica como consola
28
 Las aplicaciones de consola son muy
útiles cuando necesitamos realizar
pruebas que no impliquen el uso del
modo gráfico del sistema operativo:
formularios, controles, imágenes, etc., ya
que consumen menos recursos y su
ejecución es más veloz

29
Creación de un proyecto de
tipo aplicación de consola
 Para crear una aplicación de consola
básica, después de iniciar el IDE de
VS.NET, y seleccionar el menú para crear
un nuevo proyecto, elegiremos Aplicación
de consola en el panel derecho de la
ventana Nuevo proyecto

30
31
32
Escritura de información
 Para mostrar texto utilizaremos el método WriteLine( )
del objeto Console. Este método escribe en la línea actual
de la consola el valor que le pasemos como parámetro,
añadiendo automáticamente las marcas de retorno de
carro y nueva línea, por lo que la siguiente escritura se
realizará en una nueva línea.

Sub Main()
Console.WriteLine("Hola mundo desde la consola")
Console.WriteLine("Esta es otra línea nueva")
End Sub

33
 El código fuente anterior tiene no obstante un
inconveniente: cuando el lector lo ejecute
observará que se muestra la consola con las
líneas de texto, pero inmediatamente vuelve a
cerrarse, no dejando apenas tiempo para ver su
contenido
 Para remediar este problema, utilizaremos el
método ReadLine( ), que realiza una lectura de
los caracteres que vayamos introduciendo en la
línea actual de la consola, e impedirá continuar la
ejecución hasta que no pulsemos [INTRO].
34
Sub Main()
Console.WriteLine("Hola mundo desde la consola")
Console.WriteLine("Esta es otra línea nueva")
Console.ReadLine()
End Sub

35
Lectura de información
 Para obtener el texto escrito por el usuario
en la línea actual de la consola y hasta la
pulsación de [INTRO] podemos utilizar el
método ReadLine( ) del objeto Console.
 El Código fuente siguiente muestra como
volcamos a una variable el contenido de la
línea escrita por el usuario y posteriormente
exponemos su contenido, también a través
de la consola.
36
' declaramos una variable para volcar el contenido
' de una línea de la consola
Dim LineaTexto As String
Console.WriteLine("Introducir un texto")
LineaTexto = Console.ReadLine()
' el texto se pasa a la variable
' ahora mostramos lo que hemos escrito
Console.WriteLine()
Console.WriteLine("El usuario ha escrito la siguiente línea:")
Console.WriteLine(LineaTexto)
' aquí evitamos cerrar la consola,
Console.readline()
' así podemos ver mejor el resultado Console.ReadLine()
37
Entonces aplicando todo lo anterior podemos
obtener el siguiente ejemplo:

38
Ejercicio 1
 Debido a los excelentes resultados, el restaurante
decide ampliar sus ofertas de acuerdo a la
siguiente escala de consumo. Determinar el
importe a pagar por lo consumido, mostrando
todos los importes
Consumo (S/.) Descuento(%)
Mayor a 100 30
Mayor a 60 20
Mayor a 30 15
Hasta 30 10

El impuesto = ( consumo – descuento ) * 19%


El Importe a pagar es = Consumo - descuento + impuesto

39
 Pseudocodigo
 Variables consumo, dscto, imp, tot : Real
 Escribir("ingrese el consumo")
 Leer consumo
 Si consumo > 100 Entonces
 dscto = 0.3 * consumo
 Si no
Si consumo > 60 Entonces
 dscto = 0.2 * consumo
 Si no
Si consumo > 30 Entonces
 dscto = 0.15 * consumo
 Si no
 dscto = 0.1 * consumo
 Fin si
 Fin si
Fin si
imp = (consumo - dscto) * 0.19
 tot = consumo - dscto + imp
 Escribir("El descuento es : " , dscto)
 Escribir("El impuesto es : " , imp)
 Escribir("Total a Pagar es : «, tot)
 Fin
40
 Module Module1
 Sub Main()
 Dim consumo, dscto, imp, tot As Double
 Console.WriteLine("ingrese el consumo")
 consumo = Console.ReadLine()
 If consumo > 100 Then
 dscto = 0.3 * consumo
 ElseIf consumo > 60 Then
 dscto = 0.2 * consumo
 ElseIf consumo > 30 Then
 dscto = 0.15 * consumo
 Else
 dscto = 0.1 * consumo
 End If
 imp = (consumo - dscto) * 0.19
 tot = consumo - dscto + imp
 Console.WriteLine("El descuento es : " & dscto)
 Console.WriteLine("El impuesto es : " & imp)
 Console.WriteLine("Total a Pagar es : " & tot)
 Console.ReadLine()
 End Sub
 End Module

41
Ejercicio 2
Una institución benéfica tiene un comedor de niños y un centro
de salud. La institución recibe donaciones de diferentes países
que se reparte en la siguiente forma:

Si el monto de la donación es menor que S/. 10,000 entonces


35% se destina al centro de salud, 65% al comedor de niños.

Si el monto de la donación es de S/. 10,000 o más entonces


30% se destina al centro de salud, 60% al comedor de niños y
el resto se invierte en la bolsa de valores.

Diseñe un Diagrama de Flujo que determine cuanto se destina al


centro de salud y al comedor de niños ; y cuanto se invierte en
la bolsa de valores. Si se ingresa la donación en soles.

42
INICIO

dona

si no
dona<
10000

cent_salud = dona * 0.35 cent_salud = dona * 0.30


com_niños = dona * 0.65 com_niños = dona * 0.60

bol_valores = dona * 0.10

cent_salud,
com_niños,
bol_valores

FIN

43
Pseudocodigo
 entero : donacion, cent_salud, com_niños, bol_valores
 Inicio
 escribir (“ ingrese donacion”)
 leer ( donacion)
 Si dona < 10000 entonces
 cent_salud ← donacion * 0.35
 com_niños ← donacion * 0.65
 si no
 cent_salud ← donacion * 0.30
 com_niños ← donacion * 0.60
 bol_valores ← donacion * 0.10
 fin si
 escribir ( cent_salud, com_niños, bol_valores )
 fin
44
Ejercicio 3
En la playa de estacionamiento de un centro comercial cobran una tarifa fija
por hora o fracción de acuerdo a la siguiente tabla :

DÌA TARIFA

Lunes a Jueves S/. 3.5

Viernes y Sábado S/. 4.5

Domingo S/. 2.5

Suponga que se tiene la cantidad de horas y minutos en el


estacionamiento. Diseñe un diagrama de flujo que determine cuanto
debe pagar un cliente por el estacionamiento de su vehículo.

45
Ejercicio 4
En una universidad los alumnos están categorizados en cuatro tipos de
categorías, correspondiendo a cada categoría una pensión mensual
distinta a la siguiente tabla:
CATEGORIA PENSION
A S/. 550
B S/. 500
C S/. 460
D S/. 400
Semestralmente la universidad efectúa rebajas en las pensiones de sus
estudiantes a partir del segundo ciclo en base al promedio ponderado al
ciclo anterior en porcentajes dados en la tabla siguiente:

PROMEDIO DESCUENTO
0 a 13.99 No hay descuento
14.00 a 15.99 10%
16.00 a 17.99 12%
18.00 a 20.00 15%
Diseñe un diagrama de flujo que determine cuanto de rebaja recibirá un
estudiante sobre su pensión actual y a cuanto asciende su nueva pensión
47
48
 PSEUDOCÓDIGO
 cadena : categ
 entero : pension
 real : prom, dcto, nueva_pension
 Inicio
 escribir ( ‘ ingrese categoria y promedio de los alumnos’ )
 leer ( categ , pension )
 si categ = “A” entonces
 pension ← 550
 sino si categ = “B” entonces
 pension ← 500
 sino si categ = “C” entonces
 pension ← 460
 sino
 pension ← 400
 fin si
 fin si
 fin si
 49

 si prom <=13.99 entonces


 dcto ← 0
 sino si prom <=15.99 entonces
 dscto ← 0.1 * pension
 sino si prom<=17.99 entonces
 dcto ← 0.12 * pension
 sino
 dscto ← 0.15 * pension
 fin si
 fin si
 fin si
 nueva_pension ← pension – dcto
 escribir ( ‘dcto’, ‘nueva_pension’ )
 fin

50
EJERCICIOS PROPUESTOS

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

2.- Suponga que usted es un ejecutivo del Bío-Bío Bank,


encargado de entregar créditos a las personas. De acuerdo a las reglas
del banco en que usted trabaja, el monto del crédito al que una
persona puede acceder depende de su sueldo anual. Para determinar
el crédito al que una persona puede optar, debe utilizar la siguiente
tabla entregada por el banco:

 Sueldo menor a S/. 20.000 no tiene derecho a crédito.


 Sueldo entre S/. 20.000 y S/. 50.000 tiene derecho a crédito hasta
por S/. 100.000
 Sueldo entre S/. 50.000 y S/. 100.000 tiene derecho a crédito hasta
por $200.000.

 Escriba un algoritmo que, dado el sueldo de un cliente, le indique el


valor del crédito al que puede optar.
51

You might also like