DOMANDA Imparare informatica da autodidatti

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

TheMagicGame

Nuovo Utente
Messaggi
16
Reazioni
2
Punteggio
26
Salve a tutti, sono un ragazzo di 15 anni e vorrei chiedervi dei consigli.

Da più piccolo mi è sempre piaciuto usare computer e in generale dispositivi elettronici e mi sono fatto una cultura di base in informatica (come è formato e quali sono i componenti di un computer, cos'è un sistema operativo, cosa sono i server ecc...) da quest'anno però ho provato a iniziare a prendere la cose un po' più seriamente, così ho provato a programmare, ho scelto JS perchè dicono che è un linguaggio non molto difficile e ottimo per iniziare.

Per adesso sono ancora all'inizio ma ho provato a fare un programmino semplice che scomponga un numero in fattori primi.

HTML:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">

    <title>Scomposition</title>
  </head>

  <body>

    <h3 >Insert the number here:</h3>

    <input type="number" id="number" >

    <p>Click the button to scompose the number in prime numbers.</p>

    <button onclick="myFunction()">Scompose</button>

    <p id="demo"></p>

      <script>
        function myFunction() {
          var n = document.getElementById("number").value;
          var s = n + ' = ';

          function testPrime(n){if (n===1){return false;}
            else if (n === 2) {return true;}
            else {for(var x = 2; x < n; x++){if(n % x === 0){return false;}}return true;}};

          for (var i = 2; testPrime(i)||i < n||n % i === 0 ; i++) {while(n % i === 0) {n/=i; s+=i+'x'};};

          s=s.substring(0, s.length -1);
          document.getElementById("demo").innerHTML = s;
        }
      </script>

  </body>
</html>

L'unica cosa è che mi sento ancora poco preparato nelle basi di informatica.

Potete per favore darmi dei consigli su cosa fare, eventuali libri da prendere ecc...

Grazie mille in anticipo
 
Ultima modifica:
Javascript per iniziare è una scelta senza senso, rimani su un linguaggio di programmazione convenzionate (C, C++, Java).
Ho dato un'occhiata alla funzione di test di primalità che hai scritto...
ad occhio "funzionicchia" ma è terribilmente inefficiente (non c'è alcun bisogno di fare tutte le divisioni fino a n): il test di primalità è un problema intrinsecamente serio dal punto di vista computazionale, nel senso che per numeri grandi richiede molto tempo di calcolo.
Programmare significa imparare a ragionare dal punto di vista algoritmico, e gli algoritmi devono anche essere efficienti;
Javascript non ti aiuta in questo, non è né carne né pesce, scegliti un linguaggio che ti "inquadri" e compra un libro di programmazione di base.
 
Ultima modifica:
Javascript per iniziare è una scelta senza senso, rimani su un linguaggio di programmazione convenzionate (C, C++, Java).
Ho dato un'occhiata alla funzione di test di primalità che hai scritto...
ad occhio "funzionicchia" ma è terribilmente inefficiente (non c'è alcun bisogno di fare tutte le divisioni fino a n): il test di primalità è un problema intrinsecamente serio dal punto di vista computazionale, nel senso che per numeri grandi richiede molto tempo di calcolo.
Programmare significa imparare a ragionare dal punto di vista algoritmico, e gli algoritmi devono anche essere efficienti;
Javascript non ti aiuta in questo, non è né carne né pesce, scegliti iun linguaggio che ti "inquadri" e compra un libro di programmazione di base.
Python può andare bene?
 
Vanno benissimo Python, Java, C, C++, C# ma Javascript proprio no, a meno che tu non sia orientato sulla programmazione web (inizialmente soprattutto lato client)
 
Ultima modifica:
A me hanno sempre detto che C è troppo difficile per cominciare, ma è vero?
 
Ultima modifica:
A me hanno sempre detto che C è troppo difficile per cominciare, ma è vero?

Inviato da SM-A520F tramite App ufficiale di Tom\\\'s Hardware Italia Forum
No non e' difficile se spiegato bene, poi online troverai molto piu materiale rispetto a python, questo perche' C viene usato a scopo didattico nelle universita' e anche nei licei in alcuni casi (io ho fatto visual basic come primo linguaggio al tecnico commerciale)
 
A me hanno sempre detto che C è troppo difficile per cominciare, ma è vero?
Il discorso non è così semplice;
se hai un buon insegnante, è suo compito dosare i concetti teorici e gli esercizi applicativi, in modo da assegnarti compiti ragionevolmente semplici/complicati senza dover per questo arrabbattarsi con le complicazioni intrinseche di ciascun linguaggio.
Se invece devi fare tutto da solo, dal punto di vista didattico è conveniente partire con Java, per il fatto che esegue automaticamente alcune operazioni che in C/C++ il neoprogrammatore deve gestire manualmente (e che gli procura grandi mal di testa perché vedrà molti programmi non funzionare anche quando il compilatore non gli segnala nessun errore).
A farla breve, è una questione di metodo; se vuoi cominicare con il C il libro suggerito da @Sinatrap va benissimo, a patto che tu non abbia fretta e che svolgi tutti gli esercizi suggeriti.
Se preferisci Java, suggerisco come sempre Programmazione di base e avanzata con Java di W. Savitch. Vale lo stesso discorso per gli esercizi.
Ti esorto a non dar retta ai saputelli di turno che ti dicono che i libri non servono tanto c'è tutto sul web: i libri servono eccome!
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top