sábado, 14 de mayo de 2022

Guía para la solución del Cubo de Rubik

 



NOTAS PRELIMINARES: 

1.- La pieza del centro de cada cara va a designar el color de toda la cara, por ejemplo: si la pieza del centro de una cara es de color blanco, el color de toda esa cara será al final de color blanco. Si la pieza del centro de una cara es de color verde, el color de toda esa cara será al final de color verde, y así sucesivamente.


 

2.-  Para efectos de esta guía tomaremos en consideración lo siguiente:  

 



- Cara superior (color blanco)


- Cara frontal (color naranja)


- Cara lateral derecha (color verde)


- Cara lateral izquierda (color azul)


- Cara posterior (color rojo)


- Cara inferior (color amarillo)                                                                                                                      

                                                                                   


                           

                 

- Centro (pieza del centro de cada cara)

- Esquina (pieza de las esquinas de cada cara)

- Arista (pieza que no es ni centro ni esquina de cada cara)

 

 



 

  

Para descargar la guía completa pulse el botón DESCARGAR:




martes, 3 de mayo de 2022

Curso Práctico de Java - Capítulo Nº 4





Capítulo Nº 4


Cómo hacer el menú del proyecto  


4.1. HACER UN FORMULARIO EN JAVA 

Toda aplicación de escritorio se maneja a través de menús para mayor comodidad, en este caso se va a desarrollar en Java una clase definida por el usuario llamada MenuAdministrador.java, donde se puedan apreciar todas las opciones que brinda el sistema. 

 

4.1.1. Formulario del Menú Principal 

Para crear el menú nivel administrador con todas las opciones de la aplicación, primero se debe construir un formulario base. En este caso esta ventana tendrá unas dimensiones de 800 pixeles de ancho por 600 pixeles de alto. Para construir formularios en Java se usa la clase JFrame del paquete java.awt. Simplemente se instancia una clase definida por el usuario  a partir de esta clase. Por ejemplo: 

public class MenuAdministrador extends JFrame

Aquí se instancia (crea) una clase pública definida por el usuario llamada MenuAdministrador a partir de la clase JFrame de Java. Esta nueva clase puede tener características propias definidas por el usuario como tamaño, color, formas, iconos, imágenes, etc. 

 

4.1.2. Clase MenuAdministrador.java 

Para hacer el menú principal de la aplicación, primero se debe crear un archivo de texto (clase) llamado MenuAdministrador.java, este archivo debe estar estructurado de la siguiente manera: 

1.- Como cabecera importará los paquetes de clases de Java que se van a utilizar.

2.- Se instanciará la clase a partir de la clase JFrame

3.- Se definirá el método principal (main)

4.- Se declarará el constructor de la clase con las características propias de la clase

5.- Fin de la clase 

 

Cómo se importan los paquetes de Java 

Cuando se crea una clase en Java, como cabecera, se debe colocar la instrucción import para hacer uso de los paquetes de clases de Java. Por ejemplo: 

import java.awt.*; 

Esta instrucción importa toda la librería del paquete Abstract Window Toolkit de Java que contiene las clases e interfaces requerida para crear y manipular GUIs en Java, en este caso para poder usar la clase JFrame para hacer una ventana. 

 

MenuAdministrador.java 

//**************************************************************************

//**** Universidad Nacional Sistema de Inscripción Regular 

//**** (UNSIR 3.0.0)  

//**** CLASE: MenuAdministrador (Para crear el menú nivel administrador 

//**** con todas    las opciones de la aplicación) 

//**** AUTOR: CARLOS CÓRDOVA - CC DESARROLLO DE SOFTWARE 2007-2022  

//***************************************************************************

 

//***************************************************************************

// Paquetes de la librería estándar de clases de Java que 

// se usarán en esta clase

//***************************************************************************

import java.awt.*;

import java.awt.event.*;

import javax.swing.*; 

//***************************************************************************

// Inicio de la clase MenuAdministrador. Se instancia la 

// clase definida por el usuario

// MenuAdministrador a partir de la clase JFrame de Java 

// para crear ventanas

// (paquete java.awt). También se implementa la interface

// ActionListener de Java

// (paquete java.awt.event y paquete javax.swing) para detectar 

// y manejar eventos de acción en esta clase

//*************************************************************************** 

public class MenuAdministrador extends JFrame implements ActionListener

{ 

   //*** Se define el método principal "main" de la Clase

   //*** MenuAdministrador 

   public static void main(String[] args)

   { 

      //*** Se define el aspecto de ventanas propio del sistema

      //*** operativo (windows, Mac, Linux, etc.) 

      try

      {

         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

      }     

      catch (Exception e)

      {

         e.printStackTrace();

      } 

      //*** Se ejecuta el constructor MenuAdministrador de la clase 

      new MenuAdministrador();

   }   

   //*** Inicio del constructor MenuAdministrador 

   public MenuAdministrador()

   {

      //*** Se define el título y tamaño de la ventana en pixeles.

      //*** Ancho = 800 Alto = 600 y se inhabilita la función

      //*** redimensionar ventana 

      setTitle("Universidad Nacional: Sistema de Inscripción Regular");

      setBounds( 0, 0, 800, 600 );

      setResizable(false); 

      //*** Se centra la ventana del menú en la pantalla usando 

      //*** la clase Dimension     

      Dimension pantalla, cuadro;

      pantalla = Toolkit.getDefaultToolkit().getScreenSize();

      cuadro = this.getSize();

      this.setLocation(((pantalla.width - cuadro.width)/2),(pantalla.height -

      cuadro.height)/2); 

      //*** Se muestra la ventana (menú) en pantalla     

      setVisible( true ); 

      //*** Captura cuando se quiere cerrar la ventana y ejecuta el método

      addWindowListener(new WindowAdapter()

      {

         public void windowClosing(WindowEvent e)

         {

            CierraVentana();

         }

      });

   }

   //*** Fin del constructor MenuAdministrador 

   //*** Ejecuta el método actionPerformed de la interfaz ActionListener 

   //*** para detectar y manejar eventos de acción 

   public void actionPerformed(ActionEvent e)

   {

      Object s = e.getSource();

   } 

   //*** Método cerrar ventana (menú). Oculta la ventana, libera

   //*** los recursos y termina      

   public void CierraVentana()

   {

      setVisible( false );

      dispose();

      System.exit(0);

   }

} 

//***************************************************************************

// Fin Clase MenuAdministrador

//***************************************************************************

 

Resumen: 

1.- Se define la clase: public class MenuAdministrador extends JFrame

2.- Se define el método principal: public static void main(String[] args)

3.- Se define el tamaño de la ventana: setBounds( 0, 0, 800, 600 );

4.- Se define el método CierraVentana(); para cerrar y finalizar de forma correcta

5.- Fin de la clase  

 

Al compilar: javac MenuAdministrador.java

Al ejecutar: java MenuAdministrador

 

Se obtendrá una ventana como la figura siguiente: 





lunes, 2 de mayo de 2022

Guía de consulta rápida de AutoCAD



Literalmente, CAD significa Diseño Asistido por Computador (Computer Aided Design). El Diseño Asistido por Computador nació en el Instituto Tecnológico de Massachusetts (MIT), cuando varios de sus técnicos lograron presentar un dibujo en una pantalla de computadora. Desde entonces, este campo de la informática se ha desarrollado enormemente, sobre todo en los últimos años, obteniéndose productos tan sofisticados como el AutoCAD, programa de Diseño Asistido por Computador considerado como estándar en la industria de la informática con millones de usuarios en todo el mundo. Este programa ha sido desarrollado por la compañía AutoDESK, Inc.

El AutoCAD es una herramienta que permite realizar toda clase de dibujos técnicos en dos y tres dimensiones. Esto incluye entre otros, dibujos relacionados con todas las ramas de la ingeniería: diseños mecánicos, eléctricos, electrónicos, de arquitectura, planos, etc. El programa contiene todas las herramientas requeridas por el dibujante técnico. Y además, permite como ventaja adicional, especificar las dimensiones de los objetos dibujados, tanto en el sistema métrico decimal o el sistema inglés de medidas. Las posibilidades de dibujo de AutoCAD son infinitas. Es posible corregir errores de dibujos o realizar modificaciones como y cuando se estime conveniente, sin tener que rehacer todo el dibujo.

La potencia del AutoCAD, en comparación con otras aplicaciones de diseño gráfico o de dibujo asistido por computador, radica en que este software se basa en algoritmos matemáticos de geometría analítica para realizar las operaciones básicas y avanzadas que forman parte del dibujo técnico en dos y tres dimensiones. Por esta razón, con AutoCAD se pueden trazar figuras geométricas sencillas y complejas con mucha precisión, como también hacer uso del cálculo de áreas, volúmenes, coordenadas, distancias, ángulos, etc.



                            Para descargar la guía completa pulse el botón DESCARGAR:




sábado, 30 de abril de 2022

Introducción a la Educación Financiera

 


La educación formal que se imparte en la mayoría de los países del mundo, ha sido diseñada de tal manera, que brinde a sus ciudadanos todos los medios y conocimientos necesarios para formarse en una área determinada, con el fin de capacitarse, lograr una profesión e incorporarse al desarrollo integral de su entorno laboral. 

Quienes culminan este proceso de formación, en muchos casos, se convierten en profesionales exitosos que además de contribuir con el desarrollo de su país, obtienen ingresos fabulosos que le permiten llevar una vida económicamente estable. Pero resulta difícil de entender por qué estas personas, a pesar de tener un buen ingreso ganado por mucho tiempo, no logran obtener su Libertad Financiera. Para muchos autores la verdadera independencia del hombre es la independencia económica, y el hecho de que muchas personas tengan a final de mes un desequilibrio notable en sus hojas de balance, aún cuando tienen buenos ingresos, se debe en gran medida a la poca o total carencia de Educación Financiera. 

El hecho de que las personas ricas sean más ricas es porque están, financieramente hablando, más especializadas que la gente pobre o de clase media. Cuando los ricos invierten y hacen crecer la columna de sus activos y con ello sus ingresos, la gente de clase media y la gente pobre contraen más obligaciones, generando más gastos y generando más egresos. La falta de formación tanto en los términos como en los números, es la línea que divide a las personas que gozan de libertad financiera y a las que pasan su vida luchando por lograrla. 

Esta guía de estudio, muestra en su contenido algunos análisis, sugerencias y pautas, de aquello que los ricos les enseñan a sus hijos acerca del dinero que las clases media y pobre no. Está estructurada en cinco partes que plantean las ideas más relevantes acerca de este tema. Se analizará porqué los ricos no trabajan por el dinero, por qué enseñar especialización financiera, por qué ocuparse de su propio negocio, la historia de los impuestos y el poder de las corporaciones, por qué los ricos inventan el dinero, por qué es bueno trabajar para aprender y no por el dinero, y finalmente, cómo superar los obstáculos, iniciarse en la educación financiera y conseguir una vía rápida. Este material de estudio tiene como objetivo general despertar el interés en el área de las finanzas y motivar al lector a lograr su verdadera libertad económica. 

Parte de este material está basado en las ideas más relevantes y referencias tomadas de los libros de Robert Kiyosaki.


Para descargar la guía completa pulse el botón DESCARGAR:



lunes, 11 de abril de 2022

Curso Práctico de Java - Capítulo Nº 3





Capítulo Nº 3 

Su primer proyecto en Java 

 

3.1. UNSIR 3.0 

Este Curso Práctico de Java tiene como objetivo aprender a desarrollar una verdadera aplicación en Java. Aunque el resultado final no sea una complicadísima aplicación con muchos detalles, sí logrará el practicante al final, desarrollar una aplicación de escritorio con menús, cuadros de diálogos para ingresar datos, procesar los requisitos que dan funcionalidad a la aplicación, accesar con usuario y contraseña, conectar y manejar una base de datos, imprimir resultados, trabajar con imágenes e iconos, en fin, como se dijo anteriormente, lograr desarrollar al final una "Aplicación de verdad" y no quedar solamente en conceptos teóricos y ejemplos. 

En este curso se va a trabajar en una aplicación, que simula  la inscripción regular de estudiantes de una universidad denominada "Universidad Nacional". Esta aplicación fue parte del Trabajo de Grado: IMPLEMENTACIÓN DE REQUISITOS NO FUNCIONALES A TRAVÉS DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS (Carlos Córdova, UNA 2007). Aplicación que sirvió de base, para demostrar que se pueden implementar requisitos no funcionales en un sistema de software (Aplicación), haciendo uso de un nuevo paradigma de programación: Programación Orientada a Aspectos (POA). 

La aplicación se denominará UNSIR (Universidad Nacional Sistema de Inscripción Regular) en su nueva versión 3.0, ya que incorporará otros elementos y optimización del código con respecto a la versión original. 

Entre las funciones principales que el sistema debe abarcar están las siguientes: 

1.- Registrar las asignaturas que conforman los pensum de las carreras que ofrece la universidad y que estos datos queden almacenados en una base de datos, donde se especifique código, nombre y unidades crédito de la asignatura. Debe contemplarse que el sistema no permita la creación de asignaturas con código repetido. 

2.- Registrar las matrices curriculares de los pensum de las carreras que ofrece la universidad y que estos datos queden almacenados en una base de datos, donde se especifique código de la carrera, nombre de la carrera, código de la asignatura, nombre de la asignatura, unidades crédito de la asignatura, semestre a la cual pertenece la asignatura y pre-requisitos. 

4.- Registrar los datos personales de los estudiantes de la universidad, tomando en cuenta que no exista duplicidad. Estos datos deben quedar almacenados en una base de datos, donde se especifique cédula de identidad, nombre del estudiante, carrera, dirección, teléfono, correo electrónico, fecha de nacimiento, centro local, etc. 

3.- Registrar las calificaciones del histórico de notas de los estudiantes de la universidad y que estos datos queden almacenados en una base de datos, donde se especifique cédula de identidad, asignatura, calificación, lapso, etc. 

4.- Realizar el proceso de selección de asignaturas de los estudiantes para la inscripción y que estos datos queden almacenados en una base de datos, donde se especifique cédula de identidad, asignatura, lapso, etc. La oferta de asignaturas se debe ofrecer de acuerdo al pensum de estudio de la carrera en la cual está inscrito el estudiante y de acuerdo al cumplimiento de los prerrequisitos exigidos en los pensum previa comparación con el histórico de notas del estudiante. 

5.- Realizar el proceso de registro de inscripción de los estudiantes y que estos datos queden almacenados en una base de datos, donde se especifique entidad bancaria donde se deposita el arancel de inscripción, número del baucher, monto del depósito y fecha del depósito. 

6.- Imprimir la planilla de inscripción de los estudiantes para su posterior conformación. 

7.- Realizar el proceso de validación de inscripción de los estudiantes y que estos datos queden almacenados en una base de datos, donde se especifique la conformación por parte del administrador del sistema de entidad bancaria donde se deposita el arancel de inscripción, número del baucher, monto del depósito y fecha del depósito. 

8.- Registrar los usuarios del sistema y que estos datos queden almacenados en una base de datos, donde se especifique cédula de identidad, nombre usuario, nombre completo del usuario, contraseña y nivel de acceso. 

 

3.2. DISEÑO DEL PROYECTO 

Para la construcción del proyecto, se tomarán como punto de partida algunas consideraciones acerca del análisis y diseño de sistemas, para aplicar la programación orientada a objetos, usando UML. Algunas de las fases a tomar en cuenta son:

·       Investigación preliminar.

·       Determinación de los requerimientos del sistema.

·       Diseño del sistema.

·       Desarrollo del software.

·       Prueba del sistema.

·       Implantación y evaluación. 

 

3.2.1. Investigación preliminar: 

La investigación preliminar de este proyecto consiste en conocer las etapas que se llevan a cabo en el proceso de inscripción regular de una universidad. Con este propósito basta con la experiencia genérica que se tiene de las oficinas de control de estudio de las universidades e institutos de educación superior, donde básicamente el proceso de inscripción consiste de tres etapas: La selección de las asignaturas por parte del estudiante, previa oferta hecha por la universidad de acuerdo a los pensum de estudio y al histórico o record de calificaciones del estudiante. El registro de la inscripción por parte del estudiante que consta de la carga académica a cursar y el cumplimiento de los requisitos exigidos por la universidad. Por último está la etapa de validación de la inscripción del estudiante por parte de la universidad con la finalidad de cerrar el proceso de manera formal. 

 

3.2.2. Requerimientos del sistema 

Los requisitos funcionales comprende la funcionalidad básica del sistema, que está integrada por todos los procesos derivados de las necesidades de los usuarios: 

1.- Registrar las asignaturas que conforman los pensum de las carreras que ofrece la universidad. 

2.- Registrar las matrices curriculares de los pensum de las carreras que ofrece la universidad. 

4.- Registrar los datos personales de los estudiantes de la universidad. 

3.- Registrar las calificaciones del histórico de notas de los estudiantes de la universidad. 

4.- Realizar el proceso de selección de asignaturas de los estudiantes para la inscripción. 

5.- Realizar el proceso de registro de inscripción de los estudiantes. 

6.- Imprimir la planilla de inscripción de los estudiantes para su posterior conformación. 

7.- Realizar el proceso de validación de inscripción de los estudiantes. 

8.- Registrar los usuarios del sistema. 

 

3.2.3. Diseño del sistema 

Para tener una idea en general, a través de un modelo de caso de uso se describe lo que hace el sistema sin describir cómo lo hace, es decir, es el modelo lógico del sistema. Refleja la vista del sistema desde la perspectiva de un usuario fuera del mismo (requerimientos). Este diagrama de caso de uso está compuesto por dos actores (administrador y estudiante) quienes inician el evento, el evento que activa cada caso y las acciones activadas por el evento para cada actor. 

 

Modelo de caso de uso: 

Cada actor, previa verificación de la identidad, ejecutará una actividad de acuerdo a su nivel de usuario. En este caso un usuario con nivel Administrador tendrá acceso a todos los procesos del sistema. Por otro lado un usuario con nivel Estudiante tendrá un uso limitado.

  



Diagrama de clases: 

Como todo código en Java se representa en forma de clases. En este proyecto se aplicará una arquitectura de software por capas, en este caso serán clases definidas por el usuario. Una primera capa que estará formada por las clases que van a servir de GUI o interfaz de usuario. Una segunda capa formada por las clases encargadas del procesamiento de datos y almacenamiento en una base de datos. Y por último, una tercera capa formada por una clase que cuya función es hacer el puente o conexión con la base de datos.

 

 


Clases de interfaz:

Password: Para  crear el diálogo que sirve para ingresar usuario y contraseña de acceso. 

MenuAdministrador: Para  crear el menú nivel administrador con todas las opciones de la aplicación. 

MenuEstudiante: Para  crear el menú nivel estudiante con sólo las opciones de inscripción. 

Asignaturas: Crea un diálogo que sirve para ingresar datos de asignaturas. 

Pensum: Crea un diálogo que sirve ingresar datos de los pensum de estudio. 

Estudiantes: Crea un diálogo que sirve para ingresar o mostrar los datos de los estudiantes. 

Historico: Crea un diálogo que sirve para ingresar, cambiar, eliminar o mostrar las calificaciones del  histórico de los estudiantes. 

Inscripciones: Crea un diálogo que sirve para ingresar, eliminar o mostrar las asignaturas seleccionadas  por el estudiante para la inscripción. 

Validaciones: Crea un diálogo que sirve para validar la inscripción del estudiante. 

Usuarios: Crea un diálogo que sirve para ingresar o mostrar los datos de usuario y contraseña. 

 

Clases de control 

ControlPassword: Para trabajar con las funciones que hacen la comprobación de usuario y contraseña a la base de datos. 

ControlAsignaturas: Para trabajar con las funciones que hacen transacciones de los datos de asignaturas a la base de datos. 

ControlPensum: Para trabajar con las funciones que hacen transacciones de los datos de los pensum de estudio a la base de datos. 

ControlEstudiantes: Para trabajar con las funciones que hacen transacciones de los datos personales de los estudiantes a la base de datos. 

ControlHistorico: Para trabajar con las funciones que hacen transacciones de los datos del histórico de notas de los estudiantes a la base de datos. 

ControlInscripciones: Para trabajar con las funciones que hacen transacciones de las asignaturas seleccionadas por los estudiantes a la base de datos. 

ControlValidaciones: Para trabajar con las funciones que hacen transacciones de las validaciones y registros de inscripción de los estudiantes a la base de datos. 

ControlUsuarios: Para trabajar con las funciones que hacen transacciones de los datos de los usuarios a la base de datos. 

ConexionODBC: Para hacer la conexión entre las clases de control y el origen de datos.

  

Clases abstractas 

Java.awt.JFrame: Clase del paquete de librerías estándar de Java para crear Frames o ventanas de interfaz. 

Java.awt.JDialog: Clase del paquete de librerías estándar de Java para crear Cajas de Diálogos de interfaz. 

 

3.3. Herramientas para el desarrollo del software 

Para desarrollar el código base de la aplicación se debe utilizar el siguiente hardware, software y herramientas de programación: 

·       Microcomputador con suficiente capacidad de memoria RAM y almacenamiento.

·       Sistema operativo Windows.

·       Microsoft Access.

·       Java JDK versión 7.

·       Impresora. 

 

3.4. Construcción de la base de datos 

Para construir la base de datos se utilizará Microsoft Office Access de Microsoft Corporation. 

Base de datos: UNSIR300.mdb       Archivo: UNSIR300.mdb


Lista de entidades de la base de datos

El inventario de entidades muestra los nombres de las tablas que conforman la base de datos que usará el sistema para hacer las transacciones propias de un  proceso de inscripción. 

USUARIOS: Tabla que contiene los nombres de usuarios y contraseñas. 

ESTUDIANTES: Tabla (maestro) que contiene los datos de los estudiantes: cédula, nombre y apellido, dirección, carrera, sexo, fecha de nacimiento, etc. 

HISTORICO: Tabla que contiene los datos del histórico de calificaciones del estudiante. 

INSCRIPCIONES: Tabla que almacena los datos de las asignaturas seleccionadas por el estudiante para la inscripción. 

VALIDACIONES: Tabla que almacena los datos del registro de la inscripción del estudiante, como número del depósito bancario por concepto de aranceles, nombre del banco, fecha de depósito, monto, etc. 

ASIGNATURAS: Tabla para almacenar los datos de todas las asignaturas: código, nombre de la asignatura y número de créditos. 

PENSUM: Tabla que almacena los datos de la matriz curricular de todas las carreras que ofrece la universidad: código carrera, código asignatura, semestre, pre-requisitos, etc.


Para descargar el capítulo completo pulse el botón DESCARGAR: