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.

Ciclo Mientras:

Sintaxis:

mientras condicion haga instrucciones... fin mientras


El ciclo mientras se utiliza cuando se quiere ejecutar repetidamente un bloque de instrucciones basado en una condición, el ciclo se repite mientras la condición se cumple.


Ejemplo: 

entero contador cadena[25] nombre inicio cantador<-0 mientras contador<10 haga escriba "ingrese el nombre" lea nombre contador<-contador+1 fin mientras fin



En este programa introducimos el concepto de contador , que es una variable 
que se incrementa su valor en 1 y de esta manera contamos cuantos nombres
se van ingresando para parar.
cuando ingresemos 10 , esto nos dice que la condición ya no se cumple
porque cuando el contador vale 10 la condición de contador < 10 ya no se
cumple porque es igual y el ciclo termina.

Ejemplo sobre el ciclo Mientras usando acumuladores:

Ingresar 10 números y al final presentar la suma de los números. Entero contador,suma,num Inicio Contador 0 Suma 0 Mientras contador<10 haga Escriba “Ingresar un numero” Lea num contador contador +1 Suma <- num+suma Fin mientras Escriba “Suma de los 10 números “, suma Fin
El ciclo recorre 10 veces y pide los 10 números, pero la línea 
suma <- suma + num, hace que la variable suma, incremente su
valor con el numero que se introduce en ese momento,a diferencia
del contador, un acumulador se incrementa con una variable , acumulando
su valor hasta que el ciclo termine , al final se presenta la suma, solo en 
ese momento se debe de presentar un acumulador, porque antes no 
reflejaría la suma de todos los números.

Siempre que usemos un contador o acumulador debemos darle un valor
inicial que generalmente será 0.

martes, 10 de abril de 2012

Ejercicios Secuenciales

  1. Diseñar un algoritmo que lea un valor en dolares y lo convierta a pesos (1 dolar = 1800 pesos).
  2. Diseñar un algoritmo que lea dos valores reales y nos muestre los resultados de sumar, restar, dividir y multiplicar dichos números.
  3. Hallar el volumen de un cubo.
  4. Escribir un algoritmo que lea las cuatro notas de un estudiante (Cada nota en la escala entre 1 y 5) e imprima la nota definitiva
  5. Un vendedor que tiene su sueldo base, recibe una comisión del 10% del total de las ventas del mes. El quiere saber cuanto ganará en un mes que tuvo tres ventas.
  6. Una tienda ofrece un 15% de descuento por cada compra. Un cliente desea saber cuanto deberá pagar por su compra.
  7. Tres personas deciden invertir su dinero para formar una empresa. Cada una de ellas invierte una cantidad distinta. Hacer un algoritmo que imprima el porcentaje que cada quien invierte con respecto al total de la inversión.

martes, 27 de marzo de 2012

Metodología para la solución de Algorítmos

DEFINICIÓN DEL PROBLEMA

Esta fase está dada por el enunciado del problema, el cual requiere una definición clara
y precisa. Es importante que se conozca lo que se desea que realice la computadora;
mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente
etapa.

ANÁLISIS DEL PROBLEMA

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

• Los datos de entrada.

• Cual es la información que se desea producir (salida)

• Los métodos y fórmulas que se necesitan para procesar los datos.

Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.

DISEÑO DEL ALGORITMO

Las características de un buen algoritmo son:

• Debe tener un punto particular de inicio.

• Debe ser definido, no debe permitir dobles interpretaciones.

• Debe ser general, es decir, soportar la mayoría de las variantes que se puedan

presentar en la definición del problema.

• Debe ser finito en tamaño y tiempo de ejecución.

• Diseño del Algoritmo

• Prueba de escritorio o Depuración

Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

Fuente: www.desarrolloweb.com

Ejemplos LPP

Ejemplo sobre lectura de datos

Cadena [25] nombre
Inicio
Escriba “Ingrese su nombre “
Lea nombre
Escriba “Bienvenido “
Escriba nombre
Fin

Ejemplo sobre asignaciones de valores a las variables

Entero sueldo, aumento
Cadena[25] nombre
Inicio
Escriba “Ingresar el nombre del empleado”
Lea nombre
Escriba “Ingresar el sueldo del empleado”
Lea sueldo
Aumento sueldo * 1.25
Escriba “Nuevo sueldo con el 25% de aumento”
Escriba aumento
Fin

Variables

En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud:

§ Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas.

§ Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos.



Declarar Variables en LPP

Siempre que necesitemos hacer un programa, tendremos que declarar variables
para poder guardar la información que introduzcamos al programa.
Los tipos de datos básico soportados son los siguientes :
1. Entero : solo números enteros.
2. Real : números con cifras decimales.
3. Caracter : cuando queremos guardar un solo carácter.
4. Booleano : cuando necesitamos guardar una expresión lógica
(verdadero o falso)
5. Cadena : cuando queremos guardar letras .
Ejemplos
Si queremos declarar una variable de tipo entero seria así :
Entero numero
Numero se convierte en una variable de tipo entero
Si queremos declarar una variable para guardar el nombre seria así :
Cadena [25] nombre
Nombre seria una variable que guardaría solo 25 caracteres aunque usted
puede escribir mas de 25 letras el en la memoria solo guardara los primeros 25
caracteres..

Algoritmos

¿QUÉ ES ALGORITMO?

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir,para dar solución a un problema específico.

¿TIPOS DE ALGORITMOS…?

Existen dos tipos y son llamados así por su naturaleza:
• Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
• Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los
pasos del proceso.

Lenguajes Algorítmicos

Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de
manera explícita un proceso.

Tipos de Lenguajes Algorítmicos

• Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo
(diagrama de flujo).

No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un
algoritmo (pseudocodigo).

INICIO
Edad: Entero
ESCRIBA “cual es tu edad?”
Lea Edad
SI Edad >=18 entonces
ESCRIBA “Eres mayor de Edad”
FINSI
ESCRIBA “fin del algoritmo”
FIN

Fuente: www.desarrolloweb.com