Read this guide in other languages
Acesta este un proiect destul de simplu, accesibil incepatorilor in open source si este perfect pentru iti face prima contributie. Oricine poate contribui.
Scopul acestui proiect este de a crea o baza de date cu algoritmi pentru orice limbaj de programare, unde fiecare program va returna elementul n din una dintre secventele din urmatoarea pagina wikipedia. https://en.wikipedia.org/wiki/List_of_integer_sequences
Linkul wikipedia contine o lista de secvente de integeri importante (ex: numere prime, secventa Kolakoski, numerele Motzkin, numerele Luca, etc)
'n' reprezinta un input de tip integer dat de utilizator. De exemplu, daca inputul este 2, atunci algoritmul ar trebui sa returneze al treilea element din secventa (deoarece numaratoarea incepe la 0, primul element din secventa este pentru n=0, al doilea element e pentru n=1, etc)
Daca cineva trebuie sa implementeze una dintre secventele de integeri mai obscure de pe wikipedia in propiul program, sunt sanse mari ca ei sa fie nevoiti sa isi faca propiul program de la 0, pentru a gasi elementul n in secventa, deoarece nu exista cod (pe internet) pentru a generea secvente obscure.
Vreau sa completez aceasta baze de algoritmi pentru a fi mai usor altora sa foloseasca algoritmii pentru a nu pierde timp facandu-si propiul algoritm. Oricine are voie sa foloseasca codul din acest proiect chiar si fara a cere permisiune deoarece acest proiect nu are licienta.
Aruncati o privire pe pagina de wikipedia: https://en.wikipedia.org/wiki/List_of_integer_sequences
Alegeti o lista de secvente de integeri si creati un algoritm (pentru orice limbaj de programare) care sa returneze elemetnul n din secventa. Numaratorea incepe la 0, deci daca inputul utilizatorului este n=0, acesta va returna primul element din secventa, n=1 pe al doilea, etc. Inainte de a incepe aruncati o privire pe registrul proiectului (project repository) si verificati daca nu exista deja secventa respectiva in limbajul ales.
De exemplu, daca cineva a creat un algoritm de Python pentru numerele Bell si l-a adaugat in proiect, poti crea un algoritm pentru numerele Bell in orice alt limbaj, dar nu cu Python.
Daca nu exista cod pentru o secventa, poti sa-l creezi tu in orice limbaj de programare vrei.
Analizeaza codul care deja exista in acest proiect si ghideaza-te dupa acesta cand iti faci propiul algoritm.
Cand esti multumit cu ce ai facut, trimite un pull request folosind modelele pull request. Iti voi verifica codul si dupa il voi adauga in proiect. Daca functioneaza, va fi adaugat. Nu conteaza cum este scris, sau ce viteza are.
De asemenea, poti modiifica sau imbunatatii cod care deja exista in proiect, trimite un pull request si iti voi verifica schimbarile. De exemplu, daca poti imbunatatii viteza codului, sau daca poti adauga comentarii, spatii unde trebuie, etc
Avand in vedere ca acesta este un proiect pentru incepatori, vreau sa explic pe scurt cum sa trimiti un pull request.
Deschide repository-ul si apasa pe fork (dreapta sus). Acest lucru creaza o copie a proiectului
Adaugati codul in copia respectiva.
Intuarcete la proiectul original si apasa pe trimite pull request (submit pull request). Apasa pe "compare across forks". Selecteaza-ti copia proiectului ca head (cap) si proiectul original ca base (baza).
Apasa pe trimite pull request si lasa un comentariu relevant care explica codul pe care vrei sa il adaugi.
Sau poti folosi urmatoarele comenzi:
- Pentru a clona proiectul pe calculatorul tau foloseste
git clone repo-link folder_name
- Pentru a adauga fisirerele schimbate foloseste
git add file-name
- In caz ca ai schimbat mai multe fisiere si vrei sa le adaugi pe toate foloseste
git add .
- Pentru a da commit la schimbari foloseste
git commit -m "Fixed Issue #issue_number"
- Pentru a trimite (push = impinge) schimbarile foloseste
git push origin Branch-name