martes, 25 de septiembre de 2012

Ejercicio Casos de Uso

Software de información de una biblioteca 

Actores 
- Bibliotecario 
-   

Bibliotecario 
Sistema de ingreso para verificar datos 
- Ingreso al sistema 
- Verifica datos 
- Consulta disponibilidad 
- Pedir documento 

Sistema para consultar multas 
- Verifica multas 
- Asigna multas 

Sistema para modificar información 
- Elimina información 
- Modifica información 

Sistema de registro de un libro 
- Registro de información del libro en préstamo 
- Registro de usuario 

Usuario 
Sistema para solicitar libro 
- Ingreso al sistema 
- Consulta disponibilidad de   
- Solicita libro 

martes, 24 de julio de 2012

TALLER UML-DIAGRAMA DE CLASES


Ejercicio #1

Se desea que usted genere un diagrama UML para el sistema de información de una universidad. Los estudiantes asisten a cursos y cada  estudiante puede asistir a cualquier número de cursos y cada curso puede  tener cualquier número de estudiantes. Los profesores imparten cursos. Para  cada curso existe al menos un profesor y cada profesor puede impartir cero o más cursos. Cada curso pertenece exclusivamente a un departamento. Una  universidad tiene cero o más estudiantes y cada estudiante puede ser  miembro de una o más universidades. Una universidad tiene uno o más  departamentos y cada departamento pertenece exactamente a una  universidad. Cada profesor está adscrito a uno o más departamentos y cada  departamento tiene uno o más profesores. Para cada departamento hay exactamente un profesor que es el director. Un profesor puede ser director  de sólo un departamento.

Ejercicio #2

Usted  ha sido contratado por el COI (Comité Olímpico Internacional) para analizar, diseñar e implementar una solución que  permita al comité tener conocimiento de todos los detalles implicados a este gran evento. Luego de reiteradas reuniones con el COI  se decidió efectuar un desarrollo piloto sobre las competencias de fútbol de las Olimpíadas, a fin de determinar la efectividad del  futuro sistema.
Las competencias de fútbol contarán con una serie de estadios para el desarrollo de cada uno de los partidos. Cada partido  contará con la participación de dos equipos los cuales serán representación de un país invitado y un grupo designado de árbitros;  cada uno de estos partidos debe proporcionarnos información acerca de: los goles marcados y las tarjetas sacadas, además de  saber cual fue la asistencia de público a cada partido y la fase de evento a la cual pertenecía.
Cada equipo esta conformado por 20 jugadores y un cuerpo técnico. De cada jugador queremos saber información como su nombre, fecha y lugar de nacimiento, posición que juega, etc. Del cuerpo técnico es necesario conocer su nombre, fecha y lugar de  nacimiento, cargo, etc. De los árbitros se necesita saber su nombre, fecha y lugar de nacimiento, federación a la que pertenece y  su cargo.
De los goles y las tarjetas queremos conocer el partido, el minuto y la persona que esta relacionado con el gol (quién lo metió).
Los estadios de las Olimpiadas son estadios que en su mayoría se han reformado o construido nuevos para darle un impulso al deporte en China. Es por ello que el comité organizador desea saber las características básica de cada estadio como por ejemplo, capacidad, ciudad donde están localizados, si posee techo o no, etc.

Ejercicio #3

Interpretar el siguiente diagrama de clases.



martes, 22 de mayo de 2012

Ejercicios Caso


1- Introducir por el teclado o H e imprimir Varón o Hembra.


2- Elaborar un programa que realice la opcion seleccionada de acuerdo a lo siguiente:
a.- Area de triángulo
b.- Area de Cuadrado
c.- Area de Circulo
d.- Area de Rectángulo
3- Elaborar un programa que lea una letra y determine si es vocal o consonante. 


4-  En el juego para dos personas llamado "ROCA, PAPEL Y TIJERAS" cada jugador escoge ser "T", "R" o "P" respectivamente. El jugador se determina así: roca rompe tijeras, las tijeras cortan el papel, el papel cubre la roca, el juego es un empate si ambos jugadores eligen la misma opcion. Elaborar un programa para que determine cual jugador gana, la salida debe mostrarse de la siguiente forma: "T-R Roca rompe tijeras gana el jugador 2".


5- Mostrar el signo zodiacal de una persona. Para ello el usuario debe introducir únicamente el día y el mes de nacimiento y el programa determinará inmediatamente el signo zodiacal de la persona


6- De la galería de productos, el usuario introducirá el código y el número de unidades
del producto que desea comprar. El programa determinará el total a pagar, como una
factura.

Estructura Caso


Esta se usa como sustituto en algunos casos del si anidado , por ser mas
practico al aplicarlo en la evaluación de algunas condiciones.

Sintaxis

  caso variable 
 valor1, valor2, valor3, … :  
  instrucciones 
 valor1, valor2, valor3, … :  
  instrucciones 
 .    
 .    
 [ sino : 
  instrucciones] 
 fin caso 

Los valores a evaluar , se separan por comas si hay varios, tal  como aparece en
la sintaxis valor1,valor2 etc, también se puede usar el sino que nos indica, que
en caso de no seleccionar ninguna de las instrucciones anteriores se ejecutan.

Ejemplo sobre la aplicación de la estructura caso 


caracter zona
cadena[25] nombre
real ventas , comis , ihss, tp
inicio
escriba "Ingresar el nombre del empleado "
lea nombre
escriba "Ingresar las ventas del empleado "
lea ventas
escriba "Ingresar la zona de trabajo "
lea zona
caso Zona
‘a’,’A’ : comis 0.06 * ventas
‘b’,’B’ : comis 0.08 * ventas
‘c’,’C’ : comis 0.09 * ventas
sino :
comis 0
fin caso
si comis > 2400 entonces
ihss 84
sino
ihss 0.035*comis
fin si
tp comis - ihss
Escriba " Comsión ganada " , comis
llamar nueva_linea
Escriba " Segudo Social " , ihss
llamar nueva_linea
Escriba "Total a pagar " , tp
llamar nueva_linea
fin

miércoles, 9 de mayo de 2012

Ejercicios Ciclos


1.- Realice un algoritmo que permita calcular y dar como salida el promedio general de una sección, tomando en cuenta que esta compuesta por 25 estudiantes y que se tiene la nota definitiva de cada uno de ellos.

2.- Sean N estudiantes. Hacer un algoritmo que lea las cuatro notas de cada estudiante e imprima la nota definitiva de cada uno, sabiendo que la nota definitiva es igual a la suma de cuatro notas multiplicada por cien, divididas entre 4 y al resultado se le suma uno.

3.- 3.- Dado un grupo de 75 Números (Diferentes a Cero), realice un algoritmo que permita determinar y dar como salida lo siguiente:
* Número Mayor y número menor encontrado en el grupo
* Cantidad de Números Mayores a 150
* Cantidad de Números Negativos Encontrados
* Promedio de los Positivos Encontrados.

4.- Dada La C.I., Nombre y la Nota Definitiva de 5 Materias de cada estudiante pertenecientes a un grupo de 35; realice un algoritmo que permita calcular y dar como salida el promedio de notas de cada estudiante.

6.- CANTV Posee dos tipos de clientes: Residencial y Empresarial, realice un algoritmo que permita procesar “n” cantidad de clientes teniendo como datos por C/U. de ellos: Código del Cliente, Tipo de Cliente, Lectura Actual, Lectura Anterior; Calculando y dando como salida la cantidad de Impulsos consumidos y el neto a pagar por cada cliente.
Los Impulsos se cobran a razón de:
Residencial 25 Pesos.
Empresarial 35 Pesos.
Nota: Cant. De Imp = L. Actual – L. Anterior.

7.- Una Ferretería vende dos tipos de Cables, Cable Tipo A (200 Pesos. MT) y Cable Tipo B (300 pesos. MT ); realice un algoritmo que teniendo como datos por cada cliente su nombre, tipo de cable a comprar y cantidad de metros requeridos, calcule y de cómo salida el nombre y el neto a pagar por cada cliente, tomando en cuenta que existe un grupo indeterminado de ellos y que la empresa da una rebaja del 10% por cada compra que exceda de los 100 MT de cable de cualquier tipo

8.- Se toman los Mismos datos del 7 con la diferencia que se da la rebaja del 10% si se compran mas de 100 Mts de Cable tipo A y el 20 % si se compran mas de 100 Mts de Cable Tipo B.



martes, 8 de mayo de 2012

Ejercicios Condicionales


1. Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la altura es mayor al 171 escriba el mensaje: “Persona alta”.

2. Hacer un algoritmo que lea los nombres y edades de dos personas e imprima cual de ellas tiene más edad.

3. En una Granja existen N conejos, N1 blancos y N2 negros. Se venden X negros y Y blancos.
Hacer un algoritmo que:
a) Imprima la cantidad de conejos vendida
b) Si P1 es el precio de venta de los conejos blancos y P2 es el precio de venta de los conejos negros, imprima el monto total de la venta.
c) Imprima el color de los conejos que se vendieron mas.

4. Elaborar un algoritmo que lea el importe bruto de una factura y determine el importe neto según los siguientes criterios:
· Importe bruto menor de 20.000 -> sin descuento
· Importe bruto mayor de 20.000 -> 15% de descuento

5. Un decreto presidencial permite el aumento del 10% a aquellos trabajadores que ganen el sueldo mínimo. Hacer un algoritmo que lea el sueldo de un trabajador e imprima el sueldo a devengar, después del decreto.

Instrucciones condicionales

Instrucción si: 

 Sintaxis 
 si condición entonces 
  instrucciones 
 fin si 

ó 
   
 si condición entonces 
  instrucciones 
 sino 
  instrucciones 
 fin si


Ejemplo sobre decisiones:

Ingresar un numero y si el numero es mayor a 100 , escribir en la pantalla el 
numero es mayor a 100. 

Entero num
Inicio
       Escriba “Ingresar un numero” 
       Lea num
       Si num > 100 entonces
               Escriba “El numero es mayor a 100”
       Fin Si
Fin

En programa solo imprimirá que el número fue mayor a 100 cuando cumpla con 
la condición num > 100   sino  cumple con la condición no hace nada. 

Ejemplo sobre decisiones:

Ingresar el nombre del empleado, las horas trabajadas, luego Calcular pago 
bruto (50 pesos la hora ) SS y total a pagar , presentar los resultado del programa 
Nota : el seguro social es 84 si el sueldo es mayor 2400 sino es el 3.5% del 
sueldo del empleado

Entero horas
Real Pbruto,ihss,tp
Cadena [25] nombre
Inicio
        Escriba “Ingresar el nombre”
        Lea nombre
        Escriba “Ingresar las horas trabajadas”
        Lea horas
        Pbruto horas*50
       Si pbruto > 2400 entonces
              ss <- 84
       Sino
              ss <- 0.035*pbruto
       Fin si
       Tp pbruto-ss
       Escriba “Pago bruto ” , pbruto
       Llamar Nueva_linea
       Escriba “Seguro Social ” , ss
       Llamar Nueva_linea
       Escriba “Total a pagar ” , tp
       Llamar Nueva_linea
Fin

En este programa se uso en el calculo del ss una decisión que tiene dos 
salidas una cuando se cumple la condición que es el entonces y la otra cuando 
no se cumple la condición que es el sino, ahora esto nos ayuda a que nuestros 
programas puedan tomar una decisión cuando la condición se cumple  y otra 
cuando no se cumple.

Ahora en el siguiente ejercicio que se presenta , ya no hay dos soluciones a la 
condición hay tres soluciones , cuando sucede esto se usan condiciones 
anidadas. 

Sintaxis de una condición anidada : 


Si condición 1 entonces
        Instrucciones
                  Sino si condición 2 entonces
                         Instrucciones
                                  Sino si condición 2 entonces
                                            Instrucciones
                                                  Sino
                                                         Instrucciones
                                                  Fin si
                                  Fin si
                  Fin si

Ejemplo  sobre decisiones anidadas:


Ingresar el nombre del empleado, la zona de trabajo , las ventas del empleado , 
luego calcular su comisión en base a un porcentaje basado en la  zona de 
trabajo, luego determinar el SS y el total a pagar , presentar los datos. 
Tabla para el caculo de la comisión 
Zona  Porcentaje de Comisión 
A   6% 
B   8% 
C   9% 

caracter zona
cadena[25] nombre
real ventas , comis , ss, tp
inicio
         escriba "Ingresar el nombre del empleado "
         lea nombre
         escriba "Ingresar las ventas del empleado "
         lea ventas
         escriba "Ingresar la zona de trabajo "
         lea zona
        si zona ='A' entonces
               comis <- 0.06 * ventas
               sino si zona='B' entonces
                       comis <- 0.08 * ventas
                              sino si zona='C' entonces
                                    comis <- 0.09 * ventas
                                           sino
                                                comis <- 0
                                            fin si
                              fin si
               fin si
         si comis > 2400 entonces
                  ss <- 84
         sino
                  ss <- 0.035*comis
         fin si
         tp <- comis - iss
         Escriba " Comsión ganada " , comis
         llamar nueva_linea
         Escriba " Segudo Social " , ihss
         llamar nueva_linea
         Escriba "Total a pagar " , tp
         llamar nueva_linea
fin

En este programa usamos decisiones anidadas para el calculo de la comisión 
del empleado , esto porque se tenían varias opciones de la cuales elegir . 
El ultimo sino donde la comisión es 0 se hace porque no estamos seguros de 
que la persona que opera el programa introduzca correctamente la zona , si se 
ingreso otra zona de las permitidas la comisión es cero.