Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

Programacion general desde cero

Participa en el tema Programacion general desde cero en el foro Programación.
Originalmente publicado por jay86...2

Buscar en este tema:
< 1 2 3 4 5 >
 
  •  
    jay86 escribió hace 10 meses
     
    #1 Programacion general desde cero
    Mostrar el primer mensaje completo
  • #11 Re: Programacion general desde cero

    Originalmente publicado por jay86 Ver mensaje
    Buenas a todos, les comento hace poco me decidi a empezar con programacion y empeze a buscar cursos en la ciudad de rosario-santa fe... pero tambien tenia la necesidad de trabajar y resulta que ahora me ofrecen un trabajo en una ciudad a pocas horas de rosario pero que no me permitira hacer ningun curso. Y quiero por lo menos empezar por mi cuenta. Se que hay distintos tipos de lenguajes... pero no se cual es el "mejor"...lo pongo entre comillas porque no creo que uno sea "mejor" al otro si no bien "distintos" uds me sabran explicar mejor. En fin, cabe agregar que no se absolutamente nada al respecto de programacion, por donde me recomiendan que empieze a investigar y/o programar. me interesa tambien PHP y diseño web. pero mas me interesa programacion en general.
    Bueno en fin... mi consulta es por donde empezar?
    agrego que por donde empieze tendre que hacerlo por cuenta propia. uscando en internet y foros asique esperen mis posts..xD
    cualquier duda que tengan para ayudarme, pregunten sin pensarlo dos veces

    saludos y a ver q responden
    maestro , estoy en la misma que vos...
    asi es que cualquier data , me sirve .Yo empece por bajar home site y todavia no lo puedo ni abrir!!!!!!!!!!
    saludos
    goyo
    Me gusta este mensaje
  • #12 Re: Programacion general desde cero

    Originalmente publicado por HeavenMight Ver mensaje


    Ahora que tiene que ver con el Debugging esto?, bueno ANTES de PROCESAR el DATO , BASE Y ALTURA puedo hacer lo siguiente
    Código:
     
     INPUT "INGRESE BASE", BASE;
     INPUT "INGRESE ALTURA", ALTURA;
     IF (ALTURA >= 0  && ALTURA <= 0 && BASE >= 0 && BASE <= 0) THEN{
          AREA =( BASE * ALTURA )/ 2;
          PRINT AREA }
     ELSE {
            PRINT "NO ME INGRESASTE NUMEROS"
            QUIT PROGRAM;
    }
    


    lo que hago es INPUT para pèdir ALTURA Y BASE y guardarlos en variables que Se llaman ALTURA Y BASE ( que original no? )
    Luego pregunto con el IF, SON ALGUN TIPO DE NUMERO ; SEAN NEGATIVO O POSITIVOS ?

    SI lo son hace AREA = (BASE*ALTURA)/2

    SINO

    SALE DEL PROGRAMA ( QUIT PROGRAM )

    Ahi Evitamos que el Codigo nos proboque un error, Este tipo de Debbuging que hicimos se le llama VALIDACION; pero existen otros tipos de Debugging, como por ejemplo

    INT RESULTADO;
    INT BASE;
    INT ALTURA;
    INT AREA;
    Ahi dije que todos los datos van a Ser NUMEROS ENTEROS; vamos a creer que el Usuario es responsable y me Ingresa solo NUMEROS ENTEROS

    ENTONCES PUEDO DECIR; Usuario Ingresa 10( base ) y 20 ( altura )

    RESULTADO = BASE * ALTURA
    AREA = RESULTADO / 2

    Esto es correcto? es igual a AREA = ( BASE * ALTURA ) / 2?
    EN realidad Si nosotros usamos la calculadora, o la cabeza ( cada tanto hay que usarla, para algo mas que recibir trompadas a la salida del boliche )

    Mira RESULTADO = 200
    Luego AREA es = a 200 / 2
    Por ende AREA es = a 100
    y en el ORIGINAL
    AREA = (20 * 10) / 2
    AREA = 200

    Ufff, que paso llegue al mismo resultado,Sisi.. LLegaste a lo mismo, pero que paso YO en uno de los casos uso una variable mas ( RESULTADO ) esta variable, esta al "PEDO", por que puedo hacerlo de una manera mas "EFICIENTE", sin usar RESULTADO. dado que resultado acumula bytes de memoria. Parece una boludes, pero cuando sabes programar mas o menos eso parece una burrada
    es como la H es Muda, pero se escribe, aca Resultado es IRRELEVANTE, por ende NO SE USA, Siempre que se pueda no usar.

    Este tipo de Debugging se denomina "BETTER CHOISE", o mejor eleccion es la eliminacion de algunos parametros INECESARIOS y SIMPLIFICACION DE TAREAS;

    Con Debugging, te vas a encontrar como 70 clases de debugging y me quedo corto, Ni yo me los acuerdo todos, pero cuando uno sabe programar puede ver un codigo y mejorarlo siempre que sea posible mejorarlo.


    CON RESPECTO a QUE LENGUAJE ES MEJOR PARA EMPESAR; Mira yo te tiro una OPIÑON no la tomes como CORRECTA, dado que NO EXISTE lo Correcto, o Acertado, si no LO APROPIADO, que depende mucho del ENTORNO ; RECURSOS; y OTROS FACTORES ( en este caso tu personalidad y capacidad,etc )
    Comenza con Qbasic , por 2 semanitas para pasar el PSEUDO CODIGO de la carpeta a la PC;
    Luego No tomes en cuenta NADA de Qbasic, ¿por que?.Por que Qbasic, era para que vieras que podes pasar el codigo y el diagramita de flujo a la PC, y que sos capaz de hacer un programa, por mas trucho que sea.

    Luego Hace cosas como Logins, Calculadoras, Como sacar mi Sueldo Neto, Cuando alumnos tiene una escual, Cual es el promedio de Notas de esa escuela, Ardenar 10 numeros de menor a mayor, y cosas simples, Pero todo esto en JAVASCRIPT, ( NO ES JAVA, ES JAVASCRIPT )

    Asesorate sobre el lenguaje, usalo por 2 meses hasta que te afines en la programacion
    ¿por que opinas que JavaScript es bueno para aprender?;
    Bueno el codigo no es ultra fuerte,pero no es endeble como el de Visual Basic, Ademas es parecido al Codigo que vas a ver en C y C++, por lo que te da una Familiaridad cuando SALTAS de JavaScript a C o C++ y Ademas es un lenguaje estructurado, lo cual permite que te de bueno habitos de como crear codigo Ordenadamente y es facil, debuggear errores, por lo que te afina MUCHO la capacidad de programacion Eficaz y eficiente.
    Bueno si tenes mas dudas. o queres un mini tuto, Deja un Mensaje pidiendo mi MSN



    heaven, me quedo una dudita... yo solo se pascal, porque recien estoy empezando a programar y es el primer lenguaje que me enseñron en la universidad... pero tengo una duda con el IF de tu codigo, supongo que el && es igual al and de pascal.
    ahora, con lo que vi en pascal de condicionales y los conectores logicos, si vos pones
    Código:
     IF (ALTURA >= 0  && ALTURA <= 0 && BASE >= 0 && BASE <= 0) THEN{
          AREA =( BASE * ALTURA )/ 2;
          PRINT AREA }
    
    seria igual a:
    Código:
    if ((ALTURA >= 0)  and (ALTURA <= 0) and (BASE >= 0) and (BASE <= 0)) 
       THEN  begin
                  AREA :=( BASE * ALTURA )/ 2;
                  writeln (area);
                 end
    
    pero se que si pones todas condiciones unidas con Y (and o &&) se tienen que cumplir todas a la vez para que el resultado de la condicion de verdadero y por lo tanto entre al then... y en tu caso no da nunca verdadero? porque si altura es mayor a cero no es menor a cero...

    perdon si me mande cualquiera, capas que en ese leguaje son distintos los condicionales! por favor expliquenme la duda!!
    Me gusta este mensaje
  • #13 Re: Programacion general desde cero

    El ejemplo que di que vos citas, es en PSEUDO CODIGO, osea no es ningun lenguaje de programacion.
    Ademas esta mal planteado, ya se que queres hacer. Ahora paso a explicarte al final, primero veamos esto:
    Código:
    IF ( A <= 0 ) and( A => 0 ) AND ( B >= 0 ) and ( BASE <= 0 ) THEN DoEvents
    
    es inecesario. Es mas en tu codigo vos toda la condicion del If la encerras en parenteses, lo cual no le veo el caso.Pero... funciona, Sin embargo el encerrarlos todos en un parentesis por ahi es para hacer un IF NOT
    Código:
    IF NOT( ( A <= 0 ) and ( A => 0 ) AND ( B >= 0 ) and ( BASE <= 0 ) ) THEN DoEvents
    
    Igualmente la duda que planteas, es del un compilador, que mas de algoritmos, Paso a explicarme

    Si yo pongo en Visual C++
    Código:
    IF (A <= 0 and A => 0 AND B >= 0 And BASE <= 0 ) {
    DoEvents
    }
    
    Funciona, perfectamente

    Ahora si uso Dev-C++, El anterio codigo NO funciona, por que el compilador me mata a trompadas.
    Este es el codigo como funcionaria.

    Código:
    IF ( (A <= 0 and A => 0 ) AND ( B >= 0 And BASE <= 0 ) ) 
    {
    DoEvents
    }
    
    Obviamente, esto en Visual C++ no me funciona

    Paso a explicar donde esta la Equivocacion en la correccion.
    Antes que nada como veras Yo colorie los AND, Antes que nada aclaro que en C++ no se Usa "AND" sino &&, pero la idea era remarcar los AND, asi que los puse
    Tip: && se llama Ampersand
    Mas info del Ampersand Aqui: Wiki

    Bueno en tu ejemplo veamos
    Código:
    Program Ejemplo(output);
    (ALTURA:integer;BASE:integer;AREA:integer):integer;
     
    if ( ( ALTURA >= 0 )  and ( ALTURA <= 0 ) and ( ( BASE >= 0 ) and ( BASE <= 0 ) ) 
       THEN begin
                  AREA :=( BASE * ALTURA )/ 2;
                  writeln (area);
                 end
     
    Bueno en tu ejemplo vos tenes asi
    IF (Estructura) and (Estructura) AND (estructura2) and (estructura2) THEN ... blabla
    Se nota a donde voy no?. La idea es que vos Encerras en parentesis a la Primera , la segunda, tercera, y cuarda.
    Pero vos lo que intentabas era AGRUPAR : la PRIMERA Y SEGUNDA Y(CON) TERCERA Y CUARTA

    Por que lo que vos viste que yo hacia, era Condicionar parametros para ALTURA entre la PRIMERA ESTRCUTURA y LA SEGUNDA ESTRUCTURA.

    Luego condicionaba BASE , con la TERCERA ESTRUCTURA, y LA CUARTA ESTRUCTURA.

    Por lo que en tu ejemplo el compilador lo leeria asi, en Al menos C++,C, Visual 6, net,Java,Viper, Python y Ruby Head-Heart.

    PRIMERA \ DESPUES LEE LAS SEGUNDA "APARTE" DE LA PRIMERA\ .( Por lo que aca ya no funciona lo que queremos ahcer y CUALQUIER numero sigue de largo )
    DEPUES IGNORA la TERCERA y LA CUARTA por que la condicion ya se cumplio por usar parentesis por cada estructura.

    Lo que vos me quisiste corregir era esto
    Código:
    Program Ejemplo(output);
    (ALTURA:integer;BASE:integer;AREA:integer):integer;
    if ( ( ALTURA >= 0  and ALTURA <= 0) AND (  BASE >= 0  and ( BASE <= 0 ) ) 
       THEN begin
                  AREA :=( BASE * ALTURA )/ 2;
                  writeln (area);
                 end 
    ANTES que nada aclaro que AGREGUE ESTO

    Program Ejemplo(output);
    (ALTURA:integer;BASE:integer;AREA:integer):integer;


    Asi de esta manera PRIMERO VERIFICAMOS SI ALTURA ES COMO QUEREMOS Osea podemos decir que ALTURA != 0 ( ALTURA DIFERENTE DE CERO ) y BASE !=0 ( BASE DIFERENTE DE CERO )

    Igualmente el tema viene perfecto para quien leea la respuesta, por que es sobre AGRUPAR condiciones, que muchas veces incluso a mi me ha pasado que el codigo parece 101% perfecto pero por tonterias como estas los ciclos IF no validan lo que tiene que validar y Se rompe todo

    La confucion surgue dado que en programacion podemos usar varias terminos, pero en algun lenguaje que otro no funciona TAL CUAL esta ESCRITO, pero la IDEA es SIEMPRE igual por lo que, la programacion siempre en BASE es lo MISMO y si uno sabe ESTRUCTURAR el programa NO IMPORTA si lo programa en C. C++ , VISUAL BASIC o EN MAQUINA DE ESCRIBIR DEL SIGLO XIX.

    Voy a poner el Codigo 100% Correcto, sin Ambiguedades de 2 formas. La ESTANDARy La MEDIA que la MEDIA suele funcionar en LA MAYORIA de los LENGUAJES, pero cito un ejemplo- EN VISUAL BASIC NO FUNCIONARA LA "MEDIA"

    PARA PSEUDO CODIGO
    FORMA ESTANDAR:

    Código:
    if ( ( ALTURA >= 0  andALTURA <= 0) AND (  BASE >= 0  and ( BASE <= 0 ) ) 
       THEN   AREA =( BASE * ALTURA )/ 2;
                  PRINT (area);
      END IF 
    FORMA MEDIA:
    Código:
    if (   ALTURA != 0AND ALTURA != ) 
       THEN   AREA =( BASE * ALTURA )/ 2;
                  PRINT (area);
      END IF 
    EL A != B en Programacion significa A NO ES IGUAL A VALOR B.
    EL != en visual basic no esta Estandarizado por lo que no va a tirar Error el compilador, por eso no va a andar. Pero en JAVA; C,C++, JAVASCRIPT, RUBY, FUNCIONA AL 100%

    Ya que citamos un Lenguaje como Pascal ( bueno para empesar a programar ).

    Se puede observar que se usa BEGIN y END. en Pascal, tenemos como caracteristica que TODO programa para INICIAR EL CUERPO DEL PROGRAMA necesita de la INSTRUCCION ( comando ) "BEGIN" y para FINALIZARLO se usa "END"

    Bueno Salu2 y Suerte!
    Editado por HeavenMight - 11.03.2009 12:37 hs. | Motivo: Sepan disculpar los crimenes de Lesa Humanidad contra la Ortografia xD
    Me gusta este mensaje
  • #14 Re: Programacion general desde cero

    Originalmente publicado por HeavenMight Ver mensaje
    El ejemplo que di que vos citas, es en PSEUDO CODIGO, osea no es ningun lenguaje de programacion.
    Ademas esta mal planteado, ya se que queres hacer. Ahora paso a explicarte al final, primero veamos esto:
    Código:
    IF ( A <= 0 ) and( A => 0 ) AND ( B >= 0 ) and ( BASE <= 0 ) THEN DoEvents
    
    es inecesario. Es mas en tu codigo vos toda la condicion del If la encerras en parenteses, lo cual no le veo el caso.Pero... funciona, Sin embargo el encerrarlos todos en un parentesis por ahi es para hacer un IF NOT
    Código:
    IF NOT( ( A <= 0 ) and ( A => 0 ) AND ( B >= 0 ) and ( BASE <= 0 ) ) THEN DoEvents
    
    Igualmente la duda que planteas, es del un compilador, que mas de algoritmos, Paso a explicarme

    Si yo pongo en Visual C++
    Código:
    IF (A <= 0 and A => 0 AND B >= 0 And BASE <= 0 ) {
    DoEvents
    }
    
    Funciona, perfectamente

    Ahora si uso Dev-C++, El anterio codigo NO funciona, por que el compilador me mata a trompadas.
    Este es el codigo como funcionaria.

    Código:
    IF ( (A <= 0 and A => 0 ) AND ( B >= 0 And BASE <= 0 ) ) 
    {
    DoEvents
    }
    
    Obviamente, esto en Visual C++ no me funciona

    Paso a explicar donde esta la Equivocacion en la correccion.
    Antes que nada como veras Yo colorie los AND, Antes que nada aclaro que en C++ no se Usa "AND" sino &&, pero la idea era remarcar los AND, asi que los puse
    Tip: && se llama Ampersand
    Mas info del Ampersand Aqui: Wiki

    Bueno en tu ejemplo veamos
    Código:
    Program Ejemplo(output);
    (ALTURA:integer;BASE:integer;AREA:integer):integer;
     
    if ( ( ALTURA >= 0 )  and ( ALTURA <= 0 ) and ( ( BASE >= 0 ) and ( BASE <= 0 ) ) 
       THEN begin
                  AREA :=( BASE * ALTURA )/ 2;
                  writeln (area);
                 end
     
    Bueno en tu ejemplo vos tenes asi
    IF (Estructura) and (Estructura) AND (estructura2) and (estructura2) THEN ... blabla
    Se nota a donde voy no?. La idea es que vos Encerras en parentesis a la Primera , la segunda, tercera, y cuarda.
    Pero vos lo que intentabas era AGRUPAR : la PRIMERA Y SEGUNDA Y(CON) TERCERA Y CUARTA

    Por que lo que vos viste que yo hacia, era Condicionar parametros para ALTURA entre la PRIMERA ESTRCUTURA y LA SEGUNDA ESTRUCTURA.

    Luego condicionaba BASE , con la TERCERA ESTRUCTURA, y LA CUARTA ESTRUCTURA.

    Por lo que en tu ejemplo el compilador lo leeria asi, en Al menos C++,C, Visual 6, net,Java,Viper, Python y Ruby Head-Heart.

    PRIMERA \ DESPUES LEE LAS SEGUNDA "APARTE" DE LA PRIMERA\ .( Por lo que aca ya no funciona lo que queremos ahcer y CUALQUIER numero sigue de largo )
    DEPUES IGNORA la TERCERA y LA CUARTA por que la condicion ya se cumplio por usar parentesis por cada estructura.

    Lo que vos me quisiste corregir era esto
    Código:
    Program Ejemplo(output);
    (ALTURA:integer;BASE:integer;AREA:integer):integer;
    if ( ( ALTURA >= 0  and ALTURA <= 0) AND (  BASE >= 0  and ( BASE <= 0 ) ) 
       THEN begin
                  AREA :=( BASE * ALTURA )/ 2;
                  writeln (area);
                 end 
    ANTES que nada aclaro que AGREGUE ESTO

    Program Ejemplo(output);
    (ALTURA:integer;BASE:integer;AREA:integer):integer;


    Asi de esta manera PRIMERO VERIFICAMOS SI ALTURA ES COMO QUEREMOS Osea podemos decir que ALTURA != 0 ( ALTURA DIFERENTE DE CERO ) y BASE !=0 ( BASE DIFERENTE DE CERO )

    Igualmente el tema viene perfecto para quien leea la respuesta, por que es sobre AGRUPAR condiciones, que muchas veces incluso a mi me ha pasado que el codigo parece 101% perfecto pero por tonterias como estas los ciclos IF no validan lo que tiene que validar y Se rompe todo

    La confucion surgue dado que en programacion podemos usar varias terminos, pero en algun lenguaje que otro no funciona TAL CUAL esta ESCRITO, pero la IDEA es SIEMPRE igual por lo que, la programacion siempre en BASE es lo MISMO y si uno sabe ESTRUCTURAR el programa NO IMPORTA si lo programa en C. C++ , VISUAL BASIC o EN MAQUINA DE ESCRIBIR DEL SIGLO XIX.

    Voy a poner el Codigo 100% Correcto, sin Ambiguedades de 2 formas. La ESTANDARy La MEDIA que la MEDIA suele funcionar en LA MAYORIA de los LENGUAJES, pero cito un ejemplo- EN VISUAL BASIC NO FUNCIONARA LA "MEDIA"

    PARA PSEUDO CODIGO
    FORMA ESTANDAR:

    Código:
    if ( ( ALTURA >= 0  andALTURA <= 0) AND (  BASE >= 0  and ( BASE <= 0 ) ) 
       THEN   AREA =( BASE * ALTURA )/ 2;
                  PRINT (area);
      END IF 
    FORMA MEDIA:
    Código:
    if (   ALTURA != 0AND ALTURA != ) 
       THEN   AREA =( BASE * ALTURA )/ 2;
                  PRINT (area);
      END IF 
    EL A != B en Programacion significa A NO ES IGUAL A VALOR B.
    EL != en visual basic no esta Estandarizado por lo que no va a tirar Error el compilador, por eso no va a andar. Pero en JAVA; C,C++, JAVASCRIPT, RUBY, FUNCIONA AL 100%

    Ya que citamos un Lenguaje como Pascal ( bueno para empesar a programar ).

    Se puede observar que se usa BEGIN y END. en Pascal, tenemos como caracteristica que TODO programa para INICIAR EL CUERPO DEL PROGRAMA necesita de la INSTRUCCION ( comando ) "BEGIN" y para FINALIZARLO se usa "END"

    Bueno Salu2 y Suerte!
    mm, creo q te entendi! ...
    pero tenes un error conceptual... la altura y la base nunca pueden ser menores a cero ni iguales a cero, por lo tanto bastaria con:

    if (base>0) and (altura>0)
    then area:=(base*altura)/2;
    writeln(area);

    siempre que todas las veariables esten declaradas e inicializadas... te recuerdo que solo se pascal, lo que te preguntaba fue porque estaba pensando en el algoritmo y en pascal! jeje
    Editado por DamiVal - 11.03.2009 13:03 hs.
    Me gusta este mensaje
  • #15 Re: Programacion general desde cero

    Bueno cuando tenes que validar, vas a tener que evitar que entren los datos mas obvios y mostrar siempre informacion del final del proceso, por mas que te ingresen algo INVALIDO.

    Ley de murphy Nº8
    Es inútil hacer algo a prueba de Idiotas, porque los Idiota son muy ingeniosos.

    Por lo que vos podes poner que "INGRESEME LA BASE" y luego "INGRESEME LA ALTURA".
    Entonces por ahi un salame te ingresa 2 , ceros.
    Entonces Algo le tenes que mostrar por pantalla. Sea un cartel que diga "No che, el cero no vale" o el mismo resultado de la operacion "0"

    Sino el programa sigue de largo y no te muestra nada . Pero eso si "SOLO EN ENTE EJEMPLO, por que es el CASO"

    EDIT-----
    Osea ya se que no puede dar, 0 pero Si un salamin te ingresa 2 ceros, Yo le muestro lo que quiere,
    Osea el resultado > es decir 0
    Editado por HeavenMight - 11.03.2009 13:31 hs.
    Me gusta este mensaje
  • #16 Re: Programacion general desde cero

    tenes razon heaven!! yo solo estaba pensando en ese if, que es una parte del programa o de alguna funcion q retorne la altura del triangulo, ese if deberia estar despues de algoa asi:

    repeat
    Write('ingrese un valor para la altura: ');
    readln(altura);
    until (altura>0);
    repeat
    writeln('ingrese el valor de la base: ');
    readln(base);
    until (base>0);

    o algun otro recurso que le diga o le de a entender al usuario que las medidas son SIEMPRE positivas... jeje
    estubo buena tu aclaracion!
    Editado por DamiVal - 11.03.2009 13:57 hs.
    Me gusta este mensaje
  • #17 Re: Programacion general desde cero

    POR FAVOR UN APLAUSO PARA HeavenMight
    Me gusta este mensaje
  • #18 Re: Programacion general desde cero

    Gracias por el tuto Heaven , muy bueno
    Me gusta este mensaje
  • #19 Re: Programacion general desde cero

    mira, si queres aprender algo muy PODEROSO Y SIMPLE, estudia VISUAL BASIC, y despues que sepas bien, estudia .NET, es un consejo muy positivo que te hago, el C++ es dificil.

    saludos y dale para adelante en el mundo de la programacion.
    Me gusta este mensaje
  • #20 Re: Programacion general desde cero

    Originalmente publicado por ntime Ver mensaje
    mira, si queres aprender algo muy PODEROSO Y SIMPLE, estudia VISUAL BASIC, y despues que sepas bien, estudia .NET, es un consejo muy positivo que te hago, el C++ es dificil.

    saludos y dale para adelante en el mundo de la programacion.
    Si empesas desde visual basic y vas a C++, va a ser super dificil, si lo haces al revez, es mas facil aprender C++, y despues visual es una pavada.

    Ademas con C++ te das cuenta de habitos como usar clases, funciones y estructuras, que al principio si comenzas con Basic, no las agarras bien.

    Salu2
    Me gusta este mensaje
< 1 2 3 4 5 >
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 42 RESPUESTAS
  • 7434 VISTAS
  • 14 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB