Precedente :: Successivo |
Autore |
Messaggio |
Stemby Eroe in grazia degli dei

Registrato: 29/07/08 23:55 Messaggi: 78 Residenza: Missaglia (LC)
|
Inviato: 20 Giu 2009 12:18 Oggetto: * [Pensare da informatico - Python] Risposte ai quesiti |
|
|
Buongiorno,
sapete se da qualche parte esiste una raccolta di risposte ai quesiti che si trovano ogni tanto nel testo in oggetto?
Per il momento mi piacerebbe sentire come risponderebbe un programmatore esperto a quello del paragrafo 2.8.
Grazie! |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11809 Residenza: Tokelau
|
Inviato: 22 Giu 2009 11:32 Oggetto: Re: [Pensare da informatico - Python] Risposte ai quesiti |
|
|
la domanda è questa?
Citazione: | Riesci ad immaginare una proprietà che somma e moltiplicazione tra numeri non condividono con concatenamento e ripetizione di stringhe? |
se sì, a me una proprietà della somma è venuta in mente... |
|
Top |
|
 |
Stemby Eroe in grazia degli dei

Registrato: 29/07/08 23:55 Messaggi: 78 Residenza: Missaglia (LC)
|
Inviato: 22 Giu 2009 23:31 Oggetto: Re: [Pensare da informatico - Python] Risposte ai quesiti |
|
|
SverX ha scritto: | la domanda è questa?
|
Sì
Citazione: |
se sì, a me una proprietà della somma è venuta in mente... |
Una risposta ce l'ho anch'io.
Se non esistono in giro le soluzioni ufficiali ai quesiti, invito gli utenti del forum a confrontarsi qui.
Sono curioso...  |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 22 Giu 2009 23:39 Oggetto: |
|
|
Azz! Ma che mod sono? Mi era sfuggito questo 3d!
Così a mente fredda a me viene in mente che l'inverso, possibile per somma e moltiplicazione non è fattibile per la concatenazione e la ripetizione.
Dovrei però riflettere un po' di più sulla cosa. |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11809 Residenza: Tokelau
|
Inviato: 23 Giu 2009 10:02 Oggetto: Re: [Pensare da informatico - Python] Risposte ai quesiti |
|
|
Stemby ha scritto: | Se non esistono in giro le soluzioni ufficiali ai quesiti, invito gli utenti del forum a confrontarsi qui. |
Non credo esistano soluzioni "ufficiali"...
per quanto mi riguarda la prima che mi viene in mente è la proprietà commutativa, che vale per l'addizione tra due numeri e non vale nel concatenamento tra due stringhe...
poi magari a pensarci bene ce ne saranno pure altre, no?  |
|
Top |
|
 |
mdweb Dio maturo


Registrato: 18/12/07 16:59 Messaggi: 4412
|
Inviato: 23 Giu 2009 13:55 Oggetto: |
|
|
Citazione: | proprietà commutativa |
La risposta corretta è questa! |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 23 Giu 2009 13:58 Oggetto: |
|
|
mdweb ha scritto: | Citazione: | proprietà commutativa |
La risposta corretta è questa! |
Scusa se tiro l'acqua al mio mulino, ma pure l'inversione non è possibile... |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11809 Residenza: Tokelau
|
Inviato: 23 Giu 2009 14:20 Oggetto: |
|
|
freemind ha scritto: | Scusa se tiro l'acqua al mio mulino, ma pure l'inversione non è possibile... |
non so cosa sia l'inversione  |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 23 Giu 2009 15:13 Oggetto: |
|
|
L'inversione nel senso di inverso...
L'inverso di +3 è -3 (per la somma) e 1/3 per la moltiplicazione.
Quello che intendo è che puoi fare "a+b" con a e b numeri o stringhe ma solo se sono numeri puoi fare "a-b". Idem con la moltiplicazione/concatenazione.
Ovviamente forzando il concetto uno potrebbe overloadare gli operatori ma non avrebbe troppo senso. |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11809 Residenza: Tokelau
|
Inviato: 23 Giu 2009 15:54 Oggetto: |
|
|
freemind ha scritto: | L'inversione nel senso di inverso... |
ah, ok, però non è una proprietà dell'addizione o della moltiplicazione, sei fuori tema  |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 23 Giu 2009 16:42 Oggetto: |
|
|
SverX ha scritto: | freemind ha scritto: | L'inversione nel senso di inverso... |
ah, ok, però non è una proprietà dell'addizione o della moltiplicazione, sei fuori tema  |
Come no!
Ogni operazione viene definita nel contesto di gruppo.
Dato un insieme G e una composione # la coppia (G,#) è un gruppo se e solo se:
i) per ogni a,b in G anche a#b è in G (chiusura)
ii) per ogni a,b,c in G vale a#(b#c)=(a#b)#c (associatività)
iii) per ogni a in G esiste uno e uno solo elemento "e" tale che a#e=e#a=a (elemento neutro)
iv) per ogni a in G esiste uno e uno solo elemento "a*" tale che a#a*=a*#a=e (inverso)
Se vale anche: v) per ogni a,b in G a#b=b#a il gruppo è abeliano o commutativo
L'operazione # è una mappa che alla coppia (a,b) a e b in G associa un valore c in G
In pratica per la somma e la moltiplicazione valgono tutte le precedenti in Z (mi limito a considerare gli interi).
(Z,+) e (Z\{0},*) sono gruppi. La proprietà dell'esistenza dell'inverso di fatto è una proprietà della composizione. |
|
Top |
|
 |
Stemby Eroe in grazia degli dei

Registrato: 29/07/08 23:55 Messaggi: 78 Residenza: Missaglia (LC)
|
Inviato: 28 Giu 2009 13:57 Oggetto: |
|
|
Scusate se sono stato lontano per un po' di giorni, ma sono preso in 2000 cose.
Non ho capito molto l'ultima risposta (devo rifletterci un po'), magari un esempio potrebbe essere utile.
A mio avviso "proprietà commutativa" non è la risposta esatta.
Infatti, se è vero che
Codice: |
"banana"+"pomodoro" == "bananapomodoro"
"pomodoro"+"banana" == "pomodorobanana"
"bananapomodoro" != "pomodorobanana"
|
d'altra parte
Codice: |
"pomodoro"*2 == "pomodoropomodoro"
2*"pomodoro" == "pomodoropomodoro"
"pomodoro"*2 == 2*"pomodoro"
|
e quindi, nel caso della ripetizione, la proprietà commutativa esiste ed è valida.
Il quesito recita "somma e moltiplicazione", "concatenamento e ripetizione", quindi ritengo la risposta non valida.
Secondo me l'unica risposta giusta è "proprietà distributiva".
Infatti:
Codice: |
2*("banana"+"pomodoro") == "bananapomodorobananapomodoro"
2*"banana" + 2*"pomodoro" == "bananabananapomodoropomodoro"
2*("banana"+"pomodoro") != "2*"banana" + 2*"pomodoro"
|
e nella proprietà distributiva c'è tutto, somma e moltiplicazione oppure concatenamento e ripetizione. |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 28 Giu 2009 17:20 Oggetto: |
|
|
Beh, da questo punto di vista hai ragione.
La mia ultima risposta dava la definizione di "inverso" perchè SverX aveva detto che ero fuori tema. L'esistenza dell'inverso è una proprietà come quella associativa, quella distributiva (ovviamente questa presa parlando di anelli e campi) etc...
Io affermo che: "l'inversione non è fattibile per ripetizione e concatenazione" perchè non puoi definire "-" e "/" come inversi di "+" e "*" nel caso di manipolazione di stringhe a meno di non snaturarne il senso.
Sicuramente sono andato a prendere proprio un cavillo, ma sono molto contorto! |
|
Top |
|
 |
Stemby Eroe in grazia degli dei

Registrato: 29/07/08 23:55 Messaggi: 78 Residenza: Missaglia (LC)
|
Inviato: 28 Giu 2009 19:22 Oggetto: |
|
|
Sì, in effetti anche la tua risposta non è affatto male. Per approfondire dal punto di vista matematico: qui.
Rilancio: chi vuole provare a rispondere al quesito del paragrafo 7.10? |
|
Top |
|
 |
mdweb Dio maturo


Registrato: 18/12/07 16:59 Messaggi: 4412
|
Inviato: 28 Giu 2009 21:11 Oggetto: |
|
|
È la terza. Sia la prima che la seconda funzione effettuano una ricerca lineare, mentre la terza funzione deve solo confrontare tre interi.
 |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11809 Residenza: Tokelau
|
Inviato: 29 Giu 2009 10:19 Oggetto: |
|
|
Stemby ha scritto: | A mio avviso "proprietà commutativa" non è la risposta esatta. |
Si parlava solo dell'addizione, però. |
|
Top |
|
 |
Scrigno Semidio


Registrato: 26/07/09 05:32 Messaggi: 313
|
Inviato: 23 Set 2009 00:29 Oggetto: |
|
|
Salve a tutti
Credo che la risposta stia nel vedere quali sono le proprieta della somma e della moltiplicazione e andare a controllare se con le stringhe si può fare la stessa cosa...
La somma di due numeri gode di queste proprietà:
Commutativa --> a+b = b+c
Associativa --> a + b + c + d = (a + b) + (c + d)
Dissociativa --> (a + b) + (c + d) = a + b + c + d
Per quanto riguarda le stringhe appare chiaro che:
"abra" & "cadabra" & "la" & "magia" & "è" & "fatta" [Concatenamento] dia lo stesso risultato a prescindere da quale elemnto si unisce per primo purche rimanga nello stesso ordine.
Quindi direi che la commutativa non è valida nelle stringhe mentre associativa e dissociativa lo sono
Per quanto riguarda la moltiplicazione:
Abbiamo le stesse della somma con l' aggiunta della distributiva che risulta con una semplice prova non utilizzabile con le stringhe
Ora, però, risulta un pò difficile immaginare una ripetizione senza utilizzare la matematica...
Ripeti sei volte un ave Maria = "ave Maria..." Per_6_Volte
la distributiva in questo caso vale solo se è la parte numerica ad essere spezzata:
("ave Maria..." Per_3_Volte) & ("ave Maria..." Per_3_Volte)
Quindi direi che:
i concatenamenti e ripetizioni delle stringhe rispetto alla somma e moltiplicazione dei numeri mancano della proprietà commutativa e di parte della distributiva.
Gli elemti neutri invece cambiano considerevolmente
Elemento neutro somma = 0
Elemento neutro moltiplicazione = 1
Elemento neutro Concatenamento = "" (Stringa vuota)
1° Elemento neutro Ripetizione = Per_1_Volta (sul lato numerico)
2° Elemento neutro Ripetizione = "" (sul lato della stringa) |
|
Top |
|
 |
|