|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Mar 2011
Messaggi: 4
|
Turtle Graphics come fare(Ansi C)
alve , L'altro giorno mi sono imbattuto in un esercizio chiamato turtle graphics che mi chiede di creare una matrice floor 50 per 50 e poi azzerarla. In ogni momento mantenete traccia della posizione corrente della tartaruga e dello stato della penna , supponete che la tartaruga cominci sempre dalla posizione 0,0 del pavimento con la penna alzata , e sotto ci sono scritto gli insiemi dei comandi:
1 alza la penna 2 abbassa la penna 3 gira a destra 4 gira a sinistra 5,10 va in avanti di 10 spazi 6 visualizza la matrice 50 per 50 9 fine dei dati(valore sentinella) questo programma mi ha interessato molto però , non ho la minima idea di come farlo , potreste aiutarmi? grazie in anticipo |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
L'esercizio in questione riguarda il linguaggio logo http://en.wikipedia.org/wiki/Logo_%2...ng_language%29
Dovresti cominciare con l'installare un interprete logo, il resto è davvero semplice da usare. |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Mar 2011
Messaggi: 4
|
Ma io programmo in C , non in php o altro
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
La turtle graphics è un metodo di disegno. E' il metodo usato dal Logo.
Se vuoi farlo in C devi crearti un interprete Logo, non vedo altro modo. L'esercizio non dice in che linguaggio va implementata la soluzione? |
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
Quote:
![]()
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
||
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
@Vincenzu: qual'è il problema?
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
comunque, @Vincenzu: Il punto di partenza e' pensare a due strutture dati, una che tenga lo stato dello schermo (la matrice 50x50) e uno lo stato della tartaruga (posizione, orientamento, e penna su/giu'). A questo punto pensa a cosa vogliono dire le operazioni che hai descritto sopra in termini di questi due stati.. dovresti avere un canovaccio per cominciare a scrivere le funzioni.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
ma infatti non si capisce se l'esercizio gli chieda di disegnare o di implementare il sistema di turtle graphics
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Direi implementarlo, solo che l'output immagino sara' testuale (una griglia di lettere 50x50).
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2005
Città: Palermo
Messaggi: 1474
|
Ma devi costruire un parser di un linguaggio di scripting inventato da te sulla base del linguaggio logo allora?
Cioè il programma deve potere permettere di scrivere del codice che poi puoi richiamare dall'interprete dei comandi? Se così io direi di creare un interprete che accetta i comandi del tipo : edit nome_programma, run nome_programma. Nell'editor puoi fare inputare le linee dello script e immagazzinarle in un vector (STL) di stringhe (std::string). Durante l'esecuzione poi dovresti interpretare i comandi scritti in un modo semplice tipo: A 10, D 90, ALZAPENNA, ... La parte più complessa è quella di riempire la matrice 50x50 con dei caratteri tipo * nel modo corretto. |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
Quote:
|
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Nov 2005
Città: Palermo
Messaggi: 1474
|
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Nov 2005
Città: Palermo
Messaggi: 1474
|
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
Codice:
int sz = 50*50; char* mat = (char*)malloc(sz); memset( mat, '*', sz ); ![]() PS: std::vector e std::string sono prerogative di C++, l'esercizio va fatto in C che non li ha. PPS: non credo serva addirittura creare un "linguaggio di scripting" basterà poter dare i comandi da riga di comando. PPPS: mi sembra che come al solito, state sopravvalutando il problema di parecchi ordini di grandezza, questa cosa si fa con 3 righe di codice C ![]() PPPPS: bella N4ufrag0 ![]() |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
Quote:
È da un po' che questo forum ha preso questa piega... Anche per una traccia di "elementi di informatica" si corre quasi il rischio di leggere qualcuno che consiglia di scrivere un proprio OS per avere un codice molto ottimizzato per contare i primi 10 numeri pari... Ultima modifica di Kralizek : 25-08-2011 alle 17:41. |
|
![]() |
![]() |
![]() |
#18 | |||
Senior Member
Iscritto dal: Nov 2005
Città: Palermo
Messaggi: 1474
|
No vabbè intendevo che era più difficile da spiegare in poche parole.
Quote:
Quote:
![]() Quote:
Bella Tommo! Qual buon vento? ![]() |
|||
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2774
|
Pensare che io avevo capito che i comandi erano scritti sulla matrice su cui la tartaruga si muoveva
![]() Però sarebbe stato carino... |
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Oct 2001
Città: Firenze
Messaggi: 585
|
Secondo me il problema più grave è che veramente poca gente riesce ad esprimersi in modo esaustivo e sintetico usando l'italiano, altro che linguaggi di programmazione.
__________________
http://www.gnu.org/philosophy/no-wor...hments.it.html http://gprime.net/flash/postingandyou.php [1510 kB] Ultima modifica di Tadde : 25-08-2011 alle 19:08. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:14.