| Autore |
Discussione  |
|
|
gym83s
Utente Estremo
 
Regione: Puglia
Prov.: Foggia
Città: Trinitapoli
|
Inserito il - 31/05/2005 : 16:28:11
|
Salve ragazzi com'è Andata la prova di laboratorio Corso A? qual'era la traccia??
rispondete appena potete ciaooo!
|
|
|
DarkSiDe
Utente medio
 
Regione: Puglia
Prov.: Bari
|
Inserito il - 01/06/2005 : 09:21:47
|
un automa, ridicolo per altro  |
"mai discutere con un idiota...ti trascina al suo livello e ti batte con l'esperienza" |
 |
|
|
eliopiu
Utente bagnino
 

Regione: Puglia
Prov.: Foggia
Città: Foggia
|
Inserito il - 01/06/2005 : 11:33:29
|
X={A u N}
dove A è l'insieme delle lettere minuscole N è l'insieme dei numeri decimali
implementare il seguente automa (Ti scrivo le regole di produzione al posto del disegno)
q0 = Aq1 | .q6 | . q1 = Nq2 q2 = Aq3 q3 = Nq4 q4 = Aq1
Stato finale q6
Durata 1 ora.
Questo è il mio compito svolto, mi funziona regolarmente. Ciao
#include <stdio.h> #include <stdlib.h>
#define MAX_LENGTH 100
int scan(char* s) { enum{q0,q1,q2,q3,q4,q6,POZZA}current_state = q0; int i = 0; while((s[i]!='\0' && s[i]!='\n') && current_state!= POZZA) { switch(current_state) { case q0: if(s[i]>='a' && s[i]<='z') current_state = q1; else current_state = POZZA; break; case q1: if(s[i]>='0' && s[i]<='9') current_state = q2; else if(s[i]=='.') current_state = q6; else current_state = POZZA; break; case q2: if(s[i]>='a' && s[i]<='z') current_state = q3; else current_state = POZZA; break; case q3: if(s[i]>='0' && s[i]<='9') current_state = q4; else current_state = POZZA; break; case q4: if(s[i]>='a' && s[i]<='z') current_state = q1; else current_state = POZZA; break; case q6: current_state = POZZA; break; } ++i; } return(current_state == q6); } int main(int argc, char* argv[]) { char buffer[MAX_LENGTH+1]; char* filename = argv[1]; FILE* file; file = fopen(filename,"r"); if(file==NULL) { printf("file ineistente"); return -1; } while(!feof(file)) { if(fgets(buffer,MAX_LENGTH,file)) if(scan(buffer)) printf("%s RICONOSCIUTO\n", buffer); else printf("%s NON RICONOSCIUTO\n", buffer); } fclose(file); system("PAUSE"); return 0; }
|
 |
|
|
gym83s
Utente Estremo
 
Regione: Puglia
Prov.: Foggia
Città: Trinitapoli
|
Inserito il - 01/06/2005 : 11:48:21
|
scusate ma le possibili tracce che possono uscire sono solo automi?? no vero?? e che altro??
grazie... |
 |
|
|
Marketto
Utente medio
 
Regione: Puglia
Prov.: Ba
Città: Bari
|
|
|
falco_85
Utente giovane

Regione: Puglia
Prov.: Bari
|
Inserito il - 01/06/2005 : 14:06:26
|
| l'analizzatore lessicale può uscire? |
 |
|
|
rel
Utente assiduo
  

|
Inserito il - 02/06/2005 : 16:49:05
|
| Si in teoria potrebbe [parlo del corso B]. Il prof disse che come nel caso del grammar reader, sarebbero potuti uscire ma essendo limitato il tempo ci avrebbe dato già tutto il sorgente e noi avremmo dovuto fare una semplice integrazione (del tipo una verifica che la gramm fosse lineare destra o context free). Saluti |
 |
|
|
gym83s
Utente Estremo
 
Regione: Puglia
Prov.: Foggia
Città: Trinitapoli
|
Inserito il - 02/06/2005 : 18:09:39
|
ma nel corso A o B il laboratorio è lo stesso vero???
|
 |
|
|
eliopiu
Utente bagnino
 

Regione: Puglia
Prov.: Foggia
Città: Foggia
|
Inserito il - 04/06/2005 : 10:07:15
|
| Si, l'altra volta eravamo tutti insieme |
 |
|
| |
Discussione  |
|