Go Down

Topic: goto (Read 2058 times) previous topic - next topic

Subsea

Ciao a tutti. Ho terminato la costruzione di un cuboled 5*5*5, va bene e sono abbastanza contento del risultato. Lo uso soprattutto per scriverci numeri e lettere e per visualizzarli vorrei usare la funzione goto, ma non so come "farla funzionare" e il reference non è molto chiaro... per adesso faccio copia incolla del codice per ogni lettera/numero, ma mi piacerebbe dire per esempio goto A, e il programma mi stampa direttamente la lettera A. è possibile?

erpomata

Io non sapevo neache esistesse la goto in arduino.  :smiley-mr-green:
Ma una bella funzione? http://arduino.cc/en/Reference/FunctionDeclaration
http://www.paologiammarco.it
http://www.valentinamagni.it

Subsea

#2
Apr 04, 2013, 09:17 pm Last Edit: Apr 04, 2013, 09:19 pm by SUBSEA Reason: 1
grazie eepromata! Sbagliavo a metterle dentro i void principali, è per questo che non mi compilava. Non capisco però cosa siano quei valori tra parentesi. Mi puoi spiegare, please? ;)

erpomata

#3
Apr 04, 2013, 09:26 pm Last Edit: Apr 05, 2013, 05:43 am by erpomata Reason: 1
Sono i valori con cui lavorerai all'interno della funzione.
Puoi metterne 0 come "quasi" infiniti  :D

ti faccio un esempio magari è più chiaro:
Code: [Select]
int somma(int  addendo1, int addendo2){
int somma = addendo1 + addendo2;
return somma;
}

void loop(){
Serial.println(somma(1,1));
delay(1000);
Serial.println(somma(2,2));
delay(1000);
}


Vedi se ti è più chiaro.
http://www.paologiammarco.it
http://www.valentinamagni.it

Subsea

quindi posso anche non dichiararli?

erpomata

http://www.paologiammarco.it
http://www.valentinamagni.it

Subsea

Ok, e che cambia? Cioè, se li dichiaro è come se lo facessi ad inizio programma giusto?

leo72


Ok, e che cambia? Cioè, se li dichiaro è come se lo facessi ad inizio programma giusto?

Più o meno. Si tratta dei parametri che una funzione può volere per compiere un certo calcolo.
Ad esempio, se crei la funzione somma è scontato che tu debba passare almeno 2 valori altrimenti la funzione non avrebbe ragione di essere. Quindi c = somma(a, b);
Una funzione invece che fa lampeggiare un led in fin dei conti non necessita di parametri, se è scritta per quel led. Esempio: lampeggiaLed13();

leo72


Io non sapevo neache esistesse la goto in arduino.  :smiley-mr-green:

Esiste ma è bene non usarla.
Di solito si può sostituire con i test condizionali.

erpomata


Ad esempio, se crei la funzione somma è scontato che tu debba passare almeno 2 valori altrimenti la funzione non avrebbe ragione di essere.


E no:

Code: [Select]
int somma(int  addendo){
int somma = addendo + addendo;
return somma;
}


:smiley-mr-green:


Esiste ma è bene non usarla.


E' dai tempi del basic (Commodore64) che non la uso più.  :D
http://www.paologiammarco.it
http://www.valentinamagni.it

Subsea

#10
Apr 05, 2013, 07:56 am Last Edit: Apr 05, 2013, 12:49 pm by SUBSEA Reason: 1
È per questo che mi sono rivolto a voi!!! In un libro sulla programmazione Arduino che aveva comprato un mio amico avevo guardato il goto ma diceva che non era bello da usare e che appunto non lo spiegava. Comunque grazie ancora una volta a casa oggi faccio delle prove :smiley-mr-green:

erpomata

In un libro sulla programmazione Arduino che aveva comprato un mio amico avevo guardato appunto il goto ma diceva che non era bello da usare e che appunto non lo spiegava.


E quindi tu l'hai voluto usare ugualmente? :~
http://www.paologiammarco.it
http://www.valentinamagni.it

astrobeed


Esiste ma è bene non usarla.


Usare la GOTO in C è ammettere la propria sconfitta come programmatore  :smiley-mr-green:

leo72



Ad esempio, se crei la funzione somma è scontato che tu debba passare almeno 2 valori altrimenti la funzione non avrebbe ragione di essere.


E no:

Potrei cancellarti tutti i post, per questo, lo sai?  ]:D

Quote

E' dai tempi del basic (Commodore64) che non la uso più.  :D

Da quando studiai il Turbo Pascal eliminai il goto dai miei programmi.

erpomata

Quoto la seconda. :D
http://www.paologiammarco.it
http://www.valentinamagni.it

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy