|
|
ACTIVIDAD EXTRAORDINARIA DE EVALUACIÓN Algoritmos y Programación Participante: Javier Páez Garrido - Facilitador: Hugo González. |


Parte A:
Se evalúa el dominio de: contadores, acumuladores y condicionales. No requiere uso de archivos.
Ejercicio
Realice un programa en un lenguaje de programación cualquiera para la resolución del siguiente problema:
A partir de los códigos de los usuarios y las multas establecidas en una biblioteca por concepto de impuntualidad en la devolución de publicaciones prestadas, determine:
• Cantidad de personas que recibieron multa
• Monto total por concepto de las multas
• Porcentaje de usuarios que tienen multas
superiores a 5000 BS.
Para la programación, debe usar los conceptos señalados en el contenido de la asignatura.
| Diseño del formulario | 2 puntos |
| Procedimiento General | 2 puntos |
| Cada resultado | 6 puntos (2 puntos c/u) |
Parte B:
Basado en el ejercicio anterior, publique en su sitio web el archivo ap.html un resumen donde identifique los conceptos:
• Acumulador
• Contador
• Condicional
• Objeto
• Propiedad
| Cada termino | 10 (2 puntos c/u) |
_______________________________________________________________________________________________
PARTE A.
Código del programa:
MODULO
Public contador As Integer
Public acumMultas As Single
Public contMultas As Integer
Public contMultas5 As Integer
Public porcentaje As Single
Public Sub Main()
Form1.Show
End Sub
FORMULARIO 1
Private Sub btnprocesar_Click()
If txtcoduser.Text = "" Then
MsgBox "Introduzca el codigo del usuario a procesar"
txtcoduser.SetFocus
ElseIf txtmonto.Text = "" And Option1.Value = True Then
MsgBox "Introduzca el monto de la multa"
txtmonto.SetFocus
Else
Dim auxMonto As Variant
auxMonto = Replace(txtmonto, ",", ".")
contador = contador + 1
If Option1.Value = True Then
acumMultas = acumMultas + auxMonto
contMultas = contMultas + 1
If auxMonto > 5000 Then
contMultas5 = contMultas5 + 1
deshabilitar
End If
End If
End If
End Sub
Private Sub btnresultado_Click()
If contMultas > 0 Then
porcentaje = contMultas5 * 100 / contMultas
Unload Me
Form2.Show
Else
MsgBox "Debe procesar al menos a un usuario"
End If
End Sub
Private Sub Command3_Click()
limpiar
habilitar
txtcoduser.SetFocus
End Sub
Private Sub Form_Load()
fecha.Caption = Date
contador = 0
contMultas = 0
contMultas5 = 0
acumMultas = 0
End Sub
Public Sub habilitar()
txtcoduser.Enabled = True
txtmonto.Enabled = False
btnprocesar.Enabled = True
btnresultado.Enabled = True
Option2.Enabled = True
Option1.Enabled = True
Option2.Value = True
End Sub
Public Sub deshabilitar()
txtcoduser.Enabled = False
txtmonto.Enabled = False
btnprocesar.Enabled = False
Option1.Enabled = False
Option2.Enabled = False
End Sub
Public Sub limpiar()
txtcoduser = ""
txtmonto = ""
End Sub
Private Sub Option1_Click()
txtmonto.Enabled = True
txtmonto.SetFocus
End Sub
Private Sub Option2_Click()
txtmonto.Enabled = False
End Sub
Private Sub txtmonto_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
btnprocesar.SetFocus
Else
If InStr("1234567890", Chr(KeyAscii)) = 0 And KeyAscii > 8 Then
MsgBox "El caracter digitado no es válido.", vbExclamation, "Atención"
KeyAscii = 0
End If
End If
End Sub
FORMULARIO 2
Private Sub Command1_Click()
Unload Me
Form1.Show
End Sub
Private Sub Form_Load()
txtnumpersonas.Text = contador
txtpersonasm.Text = contMultas
txttotalm.Text = acumMultas
txtporc.Text = porcentaje
End Sub
Antes de definir los términos empleados para la construcción del programa es importante destacar ¿Que es programación? Se conoce como programación de computadores a la implementación de un algoritmo en un determinado lenguaje de programación, conformando un programa. Mientras que un algoritmo se ejecuta en una máquina abstracta que no tiene limitaciones de memoria o tiempo, un programa se ejecuta en una máquina real, que sí tiene esas limitaciones. El lenguaje de programación puede ser de alto nivel, medio nivel o bajo nivel, en función del grado de abstracción.
Términos empleados en la construcción del programa:
Se han utilizado las siguientes 5 variables,
Contador: Número de usuarios y/o registros.
acunMultas: Me da el total de las multas.
ContMultas: Me da el total de todos los que tuvieron multas.
ContMultas5: Me da la cantidad de personas que recibieron multas mayores a 5 mil Bs.
Porcentaje: Variable que almacena el porcentaje.
Observación: En el caso de la determinación de las multas superiores a 5 mil, se aplica prácticamente una regla de 3:
SI multa > 5000 Bs entonces
contador5=contador 5 + 1
fin
|
Acumulador: Campo o variable que sirve para llevar una suma o cuenta de diferentes valores. En este caso permite ver el total de los montos de las multas, va sumando monto + monto, por ejemplo: 1000+3000+8000+5000 = 17.000 Contador (programación) Referido a programación es una variable que acumula las veces que se pasa por ella. Se suele denominar contador cuando el incremento de la variable es de 1 en 1, pero no tiene por qué ser así obligatoriamente. La sintaxis genérica sería: variable = variable + 1. En este caso ha servido para: Contador, número de usuarios procesados. Contador de multas: El total de todos los usuarios que tuvieron multas y Contador Multas 5: Todos los usuarios con multas superiores a 5 mil. Por ejemplo: Contador= 0, Contador + 1= 1, Contador+1= 2, Contador + 1= 3, se va incrementando el número el contador, la sumatoria siempre 1. Condicional: Es una instrucción grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición. Los tipos más conocidos de setencias condicionales son el SI..ENTONCES (if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también podríamos mencionar al lanzamiento de errores como una alternativa más moderna para evitar el "anidamiento" de sentencias condicionales. Los sentencias condicionales constituyen, junto con los bucles, los pilares de la programación estructurada, y su uso es una evolución de una sentencia en lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición. Objeto: es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo, y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos. Podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización. Un objeto es cualquier cosa que se ofrece a la vista y afecta los sentidos. Es una entidad tangible que exhibe algún comportamiento bien definido. En términos de programación, un objeto no necesariamente es algo tangible (por ejemplo: un proceso). Lo que sí puede decirse de todo objeto es que tiene estado, comportamiento e identidad. El estado de un objeto abarca todas las propiedades o características distintivas del mismo y los valores de cada una de estas propiedades. En términos de programación, puede decirse que las propiedades son las variables que sirven para describir tal objeto. Las propiedades distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organización. |