UNIVERSIDAD NACIONAL DE SAN AGUSTÍN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL
INFORME TIF 1 Y 2
Curso: Sistemas de Información
Docente: Ismael Veliz Vilca
Integrantes :
Grupo: C
Arequipa –Perú
2021-A
CAPÍTULO 1: MARCO TEÓRICO 3
CAPÍTULO II : DESCRIPCIÓN DE LOS EJERCICIOS 5
2.1 Aplicación simple de base de datos: 5
2.1.1 Código 5
2.1.2 Capta de pantalla 9
2.1.3 Aporte 10
2.2 Aplicación usando clases y objetos: 11
2.2.1 Código 11
2.2.2 Capta de pantalla 11
2.2.3 Aporte 11
CAPÍTULO 1: MARCO TEÓRICO
La POO es una nueva filosofía de programación que se basa en la utilización de objetos. El
objetivo de la POO no es sino la meta de cualquier modelo de programación estructurada
convencional:” imponer” una serie de normas de desarrollo que aseguren y faciliten la
mantenibilidad y reusabilidad del código.
Los mecanismos de la POO son: objetos, mensajes, métodos y clases.
Objeto
Un objeto es una entidad que tiene unos atributos particulares(datos) y unas formas de operar
sobre ellos (los métodos o funciones miembro).Es decir, un objeto incluye, por una parte una
serie de operaciones que definen su comportamiento, y una serie de variables manipuladas
por estas funciones que definen su estado. Por ejemplo, una ventana de windows contendrá
operaciones como “maximizar” y variables como “ancho “ y “alto” de la ventana.
Mensajes
Un mensaje se corresponde con el nombre de uno de los métodos de un objeto. Cuando se
pasa un mensaje a un objeto, este responde ejecutando el código de la función asociada.
Método
Un método (función miembro) se implementa dentro de un objeto y determina como tiene
que actuar el objeto cuando se produce el mensaje asociado. Método corresponde a la
definición de la función miembro del objeto. La estructura más interna de un objeto esta
oculta, de tal manera que la única conexión con el exterior son los mensajes.
Miembros de clase
Propiedades y campos: Representan información que contiene un objeto. Los campos se
parecen a las variables ya que se pueden leer y establecer directamente. Para definir un
campo:
Class SampleClass
Public SampleField As String
End Class
Clases
Una clase es la definición de un tipo de objetos. De esta manera, una clase “Empleado”
representaría todos los empleados de una empresa, mientras que un objeto de esa clase
(también denominado instancia) representaría a uno de esos empleados en particular.
Características de un sistema orientado a objetos:
La encapsulación significa que un grupo de propiedades, métodos y otros miembros
relacionados se tratan como una sola unidad u objeto.
La herencia describe la posibilidad de crear nuevas clases basadas en una clase
existente.
El polimorfismo significa que puede tener múltiples clases que se pueden usar de
manera intercambiable, aunque cada clase implementa las mismas propiedades o los
mismos métodos de maneras diferentes.
CAPÍTULO II : DESCRIPCIÓN DE LOS EJERCICIOS
2.1 Aplicación simple de base de datos:
En este código aplicaremos el registro de un alumno a una institución en cursos
especializados los cuales tiene un costo y también se puede seleccionar cosas
complementarias que dan costos adicionales a la matricula.
2.1.1 Código
Public Class Form1
Dim carnet, informatica, biblioteca As Double
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles
[Link]
cbx_carreras.SelectedIndex = 0
End Sub
Private Sub cbx_carreras_SelectedIndexChanged(ByVal sender As [Link], ByVal
e As [Link]) Handles cbx_carreras.SelectedIndexChanged
If cbx_carreras.SelectedIndex = 1 Then
[Link] = [Link]("c")
lbl_PagoAlumno.Text = [Link]("c")
lbl_PagoAdicional.Text = [Link]("c")
bloquear()
ElseIf cbx_carreras.SelectedIndex = 2 Then
[Link] = [Link]("c")
lbl_PagoAlumno.Text = [Link]("c")
lbl_PagoAdicional.Text = [Link]("c")
bloquear()
ElseIf cbx_carreras.SelectedIndex = 3 Then
[Link] = [Link]("c")
lbl_PagoAlumno.Text = [Link]("c")
lbl_PagoAdicional.Text = [Link]("c")
bloquear()
Else
[Link] = [Link]("c")
lbl_PagoAlumno.Text = [Link]("c")
End If
End Sub
Private Sub txt_codigo_KeyPress(ByVal sender As Object, ByVal e As
[Link]) Handles txt_codigo.KeyPress
If [Link]([Link]) Then
[Link] = False
ElseIf [Link]([Link]) Then
[Link] = True
ElseIf [Link]([Link]) Then
[Link] = False
Else
[Link] = True
End If
End Sub
Private Sub txt_nombre_KeyPress(ByVal sender As Object, ByVal e As
[Link]) Handles txt_nombre.KeyPress
If [Link]([Link]) Then
[Link] = False
ElseIf [Link]([Link]) Then
[Link] = False
ElseIf [Link]([Link]) Then
[Link] = False
Else
[Link] = True
End If
End Sub
Private Sub chkCarnet_CheckedChanged(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
lbl_PagoAlumno.Text = 0
If ([Link] = True) Then
carnet = [Link]("c")
Else
carnet = [Link]("c")
End If
If ([Link] = True) Then
informatica = [Link]("c")
Else
informatica = [Link]("c")
End If
If ([Link] = True) Then
biblioteca = [Link]("c")
Else
biblioteca = [Link]("c")
End If
PagoAdicional()
PagoAlumno()
End Sub
Private Sub chkInformatica_CheckedChanged(ByVal sender As [Link], ByVal e
As [Link]) Handles [Link]
If ([Link] = True) Then
informatica = [Link]("c")
Else
informatica = [Link]("c")
End If
If ([Link] = True) Then
carnet = [Link]("c")
Else
carnet = [Link]("c")
End If
If ([Link] = True) Then
biblioteca = [Link]("c")
Else
biblioteca = [Link]("c")
End If
PagoAdicional()
PagoAlumno()
End Sub
Private Sub chkBiblioteca_CheckedChanged(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
If ([Link] = True) Then
biblioteca = [Link]("c")
Else
biblioteca = [Link]("c")
End If
If ([Link] = True) Then
carnet = [Link]("c")
Else
carnet = [Link]("c")
End If
If ([Link] = True) Then
informatica = [Link]("c")
Else
informatica = [Link]("c")
End If
PagoAdicional()
PagoAlumno()
End Sub
Private Sub bloquear()
[Link] = False
[Link] = False
[Link] = False
End Sub
Private Sub PagoAlumno()
lbl_PagoAlumno.Text = (CDbl([Link]) +
CDbl(lbl_PagoAdicional.Text)).ToString("c")
End Sub
Private Sub PagoAdicional()
lbl_PagoAdicional.Text = (CDbl(carnet) + CDbl(informatica) +
CDbl(biblioteca)).ToString("c")
End Sub
Private Sub btnRegistrar_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
Dim nombre As String
Dim carrera As Integer
Dim total As Double = 0
nombre = txt_nombre.Text
carrera = cbx_carreras.SelectedIndex
If (cbx_carreras.SelectedIndex = 0) Then
MsgBox("Debe elegir una carrera", [Link] +
[Link], "Sistema")
cbx_carreras.DroppedDown = True
ElseIf txt_codigo.Text = "" Then
MsgBox("Debe codigo de alumno", [Link] +
[Link], "Sistema")
txt_codigo.Focus()
ElseIf txt_nombre.Text = "" Then
MsgBox("Ingrese el nombre del alumno", [Link] +
[Link], "Sistema")
txt_nombre.Focus()
Else
If lbx_codigo.[Link](txt_codigo.Text) Then
MsgBox("No puede ingresar 2 veces el mismo codigo de alumno",
[Link] + [Link], "Sistema")
txt_codigo.Focus()
Else
Select Case (carrera)
Case 1 : lbx_carrera.[Link]("Administracion de Empresas")
Case 2 : lbx_carrera.[Link]("Desarrollo de Sistemas")
Case 3 : lbx_carrera.[Link]("Diseño Grafico")
End Select
lbx_codigo.[Link](txt_codigo.Text)
lbx_alumno.[Link](nombre)
If rbmañ[Link] = True Then
lbx_turno.[Link]("Mañana")
ElseIf [Link] = True Then
lbx_turno.[Link]("Tarde")
Else
lbx_turno.[Link]("Noche")
End If
lbx_pago.[Link](lbl_PagoAlumno.Text)
lbl_totalmatriculados.Text = lbx_alumno.[Link]
For i = 0 To lbx_pago.[Link] - 1
total = total + lbx_pago.[Link](i)
Next
lbl_pagototalalumnos.Text = [Link](total)
limpiar()
lbl_pagototalalumnos.Text = Format(total, "S/.0.00")
End If
End If
End Sub
Private Sub limpiar()
txt_codigo.Text = ""
txt_nombre.Text = ""
[Link] = False
[Link] = False
[Link] = False
cbx_carreras.SelectedIndex = 0
End Sub
Private Sub btnborrar_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
lbx_alumno.[Link]()
lbx_codigo.[Link]()
lbx_carrera.[Link]()
lbx_turno.[Link]()
lbx_pago.[Link]()
lbl_totalmatriculados.Text = ""
lbl_pagototalalumnos.Text = ""
End Sub
Private Sub btneliminar_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
Dim i As Integer
i = lbx_codigo.SelectedIndex()
If (i >= 0) Then
lbx_alumno.[Link](i)
lbx_codigo.[Link](i)
lbx_carrera.[Link](i)
lbx_turno.[Link](i)
lbx_pago.[Link](i)
Dim total As Double = 0
lbl_totalmatriculados.Text = lbx_alumno.[Link]
For i = 0 To lbx_pago.[Link] - 1
total = total + lbx_pago.[Link](i)
Next
lbl_pagototalalumnos.Text = [Link](total)
lbl_pagototalalumnos.Text = Format(total, "S/.0.00")
End If
End Sub
Private Sub btnsalir_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link]()
End Sub
End Class
2.1.2 Capta de pantalla
2.2 Aplicación usando clases y objetos:
2.2.1 Código
2.2.2 Capta de pantalla
2.2.3 Aporte
Public Class ALUMNO
Protected Nombre1 As String
Protected Nota1 As Integer
Public Event Evento1(ByVal Valor As Integer)
Public Event Evento2(ByVal Valor As Integer)
Property Nombre As String
Get
Nombre = Nombre1
End Get
Set(ByVal value As String)
Nombre1 = value
End Set
End Property
Property Nota As Integer
Get
Nota = Nota1
End Get
Set(ByVal value As Integer)
Select Case value
Case Is < 0
RaiseEvent Evento1(value)
Case value > 0 To 20
Case Is > 20
RaiseEvent Evento2(value)
End Select
End Set
End Property
Sub New(Optional ByVal Nombre2 As String = "fulano", Optional ByVal nota2 As
Integer = 0)
Nombre1 = Nombre2
Nota1 = nota2
End Sub
Function MostrarDatos()
Return Nombre1 & "-" & Nota1
End Function
End Class
Module Module1
Sub main()
Dim fila As Integer
Dim A(100) As ALUMNO
Dim na As Integer
[Link]("cuantos aslumnos quiere generar")
na = [Link]
For fila = 0 To na - 1
A(fila) = New ALUMNO("nombre" & fila + 1, Int(Rnd() * 21))
Next
For fila = 0 To na - 1
[Link](A(fila).MostrarDatos())
Next
[Link]()
End Sub
End Module
Public Class Form1
Function promedio(ByVal A() As ALUMNO, ByVal na As Integer) As Single
Dim fila As Integer
Dim suma As Single = 0
For fila = 0 To na - 1
suma = suma + A(fila).Nota
Next
Return suma / na
End Function
Private Sub btnproceso_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
Randomize()
Dim fila As Integer
Dim A(100) As ALUMNO
Dim na As Integer
Dim Cadena As String = ""
[Link]("cuantos aslumnos quiere generar")
na = InputBox("cuantos alumnos quiere ingresar", "Ingreso", 5)
For fila = 0 To na - 1
A(fila) = New ALUMNO("nombre" & fila + 1, Int(Rnd() * 21))
Next
For fila = 0 To na - 1
Cadena = Cadena & A(fila).MostrarDatos() & vbCrLf
Next
Cadena = Cadena & vbCrLf & "el promedio es" & promedio(A, na)
[Link] = Replace(Cadena, "-", vbTab)
[Link]()
End Sub
End Class