ACTIVIDAD
EXTRAORDINARIA DE EVALUACIÓN
Asignatura: Algoritmo y Programación
Facilitador: Hugo García
Estudiante:
Karina Maita
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.
Para este ejercicio se realizó un
DFD (Diagrama de Flujo de Datos) Para el Cálculo de Multas en una Biblioteca,
que no es más que un modelo
lógico-gráfico para representar el funcionamiento del programa a realizar


Programa “ Cálculo de Multas de una Biblioteca” realizado en Lenguaje
de Programación PASCAL
Program
Biblioteca;
Uses
Crt;
Const
dia=3;{constante definida
que indica la cantidad d¡as normales
sin multas a partir del siguiente se exige la multa, asumida
por
el estudiante}
multa=1000;{monto de la multa por dia}
Var
cod:integer;{ codigo
del usuario}
diaentrega:integer;{cantidad de d¡as hasta la entrega de la publicaci¢n}
contmulta:integer;{contador para
determinar la cantidad de personas que
recibieron multas}
multus:real;{multa por usuario}
montotal:real;{variable para tener
el monto total por multas}
cont5mil:integer;{contador
de usuarios con multas superiores a 5000}
por5mil:real;{porcentaje de usuarios con multas superiores a 5000}
res:integer;
Begin
Clrscr;
Writeln;Writeln;Writeln;
Writeln('Programa para el
CALCULO DE MULTAS de una Biblioteca');
contmulta:=0;cont5mil:=0;montotal:=0;res:=1;
While (res=1) do
Begin
Writeln;Write('Introduzca
codigo del usuario:');Readln(cod);
Writeln;Write('Introduzca
Cantidad de dias con
Readln(diaentrega);
If (diaentrega > dia)
then
Begin
contmulta:=contmulta+1;
multus:=(diaentrega-dia)*multa;
montotal:=montotal+multus;
Writeln;Writeln('Impuntualidad en la devolucion
de la publicacion,');
Writeln('que le gener¢ una multa de Bs.: ',multus:6:2);
If (multus > 5000) then
Begin
cont5mil:=cont5mil+1;
End;
End
Else
Writeln('Publicacion
entregada a tiempo');
Writeln;Writeln;Write('Pulse (1) para Ingresar otro usuario
Cualquier tecla para Salir: ');
Readln(res);
End;
por5mil:=(cont5mil*100)/contmulta;
Writeln;Writeln;
Writeln('========Estadisticas========');
Writeln('Pulse
la tecla Enter para Continuar');
Readln;
Writeln;Writeln;
Writeln('Cantidad
de Personas que Recibieron Multas; ',contmulta);
Writeln;Writeln('Monto Total por
Conceptos de Multas===>> Bs.',montotal:6:2);
Writeln;Writeln('Porcentaje de
Usuarios con multas superiores a 5000 Bs.: ',por5mil:4:2,'%');
Readln;
End.
Nota: este programa funcionó correctamente, sin errores, comprobado.
|
Evaluación
del Ejercicio |
|
|
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:
·
Contadores
Variable destinada a contener un valor que se irá incrementando o decrementando en una cantidad fija o constante:
Se utilizan
para llevar el control del número de ocasiones en que se realiza una operación
o se cumple una condición. Con los incrementos generalmente de uno en uno, es
decir, para el control de procesos
repetitivos; contabilizan un conjunto de
sucesos que se repiten en un programa mediante el uso de bucles, todo contador
debe tomar un valor inicial antes de ser utilizado.
·
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, esta destinada a almacenar resultados de
operaciones previas de manera sucesiva, lo que permitirá obtener el total
acumulado de dichas cantidades. En
aquellos casos en que se pretende obtener el total como suma de distintas
cantidades, el acumulador debe ser inicializado en cero.
·
Condicionales:
son los operadores de relación expresan comparación
entre dos o más operandos. Permiten realizar
confrontaciones entre valores o caracteres. Sirven para desarrollar las
estructuras condicionales de los algoritmos y son: > Mayor que, <
Menor que, = Igual a, >= Mayor o igual que, <= Menor o igual que,
<> Diferente a
·
Objetos: Los objetos son en realidad como
·
Propiedad
Una propiedad es una mezcla entre el concepto de campo y el
concepto de método. Externamente es accedida como si de un campo normal se
tratase, pero internamente es posible asociar código a ejecutar en cada
asignación o lectura de su valor. Éste código puede usarse para comprobar que
no se asignen valores inválidos, para calcular su valor sólo al solicitar su
lectura, etc.
Una propiedad no almacena datos, sino sólo se utiliza como si los
almacenase. En la práctica lo que se suele hacer escribir como código a
ejecutar cuando se le asigne un valor, código que controle que ese valor sea
correcto y que lo almacene en un campo privado si lo es; y como código a
ejecutar cuando se lea su valor, código que devuelva el valor almacenado en ese
campo público. Así se simula que se tiene un campo público sin los
inconvenientes que estos presentan por no poderse controlar el acceso a ellos.
|
Evaluación
del Ejercicio |
|
|
Cada termino |
10 (2 puntos c/u) |
FORMATO DE PUBLICACIÓN
Los participantes deben publicar sus trabajos formato html en su sitio web como ip.html
(http://es.geocities.com/misitio/aee/081/ap.html) y enviar un reporte al
Profesor Hugo García [email protected]
con copia a [email protected]
antes del 14MAR08 (Fecha Tope)