Io se vuoi posso dirti quando e' il "Costo" di incazzature di un prof quando gli parli di GO TO..
Auahauha mi divertivo troppo a farli sbroccare :rotfl:
Printable View
Io se vuoi posso dirti quando e' il "Costo" di incazzature di un prof quando gli parli di GO TO..
Auahauha mi divertivo troppo a farli sbroccare :rotfl:
Cos'è che fa "aumentare" il costo? il fatto che esegua il ciclo o che verifichi se deve o meno essere eseguito? (madò mi intrippano ste cose, mi sono ricordato perché ho deciso di NON fare ingegneria ;)
Nel primo caso, con la condizione i<n al momento dell'uguaglianza il ciclo non viene eseguito quindi non aumenta, nel secondo caso (ovvero basta che il ciclo "controlli" se deve o meno girare per fare aumentare il costo) hai ragione tu...
Fin qui è logica quasi elementare :)
while (i<n) {
i=i+2
}
il "costo computazionale" è la stima asintotica (una approssimazione quindi) della somma di tutte le operazioni che fa un programma, ovviamente in un esempio base come questo si ridurrà a calcolare quante volte il ciclo while esegue quella operazione, di costo, approssimato, O1 (O grande, li stessi di taylor :nod: ).
L'esercizio ha un ottimo modo di risoluzione, quello di infilarci valori a cazzo ed estrarne una equazione generalizzata
ponendo esempio i=0 e n=5 quanti cicli farà?
parte con 0, nel primo ciclo i=2, nel secondo i=4, nel terzo i=6 poi si ferma, il tempo di calcolo di sta minchiata è n/2+1 quindi On/2, deducibile pure dal fatto che se
while(i<n) {
i=i++ (o i = i+1 che dir si voglia)
}
ha tempo On nel momento in cui raddoppio la crescita di i diminuirà il tempo di esecuzione :p
Il senso di ste cose sta nello studio degli algorirmi, l'esempio classico del cazzo sono gli algoritmi di ordinamento, devo ordinare 4 3 5 1 2 come faccio?
Potrei prendere il 4 e confrontarlo con tutti e metterlo nella posizione adeguata rispetto a cosa mi viene fuori, ma confronterei 5 numeri per 5 volte, avrei quindi un tempo di calcolo esponenziale n^n, se dovessi ordinare una stringa di diecimila milioni di numeri verrebbe fuori un bel tempo di calcolo (con un vecchissimo processore :p) - di conseguenza si studiano altre soluzioni, iterative e ricorsive, per ottimizzare il tempo di calcolo, in questo caso con il merge sort sfruttanto il divide et impera.
- dimenticavo il "axet sei una capra", ha ragione lui, solo che tu nell'esame lo hai già approssimato con On :nod:
invece di fa il saputello vai a studiare il tuo di esame :sneer:
quale dei 4? QQ
Anch'io settimana prossima ho 4 parziali..
Analisi, Algoritmi, l'ultimo di Architettura 2 e basi di dati.
Hador ma algoritmi e basi di dati li fanno insieme o son due esami separati? :look:
Btw io mi riferivo al fatto che il codice contenuto nel ciclo viene eseguito n volte, mentre la condizione n + 1.. forse non son stato chiaro o non ho capito la domanda, cmq il costo di quell'algoritmo è 2n + 1 dato da:
n + 1 che sono le volte che la condizione del ciclo si ripete
n che è il numero di volte che si ripete il codice nel ciclo
Essenzialmente assegnamo un costo costante alle operazioni basilare, cmq lavorando sulla macchina RAM (che non è la ram che si intende normalmente ma non mi ricordo al momento di cosa è l'acronimo) si può capire nel dettaglio il costo di ogni operazione guardando a livello macchina ogni istruzione quante operazioni comporta (una specie di assembler :look:).
Però è tendenzialmente inutile perchè il calcolo non viene eseguito nel dettaglio e per comodità, appunto come diceva hador, alle costanti viene assegnato costo 1.
Il fatto che sia in C piuttosto che in Java non importa, almeno per come lo stiamo studiando noi, poichè cmq ti basi sullo pseudo-codice.
@jarsil:
non è ingengeria questa, è informatica :nod:
separati, se ti servono ripetizioni dimmelo :sneer:
spero cmq ti sia farcito la cartella del lab di esempi almeno riesci a fare algoritmi nell'ora di tempo :nod:
cmq è tutta approssimazione, teoricamente guardi quante volte fa il controllo ma di fatto tu guardi la funzione asintotica, quindi addizioni e sottrazioni (tralaslazioni della stessa) nn ti cambiano un cazzo la pendenza della funzione resta sempre la stessa
ah nn ho 4 parziali, ho 2 parziali e 2 esami è_é
tra i quali SISTEMI OPERATIVI - PARADIGMI CONCORRENTI E DISTRIBUITI, detto anche l'INCUBO. :nod:
Bah, questa è materia anfibia galleggiante comunemente detta merda, che altro non è che un sinonimo di Matematica.
Sarà che per me informatica = pratica, non teoria, ma che ci vuoi fare, non è un caso se faccio il sistemista e non il programmatore, io i problemi li risolvo, non li studio :D
Son separati, il che vuol dire che ho 3 parziali consecutivi in un giorno.. :faccinachesisparaintesta:
Per tutto quello che ruota attorno all'informatica non ho problemi, più che altro mi servirebbero davvero delle ripetizioni di analisi che non so NULLA.
E quando dico nulla intendo nulla :rain:
In laboratorio gli esercizi manco li ho toccati, ho fatto i quiz ho avuto ottimi risultati e son felice.. voglia di fare pure gli esercizi = 0, al solito mi metterò a farli il giorno prima dell'esame -.-
@jars:
Che matematica = merda siam d'accordo, ma questa è informatica che si avvale dell'aiuto di matematica >_<
(era per jarsil)
prima che si arrabbi :sneer:
il che nn è un accusa, ma parlare di informatica è come parlare di matematica, comprende tutto e niente.
Per gestire una rete, scrivere programmini per aziende, gestire database, lavorare sul web eccetera tutta sta roba nn ti serve a un cazzo, ma son cose che stanno alla base di qualsiasi minchiata chiedi di fare a un programma, come l'ordinare una stringa.
La lezioncina sui tempi di calcolo è di fatto una minchiata sulla quale spendono 1 ora di lezione, ma serve a spiegare perchè convenga usare un metodo invece che un altro, tutti sono capaci di scrivere un programma in pseudo codice, intuitivo, per ordinare una stringa di numeri. Quanti però lo scrivono nel modo più ottimizzato possibile? :p
axet
si ma con la teoria ci pigli 15, ma che parziale è? se il primo ok la teoria è una minchiata (preso 30 :|), anche nel terzo... il secondo ha una teoria impossibile :nod:
Primo parziale, e poi mica ho detto che non so fare la pratica, ho detto che non avevo voglia di fare gli esercizi, è diverso :D
Cmq non cambiare discorso, come vai in analisi? :nod:
15 nei parziali, 21 con l'orale :nod:
alla 2 dio caro mi ha sturato al secondo parziale, ho sbagliato un cristo di segno e mi ha dato 2 punti in un esercizio invece che 12 tipo -_-
ma in 1 settimana è dura :nod:
Ok sono fottuto :rain:
Il punto non è tanto analisi in sè, quanto che mi mancano le basi perchè alle superiori non ho mai seguito mate QQ
Vabbè troverò una soluzione, al massimo dò l'esame completo tra qualche mese :nod: