Variables, entrada y salida

14 noviembre 2017

Laboratorio de programación Nro. 1

Este laboratorio le mostrará cómo realizar el ingreso de datos y presentar resultados. Al terminar esta actividad estará en la capacidad de:

Para ello se ha desarrollado un programa escrito en Java que muestra el uso de tres de los tipos de datos comunes en Java, la lectura de datos y la presentación de resultados.

Tipos de datos

Los tipos de datos más usado son:

Para declarar una variable que represente a cada uno de esos valores se debe realizar de la siguiente forma:

<tipo_de_dato> <nombre_de_la_variable>

Un ejemplo en donde se declara una variable denominada edad de tipo entero (int) se puede ver a continuación:

int edad;

En la declaración de la variable, también se puede dar un valor inicial a la misma, a esto se le conoce como inicialización. Este proceso es opcional en la mayoría de los casos, aunque existen variables que deben recibir un valor inicial de forma mandatoria (esto se cubre más adelante).

<tipo_de_dato> <nombre_de_la_variable> = <valor_inicial>;

Siguiendo la notación anterior, se va a declara una variable de tipo entero (int) denominada edad y que tiene un valor inicial igual a 40.

int edad = 40;

En el programa, que analizará más adelante, las variables declaradas de la primera forma se muestran en las líneas de la 6 hasta la 8, mientras que la segunda forma (declaración + valor inicial) se muestra en la línea 9.

Otra forma de declarar variables, disponible desde la versión 11 de Java, es la siguiente:

var name = "Jorge";

Esta forma de declaración de variables demanda que a la variable se le asigne un valor, para que el compilador de Java infiera el tipo de dato. Además debe notar que es necesario usar la palabra reservar var. Sin estos dos elementos no es posible usar esta forma de declaración de variables.

Ingreso de datos

Para el ingreso de datos, en Java se debe utilizar un objeto de la clase Scanner, para ello se necesitan agregar las siguientes líneas:

Esas líneas de código siempre serán las mismas, es necesario que las asimile lo antes posible.

Una vez agregadas esas líneas su programa podrá recibir y almacenar en variables lo que el usuario ingrese usando su teclado. En el ingreso de datos se debe considerar el tipo de dato de la variable que recibirá el valor así:

Salida de datos

En Java, existen varias formas de presentar información, el programa que aquí se presenta usa dos. La primera es a través del método print y el segundo es printf. A continuación la explicación de cada uno de ellos.

Si necesita presentar sólo mensajes es recomendable usar el método print, mire las líneas 11, 13 y 15. Ahí se usa ese método para mostrar mensajes solicitando el ingreso de datos.

Para presentar los resultados de su programa es recomendable que use el método printf (la f significa formato) que permite combinar fácilmente texto com valores de variables. En este programa se pretende mostrar un mensaje que tenga la siguiente forma Hola , tú edad es <la_edad> y tú estatura es <la_estatura>. Bienvenido a la <institución>. Recuerde que el nombre, edad, estatura e institución están contenidos en variables. ¿Cómo resolver ese problema? Observe la línea 18, ahí se usan ciertos caracteres para indicar en donde van los valores de cada una de las variables, así:

Ejecute el programa siguiendo las instrucciones que encontrará más abajo. Cambie por ejemplo el valor de la variable institución, reemplazando UTPL, por fundamentos de la programación.

Si desea ejecutar el programa haga clic en el botón play ▶ ubicado en la parte superior. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Recuerde

Secuenciación

13 noviembre 2017

Laboratorio de programación Nro. 2

Este laboratorio tiene como objetivo de que ponga en práctica lo siguiente:

Con ese fin en mente se propone un ejercicio que se obtuvo desde el sitio Web: Movimiento Parabólico | Físicalab y que dice lo siguiente:

"Minuto 90 de juego... Lopera se acerca al balón para lanzar un libre directo a 40 metros exactos de la portería, da dos pasos hacia atrássss y lanzaaaa. El balón describe una trayectoria parabólica y sale con una elevación de 20º... y ¡¡¡¡¡GOOOOLLL!!!! ¡¡¡¡GOOOOOOOLLL!!!! ¡¡¡¡El balón entra por la escuadra a 1.70 metros de altura!!!. Tras oir esta emisión en la radio, ¿sabrías responder a las siguientes preguntas?

a) Desde que Lopera chuta y marca el gol, ¿cuánto tiempo ha transcurrido y a qué velocidad salió el balón desde las botas de Lopera?".

Aunque en el sitio Web de origen se plantean varias preguntas, es de nuestro interés únicamente la primera.

La solución del ejercicio se muestra aquí y se usó para desarrollar el programa Java que encontrará en las secciones finales.

Las fórmulas que se utilizan como base son las siguientes:

x = v0 * cos(α) * t (Eq.1)

y = v0 * sin(α) * t - ½ * g * t2 (Eq.2)

Los datos qeu sel problema suministra se listan a continuación:

En Eq.1 despejamos v0 y obtenemos:

v0 = x / cos(α) * t (Eq.3)

Reemplazamos Eq.3 en Eq.2, simplificamos y obtenemos la fórmula que permite obtener el tiempo. Finalmente queda así:

t2 = x * tan(α) - y / ½ * g (Eq.4)

El programa en Java se muestra a continuación:

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

El programa muestra como se declara una constante G para representar e valor de la gravedad cuyo valor es de 9.8. Además muestra como se puede llamar a ese constante (línea 17), que es igual a la forma como se llama a la constante PI (línea 14).

El código, también muestra el uso de funciones trigonométricas, así como también potenciación y raíz cuadrada. Observe que los métodos tan y cos trabajan con radianes, mientras que el problema habla de grados, por tal motivo se debe transformar de grados a radianes para que los métodos devuelvan los valores esperados.

En el lenguaje de programación Java, la mayoría de constantes y funciones trigonométricas se encuentran dentro de la clase Math y para invocarlas se necesita del operador punt "."

Tenga cuidado con la precedencia de los operadores, es decir con el orden en el que evaluán cada expresión, para modificar ese orden, en un lenguaje de programación, se recomendable que use paréntesis para agrupar las expresiones y así evitar errores.

Observe como en la línea 22 se utiliza la expresión %.2f para indicar que únicamente se presente el número real con dos números decimales.

Finalmente observe como se crean comentarios dentro del programa. Mire las líneas 2, 13, 16 y 19. Esos mensajes tienen por objetivo documentar el programa, para que quien lo lea lo pueda comprender rápidamente. Existen diferentes tipos de comentarios así:

//Esto es un comentario de una línea int edad;

/*
 Esto es un comentario 
 de 
 varias
 líneas
*/
int edad;
/**
* Este es un comentario de documentación
* @author jorgaf
*/

Seleción

12 noviembre 2017

Laboratorio de programación Nro. 3

Este laboratorio mostrará cómo utilizar una de las sentencias de selección. Al terminar esta actividad estará en la capacidad de:

Dentro de las políticas del país se determinó que los rangos de edad para ejercer el voto son los siguientes:

El siguiente programa en Java muestra la implementación de un programa que usa las reglas anteriores. Adicionalmente se calcula la edad tomando en cuenta únicamente el año de nacimiento de una persona.

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Observe con antes de entrar a la ejecución del else se puede incluir un if.

Ciclo do ... while

11 noviembre 2017

Laboratorio de programación Nro. 4

Al terminar este laboratorio estará en la capacidad de:

Una de las principales aplicaciones para un ciclo Do...While es la de validación de datos. Es por ello que muestro el siguiente ejercicio que debe ser completado.

El programa antes de mostrar información "confidencial" sobre ti, debe validar que la edad del usuario está en el rango entre 18 y 80 años, si la edad no está en el rango permitido no se muestra la información y vuelve a pedir al usuario que ingresa nuevamente su edad. El código de el programa se muestra a continuación :

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Su tarea es ubicar las condiciones en las líneas 21 y 40 para que el programa cumpla con su cometido. Si tienes algún problema puedes ir aquí (encontrarás condiciones, pero no su orden).

Adicionalmente el programa lee información de el sistema operativo y usa programación funcional para leer un archivo. Si estas interesado puedes visitar los siguientes enlaces: System Properties y How to Read a File line by line...

Ciclo for

10 noviembre 2017

Laboratorio de programación Nro. 5

Al finalizar este laboratorio estará en la capacidad de:

El siguiente programa presente los números de Fibonacci, pero desde el tercer elemento.

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

¿Cuál del siguiente grupo de sentencias deben ubicarse en las líneas desde la 15 a la 18 para que se presenten todos los números?

Opción 1:

System.out.printf("%d, ", i);
fibo = primero + segundo;
primero = segundo;
segundo = fibo;
System.out.printf("%d, ", fibo); 

Opción 2:

if(i < 2) {
    System.out.printf("%d, ", i);
    System.out.printf("%d, ", i);         
} else {
    fibo = primero + segundo;
    primero = segundo;
    segundo = fibo;
    System.out.printf("%d, ", fibo);
}

Opción 3:

if(i == 0) {
   System.out.printf("%d, ", i);
} else if(i == 1) {
   System.out.printf("%d, ", i);
} else {
   fibo = primero + segundo;
   primero = segundo;
   segundo = fibo;
   System.out.printf("%d, ", fibo);
}

Ciclo while

09 noviembre 2017

Laboratorio de programación Nro. 6

Al terminar esta actividad estará en la capacidad de:

Es necesario desarrollar un programa en Java que permita encontrar un número primo según su posición según el siguiente orden:

Posición 1 2 3 4 5 6 7 8 9 10
Primo 1 2 3 5 7 11 13 17 19 23

Para ello se ha desarrollado el siguiente programa:

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Series numéricas

08 noviembre 2017

Laboratorio de programación Nro. 7

Al terminar esta actividad estará en la capacidad de:

Con ese fin se propone el siguiente problema:

Encontrar la sumatoria de la n primeros términos de la siguiente serie:

Serie númerica resolver

El programa que resuelve la serie se muestra a continuación:

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Arreglos

07 noviembre 2017

Laboratorio de programación Nro. 8

Al termino de este laboratorio usted estará en la capacidad de:

Es necesario que elabore un programa Java que calcule la desviación estándar de las siguientes edades: 6, 4, 7, 3, 2, 11, 20.

Antes de pasar al desarrollo del problema es necesario que tenga claro el concepto de desviación estándar, es por eso que lo invito a revisar el vídeo UTPL MEDIDAS DE DISPERSIÓN [(ÁREA ADMINISTRATIVA)(ESTADÍSTICA I)] que se encuentra aquí

Con los conceptos claros, ahora construirá el programa siguiendo los siguientes pasos:

1. Representar los datos.

En este caso se representarán como un arreglo de números enteros así:

int[] edades = {6, 4, 7, 3, 2, 11, 20};
2. Calcular el promedio.

Para el cálculo del promedio es necesario conocer la suma de todos los elementos y dividir ese valor para el número total de datos. Las sentencias que ayuda con esa labor son:

double promedio;
int suma = 0;

for (int i = 0; i < edades.length; i ++) {
    suma = suma + edades[i];
}
promedio = suma / (double)edades.length;

Antes de continuar es necesario hacer algunas explicaciones. En muchos lenguajes de programación, incluido Java, los arreglos tienen ciertas propiedades como por ejemplo la longitud o tamaño y se pueden acceder a ellas de diferentes formas en Java se usa .length. En nuestro caso esa propiedad devolvería 7.

Como ya se dijo anteriormente, si divido dos enteros el resultado será un entero, pero el promedio es un valor decimal, es por ello que para hacer la división se hace: suma / (double)edades.length. El texto resalto se conoce como casting (detalles aquí), es decir transforma de un tipo de dato a otro, en este caso concreto, transformar edades.length que es entero a real (double).

3. Encontrar la sumatoria de las diferencias al cuadrado.

En este caso se va a resolver la siguiente expresión:

El código que se emplea es el siguiente:

double sumaDif = 0;
for (int edad : edades) {
    sumaDif = sumaDif + Math.pow(edad - promedio, 2);
}

Note como se usa el denominado "for each" de Java, en este caso cada uno de los elementos del arreglo (edades) será asignado a la variable edad de forma consecutiva.

4. Dividir para el número de datos menos uno.

Este es el penúltimo paso y consiste en dividir la suma anterior (variable sumaDif) para el tamaño de la población menos una unidad. El código es el siguiente:

divSuma = sumaDif / (edades.length - 1);

Tenga cuidado con el correcto uso de los paréntesis, sin ellos el resultado se vería afectado, debido a la precedencia de los operadores.

Note también como aquí ya no se necesita hacer casting, ya que sumaDif es de tipo real.

5. Calcular la raíz cuadrada y presentar.

El último paso es calcular la raíz cuadrada del valor que se obtuvo en el paso anterior, para ello se usa el siguiente código:

double resultado;
resultado = Math.sqrt(divSuma);
System.out.printf("σ = %f\n", resultado);

Junte todo el código y construya el programa, si tiene algún problema aquí tiene el código completo y listo para ejecutarse en el editor online.

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Desde la versión 8 de Java, es posible usar un paradigma (además del orientado a objetos) de programación denominado programación funcional. Este paradigma se basa en la idea de que para construir un programa no se debe decir qué hacer y cómo hacerlo, sino únicamente se expresaría el qué hacerlo ya que el cómo sería parte del lenguaje de programación.

Los arreglos son ideales para mostrar la ideas de ese paradigma. El siguiente programa muestra el uso de ese paradigma en la misma tarea del programa anterior, fíjese como los pasos 2 y 3 son reemplazados por sentencias de programación funcional.

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

La clave es comprender que los datos (el arreglo) son un flujo de datos (como un río que es flujo de agua) esto se consigue con la sentencia Arrays.stream(nros), luego se pide al flujo que devuelva el promedio (average en inglés) como un número real. Todo esto en la línea 11.

La línea 12 pide "mapear" los datos del arreglo de entero a reales mapToDouble a través de una fórmula u operación matemática que la siguiente restar el promedio de la edad y elevar al cuadrado esa diferencia, una vez hecho todo eso se pide que se devuelva la sumatoria (sum).

Los pasos finales son iguales que los descritos más arriba.

Lo invito a investigar sobre estos novedades dentro del lenguaje Java.

Matrices

06 noviembre 2017

Laboratorio de programación Nro. 9

Al terminar este laboratorio estará en la capacidad de:

Dentro de la Ciencia de las Redes, detalles aquí, frecuentemente se utilizan matrices para representar redes. Una de esas matrices se denomina matriz de adyacencia. Un ejemplo de ella se muestra en la siguiente tabla:

0 1 2 3 4
0 0 1 1 0 0
1 1 0 1 1 0
2 1 1 0 1 1
3 0 1 1 0 1
4 0 0 1 1 0

Lo primero a destacar de la matriz es que es cuadrada, es decir, tiene el mismo número de filas y columnas, en este caso 5, por lo que el orden de la matriz es de 5x5. Los números en negrita son los nombres de los nodos y no se consideran como parte de la matriz.

Otra característica de la matriz de adyacencia es que señala cuando el valor de la celda es igual a uno señala una relación entre ambos nodos, mientras que si es igual a cero indica ausencia de relación.

El grado de un nodo se determina sumando la fila o la columna de ese nodo. Así por ejemplo el nodo 0 tiene grado 2, ya que si suma la columna o la fila que empieza por 0 el resultado es dos.

El problema a resolver es encontrar el grado de cada nodo y grado medio de la red. Con ese fin se desarrollará un programa en Java que a través de la manipulación de una matriz y métodos se resuelva el problema propuesto.

Para resolver el problema se deben realizar los pasos que a continuación se describen.

1. Representar los datos

Los datos serán representados en una matriz, la misma que será inicializada. El código Java que hace lo descrito es el siguiente:

int [][] adyacencia = {
    {0, 1, 1, 0, 0},
    {1, 0, 1, 1, 0},
    {1, 1, 0, 1, 1},
    {0, 1, 1, 0, 1},
    {0, 0, 1, 1, 0}
};

Note como en la representación se dejaron fuera los nombres de los nodos, ya que no son parte de la matriz de adyacencia. Para inicializar una matriz, cada grupo de datos encerrados entre llaves constituyen una fila, cada valor se ubica en la columna según el orden que ocupan, así: el primero va en la columna 0, el segundo en la 1, etc. Observe como cada fila a su vez se encierra entre llaves señalando que es una matriz.

2. El grado medio

Para calcular el grado medio de la red, es necesario calcular el grado de cada nodo, sumarlo y luego dividir para el número de nodos que existen en la red. No olvide que la suma de cada una de las filas o de cada una de las columnas es el grado de un nodo.

El método desarrollado recorre todos los nodos de la red usando las filas de la matriz de adyacencia y suma las columnas (en la variable gradoNodo) para obtener el grado del nodo, agrega ese valor a un acumulador denominado sumaGrados, para finalmente calcular el grado medio dividiendo sumaGrados para la longitud de la matriz, que ese el número de nodos de la red.

El código del método es el siguiente:

public static double calcularGradoMedio(int [][] a) {
    int sumaGrados = 0;
    int gradoNodo;
    double gradoMedio;

    for(int i = 0; i < a.length; i ++) {
        gradoNodo = 0;
        for(int j = 0; j < a[i].length; j ++) {
            gradoNodo = gradoNodo + a[i][j];
        }
        sumaGrados = sumaGrados + gradoNodo;
    }
    gradoMedio = (double)sumaGrados / a.length;
    return gradoMedio;
}

Note como el primer for permite recorrer las filas, mientras que el segundo las columnas. Así mismo, por cada nodo (fila) se inicializa la variable gradoNodo para calcular así el grado de ese nodo. Finalmente, una vez que se tiene el grado del nodo actual se agrega a la variable sumaGrados.

3. El grado de un nodo

Para obtener el grado de un nodo, el usuario debe ingresar el nombre del nodo, números desde el 0 hasta el 4. Para evitar posibles errores se validrá el ingreso de los datos a través de un ciclo do...while.

Considerando que se necesita el grado de un nodo concreto, el método usará un único ciclo for, ya que no es necesario recorrer todos los nodos. Al igual que el método anterior se recorrerá la matriz por filas y se sumarán las columnas para obtener el grado. El código Java es el siguiente:

public static int obtenerGradoNodo(int nodoId, int [][] a) {
    int grado = 0;

    for(int j = 0; j < a[nodoId].length; j ++ ) {
        grado = grado + a[nodoId][j];
    }

    return grado;
}

Si compara este método con el anterior se puede percatar que son bastante similares ya que utilizan el mismo principio de trabajo, sumar las columnas de una fila representado por nodoId para obtener el grado del nodo.

4. El método principal

Lo único a destacar en el método principal es la validación que se hace para garantizar que el usuario ingresó un número válido que represente el nombre de un nodo. Deliberadamente se usó los índices de la matriz como nombres de los nodos, por lo tanto el usuario debe ingresar un número entre 0 y la longitud de matriz.

El código Java es el siguiente:

public static void main(String[] args) {
    int [][] adyacencia = {
        {0, 1, 1, 0, 0},
        {1, 0, 1, 1, 0},
        {1, 1, 0, 1, 1},
        {0, 1, 1, 0, 1},
        {0, 0, 1, 1, 0}
    };
    Scanner l = new Scanner(System.in);
    double gradoMedio;
    int kn;
    int n;

    gradoMedio = calcularGradoMedio(adyacencia);
    System.out.printf("Grado medio de la red: %f\n", gradoMedio);

    do {
        System.out.print("Ingrese el id del nodo: ");
        n = l.nextInt();
    } while(n < 0 || n >= adyacencia.length );

    kn = obtenerGradoNodo(n, adyacencia);
    System.out.printf("El grado del nodo %d es %d\n", n, kn);

}

El programa completo se muestra en el entorno de ejecución en línea repl.it. Una vez que ejecute el programa verá como se muestra el grado medio y luego le pidirán que ingrese el nombre del nodo, al principio trate de ingresar sólo números
que están fuera del rango permitido y verá como se vuelve a insistir en el ingreso del nombre del nodo, esto se repite hasta que ingresa un número válido.

Si desea ejecutar el programa haga clic sobre el botón run ▶ que se encuentra en la parte superior. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

En el método que calcula el grado medio se pueden realizar algunas mejoras ya que si suma todos los elementos de la matriz obtendrá el mismo resultado que sumar fila por fila. Lo invito a que intente implementar esa mejora.

Recursividad

04 noviembre 2017

Laboratorio de programación Nro. 11 - Recursividad

Al finalizar esta actividad usted estará en la capacidad:

El problema que debe resolver es el siguiente: Elabore un programa en Java que sin usar estructuras repetitivas cuente el número de dígitos que tiene un número entero. Por ejemplo:

EntradaSalida
1 1
22 2
511 3
9876 4

Como se pudo percatar el programa debe contar cuántos digitos forman el número y presentarlos.

1. Análisis del problema

¿Cómo obtener los dígitos que forman un número?

Para comprender el problema de forma recursiva es necesario descomponerlo de la siguiente manera: se usará 9876 como ejemplo e imagine que existe un método denominado contarDigitos que devuelve el número de digitos que tiene un número.

Para contar el número de digitos se plantea la siguiente solución: divisiones enteras sucesivas por 10 hasta que el cociente sea 0, el número total de divisiones será igual al número de digitos que tiene un número. La siguiente imagen muestra ese proceso:

Explicación del problema

La imagen muestra que en el número 9876 existen 4 digitos, es decir se pueden hacer hasta 4 divisiones enteras por 10 hasta que el cociente es 0. No olvide que en una división entera el cociente será otro número entero.

2. Caso base y recursivo

Cuando se habla de recursividad es necesario determinar cuál es el caso base y el recursivo. El primero de ellos tiene como objetivo poner fin a la ejecución dle programa. En cambio el segundo busca que se genere una nueva iteracción.

Para el problema propuesto el caso base se encuentra en la condición que debe detener las divisiones, es decir cuando:

num / 10 == 0

Cuando se cumple esa condición, las llamadas recursivas deben detenerse. Este caso es primordial ya que evita que las llamadas recursivas sean infinitas. Sino es capaz de encontrar el caso base, es mejor que desista del uso de recursividad.

El caso recursivo, a diferencia del anterior no busca detener las iteracciones, sino que busca realizar una nueva. En nuestro problema el caso recursivo es el que se muestra a continuación:

1 + contarDigitos(num / 10) 

Observe como se hace la llamada al método, pero se cambia el parámetro que recibe, esto busca cumplir con el análisis que se hizo del problema, es decir invocar nuevamente al método pero esta vez sin el último digito el mismo que ya se contó y se representa agregando una unidad.

El método completo es el siguiente:

int contarDigitos(int num) {
   if(num / 10 == 0) {
      return 1;
   } else {
      return 1 + contarDigitos(num / 10);
   }
}

El programa completo se muestra a continuación, ejecútelo y vea como funciona correctamente. Además observe como se invoca al método directamente en la sentencia printf.

Si desea ejecutar el programa haga clic sobre el botón play ▶ ubicado en la parte superior. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Funciones sobre tipos de dato String

03 noviembre 2017

Laboratorio de programación Nro. 12 - Métodos y funciones para String

Al terminar esta actividad estará en la capacidad de:

El problema que tiene que resolver es crear un programa en Java que permita validar el documento de identidad del Ecuador. Para ello existe un algoritmo que se detalle aquí.

Es necesario usar el tipo de dato String para almacenar una cédula porque algunas cédulas inician con el número cero y como es conocido en los números enteros el cero a la izquierda no se representa e internamente los lenguajes de programación lo eliminan.

El program que resuelve el problema es el siguiente:

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.

Archivos

02 noviembre 2017

Laboratorio de programación Nro. 13 - Archivos conceptos básicos

Al terminar esta actividad estará en la capacidad de:

El trabajo con archivos es una actividad que depende del sistema operativo en el que se trabaja, lograr la independencia del sistema operativa no es un tema trivial requiere cuidado y para evitar el uso de rutas (paths) propias de un sistema operativo.

El problema consiste en crear un programa Java que lea el contenido de un archivo separado por comas (CSV) mostrarlos en pantalla y agregar información a ese archivo.

El entorno en línea que se utiliza está basado en linux, es por ello que las rutas que se emplean están expresadas según ese sistema operativo.

El programa que resuelve ese problema es el siguiente:

Si desea ejecutar el programa haga clic sobre el botón play ▶ esquina inferior derecha. También puede modificar, compilar y ejecutar su propio código. Finalmente puede abrir el programa en el sitio repl.it haciendo clic en open in.


Older posts are available in the archive.