martes, 6 de julio de 2010

Información sobre nuevos blogs

Para organizar mejor los temas referidos a una asignatura, he decidido crear blogs específicos para cada materia, por ello los nuevos temas estarán en cada blog respectivo.


Para programación, favor revisar el nuevo blog Blog de Programación (http://ucytprog.blogspot.com)
Para base de datos, dirigirse al siguiente blog Base de datos (http://ucytbd.blogspot.com)


Gracias.


martes, 22 de junio de 2010

Curso Sabatino - Tarea Programación I

Adjunto el documento con los dos ejercicios para entregar el día sábado 26 de los corrientes.  Uno de los ejercicios es casi similar a uno realizado en clase y el primero parecido al de aplicación en modo consola realizado en exámen, solo que ahora en modo gráfico.  Cualquier duda o comentario hacerlo por este medio o enviarme mail a la dirección orlandoarroliga@gmail.com

Bajar documento aquí

viernes, 23 de abril de 2010

Diagrama de clases, algo de teoría

El diagrama de clase sirve para poder visualizar las relaciones entre las clases que involucran un sistema.
CLASE
Es la unidad básica que encapsula toda la información de un Objeto. A través de ella podemos modelar el sistema. 

Atributos.
Representa alguna propiedad de la clase, que se encuentra en todas las instancias de la clase. Definen la estructura de una clase y de sus correspondientes objetos.

Los atributos corresponden a sustantivos y sus valores pueden ser sustantivos o adjetivos.

Dentro de una clase, los nombre de los atributos deben ser únicos.

Tipo de atributos.
  • (+) Indica atributos públicos (public)
  • (#) Indica atributos protegidos (protected)
    (-) Indica atributos privados (private)
Operaciones.
Las operaciones son funciones que se aplican a todos los objetos, la accion puede ser una accion ejecutada por el objeto o sobre el objeto

Ejemplo:
El post original está en esta página http://jc-mouse.blogspot.com/2009/11/diagrama-de-clase-la-clase.html, hay buena información sobre UML y sobre todo sencilla.

Ejercicio para entregar el día del Exámen - 29/04/2010

Como les comentaba en clase, el exámen final constará de dos partes, una de ellas será un ejercicio en casa que deberán entregar el día del exámen a más tardar.  El ejercicio se debe desarrollar en el programa StarUML exportar el diagrama a imagen y copiarlo en un documento de Word con su encabezado (el encabezado del programa).  Debe entregarse físicamente debidamente presentable con su portada con su nombre, carnet, turno, etc.

El ejercicio consta de dos partes: un diagrama de caso de uso y un diagrama de clases.  Cualquier pregunta pueden hacer los comentarios pertinentes, ya están habilitados en el blog, coloquen su nombre para responderles.

Ejercicio de caso de Uso - Descargar aquí

StarUML es un software completo para el modelado de sistemas a través del UML, permite crear diferentes tipos de diagramas entre ellos los diagramas de casos de uso y los diagramas de clases.

El software lo pueden descargar desde su página http://staruml.sourceforge.net/en/index.php
en el link de descarga StarUML Download

Preparación exámen - Diagramas Casos de Uso

Ejercicios ejemplos de casos de uso para que los revisen y practiquen.  Bajar aquí

jueves, 8 de abril de 2010

Introducción a los Applets

Capitulo del Libro de Deitel para la revision de los applets
Bajar aqui

Nuevo ejemplo Neptuno con DataAdapter y Datasets

El nuevo ejemplo con el DataAdapter y los DataSet, incluye un nuevo objeto DatagridView para que vean el funcionamiento  bajar de aqui.

miércoles, 7 de abril de 2010

Tarea - Programación Orientada a Objetos

Pueden bajar la tarea en el siguiente enlace : Tarea.-

Solución Examen Programación II - ADO .NET

A continuación la solución del Examen de Programación II (Segundo Parcial).  Básicamente la idea era desarrollar un formulario con un ComboBox, un ListBox, un TextBox y dos Buttons, uno para mostrar la información y otro para salir del programa.

El formulario podría haber lucido de esta forma

El código se muestra a continuación y el proyecto completo se puede bajar haciendo click aqui. Recuerden cambiar el nombre del servidor en la cadena de conexión.-

Imports System.Data
Imports System.Data.SqlClient

Public Class Form1
    'Declarar el objeto conexión a este nivel permite que funcione en cualquier procedimiento
    'del formulario
    Dim cn As SqlConnection

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Inicializar el objeto conexión
        cn = New SqlConnection()

        'Crear la cadena de conexión asignarla al objeto conexión y abrir la conexión
        Dim sConexion As String
        sConexion = "Data Source=D7PPS31\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=true"
        cn.ConnectionString = sConexion
        cn.Open()

        'Cargar el combo con los Id de los Empleados
        Dim cmd As SqlCommand = New SqlCommand("SELECT EmployeeID FROM Employees ORDER BY EmployeeID", cn)

        'Crear un datareader y llenarlo con el método executereader del objeto command
        Dim drd As SqlDataReader = cmd.ExecuteReader()

        'Con un ciclo cargar los datos en el combo
        While drd.Read()
            ComboBox1.Items.Add(drd("EmployeeID"))
        End While

        'Cerrar el datareader
        drd.Close()

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Mostrar los datos
        'Una vez seleccionado un dato del ComboBox, se muestran los datos

        'Se puede validar que se haya seleccionado algo en el ComboBox
        If ComboBox1.Text = "" Then
            MessageBox.Show("Debe seleccionar un ID de Empleado del Combo...")
            Exit Sub
        End If

        Dim cmd As SqlCommand = New SqlCommand("SELECT FirstName + ' ' + LastName as Nombre FROM Employees WHERE EmployeeID='" & ComboBox1.Text & "'", cn)
        'Se puede asignar directamente el valor al cuadro de texto destinado para el nombre
        'del empleado usando el método ExecuteScalar, ya que solo se espera un valor
        TextBox1.Text = cmd.ExecuteScalar()

        'Ahora buscar todas las ordenes de pedido en la tabla ORDERS y mostrarlas en el ListBox
        cmd = New SqlCommand("SELECT * FROM Orders WHERE EmployeeID ='" & ComboBox1.Text & "'", cn)
        Dim drd As SqlDataReader = cmd.ExecuteReader()

        ListBox1.Items.Clear()
        While drd.Read
            ListBox1.Items.Add(drd("EmployeeID").ToString + vbTab + drd("OrderID").ToString + vbTab + drd("OrderDate").ToString + vbTab + drd("ShipAddress"))
        End While

        'Cerrar el DataReader
        drd.Close()


    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Salir del programa, se cierra el formulario actual y se finaliza
        Me.Close()
        End
    End Sub
End Class

lunes, 29 de marzo de 2010

Segundo Exámen Parcial Programación Orientada a Objetos - Java

Enunciado:
La empresa informática “IPM Tech” necesita llevar un registro de todos sus empleados que se encuentran en la oficina central, para eso ha creado un diagrama de clases que debe incluir lo siguiente:
1) Empleado
Atributos:
- nombre: tipo cadena (Debe ser nombre y apellido)
- cedula: tipo cadena
- edad : entero (Rango entre 18 y 45 años)
- casado: boolean
- salario: tipo numérico doble
Métodos:
- Constructor con y sin parámetros de entrada
- Método que permita mostrar la clasificación según la edad de acuerdo al siguiente algoritmo:
               Si edad es menor o igual a 21, Principiante
               Si edad es >=22 y <=35, Intermedio
               Si edad es >35, Senior.-
- Imprimir los datos del empleado por pantalla (utilizar salto de línea \n para separar los atributos.
- Un método que permita aumentar el salario en un porcentaje que sería pasado como parámetro al método.
2. Programador (Especialización de Empleado).  Clase que hereda de Empleado todos los atributos y métodos.
    - Atributos:
         - lineasDeCodigoPorHora : tipo entero
         - lenguajeDominante: tipo cadena
   - Metodos:
         - Constructor con y sin parámetos de entrada.
SOLUCION:
Primero debe definirse la clase Empleado con los atributos señalados en el exámen, se definen los métodos con las acciones pertinentes.  Posteriormente se define la clase Programador como hija de la clase Empleado, con sus atributos y métodos correspondientes. Cuando se hace referencia a la clase padre se antepone al atributo la palabra super.  La palabra this sirve para referenciar el objeto actual.

/**
 * ExamnIPM.java
 */

class Empleado{
 String nombre;
 String cedula;
 int edad;
 boolean casado;
 double salario;
 
 Empleado(){
 }
 
 Empleado(String nombre, String cedula, int edad, boolean casado, double salario)  {
  this.nombre = nombre;
  this.cedula = cedula;
  this.edad = edad;
  this.casado = casado;
  this.salario = salario;
  
 }
 
 public String Clasificacion(){
  String c="";
  if (edad <= 21){
   c = "Principiante";
  }
  if ((edad >=22) & (edad <= 35)){
   c = "Intermedio";
  }
  if (edad > 35){
   c = "Senior";
  }
  return c;
 }
 
 public void ImprimirEmpleado(){
  System.out.println(this.nombre);
  System.out.println(this.cedula);
  System.out.println(this.edad);
  if (casado) {
   System.out.println("Casado");
  }
  else
  {
   System.out.println("Soltero");
  }
  System.out.println(this.salario);
 }
 
 public void AumentarSalario(double incremento){
  salario = salario * (1 + incremento);
 }
 
}

class Programador extends Empleado{
 int lineasDeCodigoPorHora;
 String lenguajeDominante; 
  
 Programador(String nombre, String cedula, int edad, boolean casado, double salario, int lineasDeCodigoPorHora, String lenguajeDominante){
 
  super.nombre = nombre;
  super.cedula = cedula;
  super.edad = edad;
  super.casado = casado;
  super.salario = salario;
  this.lineasDeCodigoPorHora = lineasDeCodigoPorHora;
  this.lenguajeDominante = lenguajeDominante;
 }  
 
 Programador(){
 } 
 
}

public class ExamnIPM {

    public static void main(String[] args){
     Empleado e = new Empleado("Orlando Arróliga","12345",17,true,2000);
     Programador p1 = new Programador("Flavio","3456",20,false,1000,123,"Visual Basic");
     p1.nombre = "Flavio";
     p1.salario = 1000;
     p1.AumentarSalario(0.25);
  p1.ImprimirEmpleado();      
    }
    
    
}

El código fuente se puede bajar de aquí: ExamenIPM.java.

martes, 23 de marzo de 2010

Clases y Objetos

Este es un extracto de unos capitulos del libro Programación en Java2 de la editorial Mc Graw Hills - Schaum, de los autores Jesús Sánchez Allende, Pilar Moreno Díaz, Gabriel Huecas y otros autores.  Es un libro muy didáctico y tiene muchos ejemplos.  El extracto contempla el capítulo 2 que trata de clases y objetos, métodos y atributos y el capitulo 3 de ampliación de clases, etc. Todo el material que se utilizó en clases.


Para bajarlo hacer click en el siguiente enlace: Programando en Java 2

Curso de Java y Programación Orientada a Objetos

En el siguiente Link encontrarán un manual básico de Java, para que les sirva para material de estudio.
Java Curso Básico