Non capisco cosa non va

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Non capisco cosa non va

    +m2+ ha scritto:


    oregon ha scritto:


    +m2+ ha scritto:


    Son stato diffidato a essere troppo acido.
    Qualsiasi cosa ciò significhi.
    Probabilmente non hai capito cosa significa.
    Lo so, spesso me lo dicono.
    Lo sospettavo.
    Devo dire che i tuoi commenti, ad esempio, li reputo 10 volte più acidi dei miei, e didatticamente spesso inutili.
    Il lupo perde il pelo ...
  • Re: Non capisco cosa non va

    Se avete trovato il tempo per fare questi ultimi interventi vuol dire che c'era tempo anche per darmi un parere sull'esercizio. E' vero che non siete obbligati a rispondermi, però abbiate l'onestà di dirmi "non ho voglia di rispondere", "godo a vedere utenti di ingegneria in difficoltà con informatica","me la tiro e basta" anziché giustificare dicendo che "non c'è tempo".
    Persone con la vostra esperienza dovrebbero saper dire in un attimo se un programma così semplice va bene oppure no. Non ho mica chiesto si svolgermi l'esercizio oppure di commentarmelo dettagliatamente. Mi sarebbe bastato un commento lapidario.7
    Ma comunque non è da me elemosinare attenzioni, quindi a sto punto chiedo di chiudere e di bannarmi dal forum.
  • Re: Non capisco cosa non va

    selfmademan ha scritto:


    Se avete trovato il tempo per fare questi ultimi interventi vuol dire
    Questo intervento era per spiegarti perché non ce ne sono di quelli che ti aspetti. Senza fare altre deduzioni che non stanno né in cielo né in terra.
    abbiate l'onestà di dirmi
    Lascia stare la nostra "onestà" e altre cose assurde ... stai andando veramente oltre. Evita di essere offensivo e di dire stupidaggini solo perché sei permaloso.

    Ti ho solo indicato il perché potresti non avere le risposte che ti aspetti. Se qualcuno avrà tempo, sicuramente ti risponderà, non è questione di voglia o di altro. E anche se fosse questione di "voglia" non puoi pretendere cose diverse.

    Poi, fai come vuoi.
  • Re: Non capisco cosa non va

    .
  • Re: Non capisco cosa non va

    Scusa ma se tolgo l'input da tastiera che razza di programma è? Con quali matrici lo testi? Ci vogliono 3 secondi a mettere una matrice....
    Unit test, progettista di codice.....non volete capire che io sono un progettista meccanico e non un informatico e che non ho gli strumenti per capire certe vostre risposte (e non è colpa mia)...
  • Re: Non capisco cosa non va

    .
  • Re: Non capisco cosa non va

    E quindi l'utente che va ad utilizzare il programma come li inserisce i dati in ingresso se il programma nemmeno li chiede?
  • Re: Non capisco cosa non va

    .
  • Re: Non capisco cosa non va

    Ueeeèèè... come siete acidi!!!!!

    @selfmademan
    il minimo indispensabile per fare un debug è
    - dichiara una variabile/define di debug
    - se è settata/dichiarata, togli tutta la parte di input dati cablandola all'interno del programma, mediante dei dati di input che ritieni interessanti
    - fai girare il programma (in modalità debug) e controlla l'output. se non è corretto (cosa che capita spesso, durante la fase di sviluppo), modifica il programma e rieseguilo. in questo caso non perderai ore e ore a re-inserire i dati di prova, riducendo di almeno un ordine di grandezza il tempo di sviluppo
    - sempre in termini di debug metti dei log veri e propri: in casi banali come questo dei printf ove metterai "entro nella funzione X con parametri Y e Z... esco dalla funzione X con risultato K e M" - nel mondo normali profileresti anche, cioè indicheresti il tempo che la funzione ha impiegato
    - passo successivo: modifica il set di dati di input, cercando di mettere tutti i casi più "strani" che riesci ad inventare (numeri negativi, nulli, approssimati, numero righe che non corrisponde alle colonne eccetera, fallimento allocazione della memoria...)
    - passo ancora successivo: fai leggere i parametri di input da file e scrivi una procedura esterna che modifica i dati, anche in maniera casuale, e fai girare sopra il programma. ci sono tecniche molto più raffinate, di questa, ma per un approccio dilettantistico è già meglio di niente.

    sullo stile del codice non mi esprimo: palesemente non ho l'autorevolezza tecnica per farlo.
    anzi a dir la verità non mi intendo molto di queste cose.
    anzi, per niente.
  • Re: Non capisco cosa non va

    ... in fine un dettaglio storico, tra i tanti...
    le variabili dei cicli, canonicamente, vengono indicate con lettere da i a n, perchè in Fortran quelle sono per default variabili intere.
    le variabili da a ad h invece sono reali (sempre in Fortran), sicchè di sovente ci si aspetta che siano proprio reali.
  • Re: Non capisco cosa non va

    Questa "roba" qui ad esempio è scritta davvero male, o meglio da principiante (quale sei, quindi nulla di sconvolgente).
    1) perchè la funzione è void?
    2) cos'è k?
    3) cos'è pos?
    4) dim ? e in cosa dovrei capire se è una variabile di input o output della funzione?
    5) cosa succede se V è null?
    6) cosa succede se i parametri sono negativi, o nulli? int non è unsigned int (tra l'altro in Java sono sempre signed, diciamo che è cosa buona e giusta abituarsi a non fidarsi troppo dei propri ricordi sul singolo linguaggio "similC")
    7) in generale... ma davvero cosa dovrebbe fare? ritieni sia facilmente comprensibile?
    8 a cosa serve j?
    
    void elimina_k_elementi(int k,int pos,int &dim,int V[])
    {
        int j=pos-1;
        for(int i=j;i<dim-k;i++)
        {
            V[i]=V[i+k];
        }
        dim=dim-k;
    }
    come vedi anche analizzare 4 righe di codice, soprattutto se scritte così, richiede un sacco di tempo.
    ovviamente sapendo cosa si sta facendo.
  • Re: Non capisco cosa non va

    Per quanto riguarda l'input da tastiera o meno... in genere per fare dei test trovo molto più pratico predisporre un file di dati e caricare quelli. Se lancio 100 volte il programma senza modificare il file dei dati, il programma mi caricherà sempre quelli in un nanosecondo. Se ho bisogno di cambiare i dati posso usare un qualsiasi editor di testo e cambiarli in una manciata di secondi.

    Una volta verificato che il programma funziona come dovrebbe, nessuno impedisce di modificarlo in quattro e quattr'otto così che possa ricevere i dati nella forma che ritengo migliore, ivi compresa l'immissione da tastiera.

    Questo è quel che faccio io, e non pretendo che sia LA soluzione, nè (men che meno) la MIGLIOR soluzione.
Devi accedere o registrarti per scrivere nel forum
26 risposte