Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - class_OpenGL

#31
Java / (Consulta) Posible BUG en Java
2 Octubre 2017, 09:16 AM
Hola, buenas.

Estoy haciendo ejercicios de un libro de Java. En un ejercicio, se me pedía el uso de archivos:

CitarRealiza un programa que nos diga si hay probabilidad de que nuestra pareja
nos está siendo infiel. El programa irá haciendo preguntas que el usuario
contestará con verdadero o falso. Cada pregunta contestada como verdadero
sumará 3 puntos. Las preguntas contestadas con falso no suman puntos. Utili-
za el fichero
test_infidelidad.txt
para obtener las preguntas y las conclusiones
del programa.

El problema que tengo no es de compilación (compila bien), sino de ejecución. Cuando lo ejecuto, se lee la primera línea del archivo, se imprime, y se pausa el programa para la entrada (como es de esperar). El problema es que al introducir un valor de entrada (booleana, por ejemplo, true), en una nueva línea se imprime true y el programa se para de nuevo. Si introduzco la entrada de nuevo, el programa hace lo que debería, pero en cada entrada hay que introducir dos entradas. Ejemplo:

¿Ha sido fiel a su pareja? true          # Ese true lo introduje por teclado. Pulso enter
true                                      # Se imprime mágicamente
true                                      # Tengo que introducir de nuevo la respuesta
¿Quiere a su pareja?


Los "# [...]" son comentarios que os hago para entender la ejecución.

Este es el código que tengo:

Código (java) [Seleccionar]
import java.io.RandomAccessFile;
import java.io.IOException;
import java.util.Scanner;

public class Ejercicio_16 {
   public static void main(String[] args) {
       try {
           RandomAccessFile archivo =
               new RandomAccessFile ("test_infidelidad.txt", "r");
           Scanner scanner = new Scanner(System.in);
           String linea;
           boolean respuesta_correcta;
           boolean respuesta;
           int puntuacion, puntuacion_maxima;
           
           puntuacion = 0;
           puntuacion_maxima = 0;
           
           while(null != (linea = archivo.readLine())) {
               respuesta_correcta = archivo.readBoolean();
               
               System.out.print(linea + " ");
               respuesta = scanner.nextBoolean();
               
               if(respuesta == respuesta_correcta)
                   puntuacion += 3;
               
               puntuacion_maxima += 3;
           }
           
           System.out.println("Ha sacado " + puntuacion + "/" + puntuacion_maxima + " de puntuación");
           
           archivo.close();
       } catch (IOException e) {
           System.out.println(e);
       }
   }
}


test_infidelidad.txt
¿Ha sido fiel a su pareja?
true
¿Quiere a su pareja?
true
¿Tiene su pareja o sus hijos algún entrenador personal?
false
¿Pone su pareja excusas para acostarse?
false


Gracias por leer.
#32
Programación C/C++ / Re: No me compila el for en C
30 Septiembre 2017, 22:51 PM
En tu código tienes la condición "N<=i". Inicialmente, i vale 0 (es lo que has indicado en el for). N vale lo que el usuario haya introducido (en este ejemplo, 2). Entonces, la comparación inicial sería "2<=0". Como puedes ver, eso va a dar false. Por eso no se ejecuta el for.

Cita de: biestable en 30 Septiembre 2017, 08:14 AM
No estoy seguro porque tengo C algo olvidado, pero intenta...

en vez de esto

for(int i=0;N<=i;i++)
{

declara la variable fuera del for, asi:

int i;
for( i=0; i<=N; i++)
{
...
}

y en el segundo bucle:
for( i=0; i<=N; i++)
{...}

y además supongo que lo de N<=i ¿es un lapsus? y querías poner i<=N
ya que de no ser así, en la primera iteración se cumpliría que N es mayor que i (si el usuario ha introducido un valor mayor que 0) y se saldría del bucle


Respecto a eso, si que se permite declarar variables dentro del campo de inicialización del for en C (a partir de una versión que no recuerdo)
#33
El problema es que has declarado el numero como bool. En la mayoria de compiladores (creo yo) y sistemas se interpreta un valor diferente de 0 como true (1). Es decir, si introduces un valor distinto de 0, lo mas probable es que se almacene un 1 (true)
#34
Programación C/C++ / Re: Redefinition in listas
20 Septiembre 2017, 18:12 PM
En las cabeceras has puesto eliminar en vez de Eliminar. ¿Hago mal en asumir un copia-pega? :D
#35
Programación C/C++ / Re: Numeros Primos sin bucles
14 Septiembre 2017, 20:35 PM
Si buscas una forma eficiente de saber si un número es primo o no, haciéndolo en unas pocas instrucciones, he de decirque que dudo de la existencia de tal algoritmo. Determinar si un número es primo o no es una tarea "compleja" a nivel computacional, la cual solo se puede resolver comprobando los divisores. Se puede optimizar la cantidad de divisores, también si se hace una lista de primos..., pero ya está.
#36
Foro Libre / Re: Cual es su editor favorito?
10 Julio 2017, 11:27 AM
Puede que para comenzar este no sea el mejor editor, pero en mi opinión es muy bueno. Me refiero a Emacs. Emacs es un editor antiquísimo pero muy bueno. Este es un editor muy extendido el cual se puede complementar con paquetes. Hay muchísimos paquetes disponibles para cualquier cosa que se te pueda ocurrir. Lo complicado de este programa es aprender a cómo usarlo, ya que se basa en un sistema de comandos que se ejecutan con combinaciones de teclas. Te voy a poner un ejemplo. Si quieres abrir un archivo, tienes que ejecutar el comando find-file con la combinación de teclas C-x C-f. Se lee así: mantén pulsado la tecla control, y pulsa las teclas x y luego la f. Cuando inicias Emacs, puedes seleccionar abrir el tutorial, el cual explica todas estas cosas. Este tutorial está en español, así que no habrá problemas con eso. Además, el programa es multiplataforma.

Si te decides por este programa, y ya llevas un tiempo con el, puedes programar tus propias funcionalidades (incluso tus propios paquetes) en un lenguaje llamado eLisp (Emacs Lisp). En mi opinión, es un lenguaje no demasiado amigable, pero una vez te acostumbras a el, es muy potente.
#37
Hola, muy buenas.

Antes de formatear, tenía, en emacs un paquete que me permitía seleccionar la ruta con las flechas del ratón (ver imagen abajo), pero ahora no encuentro dicho paquete (porque no me acuerdo de su nombre). Si alguien sabe el nombre del paquete, por favor, dígalo. El navegador se puede ver en la parte de abajo

#39
Si, tienes razón! Debería empezar por algo más sencillo. ¿Por dónde recomendarías empezar? ¿Sabes de una buena página con buenos ejercicios? Eché un ojo pero no vi demasiados buenos ejercicios. Gracias
#40
Hola a tod@s. Estoy introduciéndome en el mundo de la programación concurrente usando los hilos de POSIX. Estoy intentando implementar de forma segura lo siguiente:

Thread 1 (hilo POSIX): actualizar framebuffer (búfer de pantalla)
Thread 2 (hilo principal): actualizar imagen con una proveniente de una cámara.

El framebuffer se actualiza con la imagen leida de la cámara. Entonces, una secuencia de ejecución sería algo parecido a:

|-----Actualizar imagen-----|-----Actualizar imagen-----|-----Actualizar imagen-----|
|--------Actualizar framebuffer--------|--------Actualizar framebuffer--------|--------Actualizar framebuffer--------|

Es posible que actualizar el framebuffer ocupe menos tiempo que actualizar la imagen, no se sabe.

Entonces mi pregunta es: ¿cuál creen que es la mejor forma de actualizar el framebuffer sin que haya tearing (se mezcle el frame anterior con el actual)?

Lo ideal sería que fuera lo más eficientemente posible, es decir, que si ya se ha leido una imagen, el actualizador del framebuffer no tenga que esperar a que se lea otra imagen.

No pido que me den código, solo pregunto cual sería la idea de implementación (no sé si me explico)