elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 88
251  Foros Generales / Dudas Generales / Re: Duda sobre diagrama de casos de uso en: 27 Abril 2020, 18:02 pm
Para el segundo diagrama en el que el administrador es a su vez médico y por tanto actúa en todos los casos de uso del médico, sería mejor usar la especialización. Si mal no recuerdo se representa con una flecha de un actor al otro para decir que uno "hereda" del otro.

Yo creo que el primer diagrama te valdría más si el sistema va a hacer distinción entre si la persona en un momento exacto tiene el rol de administrador o de médico. Entonces tendrías que tener una forma de saber si ese administrador está trabajando como médico o como administrador.
Y el segundo supuesto sería más correcto si el administrador puede hacer una labores u otras en cualquier momento sin tener que identificarse como administrador o como médico en cada momento. Pero como te digo haciendo una especialización entre el administrador y el médico para no repetir las flechas y hacer el diagrama más fácil de ampliar. (Así si añades un nuevo caso de uso para el médico, automáticamente lo tendrá disponible el administrador también).

Espero que te sirva la respuesta. La verdad es que es un tema que tengo un poco olvidado de cuando lo vi en la carrera. :rolleyes:
252  Programación / Programación C/C++ / Re: Programación C++ Ayuda Por Favor en: 27 Abril 2020, 05:37 am
No se hacen tareas. Sé más específico tanto con lo que se pide como con cuál es tu duda.
Si quieres recibir ayuda vas a tener que cambiar la pregunta y poner lo que lleves hecho (entre etiquetas de Código GeSHi).


EDIT: Bueno pues lo que tienes que hacer es crear una matriz (tabla) y en cada celda ir poniendo un asterisco o dejarla vacía para que al mostrar la matriz se vea cada una de las letras. La forma más fácil es usar una matriz cuadrada y rellenar partes de la matriz por separado. (También puedes encontrar un patrón y hacer la matriz en un único bucle pero me parece más complicado para empezar).
Supongo también que no has llegado al paso de matrices por parámetros así que lo haré todo en el main. Ya digo y repito que no es la mejor solución pero es fácil de ver.
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int SIZE = 5; // Constante para las filas y columnas de la matriz. Mejor que sea impar para tener una fila y columna media
  5.  
  6. int main(){
  7.  char matriz[SIZE][SIZE];
  8.  
  9.  // Voy a definir constantes para la E:
  10.  int alto = SIZE; // De alto que ocupe toda la matriz (5)
  11.  int ancho = SIZE; // La parte horizontal de arriba y abajo tambien (5)
  12.  int anchoMedio = SIZE / 2 + 1; // Y la barra del medio: la mitad + 1 (3)
  13.  
  14.  // Rellenar la fila de arriba (0). Para rellenar la fila de abajo es igual cambiando el 0 por (alto-1).
  15.  for(int i = 0; i < ancho; ++i){
  16.    matriz[0][i] = '*';
  17.  }
  18.  
  19.  // Rellenar el alto
  20.  for(int i = 0; i < alto; ++i){
  21.    matriz[i][0] = '*';
  22.  }
  23.  
  24.  // Rellenar la barra del medio
  25.  for(int i = 0; i < anchoMedio; ++i){
  26.    matriz[alto/2+1][i] = '*'; // El +1 es para obtener la fila media de una matriz impar.
  27.  }
  28. }

Para mostrar una matriz:
Código
  1. for(int i = 0; i < filas; ++i){
  2.  for(int j = 0; j < columnas; ++j){
  3.    cout << matriz[i][j] << " ";
  4.  }
  5.  cout << endl;
  6. }
Tendrás que sustituir <filas> y <columnas> por el nombre de tus variables.

Diciéndote cómo se hace la E, puedes hacer perfectamente la T. Y para la N te dejo como pista que puedes rellenar la diagonal principal de una matriz con:
Código
  1. for(int i = 0; i < size; ++i){
  2.  matriz[i][i] = '*';
  3. }

Luego ya que se vea mejor o peor dependerá de los tamaños elegidos y la forma que se le de a la letra.
253  Programación / Programación C/C++ / Re: Problemas Dev C++ " AYUDA URGENTE!!!!" en: 27 Abril 2020, 03:04 am
Bueno pues vamos uno por uno...
Para empezar un tema importante: diferencia entre while() y do{}while().
Un while() primero comprueba una condición y se pueden dar dos casos:
  • true -> Entra en el bucle. Termina. Comprueba nuevamente la condición... Y así hasta que la condición sea falsa.
  • false -> No entra en el bucle. Se lo salta.
Un do{}while() primero entra en el bucle. Termina y es entonces cuando mira la condición:
  • true -> Se repite el bucle. Termina y vuelve a comprobar hasta que sea falso.
  • false -> No vuelve a repetir el bucle (pero recuerda que ya lo ha ejecutado una vez antes)

Resumido:
  • while() -> Comprueba - Ejecuta - Comprueba - ... - Comprueba - Sale (PUEDE NO EJECUTARSE NINGUNA VEZ)
  • do{}while() -> Ejecuta - Comprueba - Ejecuta - ... - Comprueba - Sale (SIEMPRE SE EJECUTA AL MENOS 1 VEZ)

El bucle while() se utiliza cuando ya conocemos el valor que vamos a utilizar para la condición antes de ejecutar el bucle. Y por otra parte el do{}while() se utiliza cuando no conoceremos el valor de la condición hasta después de ejecutar el bucle una vez.
9. Programa que captura un año válido y dice si es bisiesto o no. Para ser válido deberá cumplir con estar entre 1900 y 2019, de no ser así indique el error y vuélvalo a solicitar hasta que lo sea. Para saber si es bisiesto, éste deberá ser divisible por 4 pero no por 100 o divisible entre 400.
Código
  1. int main()
  2. {
  3.    int año;
  4.  
  5.    printf( "\n   Introduzca un a%co: ", 164 );
  6.    scanf( "%d", &año );
  7.  
  8.    if (año>=1900 && año <=2019)
  9.    if ( año % 4 == 0 && año % 100 != 0 || año % 400 == 0 )
  10.  
  11.    do{
  12.    printf("ERROR, Dame otro año",164);
  13.    scanf ("%d",&año);
  14. }while(año<1900&&año>2019);
  15.  
  16.  
  17.        printf( "\n   ES BISIESTO" );
  18.    else
  19.        printf( "\n   NO ES BISIESTO" );
  20. }
  21.  
En el 9 , no se como hacer que aparezca un error cuando se coloca un numero menor de 1900 y mayor a 2019.
Aquí lo que quieres hacer se conoce como filtro. Vas a pedir un valor concreto hasta que te lo pongan correctamente. Se puede hacer con ambos bucles aunque el más típico es un do{}while() de la siguiente manera:
Código:
DO
  pido el dato
WHILE el dato no es valido
Pero se puede hacer con un while() de la siguiente manera:
Código:
pido el dato
WHILE el dato no es valido
  pido el dato
FIN WHILE

Pero tú has mezclado ambas cosas ya que pides el año antes de empezar el bucle pero luego usas un do-while. Ahora viene el tema de mostrar un "algo" cuando el valor no es válido. Si estás usando un do-while, tienes que hacerlo de la siguiente manera:
Código:
DO
  pido el dato
  SI el dato no es valido
    muestro ese "algo"
  FIN SI
WHILE el dato no es valido
Como ves tienes que comprobar si el dato es válido en dos sitios. Una forma de mejorar el código es usar una variable booleana. En caso de usar C se puede usar la biblioteca <stdbool.h> (creo que era) o usar un int y darle valores 1 (true) y 0 (false).

Visto con un supuesto más concreto. Un filtro que te pide la edad y tiene que estar entre 18 y 65:
Código
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4. #define EDAD_MINIMA 18
  5. #define EDAD_MAXIMA 65
  6.  
  7. int main(){
  8.  int edad;
  9.  bool edad_valida;
  10.  do{
  11.    printf("Introduce una edad entre %d y %d: ", EDAD_MINIMA, EDAD_MAXIMA);
  12.    scanf("%d", &edad);
  13.    edad_valida = (edad >= EDAD_MINIMA && edad <= EDAD_MINIMA);
  14.    if(!edad_valida){
  15.      printf("La edad introducida no es valida");
  16.    }
  17.  } while(!edad_valida);
  18.  
  19.  printf("La primera edad valida introducida es: %d", edad);
  20. }

Y si prefieres hacerlo con un while, te ahorras la doble comprobación (o con nuestra mejora: el uso de un bool) pero vas a tener que pedir el dato antes del bucle y al final de este. Con el mismo ejemplo de antes para que veas que son intercambiables:
Código
  1. #include <stdio.h>
  2.  
  3. #define EDAD_MINIMA 18
  4. #define EDAD_MAXIMA 65
  5.  
  6. int main(){
  7.  int edad;
  8.  printf("Introduce una edad entre %d y %d: ", EDAD_MINIMA, EDAD_MAXIMA);
  9.  scanf("%d", &edad);
  10.  
  11.  while(edad < EDAD_MINIMA || edad > EDAD_MAXIMA){
  12.    printf("La edad introducida no es valida");
  13.    printf("Introduce una edad entre %d y %d: ", EDAD_MINIMA, EDAD_MAXIMA);
  14.    scanf("%d", &edad);
  15.  }
  16.  
  17.  printf("La primera edad valida introducida es: %d", edad);
  18. }
Es mejor que uses la primera siempre porque aunque la segunda parece más simple repites código necesariamente y ahora solo pides un número pero puede ser que pidas muchos datos y tengas que repetir muchas líneas.

Con esto ya deberías poder hacer el 9 pero si tienes alguna duda, siempre puedes preguntarla. Y que no te de miedo cargarte lo que tienes y empezar de 0. A veces es más fácil porque así no intentas reutilizar lo que ya tienes. Sobre todo en casos como estos que está hecho un lío.

Ahora vamos primero al 11 ya que tienes parte hecha. Para no volver a repetir todo sobre los bucles, te doy una idea para hacerlo. Esta vez te lo pondré en pseudocódigo así que tendrás que entenderlo para luego escribirlo tú en el lenguaje que uses. Puedes ir filtrando cada dato con lo que haces más bucles do-while pero con condiciones más sencillas o pedir todo y luego ya validar. Me parece más correcto lo primero porque si te ponen el día 32, para qué vas a pedir el mes si ya sabes que no va a estar bien? Pero como pone que pide una fecha pues lo haré para pedirlo todo junto y luego validar. (Doy por hecho que tampoco has visto arrays todavía, si es cierto no es para asustarte, no son para tanto y hasta te pueden quitar trabajo pero lo haré sin usarlos).

PD: Cuando no sepas dónde poner el do-while para que un programa se repita. Hazlo primero sin que se repita: pide datos y valida y cuando ya lo tengas mete todo el programa dentro de un do{} y pon la condicion del while() y listo:
Código:
// SIN REPETIR EL PROGRAMA
dia = pedirDia()
mes = pedirMes()
año = pedirAño()

fechaValida = true // supones que la fecha es valida
// Para empezar comprueba el año, si se sale de los limites no hace falta seguir
SI año < AÑO_MINIMO or año > AÑO_MAXIMO ENTONCES
  fechaValida = false
FIN SI

// Ahora tienes que ver si la fecha sigue siendo valida porque si ya no lo es, no tienes que hacer nada mas
SI fechaValida and (mes < MES_MINIMO or mes > MES_MINIMO) ENTONCES
  fechaValida = false
FIN SI

// Ahora mas de lo mismo, si la fecha sigue siendo valida tendras que comprobar el dia:
SI fechaValida ENTONCES
  limiteDia = 31 // suponemos como limite maximo 31
  SI mes = 4 or mes = 6 or mes = 9 or mes = 11 ENTONCES
    limiteDia = 30
  SINO SI mes = 2 ENTONCES
    limiteDia = 28 // el enunciado dice que febrero se considera siempre de 28 dias
  FIN SI

  fechaValida = (dia > 0 and dia <= limiteDia)
FIN SI

SI fechaValida ENTONCES
  Mostrar "La fecha es valida"
SINO
 Mostrar "La fecha no es valida"
FIN SI

Y ahora que ya lo tienes. Coges todo el código lo metes en un DO y le pones la condición:
Código:
HACER
  // todo el programa...
  // EXCEPTO las declaraciones de variables porque con declararlas una vez antes del bucle ya vale
  // PERO tienes que recordar poner los valores por defecto al principio o al final de cada vuelta para que la siguiente vuelta funcione bien
MIENTRAS !fechaValida


El ejercicio 10 te lo explico por encima. Daré por hecho que ya sabes lo que es un número binario, cómo se pasa de binario a decimal y viceversa y esas cosas...
Lo primero sería hacer un filtro como ya has visto para que el número esté entre 1 (00000001) y 255 (11111111). Te lo explicaré sin la función pow() para que veas una forma mejor de hacerlo pero sencilla también.
El 1 que más vale en binario de los ocho que componen nuestro número es 128 (no entraré en detalles, espero que estemos de acuerdo). Y de ahí, los siguientes unos van valiendo la mitad: 64, 32, 16, 8, 4, 2 y 1. Entonces puedes ir mirando si tu número es mayor o igual que x (llamemos así al 128, 64,...) y si lo es, se lo restas y muestras un 1, si no lo es, muestras un 0. Siempre al finalizar divides x a la mitad:
Código:
HACER
  numero = pedirNumero()
MIENTRAS numero < 1 or numero > 255

factor = 128
MIENTRAS numero > 0 HACER
  bit = 0
  SI numero >= factor ENTONCES
    numero = numero - factor
    bit = 1
  FIN SI

  Mostrar bit
  factor = factor / 2
FIN MIENTRAS
Con esto tendrás el número representado con 8 bits sencillo y bastante eficiente. Se puede mejorar obviamente pero si estás empezando es mejor que tengas códigos fáciles de entender que eficientes.


PD 2: Por lo que veo parece que te han dicho que te van a enseñar C++ pero lo que te están enseñando es una mezcla de C/C++ (muy común en muchos lugares, a mí también me lo hicieron). Pero que sepas que la mayoría de lo que usas es C.

PD 3: No utilices la biblioteca <conio.h>. Es una biblioteca que no es estándar por lo que puede dar problemas según donde se use y seguramente lo hagas por la función getch() para que no se cierre el programa.
  • Como alternativa de C tienes getchar() de la biblioteca <stdio.h> que ya estás usando.
  • Como alternativa de C++ tienes cin.get() de <iostream>. Con esta se hacen las entradas y salidas en C++.

PD 4: Haces bien poniendo nombres fáciles de identificar a las variables pero acostúmbrate a usar también constantes en vez de poner números sueltos. Con una constante, la puedes cambiar una vez y que el programa funcione de otra manera y si vas poniendo números sueltos tendrás que cambiarlos todos uno por uno... Un rollo vamos.
  • Constantes al estilo C:
Código
  1. #define <NOMBRE CONSTANTE> <valor>
  • Constantes al estilo C++:
Código
  1. const <tipo> <NOMBRE CONSTANTE> = <valor>
254  Programación / Programación C/C++ / Re: Problemas Dev C++ " AYUDA URGENTE!!!!" en: 26 Abril 2020, 22:36 pm
Especifica en qué parte de los programas tienes problemas y a ser posible coloca el código que tengas hecho para poder ayudarte. Para colocar código utiliza las etiquetas de Código GeSHi del desplegable que hay sobre el cuadro de texto y selecciona el lenguaje apropiado (C o C++, el que sea).

255  Programación / Programación C/C++ / Re: Ayuda con ejercicio en C++ en: 26 Abril 2020, 18:34 pm
1º Leer un fichero que esta formado por dos columnas (desconocemos el numero de filas), asegurarse de que los datos del fichero son numeros reales y de que en la columna 1 y en la 2 hay la misma cantidad de numeros.
Si te piden que compruebes que todas las columnas están formadas por 2 valores y que ambos sean numéricos, yo diría que tienes que leer línea por línea del fichero con getline() por ejemplo y el resultado que obtendrás en un string tendrás que separarlo en dos partes y validar cada parte para saber que son números.
Así dicho parece mucho pero son un par de funciones simples.

2º Sumar los elementos de las filas, por ejemplo:
2 3 --> 2+3=5
1 2 --> 1+2=3
4 1 --> 4 +1 = 5
2 3 -->2 + 3 =5
3º Mostrar por consola el numero mas grande que se obtiene al sumar las columnas y los numeros que se han sumado para alcanzar ese numero, pero si en el fichero hay una fila con los mismos numeros solo debe salir una vez por consola.
Segun el ejemplo anterior en la consola deberia aparecer:
"El número mayor que se obtiene es 5 que se obtiene al sumar: 2 y 3, 4 y 1.
Yo he pensado ir añadiendo a un vector los resultados de las sumas y luego imprimir por consola el mayor, pero no se como puedo hacer esto.
Si sólo te pidiesen la mayor suma bastaría con una variable que irías actualizando al encontrar una suma mayor. Si solo te pidiesen el resultado mayor y una de las filas que lo obtienen, bastaría con 3 variables que irías actualizando de igual forma que antes.
Sin embargo, como pueden ser muchas filas las que obtienen el mayor resultado, sería mejor crear un struct o una clase (ya que es C++) que contenga:
Código
  1. class Registro {
  2.  private:
  3.    double operando1;
  4.    double operando2;
  5.    double suma;
  6.  //...
  7. };

Y hacer un vector de registros.
Otra opción un poco más avanzada pero más eficiente es que como se pide no mostrar repetidos puedes usar un Set de la STL también. Defines que un registro es igual que otro cuando sus tres atributos son iguales o con que los dos operandos sean iguales es suficiente también. Y así al introducir un registro en el Set, si ya existe, se omitirá.
256  Foros Generales / Dudas Generales / Qué navegador usas?? en: 25 Abril 2020, 20:39 pm
No sabía muy bien dónde poner este tema pero ya que es un tema bastante abierto y de opinión pues he decidido ponerlo aquí...

Bueno pues la cosa es que siempre utilizo Chrome tanto en Windows como en Linux por tener integrada la cuenta de Google pero no me agrada mucho el consumo de RAM que tiene y que se abran varios procesos en el administrador de tareas; así que me he planteado si cambiar a otro como Firefox por ejemplo.

Quería ver la opinión del resto de usuarios sobre los navegadores... Los que hayáis probado y los pros y contras que les encontréis. A ver si con este tema, me animo a probar otras opciones.
257  Programación / Java / Re: ArrayList y variable estatica (ayuda) en: 24 Abril 2020, 23:54 pm
No es lo mismo hablar del índice que del código. Como ves tu programa no mantiene una correspondencia entre una cosa y otra por lo que no puedes borrar un artículo por su código pensando que va a estar en el índice del array igual a su código. Tendrías que pensar cómo quieres borrar el artículo:
  • Por índice -> Compruebas que el índice sea menor a la longitud del ArrayList y en caso de no serlo muestras un mensaje de error.
  • Por código -> Recorres el ArrayList para buscar el artículo con ese código y si lo encuentras, lo eliminas; sino, puedes mostrar un mensaje de error también.

Ahora prueba a codificar la opción que quieras y si tienes algún problema pon tu código entre etiquetas de Código GeSHi eligiendo el lenguaje apropiado (Java).
Suerte. :-X
258  Programación / Java / Re: Obtener sub-secuencias continuas de un numero en: 23 Abril 2020, 23:43 pm
No te daré el código pero te daré una idea...
Supón que tienes un número de 5 cifras como el de tu supuesto (49142). Puedes hacer las siguientes subsecuencias:
Código:
Longitud 1: 4 - 9 - 1 - 4 - 2
Longitud 2: 49 - 91 - 14 - 42
Longitud 3: 491 - 914 - 142
Longitud 4: 4914 - 9142
Longitud 5: 49142 (Esta última puede obviarse como subsecuencia... Dependerá de tu lógica del problema, es decir, que tú sabrás si considerarla o no)

Lo que hay que conseguir es un patrón y de aquí podemos obtener el siguiente:
Se empiezan generando n subsecuencias de longitud 1 siendo n el número de cifras del número en cuestión. A partir de ahí si se incrementa la longitud de la subsecuencia en x, se decrementará el número de subsecuencias en x también. Dicho de otra forma:
Código:
Longitud: 1 -> Subsecuencias: n
Longitud: 2 -> Subsecuencias: n-1
...

Tienes que hacer una estructura repetitiva, un bucle. Sabes cuántas veces se repetirá dicho bucle? Sí, n veces si se considerá la subsecuencia de longitud n o n-1 si se considerán las subsecuencias hasta longitud = n-1. Entonces el bucle más adecuado es un for(). Voy a suponer que el número completo también forma una subsecuencia para no tener que explicar ambas posibilidades. Tú puedes modificarlo para que no sea así.
El bucle puedes hacer que empiece con i = 1 y vaya hasta i = n y en cada iteración mostrarás las subsecuencias de longitud i. Para cada iteración de i, cuántas subsecuencias hay? Suponiendo que i empieza en 1, n - i + 1:
Código:
PARA EL SUPUESTO n = 5
Iteracion i = 1 -> Longitud: 1 -> Subsecuencias: 5-1+1 = 5
Iteracion i = 2 -> Longitud: 2 -> Subsecuencias: 5-2+1 = 4
...
Entonces tendrás que hacer un bucle for() dentro del primer bucle for(). Este haremos que empiece en j = 0 hasta s (subsecuencias) = n-i+1. Y en cada iteración de este bucle interno tienes que mostrar el número empezando en la cifra j y con una longitud de i. (Suponiendo que 0 es la primera cifra del número y n-1 la última).

Lo que te queda es ver cómo muestras la parte del número que te interesa. La mejor opción es guardar el número en un array (vector) dejando cada cifra del número en una posición del array.
Otra opción es usar las matemáticas:
Código:
SI n ES UN NUMERO ENTERO:
n % 10 -> Devuelve la última cifra
n % 100 -> Devuelve las dos últimas cifras
...
n / 10 -> Devuelve el número sin la última cifra
n / 100 -> Devuelve el número sin las dos últimas cifras
...

El resto tiene que salir de ti. Si tienes alguna duda concreta siempre puedes preguntar pero tienes que esforzarte para entender todo lo expuesto anteriormente así que antes de preguntar puedes coger un papel y boli y ver cómo se repiten los patrones que te he dicho. No esperes que te demos la solución sin esfuerzo porque eso no va a pasar. Suerte.
259  Programación / Bases de Datos / Re: Ejer Alg relacional en: 18 Abril 2020, 22:32 pm
Dadas las siguientes tablas.
BOMBERO(#Cod_Bom, Nombre, Apellidos, Fecha_Nac, DNI, Dirección, Teléfono, Cod_Parque, Cod_Eq, Puesto)
PARQUE BOMBEROS(#Cod_Parque, Nombre, Dirección, Teléfono, Categoría)
EQUIPO(#Cod_Eq, Nombre)
PETICION_SERVICIO(#Cod_Pet_Serv, Tipo_Serv, Grado_Urgencia, Cod_Eq)
RECIBE(#Cod_Parque, #Cod_Pet_Serv, Fecha, Hora)
Se pide:

a) Código de todas las peticiones de servicio de gravedad 7.
b) Código de todas las peticiones de servicio de gravedad 7 recibidas por el parque de bomberos “Casa de Campo”.
c) Códigos de todos los equipos que respondieron a cualquier petición de servicio de gravedad 7 recibidas por el parque de bomberos “Casa de   Campo”.
d)Nombre de los bomberos que pertenecen a cualquier equipo que respondiera a cualquier petición de servicio de gravedad 7 recibida por el parque de      bomberos “Casa de Campo”.

Si necesitas CodEq, tendrás que mirar en todas las tablas para ver dónde tienes ese dato y luego ver de todas las tablas que lo tengan, cuál es el que necesitas usar.
Para ahorrarme un mensaje: En este caso tienes un CodEq en la tabla Peticion y esa tabla ya la usabas en la consulta del apartado b, por lo que solo tienes que cambiar el campo seleccionado con PI() de CodPeticion a CodEq...



Para qué quieres usar PI(CodPetServ)?? Estás buscando el código de la petición?? Yo creo que no.
260  Foros Generales / Dudas Generales / Re: Nuevo en el foro, ¿este foro es para mi? en: 18 Abril 2020, 22:13 pm
Supongo que cada uno tendrá una visión de este foro según el tiempo que lleva en él y comparándolo con otras plataformas; así que de primeras te diría que pruebes. El foro no es un curso en el que tengas que leerte cada tema e ir haciendo exámenes. Es un espacio con mucha información suelta y tú tendrás que ver si lo que ves te sirve o no.

Yo llevo unos cuantos años leyendo cosas de este foro aunque empecé a participar en él de forma más activa años después. Y desde mi punto de vista creo que es de los mejores foros, sino el mejor, que puedes encontrar además de que no se centra en un solo tema; hay muchos subforos y cada quien estará más cómodo en su territorio pero siempre puedes moverte a otro subforo y empezar a aprender cosas nuevas.
Algo que puedo decir de este foro comparado con otros es que muchas de las explicaciones que se dan están basadas en documentación oficial o en buenas prácticas y no en "es que yo lo hago así" (cosa que sí he visto en otros foros y que al final te acaban inculcando malas prácticas y unas bases mal formadas).
Como dice @warcry: hay personas que saben lo que hacen y con las que aprendes a tener unas buenas bases y yo creo que no es complicado que te ayuden en algún problema que tengas (no están escondidos esperando un tema que realmente les apasione para contestar, aunque algunos igual sí, no lo sé :silbar: :xD).

También es cierto que tienes que hacer un uso correcto del foro. Si esperas que te hagan las tareas, que te solucionen la vida, etc; entonces no es para ti pero ni este foro ni ningún otro. Tengo la sensación de que harías un buen uso de éste (igual me equivoco) pero como ya te he dicho y te repito: Quédate y pruébalo. No pierdes nada. Suerte. ;D
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 88
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines