Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Linguaggi di programmazione
 Soluzione Grammar reader
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Pagina Precedente
Autore Discussione Precedente Discussione Discussione Successiva
Pagina: di 2

Rio
Utente medio

Insetto



Inserito il - 13/06/2006 : 18:49:01  Mostra Profilo  Visita l'Homepage di Rio Invia a Rio un Messaggio Privato  Rispondi Quotando
Io non ho trovato ancora la soluzione a questo esercizio, se qualcuno può ci aiuti please!

www.festamaggiore.it
Festa Maggiore - Scoprire e diffondere le tradizioni di Terlizzi
Torna all'inizio della Pagina

peano
Utente medio

Prov.: Bari


Inserito il - 13/06/2006 : 20:07:48  Mostra Profilo  Visita l'Homepage di peano Invia a peano un Messaggio Privato  Rispondi Quotando
ragazzi almeno una linea guida...nessuno proprio ci è riuscito??
Torna all'inizio della Pagina

peano
Utente medio

Prov.: Bari


Inserito il - 14/06/2006 : 00:02:17  Mostra Profilo  Visita l'Homepage di peano Invia a peano un Messaggio Privato  Rispondi Quotando
cm al solito in questo forum..quando si tratta di avere...postano tutti..quando si tratta invece di dare o spiegare...nn posta mai nessuno...oppure sempre i soliti...grazie!
Torna all'inizio della Pagina

airbag
utente salvato da un

airbag

Città: manchester


Inserito il - 14/06/2006 : 07:52:16  Mostra Profilo  Visita l'Homepage di airbag  Invia a airbag un messaggio AOL Invia a airbag un Messaggio Privato  Rispondi Quotando
siamo umani e necessitiamo di essere amati come tutti gli altri fanno

<>Can't you see them?
Can't you see them?
roots can't hold them
Bugs console them<>
<big><big><big><i><font color="#000033">since
yourheadisshacking
inthat
yourarmsareshacking
inthat
yourfeetareshacking
cause
theEarthisshackin'</font></i></big></big></big>
Torna all'inizio della Pagina

peano
Utente medio

Prov.: Bari


Inserito il - 14/06/2006 : 09:26:27  Mostra Profilo  Visita l'Homepage di peano Invia a peano un Messaggio Privato  Rispondi Quotando
bella la poesia....ma nn ho capito il nesso
Torna all'inizio della Pagina

airbag
utente salvato da un

airbag

Città: manchester


Inserito il - 14/06/2006 : 11:30:54  Mostra Profilo  Visita l'Homepage di airbag  Invia a airbag un messaggio AOL Invia a airbag un Messaggio Privato  Rispondi Quotando
che c'è sempre chi più chiede e meno chi da
aspettiamo se uno vuole

<>Can't you see them?
Can't you see them?
roots can't hold them
Bugs console them<>
<big><big><big><i><font color="#000033">since
yourheadisshacking
inthat
yourarmsareshacking
inthat
yourfeetareshacking
cause
theEarthisshackin'</font></i></big></big></big>
Torna all'inizio della Pagina

anto_nella
Nuovo Utente



Inserito il - 14/06/2006 : 11:56:41  Mostra Profilo  Visita l'Homepage di anto_nella Invia a anto_nella un Messaggio Privato  Rispondi Quotando
Vorrei fare una precisazione in merito alle premesse di Franz.

"-basta una produzione monotona per rendere monotona la grammatica;"

La definizione 3.5 del libro di Semeraro parla chiaro: Una grammatica è monotona se OGNI sua produzione è monotona.
Quindi non è sufficiente una sola produzione monotona per rendere la grammatica monotona.

Sto cercando anche io di risolvere l'esercizio sul Grammar-Reader...se ho news vi aggiorno!
Cià!
Torna all'inizio della Pagina

peano
Utente medio

Prov.: Bari


Inserito il - 14/06/2006 : 13:33:37  Mostra Profilo  Visita l'Homepage di peano Invia a peano un Messaggio Privato  Rispondi Quotando
va bè...nn ci vuole molto..gli metti un contatore ad ogni produzione monotona ke trova..e poi se il contatore è uguale al numero di produzioni..allora è monotona.... stai tentando di risolvere l'esercizio di trasformare da monotona in contestuale?
Torna all'inizio della Pagina

anto_nella
Nuovo Utente



Inserito il - 14/06/2006 : 14:21:42  Mostra Profilo  Visita l'Homepage di anto_nella Invia a anto_nella un Messaggio Privato  Rispondi Quotando
Si può semplificare ulteriormente l'esercizio: dopo la prima produzione NON monotona trovata, si può già affermare che la grammatica non è monotona!
Sto tentando di risolvere l'esercizio che trasforma una monotona in contestuale...
Torna all'inizio della Pagina

peano
Utente medio

Prov.: Bari


Inserito il - 14/06/2006 : 15:05:08  Mostra Profilo  Visita l'Homepage di peano Invia a peano un Messaggio Privato  Rispondi Quotando
si certo ...magari se risolvi quell'esercizio di trasformare da monotone in contestuali...facci sapere qui
Torna all'inizio della Pagina

airbag
utente salvato da un

airbag

Città: manchester


Inserito il - 14/06/2006 : 20:08:28  Mostra Profilo  Visita l'Homepage di airbag  Invia a airbag un messaggio AOL Invia a airbag un Messaggio Privato  Rispondi Quotando
io userei il metodo:
'se non lo vedo non esiste'
non serve nella vita questo esercizio

<>Can't you see them?
Can't you see them?
roots can't hold them
Bugs console them<>
<big><big><big><i><font color="#000033">since
yourheadisshacking
inthat
yourarmsareshacking
inthat
yourfeetareshacking
cause
theEarthisshackin'</font></i></big></big></big>
Torna all'inizio della Pagina

peano
Utente medio

Prov.: Bari


Inserito il - 14/06/2006 : 21:52:49  Mostra Profilo  Visita l'Homepage di peano Invia a peano un Messaggio Privato  Rispondi Quotando
bè...ti servirebbe invece...se vuoi passare il lab ....nn sei molto saggio airbag
Torna all'inizio della Pagina

airbag
utente salvato da un

airbag

Città: manchester


Inserito il - 14/06/2006 : 22:51:30  Mostra Profilo  Visita l'Homepage di airbag  Invia a airbag un messaggio AOL Invia a airbag un Messaggio Privato  Rispondi Quotando
ma io credo che quell'esercizio non ci sarà
troppo complesso
puniamo ad altro
che dite?

<>Can't you see them?
Can't you see them?
roots can't hold them
Bugs console them<>
<big><big><big><i><font color="#000033">since
yourheadisshacking
inthat
yourarmsareshacking
inthat
yourfeetareshacking
cause
theEarthisshackin'</font></i></big></big></big>
Torna all'inizio della Pagina

krasta
Utente medio

Città: acquaviva


Inserito il - 15/06/2006 : 12:54:00  Mostra Profilo  Visita l'Homepage di krasta Invia a krasta un Messaggio Privato  Rispondi Quotando
ho trovato finalmente la soluzione alla traccia che chiedeva se una grammatika è dipendente da contesto (muahahahahaha)
la allego.....se c'è qualke bug ditemelo.grazie

Allegato: CS.zip
2,4 KB

il prog apre un file di testo chiamato "G1.txt"

emancipate yourself from mental slavery
Torna all'inizio della Pagina

silent
Utente assiduo

tartaruga


Regione: Puglia
Prov.: Bari
Città: Andria


Inserito il - 15/06/2006 : 14:19:39  Mostra Profilo  Visita l'Homepage di silent Invia a silent un Messaggio Privato  Rispondi Quotando
io l'esercizio sulla monotonia l'ho fatto così:

#include <stdio.h>

#define MAX_WORD_LENGTH 100
#define MAX_PRODUCTIONS 100

// Definizione dei tipi ------------------------------------------------------*/

typedef char Symbol;

typedef struct
{
Symbol word [MAX_WORD_LENGTH];
unsigned length;
} Word;

typedef struct
{
Word left;
Word right;
} Production;

typedef struct
{
Production productions[MAX_PRODUCTIONS];
unsigned numprod;
} Grammar;

// Procedure di riconoscimento dei simboli -----------------------------------*/

int is_terminal(Symbol s)
{
return (islower(s));
//return (s >= 'a') && (s <= 'z');
}

int is_nonterminal(Symbol s)
{
return (isupper(s));
//return (s >= 'A') && (s <= 'Z');
}

int is_prodsym(Symbol s)
{
return (s == '>');
}

int is_prodsep(Symbol s)
{
return (s == '\n');
}

/* Lettura di simboli da file ------------------------------------------------*/

Symbol read_sym(FILE* file)
{
Symbol s;

// fscanf(file,"%c",&s);

//questo ciclo permette di saltare la lettura di spazi tra i simboli
do
s = getc(file);
while (s==' ');

return s;
}

Production* add_new_production(Grammar *g)
{
Production* p;
p = &(g->productions[g->numprod++]);
p->left.length = 0;

return p;
}


void add_symbol(Word *w, Symbol s)
{
w->word[w->length++] = s;
}


// Procedura di acquisizione di una grammatica da un file --------------------*/

Grammar* load_grammar(FILE* file, Grammar* g)
{
enum States {START,LEFT,RIGHT,ERROR};
/* START = Scansione di una nuova produzione [F]
LEFT = Scansione della parte sinistra
RIGHT = Scansione della parte destra [F]
ERROR = Errore di scansione
*/
enum States current_state = START; // Stato iniziale
Symbol s;
Production* p;

g->numprod = 0; // Inizializza la grammatica

while (current_state != ERROR && !feof(file))
{
s = read_sym(file);
if (feof(file)) break;
switch(current_state)
{
case START:
if (is_terminal(s) || is_nonterminal(s))
{
current_state = LEFT;

//p = &(g->productions[g->numprod++]);
//p->left.length = 0;
p = add_new_production(g);
add_symbol(&p->left,s);
//L'istruzione precedente corrisponde a p->left.word[p->left.length++] = s;
}
else if (is_prodsep(s))
{
current_state = START;
}
else
current_state = ERROR;
break;
case LEFT:
if (is_terminal(s) || is_nonterminal(s))
{
current_state = LEFT;
add_symbol(&p->left,s);
}
else if (is_prodsym(s))
{
current_state = RIGHT;
p->right.length = 0;
}
else
current_state = ERROR;
break;
case RIGHT:
if (is_terminal(s) || is_nonterminal(s))
{
current_state = RIGHT;
add_symbol(&p->right,s);
}
else if (is_prodsep(s))
{
current_state = START;
}
else
current_state = ERROR;
break;
}
}

if (current_state == START || current_state == RIGHT)
return g;
else
return NULL;

}

// Procedure di stampa

void print_sym (Symbol s)
{
printf("%c ",s);
}


void print_word (Word* w)
{
int i;

for (i=0; i<w->length; i++)
print_sym(w->word[i]);
}

void print_production (Production* p)
{
print_word(&p->left);
printf (" --> ");
print_word(&p->right);
}

void print_grammar(Grammar* g)
{
int i;

if (g == NULL)
printf ("Errore! Grammatica non valida! \n");
else
{
printf ("Numero di produzioni: %d\n", g->numprod);
for (i=0; i<g->numprod; i++)
{
print_production(&g->productions[i]);
printf ("\n");
}
}
}

// Esercizio -------------------------------------------------------------------

int esercizio (Grammar* g)
{
int i;
Production* p;
Word* l;
Word* r;
int flag;

for (i=0; i < g->numprod; i++)
{
p = &g->productions[i];
l = &p->left;
r = &p->right;
flag = 0;
if (l->length <= r->length)
flag = 1;
}
if (flag)
printf ("La grammatica e' monotona \n");
else
printf ("La grammatica non e' monotona \n");

return 0;
}

// MAIN ------------------------------------------------------------------------

int main(int argc, char *argv[])
{
char* filename = argv[1];
FILE* gram_file;
Grammar grammar;

// controlla se è stato inserito il nome del file

if (filename == 0)
{
printf("nome file non specificato \n");
return -1;
}

// apertura del file contenente la grammatica

gram_file = fopen(filename,"r");
if (gram_file == NULL)
{
printf("nome di file errato\n");
return -1;
}

print_grammar(load_grammar(gram_file,&grammar));

esercizio(&grammar);
fclose(gram_file);


system("PAUSE");
return 0;
}


se c'è qualcosa di sbagliato potreste dirmi dove ??

Rivoluzione? Rivoluzione? Per favore, non parlarmi tu di rivoluzione! Io so benissimo cosa sono e come cominciano: c'e qualcuno che sa leggere i libri che va da quelli che non sanno leggere i libri, che poi sono i poveracci, e gli dice: << Oh, oh, e' venuto il momento di cambiare tutto >> [...] Io so quello che dico, ci son cresciuto in mezzo, alle rivoluzioni. Quelli che leggono i libri vanno da quelli che non leggono i libri, i poveracci, e gli dicono: << Qui ci vuole un cambiamento! >> e la povera gente fa il cambiamento. E poi i piu' furbi di quelli che leggono i libri si siedono intorno a un tavolo, e parlano, parlano, e mangiano. Parlano e mangiano! E intanto che fine ha fatto la povera gente? Tutti morti! Ecco la tua rivoluzione! Quindi per favore, non parlarmi piu' di rivoluzione...E porca troia, lo sai che succede dopo? Niente...tutto torna come prima". Juan Miranda - Giù la testa -
Torna all'inizio della Pagina

ermanno
Utente giovane


Regione: Puglia
Prov.: Bari
Città: particolare


Inserito il - 23/06/2006 : 08:50:37  Mostra Profilo  Visita l'Homepage di ermanno Invia a ermanno un Messaggio Privato  Rispondi Quotando
be si effettivamente questo serve per vedere se una grammatica è monotona ma non serve per modificarla...qualch'uno sa come si fa?

sono un uomo triste decadente e tenebroso
Torna all'inizio della Pagina
Pagina: di 2 Discussione Precedente Discussione Discussione Successiva  
Pagina Precedente
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,26 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000