Linee guida per la creazione di un algoritmo

di il
18 risposte

Linee guida per la creazione di un algoritmo

Ciao a tutti!

Mi pare di aver capito che un algoritmo creato in modo
impreciso o sbagliato possa avere conseguenze determinanti per la riuscita o meno di un codice....
come vi organizzate? ,.... avete un metodo che seguite in modo schematico al momento di scrivere
l'algoritmo per i vostri problemini....?!
grazie!

18 Risposte

  • Re: Linee guida per la creazione di un algoritmo

    Ciao krudik,

    lo sbaglio che fanno in molti é iniziare a scrivere il codice di getto.
    Analizzato il problema, disegna un diagramma di flusso.
    Successivamente pensa a tutti i casi possibili e segui il flusso del diagramma.
    Quando fatte le modifiche sei sicuro che non presenti bugs, puoi procedere alla scrittura del codice.

    Ciao

    A volte basta un solo carattere sbagliato nel codice sorgente per mettere in crisi un' intera applicazione...
  • Re: Linee guida per la creazione di un algoritmo

    Ciao,

    Tutto questo ovviamente se non si sta affrontando il problema da un punto di vista OO... in tal caso la cosa migliore è schematizzare la struttura delle classi, le loro dipendenze, le ereditarietà e simili e provvedere, una classe per volta, all'implementazione. La schematizzazione iniziale ti permette di scrivere una classe senza doverci tornare sopra.

    Un programmatore esperto può anche cominciare a scrivere senza analizzare troppo schematicamente il comportamento. Deve però avere un idea molto precisa di quello che vuole sviluppare, delle "forze in gioco" e dei problemi che dovrà affrontare. In sostanza è necessaria una ottima capacità di analisi per procedere alla cieca...

    Personalmente preferisco, ad esempio, impostare il progetto in modo che sia definita dall'inizio un interfaccia con implementazioni "vuote" (funzioni {}), aggiungendo via via il codice necessario. In questo modo tendo a lavorare automaticamente su degli pseudo-moduli.

    Per progetti grandi (o a più mani) questo sistema ovviamente non è un buon sistema (si rischia di dimenticare codice "per la strada"). In questi casi un analisi preliminare ed uno schema di funzionamento (che sia un diagramma di flusso o uno schema delel classi) è sempre e comunque la scelta migliore.

    Ciaociao

    Venite a visitarci qui: http://www.bottomap.co
  • Re: Linee guida per la creazione di un algoritmo

    Ciao a tutti,

    per approcci Object Oriented quello che dice bottomap è validissimo, anzi è il modo piu' corretto di procedere.
    L'UML è nato proprio come linguaggio di modellazione di architetture OO.
    La richiesta di krudik invece ho avuto l'impressione riguardasse la scrittura di algoritmi non legati al caso OO.

    Ciao

    A volte basta un solo carattere sbagliato nel codice sorgente per mettere in crisi un' intera applicazione...
  • Re: Linee guida per la creazione di un algoritmo

    Grazie mille per le risposte....
    io intendevo la progettazione di algoritmi per risolvere piccoli problemini del tipo sommare alcuni numeri estrapolati da una sequenza...

    credo che per il livello a cui mi trovo io potrebbe bastare un diagramma.....

    pero' e' proprio la schematizzazione che trovo difficile....
    quali sono ,se ci sono,i passi fissi,obbligatori,nella risoluzione di un problema
    cosa mi chiedo per prima e cosa dopo,e quando?

    conoscete delle risorse in rete dove poter trovare degli esempi pratici(ovviamente a livello neofita)? cosi' magari ci faccio l'occhio e trovo un mio modo per affrontare questo passaggio cruciale nella scrittura di un codice in modo via via piu' diretto e anche fluido
    grazie ancora.....
  • Re: Linee guida per la creazione di un algoritmo

    Ciao,

    Non saprei indicarti info in rete... magari qualcun'altro potrà aiutarti in maniera migliore...

    Per quanto riguarda i passi più importanti nella pianificazione, innanzitutto si devono aver presenti gli input e gli output del programma (ovvero, cosa/dove l'utente dovrà inserire e cosa il programma dovrà "produrre").

    Detto questo (e tenendo il tutto sempre in considerazione) si può procedere a suddividere un problema complesso in una serie di task più semplici... per fare un esempio banale:

    Dopo aver stabilito che l'utente dovrà inserire n (con n variablie) numeri interi (la sequenza) e gli estremi su cui operare, il programma dovrà produrre, sempre ad esempio, una media degli elementi selezionati.

    Questo problema si può scomporre in quattro parti:
    1) Input dei dati (la sequenza)
    2) Input (da parte dell'utente) o calcolo (da parte del programma) del sottoinsieme di dati da processare
    3) Operazioni sui dati in questione (in questo caso calcolo della media)
    4) Visualizzazione dell'output

    Ognuno di questi punti lo puoi affrontare con una funzione separata (i dati comuni alle funzioni li puoi mantenere globali o passarli alle funzioni in forma di parametro).

    La funzione 3, a sua volta, può essere spezzata in più attività (in questo caso sono due attività stupide, in programmi più ampi possono rivelarsi vitali per mantenere il codice pulito):
    3a) Somma di tutti i numeri della sottosequenza
    3b) Divisione del risultato per il numero di elementi

    Questo, in sostanza, può essere l'approccio verso un problema lineare (tenendo da parte, quindi l'OO, per cui l'approccio può essere decisamente diverso). Praticamente si tratta, dopo aver stabilito il comportamento del programma, di suddividere il problema in sottoproblemi di più facile risoluzione...

    L'errore logico più frequente tra i newbies è proprio quello di mantenere decine di k di codice in due/tre funzioni...

    Ciaociao

    Venite a visitarci qui: http://www.bottomap.co
  • Re: Linee guida per la creazione di un algoritmo

    Grazie ancora...
    era piu' o meno quello che cercavo.....
    l'ideale sarebbe farne uno passo passo con uno di voi...
    se qualcuno fosse disposto potremmo darci appuntamento e con ichat o anche messenger(o quello che volete)perderci una mezzoretta...
    ovviamente e' una proposta senza pretese
    gia' ho ricevuto indicazioni preziosissime
    grazie ancora
    buon lavoro a tutti!!
  • Re: Linee guida per la creazione di un algoritmo

    Secondo me <b>bottomap</b> ti ha dato tutto quello che ti serviva per scrivere un algoritmo senza errori in maniera più che perfetta.
    se cmq vuoi fare passo-passo l'algoritmo io ti suggerisco di farlo qui nel forum, in modo anche le altre Persone interessate possano partecipare e imparare, correggere o aiutare.

    Saluti
    Marco Santoni
  • Re: Linee guida per la creazione di un algoritmo

    Ciao,

    Si, sono d'accordo con Marko... la cosa migliore è postare via via codice ed imparare strada facendo direttamente qui sul forum...

    Possiamo partire con un'analisi di un problema a tua scelta e via via affinare la cosa finché non si arriva ad una stesura rudimentale di un po'di codice...

    Posta qui un problema che ti può interessare e comincia tu a fare qualche ipotesi su come procedere... noialtri ti possiamo correggere e dare le debite dritte su come affrontarlo...

    Ciaociao

    Venite a visitarci qui: http://www.bottomap.co
  • Re: Linee guida per la creazione di un algoritmo

    Ciao mi sono appena iscritto e amo molto la programmazione solo ke ora sto studiando i vettori e kon i maledetti sto trovando non poke difficoltà mi puoi aiutare ti sarei molto grato grazie
    ciao

  • Re: Linee guida per la creazione di un algoritmo

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Ciao,

    Si, sono d'accordo con Marko... la cosa migliore è postare via via codice ed imparare strada facendo direttamente qui sul forum...

    Possiamo partire con un'analisi di un problema a tua scelta e via via affinare la cosa finché non si arriva ad una stesura rudimentale di un po'di codice...

    Posta qui un problema che ti può interessare e comincia tu a fare qualche ipotesi su come procedere... noialtri ti possiamo correggere e dare le debite dritte su come affrontarlo...

    Ciaociao

    Venite a visitarci qui: http://www.bottomap.co
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->
    ciao sono nuovo e mi piacerebbe molto programmare qualkosina la so ora sto studiando i vettori mi puoi dare una mano?
  • Re: Linee guida per la creazione di un algoritmo

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    ciao sono nuovo e mi piacerebbe molto programmare qualkosina la so ora sto studiando i vettori mi puoi dare una mano?
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    una mano a fare cosa di preciso?

    Chip
  • Re: Linee guida per la creazione di un algoritmo

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    ciao sono nuovo e mi piacerebbe molto programmare qualkosina la so ora sto studiando i vettori mi puoi dare una mano?
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    una mano a fare cosa di preciso?

    Chip
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    ciao,di preciso ho difficoltà a risolveere il problema che ho d'avanti diciamo ke mi blocco in un modo assoluto,mi puyoi rispondere?
    ciao............
  • Re: Linee guida per la creazione di un algoritmo

    Tutto quello che vuoi ma se non spieghi COSA non capisci non andiamo molto lontano :) Ho riletto i tuoi messaggi e questo è quanto:

    1.
    "ciao mi sono appena iscritto e amo molto la programmazione solo ke ora sto studiando i <b>vettori</b> e kon i maledetti sto trovando non poke difficoltà mi puoi aiutare ti sarei molto grato grazie
    ciao"

    2.
    "ciao sono nuovo e mi piacerebbe molto programmare qualkosina la so ora sto studiando i <b>vettori</b> mi puoi dare una mano?"


    Capisco solo che hai difficoltà con i vettori... cosa è che non ti è chiaro?

    Chip
  • Re: Linee guida per la creazione di un algoritmo

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Tutto quello che vuoi ma se non spieghi COSA non capisci non andiamo molto lontano :) Ho riletto i tuoi messaggi e questo è quanto:

    1.
    "ciao mi sono appena iscritto e amo molto la programmazione solo ke ora sto studiando i <b>vettori</b> e kon i maledetti sto trovando non poke difficoltà mi puoi aiutare ti sarei molto grato grazie
    ciao"

    2.
    "ciao sono nuovo e mi piacerebbe molto programmare qualkosina la so ora sto studiando i <b>vettori</b> mi puoi dare una mano?"


    Capisco solo che hai difficoltà con i vettori... cosa è che non ti è chiaro?

    Chip
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->
    ciao,grazie per la tua pazienza,abbaimo fatto il vettore,che è lo possiamo definire kome un kontenitore di elementi omogenei,in cui vengono salvati dei dati tutti dello stesso tipo,e fino a qui ci siamo,pero kome devo fare quando ho una serie di elementi e li devo salvare nel vettore,e poi se devo fare un kontrollo ad esempio una condizione e l'elemento da kontrollare e ne lvettore kome si fa?poi abbiamo fattola ricerca parziale,cioè cercare un elemento in un vettoree diciamo che fino a qui ci siamo,ma kome si struttura la kosa?poi abbiamo fatto l'ordinamento di un vettore ,ordinare un vettore a a ke serve?.
    grazie per la tua risposta,
    ciao................
Devi accedere o registrarti per scrivere nel forum
18 risposte