PDA

Visualizza la versione completa : esercizio C proposta di soluzione


socrates1984
05-01-2013, 11:18
Qualcuno sa dirmi se la risoluzione di questo esercizio sia giusta?

es n 12

acquisire un numero naturale n;calcolare e stampare la somma dei termini i^2 con i=1...n(successione quadrati)

#include<stdio.h>
main()
{
int num_i;
int num_a;
int somma;
num_i=1;
num_a=2;
somma=3;
printf(“Inserisci un numero:\n”);
scanf(“%d”, &num2);
somma=num_i+num_a;
printf(“La somma del numero inserito da tastiera e del numero dato dal computer è : %d”,somma);
return ;
}

goatboy
05-01-2013, 11:25
Il programma è privo di senso, stamperà sempre 3. Acquisisci in input la variabile num2 che non esiste, non essendo dichiarata. Poi fai la somma delle variabili num_i e num_a (che valgono rispettivamente 1 e 2) e le inserisci all'interno di somma (che vale già 3), sovrascrivendone il valore. E poi stampi la variabile somma, che vale appunto 3.
Ma in ogni caso, perchè non provi a compilare scusa?
In ogni caso, ti consiglio di rivedere bene alcuni fondamenti del linguaggio, l'esercizio che devi fare non è difficile. Riprovaci :)

oregon
05-01-2013, 11:30
No ... non lo è.

Prima di tutto utilizzi la variabile

num2

che è inesistente.

E in secondo luogo, la somma che ti viene chiesta la devi realizzare con un ciclo, sicuramente non come hai fatto tu.

MdE2005
05-01-2013, 11:41
Innanzitutto il codice deve essere postato negli appositi TAG CODE, così come la richiesta deve essere più dettagliata.

Capisci il problema da un punto di vista matematico? Sapresti risolvere tale problema con "carta e penna"?
Per poter implementare un algoritmo, di qualunque complessità computazionale, è fondamentale capirne il funzionamento matematico, e conoscere gli 'strumenti' messi a disposizione dal linguaggio di programmazione, come ad esempio (non a caso..) i cicli for.
Non essendo questa la sede consona per spiegare i fondamenti del linguaggio di programmazione, segui un libro o qualche valida risorsa presente in rete e - se qualcosa non è chiara - posta pure.
Il codice prodotto denota il fatto che non sono assolutamente chiari nemmeno i concetti di base del linguaggio C.

socrates1984
05-01-2013, 11:42
Non ho capito molto bene, non c'è nessuno che possa aiutarmi?Non ho mai fatto il linguaggio c, questi due esercizi sono compiti di scuola di mio nipote...

#include<stdio.h>
main()
{
int num_i;
int num_a;
int somma;
num_i=1;
num_a=2;
printf(“Inserisci un numero:\n”);
scanf(“%d”, &num_a);
somma=num_i+num_a;
printf(“La somma del numero inserito da tastiera e del numero dato dal computer è : %d”,somma);
return ;
}

oregon
05-01-2013, 11:51
A prescindere dal linguaggio C, come ti è stato suggerito, sai risolvere il problema con carta e penna ? Se non lo sai fare, allora è improbabile che tu scriva del codice per risolvere un problema di cui non hai cognizione.

Scusa se te lo dico, ma lo hai scritto tu ... perché non li risolve tuo nipote gli esercizi? Se glieli hanno dato a scuola vuol dire che il linguaggio l'ha studiato e dovrebbe saperli risolvere ... al limite scrive lui nel forum ... è una cosa bizzarra quella che dici.

In ogni caso, ci sono siti che ti forniscono una soluzione da zero. Scrivi in quei siti perché non penso che con dei semplici suggerimenti, forniti in questo forum, riuscirai a terminare l'esercizio, dato che non conosci il C.

socrates1984
05-01-2013, 11:53
c'è simpatia tra di noi! :prrr:

MdE2005
05-01-2013, 11:53
Originariamente inviato da socrates1984
Non ho mai fatto il linguaggio c, questi due esercizi sono compiti di scuola di mio nipote...

Te no, ma tuo nipote sicuramente sì dal momento che gli sono stati assegnati questi piccoli compiti che dovrebbero essere svolti (o tentati) da lui stesso, non da altri. :nonono:

Tralasciando l'aspetto pedagogico della questione - che aprirebbe un dibattito lungo più o meno 30 anni (periodo da cui la Scuola ha smesso di essere meritocratica) - risulta veramente impossibile rispondere a persone che non conoscono nemmeno il linguaggio in questione: sarebbe come spiegare una strada in russo ad un madrelingua italiano che conosce solo tale lingua; dal momento poi che la politica del forum non consente di risolvere esercizi ma di aiutare a capire e a risolvere determinate questioni.

Risolvere il problema di tuo nipote andrebbe contro le regole del forum, e sarebbe controproducente proprio nei confronti dell'alunno stesso per cui - per quanto mi riguarda - eviterò di rispondere ad altre domande di questo thread sino a che l'interlocutore non sarà il diretto interessato.

oregon
05-01-2013, 11:55
Originariamente inviato da socrates1984
c'è simpatia tra di noi! :prrr:

E tu saresti lo "zio"? Figuriamoci il nipote ...

MdE2005
05-01-2013, 12:11
Originariamente inviato da oregon
E tu saresti lo "zio"? Figuriamoci il nipote ...

Letto, approvato e promosso. :)

Loading