Consiglio sulla prgrammazione

di il
14 risposte

Consiglio sulla prgrammazione

Salve a tutti, sono ormai 3 mesi buoni che mi esericito con c++ e vorrei dei consigli da parte dei più esperti per affrontare un periodo di demotivazione nel continuare a programmare. La questione è questa, ho imparato molto bene le basi del c++ ovvero classi di istruzioni, funzioni, programmi, array, strutture di array, ma continuo a non saper programmare autonomamente se non algoritmi veramente semplici. Me ne sono accorto guardando tracce d'esame univeristarie e la loro soluzione svolta , dove in teoria non c'è nulla di complicato o che non conosca, ma se dovessi farle io non saprei ancora dove mettere mano... Mi chiedo e vi chiedo, è normale che ancora non sappia risolvere problemi più complicati nonostante sappia le basi di tutto quello che ci vuole per risolverli? Come posso migliore dal punto di vista del ragionamento, del resto se fossi uno studente universitario, probabilmente avrei lo stesso problema, saprei fare esercizi più semplici, ma avrei difficoltà a svolgere tracce d'esame dove ovviamente c'è più dificoltà... Grazie a chi sa dare dei suggerimenti...

14 Risposte

  • Re: Consiglio sulla prgrammazione

    Tre mesi sono pochi.
    Se non sei uno studente perché lo fai? Ti serve per il lavoro?
  • Re: Consiglio sulla prgrammazione

    Perche' fai LO STESSO ERRORE che fa il 99.999999% di quelli che vogliono imparare a programmare e cioe' PENSARE che conoscere un linguaggio di programmazione VOGLIA DIRE saper programmare.

    NO, ASSOLUTAMENTE/TOTALMENTE/DEFINITIVAMENTE SBAGLIATO

    Si puo' saper programmare ANCHE SENZA conoscere uno specifico linguaggio di programmazione.

    Tra l'altro, hai iniziato con uno dei piu' COMPLICATI linguaggi di programmazione in circolazione.
    C'e' di peggio, ma, soprattutto, c'e' di MOOLTO meglio.

    PRIMA si imparano i concetti FONDAMENTALI della programmazione,
    POI si impara un linguaggio di programmazione per poterli mettere in pratica e fare esercizi
    POI si impara a programmare, realizzando algoritmi piu' complessi.

    All'universita' avrebbero fatto esattemente questo percorso. QUINDI, fondamentalmente, NON AVRESTI lo stesso problema, perche' chi di dovere ti avrebbe fatto fare il percorso di studio corretto!

    Come fare? Ricomincia STUDIANDO le basi. Inizia con libri dal titolo "Introduzione alla programmazione".
    Poi DECIDENDO il tipo di applicazioni con cui vorrai giocare, e SOLO A QUESTO PUNTO scegliere il corretto linguaggio di programmazione che al 99.99999% NON SARA' il C++

    Nota: il C++ lo conosci forse al 5%
    E' un linguaggio difficile anche per gente con n-mila anni di esperienza.
    Il numero di persone che lo conoscono al 100% si contano sulle dita della mano di un monco
    Vabbe' qualcuno in piu': chi implementa i compilatori lo conosce bene
  • Re: Consiglio sulla prgrammazione

    migliorabile ha scritto:


    Perche' fai LO STESSO ERRORE che fa il 99.999999% di quelli che vogliono imparare a programmare e cioe' PENSARE che conoscere un linguaggio di programmazione VOGLIA DIRE saper programmare.

    NO, ASSOLUTAMENTE/TOTALMENTE/DEFINITIVAMENTE SBAGLIATO

    Si puo' saper programmare ANCHE SENZA conoscere uno specifico linguaggio di programmazione.

    Tra l'altro, hai iniziato con uno dei piu' COMPLICATI linguaggi di programmazione in circolazione.
    C'e' di peggio, ma, soprattutto, c'e' di MOOLTO meglio.

    PRIMA si imparano i concetti FONDAMENTALI della programmazione,
    POI si impara un linguaggio di programmazione per poterli mettere in pratica e fare esercizi
    POI si impara a programmare, realizzando algoritmi piu' complessi.

    All'universita' avrebbero fatto esattemente questo percorso. QUINDI, fondamentalmente, NON AVRESTI lo stesso problema, perche' chi di dovere ti avrebbe fatto fare il percorso di studio corretto!

    Come fare? Ricomincia STUDIANDO le basi. Inizia con libri dal titolo "Introduzione alla programmazione"

    Nota: il C++ lo conosci forse al 5%
    E' un linguaggio difficile anche per gente con n-mila anni di esperienza.
    Il numero di persone che lo conoscono al 100% si contano sulle dita della mano di un monco
    Vabbe' qualcuno in piu': chi implementa i compilatori lo conosce bene
    Ho iniziato con il C++ perchè è linguaggio che già sapevo un pochino, quindi per non partire completamente da 0 ho iniziato da qualcosa con cui avevo già un pò di dimestichezza, e poi si dice che il c++ è il "Latino" dei linguaggi di programmazione ovvero se si conosce il c++, si imparano in fretta anche glia altri linguaggi di programmazione ma poi io credo che se avessi comunque iniziato con altro linguiaggio, serie arrivato allo stesso punto di ora, ovvero conoscere i costrutti, le nasi, ma non saperle applicare per risolvere eserczi più complessi... credo che forse è solo una questione di avere il genio della programmazione, magi chi ce l'ha risolve tutto in fretta senza fatica...
  • Re: Consiglio sulla prgrammazione

    Unqualunque ha scritto:


    Tre mesi sono pochi.
    Se non sei uno studente perché lo fai? Ti serve per il lavoro?
    Lo faccio per passione o almeno lo faccio fin dove posso farlo da autodidatta
  • Re: Consiglio sulla prgrammazione

    Le capacità logiche e di ragionamento possono sicuramente migliorare con la pratica, ma immagino che anche la predisposizione sia importante. In ogni caso 3 mesi sono assolutamente pochi per padroneggiare tutte le nozioni base del C/C++.

    Detto questo un aiuto potrebbe essere quello di mostrarti come ragionare di fronte ad un determinato problema. Per esempio posta qualche esercizio che non riesci a risolvere e mostraci il tuo approccio ad essi.
  • Re: Consiglio sulla prgrammazione

    Visto che lo fai per hobby, LASCIA PERDERE il C++.

    Passa a Python.

    Se in 3 mesi conosci si e no il 5% del C++, nello stesso tempo impari il 70% di Python (ma forse anche di piu' )

    E ci puoi fare MOOOOLTE piu' cose.

    Fidati!

    Provare per credere

    https://www.youtube.com/watch?v=TLCIUDsXvZ
  • Re: Consiglio sulla prgrammazione

    Se lo fai da autodidatta e per pura passione, il consiglio che ti posso dare è quello di creare applicativi capaci di svolgere compiti inerente ad una tua esigenza o una tua passione. Puoi anche utilizzare codice scritto da altri, comprenderlo e modificarlo secondo le tue esigenze. Con il passar del tempo scoprirai che avrai imparato a mettere giù del codice nuovo, di sana pianta, senza cercare precompilati. Il genio della programmazione non era presente in nessuno di noi al momento della nascita; si forma con l'attitudine, la curiosità e la pratica, e si misura in base al numero di problemi che hai affrontato e saputo risolvere.
  • Re: Consiglio sulla prgrammazione

    @ cslash89

    Per curiosita', dove hai imparato questi fondamenti del C++ ?

    a) sui libri
    b) su youtube
    c) genericamente qualche corso online su internet (quindi sempre di video si tratta)
    d) a scuola (ma da come dici non mi sembra sia questo il caso)
  • Re: Consiglio sulla prgrammazione

    ramcrack ha scritto:


    @ cslash89

    Per curiosita', dove hai imparato questi fondamenti del C++ ?

    a) sui libri
    b) su youtube
    c) genericamente qualche corso online su internet (quindi sempre di video si tratta)
    d) a scuola (ma da come dici non mi sembra sia questo il caso)
    Ciao, li ho imparati all'università, che ho lasciato poco dopo il corso L'esame lo passai non subito, e solo perchè erano tracce standard, chiedevano piu o meno sempre le stesse cose quindi bastava imparare quei pochi algoritmi per passare con falcilità l'esame. Ma all'epoca non ero così interessato all'informatica, quindi non me ne facevo un problema, la studiavo con superficialità, ora invece si è accesa una scintilla che sta diventando vera e propria passione, infatti potendo tornare indietro la studierei con più serietà e didizione
  • Re: Consiglio sulla prgrammazione

    La domanda che ti ho posto era per capire bene le motivazioni delle tue lacune in materia.

    Purtroppo mi dai poche informazioni per riuscire a capire meglio dove tu puoi migliorare.
    Ad esempio, dici di aver studiato il C++ all'Universita', benissimo, quindi immagino che ti eri iscritto ad un corso scientifico, tipo: Matematica, Fisica, Chimica, Informatica oppure qualche corso che riguarda la branca dell'ingegneria... perche' che io sappia, non mi pare che ai corsi letterari si studi linguaggi come il C++, ma piu' genericamente si studia informatica di base e qualche pacchetto tipo Office.

    Pero' ad intuito, leggendoti meglio, noto che durante il tuo periodo di studi, riferendomi anche a quelli attuali, tu non hai imparato a programmare in C++, ma hai semplicemente imparato a memoria alcuni algoritmi senza capirne a fondo il loro reale funzionamento.
    Magari sbaglio, ma dai questa impressione.

    Ammettendo che possa avere azzeccato il tuo metodo di studio, (mooolto sbagliato e fuorviante), devi assolutamente correggerti.

    Vuoi sviluppare la logica per poter creare da solo algoritmi che risolvono problemi comuni ? Inizia con i diagrammi di flusso, sono quattro cavolate, ma che ti indirizzano bene verso la programmazione logica.
    Poi passa all'algebra di Boole (assolutamente da studiare per l'informatico di base, se non conosci l'algebra do Boole non sai nulla di logica).
    Poi, cosa mooolto importante per imparare a ragionare logicamente, impara a risolvere problemi base utilizzando il metodo di ragionamento della Macchina di Touring, (questa fu una delle cose piu' belle che studiai al quarto anno di superiore).

    Devi passarci notti insonni per iniziare a capire bene come sviluppare autonomamente algoritmi e soluzioni. Una volta capito questo, implementarli in in linguaggio quale possa essere: il C++, oppure il Phyton, oppure il Pascal, oppure il Basic... risulta di una semplicita' allucinante.

    Credo, fortemente che il tuo problema non sia il linguaggio di programmazione, ma sia solo il modo di usare la logica per sviluppare soluzioni con algoritmi.
  • Re: Consiglio sulla prgrammazione

    [U]se ti piace veramente, continua. I risultati arriveranno.
  • Re: Consiglio sulla prgrammazione

    @ramtrack, ma dai!! La macchina di Turing (TM-Turing Machine)?

    Diciamo una versione mooolto piu' semplice ed utile: gli automi a stati finiti (FA-Finite Automata, praticamente la TM, ma in versione mooolto piu' comprensibile )

    Questo perche' con FA ci puoi fare un bel po' di cose: dalle espressioni regolari, al parsing di una stringa di caratteri, alla modellazione degli "stati" di un'applicazione, come le app, ecc

    Per quanto riguarda il C++: il problema FONDAMENTALE del C & C++ e' la gestione della memoria (area decisamente 'complicata'), cosa che non serve conoscere nei dettagli in linguaggi basati su garbage collector. Questo NON VUOL DIRE che C++ non si possa imparare, ma conoscere un linguaggio CONCETTUALMENTE simile ridurrebbe notevolmente la difficolta' di comprensione del C/C++.

    E' come dire: invece di saltare direttamente dal trampolino di 75m, si inizia con quello da 45m per farsi le ossa e POI passare a quello da 75m, sapendo gia' come saltare , anche se ci sono dei dettagli "specifici"

    https://it.wikipedia.org/wiki/Eddie_the_Eagle_-_Il_coraggio_della_follia

    Comunque, SI, inizialmente e' NECCESSARIO sbattere la testa contro il muro per comprendere i concetti fondamentali. Le scorciatoie sono inutili. Meglio perdere una settimana o un mese per capire DA SOLI perche' un algoritmo stupido non funziona, che trovare qualcuno ce ti dica 'hai sbagliato li'. Questo perche' sapere dove c'e' l'errore NON RISOLVE il problema di CAPIRE perche' si e' fatto quel errore. Se ci si arriva da soli, si e' in grado di evitare l'errore e tutti gli errori simili.
  • Re: Consiglio sulla prgrammazione

    Comunque alla fine, il problema più grosso lo riscontro sulla creazione e sviluppo delle funzioni, in particolare se esse devono contenere le stringhe e la loro gestione. Quella parte devo ammettere che devo rivederla un pò, sarà che gli esercizi che ho visto in merito sono troppo banali. Sapete consigliarmi un esercizario sulle sulle stringe, vettori di caratteri e quindi l'uso della libreria cstring?
  • Re: Consiglio sulla prgrammazione

    Se lo scopo è quello di esercitarti puoi anche fare a meno della libreria cstring per il momento e creare di volta in volta le funzioni che ti servono.

    Cmq, come già detto nel precedente post, potresti postare qualche esercizio in cui hai incontrato difficoltà, in modo che possiamo capire in cosa esse consistano.

    Per quanto riguarda gli esercizi il web ne è pieno, in ogni caso ti posto un sito in cui mi sono imbattuto nei miei esordi da autodidatta (anche io lo faccio per passione e come esercizio di logica):

    Poi con un po' di fantasia si possono implementare tantissime cose; per esempio tra i miei vecchi programmi leggo: gioco dell'impiccato, fattorizzazione, cambio di base, battaglia navale, gioco del 15, tris, ecc...
Devi accedere o registrarti per scrivere nel forum
14 risposte