[Hilo Oficial] Esto también es otro arte...el ARTE de programar
#1
Cita
[Imagen: titulo_zps3c574316.png]

Pues sí, programar bien es todo un arte en sí mismo. Encontrar el algoritmo perfecto, el más eficiente, simple y fácil de entender es casi como buscar el santo Grial. Llevo tiempo con la idea de abrir este hilo y hoy me han animado así que allá vamos.

El principio básico sobre el que me gustaría que gire el hilo es compartir.

Esto me parece importantísimo, creo que en cualquier ámbito uno de los mayores placeres que puede haber es ayudar a alguien a aprender a través de algo que has hecho tú mismo. Pues bien, ¿Y qué podemos compartir?

Dudas, soluciones, código, links sobre algún tema, proyectos interesantes y demás zarandajas que se os ocurran.

Otra cosa que podría ser interesante es proponer katas o desafíos para ser resueltos por la comunidad, y 'competir' por hallar la mejor solución. Eso nos haría mejorar a todos y ver como afronta otro el mismo problema siempre es muy enriquecedor.
Con el tiempo, si la iniciativa cuaja hasta podríamos tener un repositorio en github o similares con nuestras soluciones.

Que a nadie le de verguenza participar o exponer sus dudas por muy tontas que les parezcan, nadie nace aprendido y llegar a ser un buen programador considero que es algo bastante difícil y aquí estamos para ayudarnos.
No os penséis que yo controlo mucho del tema X-D, al revés, todavía tengo un mundo por aprender (un mundo que no deja de crecer) pero siempre que pueda echaré una mano a quien lo necesite.


Declaro inaugurado el hilo oficial de programación de 33bits.



Links de interes


http://learnpythonthehardway.org/book/ex0.html
http://css-tricks.com/perfect-full-page-...und-image/
http://socket.io/get-started/chat/ //Cómo crear un chat usando node.js
http://writecodeonline.com/php/ //Para testear PHP y Javascript online
https://launchpadlibrarian.net/18980633/...0todos.pdf //Libro para aprender Python
http://www.baluart.net/articulo/como-cre...-a-objetos
http://www.w3schools.com/php/php_mysql_p...ements.asp //Sentendencias preparadas para consultas SQL, últil contra SQLi
https://css-tricks.com/custom-scrollbars-in-webkit/
http://www.aulaclic.es/java-en-video/ //Curso en vídeo de Java
http://www.lawebdelprogramador.com/
http://www.desarrolloweb.com/
https://youtu.be/9idgIGmQvAQ/ //Curso en vídeo de C
http://www.sgoliver.net/blog/curso-de-pr...ontenidos/ //Curso de Android


 
#2
Cita
Lo he hecho en c++ y juraria que esta bien xD
¿Como pongo el codigo para que sea legible por aqui?
[Imagen: ifar.png]
#3
Cita
Prueba con la etiqueta code.

Código:
int main()
{
    cout<<("Hola mundo");
    return 0;
}

Nos servirá┬á Smile
#4
Cita
Código:
#include <iostream>
using namespace std;

int main()
{
    int contador3 = 1;
    int contador5 = 1;
    int suma = 0;
    int i;
    for(i = 3; i < 1000; i++)
    {
        if(i/contador3 == 3)
        {
            contador3 = contador3 + 1;
            suma = suma + i;
        }
    }
    
    for(i = 5; i < 1000; i++)
    {
        if(i/contador5 == 5)
        {
            contador5 = contador5 + 1;
            suma = suma + i;
        }
    }
    cout << "El resultado es :"<< suma << endl;
    return 0;
}
[Imagen: ifar.png]
#5
Cita
Uysss, voy a intentar no mirar este hilo hasta mañana, que yo también quería intentarlo en C++.
#6
Cita
Pues mejor espera a mañana sí┬á Tongue ifar B el resultado es #233168 y tú ejercicio está bien┬á birra:

Mi solución es parecida a la tuya pero utilizando únicamente un solo bucle.

Código:
#include <iostream>
using namespace std;

int sumaMultiplos(int num)
{
    int suma = 0;

    for(int i = 3; i < num; i++)
    {
        if(( i % 3 == 0) || ( i % 5 == 0))
        /*
┬á ┬á ┬á ┬á ┬á  Si el resto de i / 3 es igual a cero o
┬á ┬á ┬á ┬á ┬á  el resto de i / 5 es igual a cero.
        */
        {
            suma = suma + i;
        }
    }

    return suma;
}

int main()
{
    cout << sumaMultiplos(1000) << endl;
    return 0;
}

Y ahora dejo la misma solución en javascript.

Código:
function sumaMultiplos(n)
{
    var suma = 0;
    
    for (i = 1; i < n; i++)
    {
        ((i % 3 == 0) || (i % 5 == 0)) ? suma = suma + i: suma = suma;
        /* condición a evaluar ? código a ejecutar si la condición es verdadera: código a ejecutar si la condición es falsa.*/
    }
    
    return suma;
}

alert(sumaMultiplos(1000));


Y un ejemplo más en Python

Código:
def sumaMultiplos(n):
    suma = 0
   
    for i in range(n):
        if (i % 3 == 0) or (i % 5 == 0):
            suma = suma + i
       
    return suma

Como veis es bastante menos estricto que C++, el tipado de las variables es dinámico no es necesario poner el tipo cuando se declaran.
No se utiliza el ; (aunque si se los pones no pasa nada) y los bloque de código se separan por las indentaciones, no se utilizan las {}

range(n) devuelve una lista o array de valores hasta n - 1 (0, 1, 2, 3....999) el for i in (0, 1....999) hace que i itere sobre todos los elementos del array. Es equivalente al for que utilizamos en la solución en C++.
#7
Cita
[Imagen: Jackie-chan-meme.png]
#8
Cita
Jeje me alegro de ver que esta bien  Big Grin
Habia pensado yo tambien en hacerlo en un solo bucle pero lo hice por separado para que fuese mas facil de entender el codigo de cara a alguien que lo lea del exterior

Edit: javasript es bastante similar a java no? Java si se usarlo, python no(aunque me gustaria)
Ahora estoy empezando con C++ y la verdad no me resulta dificil de aprender
(Ultima edición: 24-10-2012 17:12 por ifar B.)
[Imagen: ifar.png]
#9
Cita
Si no te resulta difícil aprender C++, con Python también vas sobrado Smile por si algún día te animas te dejo un link a un libro maravilloso para aprender Python. https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf

Javascript a pesar del nombre no tiene nada que ver con java, tiene una sintaxis más parecida a C.
#10
Cita
(24-10-2012 17:17)Margaruga link Si no te resulta difícil aprender C++, con Python también vas sobrado Smile por si algún día te animas te dejo un link a un libro maravilloso para aprender Python. https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf

Javascript a pesar del nombre no tiene nada que ver con java, tiene una sintaxis más parecida a C.

Ostras muchas gracias tio, ire mirandomelo a ver que tal ^^
¿Eres programador a nivel profesional?
Yo estoy en primero de ingenieria informatica, poco a poco xD
[Imagen: ifar.png]
#11
Cita
Qué va! Soy un casi ingeniero informático al que le falta el proyecto para terminar, de profesional poco Tongue en la carrera aprendí a programar pero no a programar bien la verdad y tengo experiencia nula en proyectos complejos o importantes así que soy un mindundi.
#12
Cita
(24-10-2012 17:24)Margaruga link Qué va! Soy un casi ingeniero informático al que le falta el proyecto para terminar, de profesional poco Tongue en la carrera aprendí a programar pero no a programar bien la verdad y tengo experiencia nula en proyectos complejos o importantes así que soy un mindundi.
Eres mi yo dentro de 5 años┬á slowpoke:
No creo que seas un mindundi habiendo sacado adelante la carrera hombre
[Imagen: ifar.png]


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)