| Autore |
Discussione  |
|
danandr
Utente medio
 
Regione: Puglia
Prov.: BARI
Città: MONOPOLI
|
Inserito il - 10/06/2004 : 09:10:41
|
Qualcuno ha svolto questo esercizio?
Costruire l'automa che riconosce identificatori che iniziano per lettera e siano seguiti da un numero qualunque di gruppi composti in maniera alternata da 2 cifre e 1 lettera
Se qualcuno l'ha svolto può scrivermi il frammento di linguaggio C?ho alcuni dubbi. Grazie
|
danandr |
|
|
Chilavert
admin
    

Regione: Puglia
Prov.: BA
Città: Bari
|
Inserito il - 10/06/2004 : 09:41:01
|
Ti metto l'automa riconoscitore qui sotto...
 |
E' un bene per il Prof. Xxxxxxx che sappia con chi ha a che fare. Pensa a studiare e non agli esempi, o ad altre strade per così dire, che questa volta mi sa che non attacca. [cit.]
Tutti professori dall'esterno, e poi parlano persone che per prendere un voto decente ripetono l'esame 30 volte e poi fanno i sapientoni con chi segue la prima volta vedi chilavert [cit.] |
 |
|
|
Cathàll
Utente di ALTO livello - Moderatore Fantacalcio
   

Regione: Puglia
Città: Corato
|
|
|
Chilavert
admin
    

Regione: Puglia
Prov.: BA
Città: Bari
|
Inserito il - 10/06/2004 : 10:35:01
|
| a lezione ha detto che se ne frega... bhòòò |
E' un bene per il Prof. Xxxxxxx che sappia con chi ha a che fare. Pensa a studiare e non agli esempi, o ad altre strade per così dire, che questa volta mi sa che non attacca. [cit.]
Tutti professori dall'esterno, e poi parlano persone che per prendere un voto decente ripetono l'esame 30 volte e poi fanno i sapientoni con chi segue la prima volta vedi chilavert [cit.] |
 |
|
|
danandr
Utente medio
 
Regione: Puglia
Prov.: BARI
Città: MONOPOLI
|
Inserito il - 10/06/2004 : 12:14:58
|
in realtà l'automa stava già sulle dispense,mi serviva conoscere come l'avreste implementato grosso modo.Alcuni dubbi: - X il ciclo <cifra><cifra><lettera> io ho usato una funzione.ke ne dite?ci sono altri modi? - negli esempi fatti in aula da ferilli nn c'è mai il return quando si arriva ad uno stato finale.è un errore o si può fare anche così? - avete qualche traccia di automa su cui potermi esercitare oltre quelle delle dispense?Qualche traccia di appello scorso? - Oltre all'auotoma cosa potrebbe esserci all'esonero?Dovrebbe esserci quello al 90%,vero?
Devo fare benissimo la parte di ferilli se voglio passare l'esonero (ho preso 3 al primo!) quindi devo curare bene questa parte,come penso molti altri! X quanto riguarda lo stato pozza sono d'accordo anch'io che nn serve,ferilli ha detto così. grazie |
danandr |
 |
|
|
danandr
Utente medio
 
Regione: Puglia
Prov.: BARI
Città: MONOPOLI
|
Inserito il - 10/06/2004 : 12:32:13
|
chilavert mi potresti dire come li desciveresti gli stati dell'automa che hai inserito? io in questo modo: q0= stato iniziale.sono in attesa di una lettera q1= è stata letta una lettera.riconosciuto identificatore che inizia per lettera e sia seguito da un numero qualunque di gruppi <cifra><cifra><lettera>.stato finale q2=è stata letta una cifra.sono in attesa di un'altra cifra q3= è stata letta una cifra.sono in attesa di una lettera
Che ne dici?Scusa se chiedo anche queste "cavolate" ma ho capito che per Ferilli contano molto |
danandr |
 |
|
|
Cathàll
Utente di ALTO livello - Moderatore Fantacalcio
   

Regione: Puglia
Città: Corato
|
Inserito il - 10/06/2004 : 14:06:12
|
Citazione: Messaggio inserito da danandr X quanto riguarda lo stato pozza sono d'accordo anch'io che nn serve,ferilli ha detto così. grazie
Non lo so, che dirvi. Io l'esame l'ho fatto a Febbraio..a me Ferilli (incontrato prima dell'esame) disse che l'implementazione degli stati pozza era decisiva per una buona valutazione dell'Automa. Forse ora le cose son cambiate, non so.
Per quanto riguarda l'implementazione, al mio esame l'automa era molto simile a questo. Il passaggio da uno stato all'altro lo si implementa con un IF, il ciclo con un WHILE più una sentinella che lo fa uscire dal ciclo nel caso in cui legga il terminatore (nel mio caso era #). In tal caso poi c'è un RETURN identificatore, altrimenti, nel caso in cui non legga un carattere corretto, RETURN 0
Cosa importante. Implementate come volete, basta che motivate. Per semplificare le cose vi consiglio di ridurre l'alfabeto al minimo indispensabile. Questo semplifica di tanto l'automa. Ovviamente basta scriverlo e spiegarlo, altrimenti è un errore.
Questo è il modo in cui ho svolto il mio appello di Febbraio e i risultati (13/15, perchè dimenticai una freccia verso uno stato pozza) forse mi danno ragione. |
Cataldo - http://cathall.blogspot.com - http://www.flickr.com/photos/cataldo-it/

 |
 |
|
|
danandr
Utente medio
 
Regione: Puglia
Prov.: BARI
Città: MONOPOLI
|
Inserito il - 10/06/2004 : 15:07:35
|
Cathall se ti ricordi la traccia saresti così gentile da scrivermela?(e volendo mi dici anche cosa c'era nella parte di teroia). Domande: - Quando parli di ridurre l'alfabeto al minimo indispensabile cosa vuoi dire?L'alfabeto nn viene in automatico dalla traccia? - mi scrivi schematicamente in quali passi hai sviluppato il problema? (Automa,descrizione degli stati,alfabeto di ingresso,frammento di C) - lo stato pozza dovrebbe essere sempre uno vero?nelle sue dispense nn li ha messi,cmq nn comporta spreco di tempo,la variazione è solo nell'automa, quindi lo metto |
danandr |
 |
|
|
Chilavert
admin
    

Regione: Puglia
Prov.: BA
Città: Bari
|
Inserito il - 10/06/2004 : 15:10:48
|
Citazione: Messaggio inserito da danandr
chilavert mi potresti dire come li desciveresti gli stati dell'automa che hai inserito? io in questo modo: q0= stato iniziale.sono in attesa di una lettera q1= è stata letta una lettera.riconosciuto identificatore che inizia per lettera e sia seguito da un numero qualunque di gruppi <cifra><cifra><lettera>.stato finale q2=è stata letta una cifra.sono in attesa di un'altra cifra q3= è stata letta una cifra.sono in attesa di una lettera
Che ne dici?Scusa se chiedo anche queste "cavolate" ma ho capito che per Ferilli contano molto
corretto |
E' un bene per il Prof. Xxxxxxx che sappia con chi ha a che fare. Pensa a studiare e non agli esempi, o ad altre strade per così dire, che questa volta mi sa che non attacca. [cit.]
Tutti professori dall'esterno, e poi parlano persone che per prendere un voto decente ripetono l'esame 30 volte e poi fanno i sapientoni con chi segue la prima volta vedi chilavert [cit.] |
 |
|
|
Cathàll
Utente di ALTO livello - Moderatore Fantacalcio
   

Regione: Puglia
Città: Corato
|
Inserito il - 10/06/2004 : 15:49:06
|
Citazione: Messaggio inserito da danandr (Automa,descrizione degli stati,alfabeto di ingresso,frammento di C) - lo stato pozza dovrebbe essere sempre uno vero?nelle sue dispense nn li ha messi,cmq nn comporta spreco di tempo,la variazione è solo nell'automa, quindi lo metto
In questo momento la memoria non mi accompagna tantissimo, cmq.. Lo Stato pozza è unico, e lì convergono tutti i "Return 0" , per intenderci.
La Traccia in questo momento non la ricordo, di preciso, ma era sempre qualcosa del tipo "Identificatori che partono con una lettera e sono seguiti da gruppi da 3 di Cifra, Cifra, Lettera" (del tipo A88F, B52P, B31P43A appartengono al linguaggio.. B314 no..!) Per la parte di Teoria invece bisognava tradurre un'espressione regolare in Automa, trasformandolo in Deterministico e indicando il Linguaggio generato.
Questione dell'alfabeto: Se nella traccia lui parla di Cifre e Lettere, ovviamente non considera tutti quegli altri simboli (punto, dollaro, virgola, cancelletto, ecc) che possono essere inseriti da input ma che cmq non devono essere accettati.
Davanti a una situazione di questo tipo hai due strade. La prima: Non scrivi nulla, però devi ricordarti di mettere una freccia dell'automa etichettata con ognuno dei possibili simboli che va verso lo stato pozza (questo per denotare il rifiuto di quella transizione) oppure (e questa secondo me è la strada migliore, perchè è più semplice e fai una figura migliore) ti ricordi, prima di progettare l'automa, di scrivere una cosa del tipo "Per semplicità abbiato ridotto l'alfabeto di input all'insieme delle lettere e delle Cifre. Altri tipi di simboli non sono inseribili".
Per quanto riguarda infine la procedura di risoluzione, io ti consiglio di fare prima l'automa, poi magari spiegare un po' (piazzaci magari un paio di esempi di stringhe accettate e rifiutate) inserendo la questione dell'alfabeto ed infine di realizzare il tutto in C. Se l'automa è fatto bene, la traduzione in C non è altro che una trascrizione delle struttura (Scelta Singola -> IF , Scelta Multipla -> CASE , Ciclo -> WHILE , Uscita dal Ciclo: Sentintella, Accettazione e Rifiuto : RETURN)
Spero di essere stato chiaro. |
Cataldo - http://cathall.blogspot.com - http://www.flickr.com/photos/cataldo-it/

 |
 |
|
|
danandr
Utente medio
 
Regione: Puglia
Prov.: BARI
Città: MONOPOLI
|
Inserito il - 10/06/2004 : 16:11:32
|
Cathall ti ringrazio molto per la tua disponibilità,sei stato molto kiaro.Usufruisco ancora un po' della tua disponibilità. praticamente,da quanto mi fai capire,la tua traccia è quella che ho riportato all'inizio di questa discussione,nn te ne sei accorto?Ma se è quella,perchè hai parlato di termiantore (#) ? Cmq,nel caso nn siano previsti terminatori nella traccia,puoi imporne tu uno?e quindi inserirlo nell'alfabeto di ingresso? Dubbio:se nel mio alfabeto della traccia sopra pongo solo lettere e cifre,l'identificatore che deve finire con una lettera cosa deve trovare dopo?nn può trovare uno spazio perchè nn l'ho previsto nell'alfabeto? Quando parli di sentinella,intendi per esempio l'espressione contenuta nella condizione del ciclo while? Ultima domanda:hia dichiarato le variabili che hai utilizzato?per esempio car, lookahead, i, word ecc. ? ti ringrazio ancora |
danandr |
 |
|
|
Gabri
Moderatrice - Un'amica affezionata
   

Regione: Puglia
Prov.: Ba
Città: Trani
|
Inserito il - 10/06/2004 : 17:22:09
|
io ho provato a fare questo esercizio secondo voi è giusto come l'ho svolto??????????sia il codice ma anche per quanto riguarda il"progetto" che non so come cavolo si fa....
fatemi sapere al piu presto se trovate degli errori perpiacere Allegato: Nuovo Archivio WinRAR.rar 6,04 KB |
 |
|
|
danandr
Utente medio
 
Regione: Puglia
Prov.: BARI
Città: MONOPOLI
|
Inserito il - 10/06/2004 : 20:18:29
|
ragazzi mi sapete dire se questo frammento di codice per il riconoscimento dei commeni sta bene?sto impazzendo per riuscire a trovarlo: ------------------------------------------------------------------------------------- FineCommento=0; //Variabile che risulta vero se si arriva a fine commento,falsa //altrimenti
if (car=='/') { if ((car=getc(FileSorgente))=='*') { while (!FineCommento) { while ((car=getc(FileSorgente))!='*'); while ((car=getc(FileSorgente))=='*'); if (car=='/') { lookahead=0; FineCommento=1; return; } } } else { printf("Errore: dopo '/' deve esserci '*' "); return 0; } } ----------------------------------------------------------------- |
danandr |
 |
|
|
danandr
Utente medio
 
Regione: Puglia
Prov.: BARI
Città: MONOPOLI
|
Inserito il - 10/06/2004 : 20:20:53
|
ve lo allego,forse ci capirete qualcosa di+
Allegato: Commenti.txt 1,06 KB |
danandr |
 |
|
|
Cathàll
Utente di ALTO livello - Moderatore Fantacalcio
   

Regione: Puglia
Città: Corato
|
Inserito il - 11/06/2004 : 00:13:33
|
Citazione: Messaggio inserito da danandr
ragazzi mi sapete dire se questo frammento di codice per il riconoscimento dei commeni sta bene?sto impazzendo per riuscire a trovarlo:
Senti, io modificherei la parte del ciclo Dopo aver trovato /* io farei
[lo scrivo in pseudolinguaggio]
while (finecommento==0) getchar if char = "*" getchar if char = "/" lookahead = 1 (ma non è indispensabile) finecommento=1 R
Perchè finecommento funziona da sentinella. Inizia il ciclo in cui lui prende tutto ciò che c'è dentro, facendo attenzione solo alla combinazione */
Ma non ci metto la mano sul fuoco (Non mi va di andare a ricontrollare il mio codice )
|
Cataldo - http://cathall.blogspot.com - http://www.flickr.com/photos/cataldo-it/

 |
 |
|
|
Cathàll
Utente di ALTO livello - Moderatore Fantacalcio
   

Regione: Puglia
Città: Corato
|
Inserito il - 11/06/2004 : 00:17:42
|
Citazione: Messaggio inserito da danandr
Allora. La traccia non è proprio quella all'inizio, ti ho scritto che è molto simile. In genere variano i gruppetti di lettere e il modo in cui questi sono composti.
Per quanto riguarda il terminatore, fa sempre parte di tutte quelle cose che devi premettere tu, per semplificarti il compito di realizzazione. Scrivi qualcosa tipo "Aggiungiamo all'alfabeto di input anche il carattere #, che andrà ad indicare la fine dell'identificatore"
Infine, le variabili: Il fatto di farlo scritto invece che al laboratorio semplifica molto la cosa. Al massimo parla discorsivamente della "struct token" e scrivi come funziona la getchar() e dichiara soltanto le varabili strettamente necessarie (tipo CHAR). |
Cataldo - http://cathall.blogspot.com - http://www.flickr.com/photos/cataldo-it/

 |
 |
|
|
fabbattista
utente SEMPRE giovane
 

Regione: Puglia
Prov.: Bari
Città: Bari
|
Inserito il - 11/06/2004 : 16:26:09
|
Se vi interessano le tracce degli appelli precedenti, provate al sito http://valis.di.uniba.it
a sinistra seguite il link linguaggi di programmazione. Trovate gli appelli, le tracce e in futuro le dispense. |
 |
|
|
Chilavert
admin
    

Regione: Puglia
Prov.: BA
Città: Bari
|
Inserito il - 11/06/2004 : 16:35:21
|
Citazione: Messaggio inserito da fabbattista
Se vi interessano le tracce degli appelli precedenti, provate al sito http://valis.di.uniba.it
a sinistra seguite il link linguaggi di programmazione. Trovate gli appelli, le tracce e in futuro le dispense.
Grazie per le dritte... ...però prof, (ammesso che sia lei, anche se sembrerebbe così) me la pagherà per avermi spinto vicino alla rete durante l'ultima partita! scherzo, però devo dire che non è niente male come calciatore! |
E' un bene per il Prof. Xxxxxxx che sappia con chi ha a che fare. Pensa a studiare e non agli esempi, o ad altre strade per così dire, che questa volta mi sa che non attacca. [cit.]
Tutti professori dall'esterno, e poi parlano persone che per prendere un voto decente ripetono l'esame 30 volte e poi fanno i sapientoni con chi segue la prima volta vedi chilavert [cit.] |
 |
|
|
nicux
Sottonicux
   

Regione: Estero
Prov.: Zara
Città: Citta'
|
Inserito il - 11/06/2004 : 18:44:04
|
come sei diplomatico chila, se ti avessi spinto io non mi avresti dato del lei . |
gia' e non ancora... |
 |
|
|
fabbattista
utente SEMPRE giovane
 

Regione: Puglia
Prov.: Bari
Città: Bari
|
Inserito il - 11/06/2004 : 18:51:47
|
Ti chiedo scusa per la spinta, ma giuro che non è stata volontaria.
Anche se abbiamo perso, comunque non ci siamo ancora arresi.
Un piacere, almeno sul sito e in campo dammi del tu (meglio sempre comunque), se no poi Nicux si risente |
 |
|
|
nicux
Sottonicux
   

Regione: Estero
Prov.: Zara
Città: Citta'
|
Inserito il - 11/06/2004 : 18:56:00
|
il risentimento non è nel mio vocabolario, il tu era una metafora 
ma pure io posso darti del tu? |
gia' e non ancora... |
 |
|
Discussione  |
|