Notifiche
Cancella tutti

Problema matematico: Computer vs cervello

  

0

Roberto ha scritto un programma A che, dato un angolo, ne restituisce il supplementare e un programma B che, dato un angolo, ne calcola il complementare. Per divertirsi, applica 1021 volte consecutivamente il programma A partendo da un angolo di 30° e successivamente applicando il programma al risultato ottenuto dall’applicazione precedente. Infine, al risultato ottenuto applica una volta il programma B. Che output avrà?

Autore

@marzia potresti controllare il testo? dopo le 1021 applicazioni del programma A quale programma viene applicato "successivamente"?

@marzia sei certa del testo? In particolare i due programmi A e B non sono invertiti?

@Sebastiano... credo che siamo giunti alla stessa conclusione☺️

2 Risposte



5

ipotesi 1)

viene applicato 1021 volta il programma A, poi il B, poi il B:

30 --> 150 --> -60 --> 150 gradi

ipotesi 2)

viene applicato 1021 volta il programma A, poi il B, poi di nuovo A:

30 --> 150 --> -60 --> 240 gradi

ipotesi 3)

viene applicato 1021 volta il programma A, poi di nuovo A, poi il B:

30 --> 150 --> 30 --> 60 gradi



0

PER COM'E' DEFINITO NEL TESTO il programma "B(A^1021(30°))" non genererà un output, ma UN ERRORE.
------------------------------
Il testo è sintatticamente infelice, ma non lacunoso.
Dire "partendo da un valore d'innesco e poi applicando l'operatore al risultato dell'operazione precedente" è una descrizione forse discutibile, ma inequivoca, della definizione ricorsiva
* a(n + 1) = operatore[a(n)]
quale che sia l'innesco
* a(0) = α = valoreQualsiasi
---------------
Nella fattispecie (in gradi sessagesimali)
* α è l'ampiezza di un angolo (0° <= α <= 180°) che rientri nella definizione di angoli supplementari
* operatore[x] è il supplementare di α, cioè (180 - α)°
QUINDI
il programma A genera la successione
* (a(0) = A) & & (a(n + 1) = 180 - a(n))
tale che
* a(n + 2) = a(n)
cioè
* a(2*k) = A
* a(2*k + 1) = 180 - A
---------------
Poiché 1021 = 2*510 + 1 si ha
* a(1021) = 180 - A
che, con A = 30
vuol dire
* a(1021) = 150
valore a cui non è applicabile il programma B, perché estraneo all'intervallo (0° <= α <= 90°) entro il quale devono cadere le ampiezze di una coppia di complementari.
==============================
ÇA VA SANS DIRE che passando da "ampiezze" (non negative) a "misure" degli angoli e quindi sostituendo a "supplementare di x" la definizione "180 - x" e analogamente a "complementare" la definizione "90 - x" invece di "errore di tipo" si ottiene "- 60°".
MA QUESTO SAREBBE BARARE SUI SIGNIFICATI.

@exprof forse non hai letto il testo attentamente. Dopo l'applicazione del programma "A" 1021 volte trovi scritto "e successivamente applicando il programma al risultato ottenuto dall'applicazione precedente." Questa frase è lacunosa, non è soltanto sintatticamente infelice, in quanto manca un'informazione, ovvero quale cavolo di programma devo applicare dopo che ho applicato 1021 volte il programma "A" e prima di applicare il programma "B"?

@Sebastiano Ti assicuro non solo che ho letto attentamente questo testo, ma che ne ho letti anche di peggiori che si contorcevano nel tentativo di descrivere la ricorsione evitando il modo più rispettoso della grammatica italiana ("... e così via.").
Quel "e successivamente" si riferisce a "partendo da" e insieme vorrebbero spiegare "applica consecutivamente": il complemento oggetto non è mai messo in discussione.
Le parole
* «applica 1021 volte consecutivamente il programma A partendo da un angolo di 30° e successivamente applicando il programma al risultato ottenuto dall'applicazione precedente.»
semplificando qualche contorsione si possono riscrivere come
* «esegue il programma A, applicandolo ogni volta al risultato dell'applicazione precedente, per 1021 volte consecutive a partire dal valore iniziale di 30°.»
che non possono corrispondere ad altro che al modello
* (a(0) = A) & (a(n + 1) = B - a(n)) ≡ a(n) = (2*A + ((- 1)^n - 1)*B)*(- 1)^n/2
e così è stata la mia lettura.
PS: ho visto e sentito scienziati di professione impicciarsi nel dover descrivere procedure in linguaggio naturale senza poter usare formalismi.

@exprof No, mi dispiace, non mi trovi d'accordo. Te la intepreti come ti pare. È sufficiente la frase "applica 1021 volte consecutivamente il programma A partendo da un angolo di 30°" per fare quello che dici tu, tutto il resto sarebbe un di più ingiustificato, e comunque lacunoso. Il "successivamente" indica un tempo "successivo", ovvero dopo avere applicato le 1021 volte il programma A. Quindi in ogni caso, comunque tu lo voglia intepretare, il testo è sbagliato. 



Risposta




SOS Matematica

4.6
SCARICA