Friday, November 23, 2018

Mi Proyecto Final - Artículo Tecnológico #13

Mi Proyecto Final

Ya llegando a la recta final del semestre, para concluir la materia de Introducción a la Programación, se nos fue asignado un Proyecto Final. 

Éste trata sobre crear algo que tenga que ver con la brecha digital y cómo poder ayudar a que nuestro país México sea un mejor lugar, un país más desarrollado y pueda tener cada año una brecha digital menor a la que tiene en la actualidad.

País México
Habiendo hecho una breve investigación sobre la brecha digital, y centrándome en el conocimiento del idioma inglés, encontré que en México sólo el 5% de la población habla inglés. [1]
Esto se podría mejorar, en mi opinión, ayudando y aportando recursos para que los niños desde pequeños puedan tener contacto con este idioma tan importante a nivel mundial.

Clase de Inglés en México
Gracias a este hecho, se me ocurrió poder aportar algo de ayuda y crear un programa como proyecto final de mi materia para incrementar el conocimiento del inglés básico entre los niños mexicanos.

Características de mi programa:
  • Contará con un login y registro de usuarios.
  • Tendrá 3 Capítulos de teoría básica donde en cada uno se explicarán las bases del inglés. (Todo lo preguntado en los ejercicios será posible de resolver después de leer la teoría de cada Capítulo).
  • Ejercicios:
    • Completar la palabra en la oración.
    • Seleccionar entre 4 opciones la palabra que falte en la oración.
    • Completar las palabras en una pequeña historia.
  • Se podrán ver los puntajes de cada ejercicio al final.

Espero que el programa pueda cumplir con su propósito final, el cual es poder ayudar a más niños a aprender el idioma inglés y divertirse durante el proceso. 


Considero que el idioma inglés es un idioma fundamental de saber, ya que casi todo el mundo tecnológico gira alrededor de éste. Además, aprender un nuevo idioma siempre trae beneficios y desarrolla la mente y el pensamiento crítico.

El propósito del Proyecto Final, además de ayudar a erradicar la brecha digital en México, es poder aplicar todos los conocimientos y temas adquiridos a lo largo del semestre en algo práctico de forma individual.

En una publicación posterior publicaré mi Proyecto Final para que lo pruebes y puedas divertirte, así como apreciar lo que se puede crear gracias a la tecnología y al conocimiento de saber programar.

Referencias:
  • [1] Becerril, I. (2015, Abril 27). En México sólo 5% de la población habla inglés: IMCO. Consultado el 21 de Noviembre, 2018, en http://www.elfinanciero.com.mx/economia/en-mexico-solo-de-la-poblacion-habla-ingles-imco

Sunday, November 18, 2018

Diario de Aprendizaje #14

Comenzando con Java
Diario de Aprendizaje #14 – Semana del 12 de Noviembre 2018

Esta semana comenzamos a programar en el lenguaje Java. 
Para programar en el lenguaje Java, se necesita tener de preferencia una plataforma de desarrollo para codificar. Entre algunas de éstas, se encuentran NetBeans y Eclipse.
Yo usaré la plataforma Eclipse para tal fin.

¿Qué es Eclipse?

“Eclipse es una plataforma de desarrollo, diseñada para ser extendida de forma indefinida a través de plug-ins. Fue concebida desde sus orígenes para convertirse en una plataforma de integración de herramientas de desarrollo. No tiene en mente un lenguaje específico, sino que es un IDE genérico, aunque goza de mucha popularidad entre la comunidad de desarrolladores del lenguaje Java usando el plug-in JDT que viene incluido en la distribución estándar del IDE.

Proporciona herramientas para la gestión de espacios de trabajo, escribir, desplegar, ejecutar y depurar aplicaciones.” [1]

Gracias a Eclipse, me es más fácil programar en Java ya que éste cuenta con opciones de coloreado de código (para ver y distinguir mejor línea por línea), un depurador de código, distintas perspectivas, editores y vistas, etc.


En la segunda sesión realizamos 5 programas distintos los cuales se presentan a continuación:

PROBLEMA 1:

/*PROBLEMA 1:
        Realizar un programa que permita introducir n cantidad de calificaciones y determine:
                El número de materias aprobadas, número de materias reprobadas, promedio general, promedio de
                materias aprobadas y el promedio de materias reprobadas. */

import java.io.*;

public class calificacion {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub

                BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
               
                byte numero;
                int suma_reprobadas = 0;
                int contador1 = 0;
                int suma_aprobadas = 0;
                int contador2 = 0;
                byte calificacion;
               
                System.out.println("Ingrese el número de materias que desea analizar");
                numero = Byte.parseByte(leer.readLine());
               
                for(int i=0; i<numero; i++) {
                        System.out.println("Ingresa la calificación de la materia");
                       
                        calificacion = Byte.parseByte(leer.readLine());
                       
                        if(calificacion < 6) {
                                suma_reprobadas = suma_reprobadas + calificacion;
                                contador1 = contador1 + 1;
                                System.out.println("La calificación no es aprobatoria.");
                        } else {
                                suma_aprobadas = suma_aprobadas + calificacion;
                                contador2 = contador2 + 1;
                                System.out.println("La calificación es aprobatoria.");
                        }
                       
                }
               
                System.out.println("El número de materias reprobadas es: " + contador1);
                System.out.println("El número de materias aprobadas es: " + contador2);
               
                int promedio_materias = 0;
                promedio_materias = (suma_reprobadas + suma_aprobadas)/numero;
                System.out.println("El promedio de todas las materias es de: " + promedio_materias);
               
                int promedio_reprobadas = 0;
                if(contador1 > 0) {
                        promedio_reprobadas = suma_reprobadas / contador1;
                        System.out.println("El promedio de las materias reprobadas es de: " + promedio_reprobadas);
                }
               
                int promedio_aprobadas = 0;
                if(contador2 > 0) {
                        promedio_aprobadas = suma_aprobadas / contador2;
                        System.out.println("El promedio de las materias aprobadas es de: " + promedio_aprobadas);              
                }
        }

}

PROBLEMA 2:

/*PROBLEMA 2:
        Realizar un programa que permita calcular el área total y el volumen de un cilindro. */

import java.io.*;

public class area {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
               
                BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
               
                float pi = (float) 3.14;
                int radio = 0;
                int altura = 0;
               
                System.out.println("Ingrese el radio del cilindro: ");
                radio = Integer.parseInt(leer.readLine());
                System.out.println("Ingrese la altura del cilindro: ");
                altura = Integer.parseInt(leer.readLine());
               
                float area = 2*pi*radio*altura;
                float volumen = pi*(radio*radio);
               
                System.out.println("El área total del cilindro es de: " + area + " unidades cuadradas.");
                System.out.println("El volumen del cilindro es de: " + volumen + " unidades cúbicas.");

        }

}

PROBLEMA 3:

/*PROBLEMA 3:
        Realizar un programa que permite calcular el área de un triángulo. */

import java.io.*;

public class area {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
               
                BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
               
                float base = (float) 0.0;
                float altura = (float) 0.0;
               
                System.out.println("Ingrese la base del triángulo: ");
                base = Float.parseFloat(leer.readLine());
                System.out.println("Ingrese la altura del triángulo: ");
                altura = Float.parseFloat(leer.readLine());
               
                float area = (base*altura)/2;
               
                System.out.println("El área del triángulo es de: " + area + " unidades cuadradas.");

        }

}

PROBLEMA 4:

/*PROBLEMA 4:
        Realizar un programa que permita calcular la serie de ULAM. */

// COMIENCE CON CUALQUIER ENTERO POSITIVO
// SI ES PAR, DIVÍDALO ENTRE 2
// SI ES IMPAR, MULTIPLÍQUELO POR 3 Y AGREGUELE 1
// OBTENGA ENTEROS SUCESIVAMENTE REPITIENDO EL PROCESO
// AL FINAL OBTENDRÁ EL NÚMERO 1
// CUANDO ES 26, ENTONCES: 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.

import java.io.*;

public class serie {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
               
                BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
               
                int entero = 0;
               
                System.out.println("Ingrese un número entero positivo: ");
                entero = Integer.parseInt(leer.readLine());
               
                while(entero != 1) {
                        if((entero % 2) == 0) {
                                entero = entero/2;
                        } else {
                                entero = (entero*3) + 1;
                        }
                        System.out.println(entero);
                }

        }

}

PROBLEMA 5:

/*PROBLEMA 5:
        Realizar un programa que permita calcular los lados de una figura geométrica y determinar si es un cuadrado. */

import java.io.*;

public class geometria {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
               
                BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
               
                int lados = 0;
                int lado1 = 0;
                int lado2 = 0;
                int lado3 = 0;
                int lado4 = 0;
               
                System.out.println("Ingrese el número de lados de la figura geométrica: ");
                lados = Integer.parseInt(leer.readLine());
               
                if(lados != 4) {
                        System.out.println("La figura geométrica NO es un cuadrado.");
                } else {
                        System.out.println("Ingrese la medida del primer lado:");
                        lado1 = Integer.parseInt(leer.readLine());
                       
                        System.out.println("Ingrese la medida del segundo lado:");
                        lado2 = Integer.parseInt(leer.readLine());
                       
                        System.out.println("Ingrese la medida del tercer lado:");
                        lado3 = Integer.parseInt(leer.readLine());
                       
                        System.out.println("Ingrese la medida del cuarto lado:");
                        lado4 = Integer.parseInt(leer.readLine());
                       
                        if(lado1 == lado2 && lado3 == lado4 && lado1 == lado3 && lado2 == lado4) {
                                System.out.println("La figura geométrica es un cuadrado.");
                        }
                }

        }

}

Como conclusión de la semana, me pareció muy interesante y divertido programar en Java, así como conocer las funcionalidades y sintaxis de otro lenguaje más de programación.

Referencias:

  • Ejercicios y teoría vista en las clases de “Introducción a la Programación” impartidas por el M.S.I. José Alejandro Vargas Díaz en la Facultad de Informática de la Universidad Autónoma de Querétaro.
  • [1] Calendamaia. (2014, Enero 10). Eclipse IDE. Consultado el 18 de Noviembre, 2018, en https://www.genbeta.com/desarrollo/eclipse-ide