Ricorsione

di il
23 risposte

Ricorsione

Ma in questo ricorsivo, si sta usando lo zero come spartiacque?
Allegati:
31893_53a3a3830c965704307efed88f5f7b55.jpg
31893_53a3a3830c965704307efed88f5f7b55.jpg

23 Risposte

  • Re: Ricorsione

    "Spartiacque" fra cosa?
  • Re: Ricorsione

    No, in nessun senso. Lo zero non ha alcuna funzione nel codice.

    Hai letto la RISPOSTA?
  • Re: Ricorsione

    E allora non ho compreso cosa fa questo codice e non sto riuscendo a capirlo!
    Qualcuno, gentilmente potrebbe dirmi cosa fa questo codice?

    P.S. Basta un si o un no, grazie.
  • Re: Ricorsione

    Scusa, c'è scritto cosa fa.

    Stampa i valori nell'array a in maniera inversa, dall'ultimo verso il primo.

    E lo fa usando la ricorsione.
  • Re: Ricorsione

    Hai studiato la sintassi del linguaggio? Se sì allora non c'è nulla da spiegare, è tutto scritto nel codice... la funzione ricorsiva è costituita da tre righe in croce... (questo ovviamente se ti riferisci alla "meccanica" di quel codice, ossia di come funziona, in quanto la semplice spiegazione di cosa fa è già riportata nel testo dell'esercizio)

    Ho notato che quando uno ti chiede qualcosa tendi sempre a sviare il discorso oppure lo ignori del tutto, in ogni caso ci riprovo: che stai facendo? qual è il tuo scopo? vuoi imparare a programmare oppure devi semplicemente superare un test a risposta multipla?
    Sinceramente non ho capito fino in fondo quale sia il tuo livello attuale e quale sia il tuo metodo di studio, in ogni caso dalle domande che poni non mi sembra che tu stia facendo molti progressi. Ora non so se questi problemi sono dovuti a svogliatezza, metodo di studio sbagliato e/o difficoltà ad entrare in un certo ordine di idee... aiutaci a capire.

    Ignorerai anche questo post?
  • Re: Ricorsione

    Carissimo Nippolo, in questo periodo sto facendo fatica a Vivere, il 4 settembre ho fatto un Incidente Mortale, vediti questi link:
    "senzacolonnenews.it/apertura/item/ilaria-funerali-a-san-vito-indagata-per-omicidio-stradale-e-droga-la-ventenne.html"

    "youtu.be/Ytyluwt9cfU"

    Io ero Al suo fianco, mi Chiamo Antonio, il marito di quella donna Ilaria!

    Ma devo chiudere con l'ultimo esame e poi la tesi, ed ho tre bambini da seguire!

    Spero di aver reso l'idea delle mie condizioni!

    Mi dispiace se vi do fastidio, ma sto facendo fatica!
  • Re: Ricorsione

    Dispiace per le tue serie questioni private, non posso che esserti "vicino" da questo punto di vista.

    Ma non so se lo sarà anche il professore con cui terrai l'esame. Per questo motivo ti si vuole dare una mano, proprio per permetterti di andare avanti nel miglior modo.
  • Re: Ricorsione

    Nippolo ha scritto:


    Hai studiato la sintassi del linguaggio?

    Hai per favore delle dispense dove poter comprendere e studiare esplicitamente queste sintassi?
    Il problema è che io risco a comprendere i programmi, ma quella ricorsione mi sta dando problemi!
  • Re: Ricorsione

    Se la situazione è questa ovviamente mi dispiace, c'è poco da aggiungere...
    In un altro topic, quando ti chiedevo a che livello e per quale motivo studiassi programmazione (ovviamente non per farmi i fatti tuoi, ma per darti dei consigli quanto più pertinenti possibili), hai sottolineato il fatto di non voler rispondere a domande "strettamente personali", e, per quanto mi sembrasse un po' esagerata come reazione, non ho potuto fare altro che prendere atto della tua decisione; capirai quindi che mi ha sorpreso non poco il fatto che tu abbia deciso di riportare vicende così intime e delicate.
    Detto ciò capisco lo sfogo, ma la nostra comprensione non penso possa esserti particolarmente utile ai fini pratici dell'esame, anzi paradossalmente questo discorso avrebbe avuto più senso farlo al professore in privato. Da qui l'unico aiuto concreto che possiamo darti è quello di indirizzarti sul metodo di studio, ma per farlo dovremmo conoscere le modalità d'esame, il tuo livello attuale e i problemi di comprensione che stai incontrando.
  • Re: Ricorsione

    MT09_full ha scritto:


    Nippolo ha scritto:


    Hai studiato la sintassi del linguaggio?

    Hai per favore delle dispense dove poter comprendere e studiare esplicitamente queste sintassi?
    Il problema è che io risco a comprendere i programmi, ma quella ricorsione mi sta dando problemi!
    Io all'epoca studiai da queste dispense: http://www-old.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/01Indice.html

    Per quanto riguarda la ricorsione non saprei dirti, se cerchi su google si trova di tutto e di più.
    In ogni caso cosa non comprendi di preciso? Il problema è la ricorsione in generale o questo esercizio? Per esempio nel caso in esame quante volte viene chiamata la funzione someFunction()? Hai provato ad impostare uno schema per visualizzare quello che accade?
  • Re: Ricorsione

    Nell'altro thread sulla ricorsione ti avevo suggerito di provare a scrivere cosa succede durante l'esecuzione, ma non hai risposto
  • Re: Ricorsione

    Alcune parole ""magggiche"" relativi alla ""ricorsione""

    1) principio di indizione
  • Re: Ricorsione

    Nippolo ha scritto:



    In un altro topic, quando ti chiedevo a che livello e per quale motivo studiassi programmazione (ovviamente non per farmi i fatti tuoi, ma per darti dei consigli quanto più pertinenti possibili), hai sottolineato il fatto di non voler rispondere a domande "strettamente personali", e, per quanto mi sembrasse un po' esagerata come reazione, non ho potuto fare altro che prendere atto della tua decisione;
    Giorno 1 aprile sosterrò l'esame e saprò il taglio degli esercizi, anche perchè è un esame a scelta che non fa parte del mio indirizzo, quindi non conosco nessuno che mi possa dire come sarà la prova.
    Ho studiato dalle video lezioni che il prof. ha registrato e sinceramente non ho avuto problemi nel capire quello che spiegava, ma poi quando prendi in mano esercizi, c'è da lavorare e questo è un esame molto pratico....
    Dopo giorno 1 saprò come sono le traccie, so solo che c'è da fare un programma funzionante ma non so come sarà.

    Nippolo ha scritto:


    ...capirai quindi che mi ha sorpreso non poco il fatto che tu abbia deciso di riportare vicende così intime e delicate.


    Il mio incidente è stato così mediatico che sincermante c'era poco da voler nascondere.
  • Re: Ricorsione

    Vedo di dire quello che riesco a seguito delle mie conoscenze...

    Questa parte di codice:
    #include <stdio.h>
    #define SIZE 10
    // prototipo di funzione
    void someFunction(const int b[], size_t startIndex, size_t size);
    // la funzione main inizia l'esecuzione del programma
    int main(void)
    {
    int a[SIZE] = { 8, 3, 1, 2, 6, 0, 9, 7, 4, 5 }; // inizializza a


    -Si ha la definizione della dimansione array #define SIZE 10.
    -Si ha il protipo di funzione void someFunction(const int b[], size_t startIndex, size_t size);
    e il void si usa solo per le funzioni, in sostanza non si avranno valori numerici esplicitati.
    -Si entra nel main e viene inizializzato l'array che ovviamente è di SIZE 10 e ad ha 10 in valori per ogni indice.
    puts("Answer is:");
    someFunction(a, 0, SIZE);
    puts("");


    -Si ha una stampa con una newline data da puts.
    -Si ha una invocazione della funzione someFunction(a, 0, SIZE);
    e considerando che siamo nel main, si sa che si possono trattare dei valori numerici che a loro volta verranno poi mandati in stampa a video

    // Cosa fa questa funzione?
    void someFunction(const int b[], size_t startIndex, size_t size)
    {
    if (startIndex < size) {
    someFunction(b, startIndex + 1, size);
    printf("%d ", b[startIndex]);
    }
    }


    E adesso siamo nel pieno del void dove si ha il cuore degli step ricorsivi, cioè e qui che accade la ricorsione e viene poi mandata al main per essere a sua volta stampata a video.

    Io quello che non sto capendo, sono queste due righe:
    if (startIndex < size) {
    someFunction(b, startIndex + 1, size);


    1) A cosa si riferisce starIndex?
    2) size si riferisce al valore 10 dell'array, cioè SIZE10?
    3) E cosa fa questa parte? someFunction(b, startIndex + 1, size);


    P.S. Il mio problema è che non sto capendo l'operazione in se della parte di codice che per me è incriminata, ma in generale, comprendo come operano i programmi!
Devi accedere o registrarti per scrivere nel forum
23 risposte