Mostrar Mensajes

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


Mensajes - Mastermind

Páginas: [1] 2 3 4 5 6 ... 24
1
Hola tienes que mirar la ruta dentro de localhost y escribirla respetando mayúsculas y minúsculas. Lo que se abre cuando escribes localhost es el archivo index que tengas justamente en la raíz. Para evitar problemas puede ser recomendable que tengas todo en carpetas, así sería mejor tener yii2 en una carpeta y testlink en otra carpeta. Con eso debería funcionarte todo bien.


2
De todo un poco... / Re:Juego de ahorcado en java
« en: 18 de Junio 2016, 19:01 »
Muchas gracias DRANXZ88 estás haciendo muy buenas aportaciones, gracias

3
Hola me permito dar una opinión: cuanto más sepas mejor, pero no puedes saberlo todo, por lo que tendrás que elegir lo que estudiar. Y para sacarle partido al tiempo que dedicas debes estudiar las cosas con un orden, por ejemplo es bueno saber fundamentos de programación antes de estudiar programación web o programación orientada a objetos  ::)

4
Código que permite convertir números romanos a decimales y al revés:

Código: [Seleccionar]
    using System; 
    using System.Text; 
     
    namespace RomanNumerals 
    { 
        static class Roman 
        { 
            static string[] roman1 = { "MMM", "MM", "M" }; 
            static string[] roman2 = { "CM", "DCCC", "DCC", "DC", "D", "CD", "CCC", "CC", "C" }; 
            static string[] roman3 = { "XC", "LXXX", "LXX", "LX", "L", "XL", "XXX", "XX", "X" }; 
            static string[] roman4 = { "IX", "VIII", "VII", "VI", "V", "IV", "III", "II", "I" }; 
     
            public static bool TryParse(string text, out int value) 
            { 
                value = 0; 
                if (String.IsNullOrEmpty(text)) return false; 
                text = text.ToUpper(); 
                int len = 0; 
     
                for (int i = 0; i < 3; i++) 
                { 
                    if (text.StartsWith(roman1[i])) 
                    { 
                        value += 1000 * (3 - i); 
                        len = roman1[i].Length; 
                        break; 
                    } 
                } 
     
                if (len > 0) 
                { 
                    text = text.Substring(len); 
                    len = 0; 
                } 
     
                for (int i = 0; i < 9; i++) 
                { 
                    if (text.StartsWith(roman2[i])) 
                    { 
                        value += 100 * (9 - i); 
                        len = roman2[i].Length; 
                        break; 
                    } 
                } 
     
                if (len > 0) 
                { 
                    text = text.Substring(len); 
                    len = 0; 
                } 
     
                for (int i = 0; i < 9; i++) 
                { 
                    if (text.StartsWith(roman3[i])) 
                    { 
                        value += 10 * (9 - i); 
                        len = roman3[i].Length; 
                        break; 
                    } 
                } 
     
                if (len > 0) 
                { 
                    text = text.Substring(len); 
                    len = 0; 
                } 
     
                for (int i = 0; i < 9; i++) 
                { 
                    if (text.StartsWith(roman4[i])) 
                    { 
                        value += 9 - i; 
                        len = roman4[i].Length; 
                        break; 
                    } 
                } 
     
                if (text.Length > len) 
                { 
                    value = 0; 
                    return false; 
                } 
     
                return true; 
            } 
     
            public static string ToRoman(int num) 
            { 
                if (num > 3999) throw new ArgumentException("Too big - can't exceed 3999"); 
                if (num < 1) throw new ArgumentException("Too small - can't be less than 1"); 
                int thousands, hundreds, tens, units; 
                thousands = num / 1000; 
                num %= 1000; 
                hundreds = num / 100; 
                num %= 100; 
                tens = num / 10; 
                units = num % 10; 
                var sb = new StringBuilder(); 
                if (thousands > 0) sb.Append(roman1[3 - thousands]); 
                if (hundreds > 0) sb.Append(roman2[9 - hundreds]); 
                if (tens > 0) sb.Append(roman3[9 - tens]); 
                if (units > 0) sb.Append(roman4[9 - units]); 
                return sb.ToString(); 
            } 
        }   
     
        class Program 
        { 
            static void Main() 
            { 
                string[] romans = { "I", "MMIV", "DCL", "CCXXII", "IIII", "CZ", "MLXVI", "III", "DCCXIV", "MIM" }; 
                int value = 0; 
     
                foreach (string roman in romans) 
                { 
                    if (Roman.TryParse(roman, out value)) Console.WriteLine("{0} = {1}", roman, value); 
                } 
     
                Console.WriteLine(); 
     
                int[] numbers = { 1, 2004, 650, 222, 4, 99, 1066, 3, 714, 1999, 3999 }; 
     
     
                foreach (int number in numbers) 
                { 
                    Console.WriteLine("{0} = {1}", number, Roman.ToRoman(number)); 
                } 
     
                Console.ReadKey(); 
            } 
             
        } 
    } 

Sólo permite números entre 1 y 3999.

Símbolos permitidos:  I, V, X, L, C, D y M.

5
Aprender a programar desde cero / Re:Ejercicio en Matlab
« en: 07 de Abril 2016, 20:49 »
Hola no trabajo con Matlab pero por lógica debería ser algo así:

Código: [Seleccionar]
n=input('Introduce el número de filas/Introduce el número de columnas ');
for i=1:n
    for j=1:n
        fprintf('M(i,j) %d, %d de la matriz:' , i,j);
        M(i,j)=input(' ');
    end
end
fprintf('la matriz es: ' );
c=0;
for i=1:n
    fprintf('\n ' );
    for j=1:n
        fprintf ('%d ',M(i,j) );
    c=c+M(i,j);
sumaFila(i) = sumaFila(i) + M(i,j);
    end
end
disp(c)
fprintf('\n ' );
for i=1:n
disp(sumaFila(i))
fprintf('\n ' );
end

En el curso de bases de la programación https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59 tienes las explicaciones sobre arrays y matrices y su lógica

Saludos!!

6
Hola yo creo que www-data es el usuario Apache y este usuario sólo debería tener acceso de lectura. Creo que deberías establecer permisos 775 para que el propietario (root) y el propietario de grupo (admin) tengan accesos a los directorios sobre los que quieras operar, mientras que el resto de usuarios incluido www-data sólo tendrán permiso de lectura.

7
Puedes usar eclipse + plugin php

phpMyAdmin es el gestor de bases de datos habitual en servidores apache con MySql. Si trabajas con estos servidores es básico que aprendas a usarlo. En el curso de php http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193 se habla un poco de phpMyAdmin

8
Hasta donde yo sé es algo propio del sistema y no se puede cambiar. No obstante podría variar según la versión de php que utilices

9
He encontrado esta forma para hallar diferencia de días entre fechas que parece muy compacta ya que implica muy poco código (haciendo uso de la librería ctime http://en.cppreference.com/w/cpp/header/ctime)

Código: [Seleccionar]
#include <iostream>
#include <ctime>

int main()
{
    struct std::tm a = {0,0,0,24,5,104}; /* June 24, 2004 */
    struct std::tm b = {0,0,0,5,6,104}; /* July 5, 2004 */
    std::time_t x = std::mktime(&a);
    std::time_t y = std::mktime(&b);
    if ( x != (std::time_t)(-1) && y != (std::time_t)(-1) )
    {
        double difference = std::difftime(y, x) / (60 * 60 * 24);
        std::cout << std::ctime(&x);
        std::cout << std::ctime(&y);
        std::cout << "difference = " << difference << " days" << std::endl;
    }
    return 0;
}


Salida que se obtiene:

Thu Jun 24 01:00:00 2004
Mon Jul 05 01:00:00 2004
difference = 11 days

10
De todo un poco... / Re:Maquina virtual en mi nuevo pc
« en: 28 de Noviembre 2015, 14:41 »
Hola Chopi mi opinión es que eso no solucionaría realmente nada. En primer lugar el simple hecho de crear una máquina virtual ya consume recursos del sistema, con lo cual nunca utilizarías tu pc a plena capacidad, sino siempre con menos capacidad de la disponible.

En segundo lugar sería cierto que puedes preservar tu sistema como nuevo si trabajas con la máquina virtual, pero esto te genera inconvenientes como tener que estar accediendo y operando siempre a través de la máquina virtual. Además irás instalando programas y configurando opciones en la máquina virtual que perderás cuando abandones dicha máquina.

Realmente es un problema la degradación del rendimiento, pero mi opinión sería que lo mejor es:

- Hacer copias de seguridad periódicamente a un dispositivo externo (disco duro o dvds)
- Evitar instalar programas para probar o de fuentes de poca confianza.
- Hacer un mantenimiento periódico con herramientas de limpieza de registro, defragmentación de disco duro, eliminación de archivos temporales, etc.

Finalmente si en un momento dado el sistema se degrada de forma tal que ya resulta imposible seguir con él, recuperar el sistema de fábrica y tendrás el pc nuevo, pero eso sí, sin todos los programas y configuraciones que le hubieras incorporado, lo cual también es un problema.

Hasta luego!

13
Esto no parece que tenga sentido, alert(nuevaVentana())

Para llamar a la función simplemente tienes que escribir nuevaVentana()

Si quieres que se produzca la validación cuando se envía el formulario tienes que usar el evento onsubmit explicado en el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Saludos!

14
Hola parece que lo único que necesitaras es crear un método que al invocarlo haga la limpieza:

Código: [Seleccionar]
public void limpiar() {
    /* Deberia poder Invocar al boton limpiar y no usar de nuevo todo este codigo*/
texMatri.setText("");
texNom.setText("");
texGrado.setText("");
texDirec.setText("");
texTelf.setText("");
texNacion.setText("");
texEstatus.setText("");
texMatri.setEditable(true);
texNom.setEditable(false);
texGrado.setEditable(false);
texDirec.setEditable(false);
texNacion.setEditable(false);
texTelf.setEditable(false);
btnAgregar.setEnabled(true);
btnBuscar.setEnabled(true);
btnLimpiar.setEnabled(false);
btnEliminar.setEnabled(false);
texMatri.setEditable(true);
/**/
  }

Este método lo puedes llamar y así cada vez que escribes limpiar() es como si ejecutaras todo el código, no tienes que repetirlo sino invocar al método

;)

15
Hola, he probado el código y a mi la ventana que se abre no me trae ninguna barra de herramientas, lo único que trae es la barra de direcciones.

En algunos navegadores esta barra de direcciones no se puede ocultar. Por ejemplo en firefox no se puede establecer location false, no lo acepta

Si tecleas about:config en firefox en la barra de direcciones se encuentra dom.disable_window_open_feature.location

Es decir, en algunos navegadores no puede ocultarse la barra de direcciones (esto es a partir de las versiones más modernas, en las más antiguas sí se podía)

;)

16
Hola ten en cuenta que se escribe matriz con zeta y matrices si es plural

Tienes la algoritmia mal planteada si quieres hacerlo tú debes primero pensar cuál es la algoritmia del proceso.

Bases de programación y algoritmia: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Bases de la programación Java: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Este código suma dos matrices:

Código: [Seleccionar]
public class sumadorMatrices {

    public static void main (String [] Args) {
        int [][] matriz1 = new int[][] { {2,3,4}, {5,6,7} };
        int [][] matriz2 = new int[][] { {1,1,1}, {1,1,1} };
        sumarOtraMatriz (matriz1, matriz2);
    }

    public static int[][] sumarOtraMatriz(int[][] matrizA , int[][] matrizB) {
        int[][] matrizResultado;
        int filasA =matrizA.length;
        int columnasA = matrizA[0].length;

        int filasB =matrizB.length;
        int columnasB = matrizB[0].length;

        System.out.println("Primera matriz:");
        for (int i = 0; i < filasA; i++) {
            for (int j = 0; j < columnasA; j++) {
                System.out.print(matrizA[i][j] + "   ");
            }
            System.out.println("");
        }

        System.out.println("Segunda matriz:");
        for (int i = 0; i < filasA; i++) {
            for (int j = 0; j < columnasA; j++) {
                System.out.print(matrizA[i][j] + "   ");
            }
            System.out.println("");
        }

        if (filasA==filasB && columnasB==columnasA) {

            matrizResultado = new int[filasA][columnasA];
            for (int i = 0; i < filasA; i++) {
                for (int j = 0; j < columnasA; j++) {
                    matrizResultado[i][j] = matrizA[i][j] + matrizB[i][j];
                }
            }

        } else {
            throw new Error("Las matrices deben tener la misma cantidad de filas que columnas");
        }
        System.out.println("Matriz resultado:");
        for (int i = 0; i < filasA; i++) {
            for (int j = 0; j < columnasA; j++) {
                System.out.print(matrizResultado[i][j] + "   ");
            }
            System.out.println("");
        }
        return matrizResultado;
    }
}

;)

17
Buenas Pedro el partir de htmlADevolver = '' la utilidad que tiene es que la variable está inicializada como cadena (aunque sea vacía), de ese modo la variable tiene un tipo, y es mejor que tenga un tipo para evitar errores.

getElementsByTagName devuelve un array por eso se rescata usando el índice 0 porque aunque solo sea uno lo que se devolvió al ser un array hay que indicar el índice

Si no escribimos nada la variable colorUsuario contiene la cadena vacía '' y esto es evaluado como false en el condicional ternario

Si escribimos pink cuando nos pide el color lo que ocurre es que aparece el texto "Usted eligió pink" con fondo rosa. Aunque nos dice que elijamos  red, yellow o blue realmente muestra el color que hayamos introducido siempre que sea un color css válido. Aun si no es un color css válido nos mostrará el texto, por ejemplo si escribimos voilua nos aparecerá "Usted eligió voilua" pero no nos mostrará color de fondo porque no es un color valido y el navegador simplemente no introduce color porque no sabe que color habría que introducir

El código lo veo del diez porque has dado opcion a probar tanto con el ternario como con el if

;)

18
Hola, crear el triángulo de Pascal tiene un algoritmo conocido, pero si quieres hacerlo tú debes primero pensar cuál es la algoritmia del proceso.

Bases de programación y algoritmia: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Bases de la programación Java: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

El algoritmo que crea el triángulo de Pascal:

Código: [Seleccionar]
/* Programa para imprimir el triángulo de Pascal en Java */

public class PascalTriangle {
    public static void main(String[] args) {
        int rows = 10; //Aquí establecemos número de filas Integer.parseInt(args[0]);
        for(int i =0;i<rows;i++) {

            int number = 1;

            System.out.format("%"+(rows-i)*2+"s","");
            for(int j=0;j<=i;j++) {
                System.out.format("%4d",number);
                number = number * (i - j) / (j + 1);
            }
            System.out.println();
        }
    }
}

19
Hola, usando la propiedad Value de un DateTimePicker puedes realizar comparaciones

Código: [Seleccionar]
Dim fechaDeLlegada As DateTime = DateTime.Now
Dim fechaDeSalida As DateTime = Me.DeparturePicker.Value

Dim diasDeEstancia as Int32 = fechaDeSalida.Subtract(fechaDeLlegada).Days


Para obtener el día, mes y año puedes usar:

Código: [Seleccionar]
int day = DeparturePicker.Value.Day;
int month = DeparturePicker.Value.Month;
int year = DeparturePicker.Value.Year;

Con esto ya puedes realizar las comparaciones que quieras

Saludos!

20
De todo un poco... / Re: borrar ficheros en linux desde terminal
« en: 27 de Octubre 2015, 13:00 »
Has sido muy rápido, aún ni había leído la consulta cuando veo que ya las auto-respondido  ;D

De cualquier manera gracias por publicar la respuesta

Saludos!

Páginas: [1] 2 3 4 5 6 ... 24

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".