ricerca di una parola..

Discuti dei problemi relativi alla programmazione nel tuo linguaggio preferito!

Moderatori: cb_123, thrantir, tonertemplum

Messaggiodi `knives` il 15 giu 2006, 15:03

grazie per la spiegazione :)

il progetto si è evoluto cosi :

partendo da una stringa di tot caratteri e inserendo il numero di lettere di cui è composta una parola, restituisca un elenco di parole appunto che corrispondano ai requisiti detti su, cercandoli tra vari file contenenti un listato di parole in italiano.
i file dizionari sono 21, sono file di testo, uno per lettera dell'alfabeto e all'interno di questo file (chiamato per esempio italiano.a, italiano.b) sono contenute delle parole di varie lunghezze e genere elencati in ordine decrescente di lunghezza e in ordine alfabetico...
per ogni parola trovata che rispetti le specifiche richieste deve restituire un punteggio calcolato secondo la somma del valore di ogni lettera che compone la parola, salvare ogni parola associata al proprio score e dopo aver ordinato la lista stamparla in ordine descrescente rispetto al punteggio di ogni parola. è possibile inserire anche dei bonus sul punteggio esempio

Codice: Seleziona tutto

parola che iniza con una determinata lettera

vocali x2

se la lettere in una determinata posizione è una assegnata aumenta il punteggio

e magari altri che verrano man mano..


dato che il programma ha tutte le specifiche stabilite, si puo pensare a scriverlo.. dicevi di spezzare il codice in piu file? in che senso? mettere da una parte le dichiarazioni delle classi e includerle come un file hearder nel file cpp? o qualcosa di piu avanzato?
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

 

Messaggiodi thrantir il 15 giu 2006, 15:42

allora, se lo si vuole riorganizzare, bisogna pensare bene a come strutturarlo

supponiamo di star scrivendo una libreria di funzioni, e che il programma di test che useremo non sia scritto da noi. Noi dobbiamo fornire i file header, i .h, e il codice compilato che implementa le funzioni.

Che funzioni dovra' utilizzare il programma di test?

Attenzione, il principio e' che cio' che non deve essere utilizzato fuori dalla libreria, non deve essere nemmeno ragigungibile da fuori

in definitiva, per iniziare, dobbiamo pensare il tutto come a una scatola nera, a cui posso chiedere delle cose. Cosa gli devo poter chiedere?
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi `knives` il 15 giu 2006, 15:52

non ho capito quello che intendi.. cmq provo a rispondere lo stesso

cosa mi serve a me?
che il programma mi restituisca una lista di parole ordinate da quella con piu alto punteggio a piu basso..

quindi mi serviranno funzioni del tipo

1)inserimento specifiche richieste
2)creazione lista di parole che rispetta le specifiche
3)calcolo punteggio base per ogni parola
4)richiesta inserimento bonus
5)calcolo punteggio con eventuali bonus sommati al punteggio base
6) assegnamento per ogni parola al proprio punteggio
7)ordinamento lista in base ai punteggi
8)ricerca parola con piu alto score
9)stampa delle parole a schermo
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

Messaggiodi thrantir il 15 giu 2006, 17:47

mettiamo che tu abbia il programma fatto, fammi un esempio di uso, immagina di metterti al pc e interagire col programma come un utente
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi `knives` il 15 giu 2006, 17:56

Codice: Seleziona tutto
Che sillaba cerchi? sal
Quanti caratteri devono formare la parola? 5

quella con punteggio piu alto è : casal 
le altre in ordine decrescente:
  esala    esalo    salda    salga    salai    salma    salam    salpa
  salsa    salta    salva    salde    saldi    saldo    salem    salme    salpe
  saler    sales    salse    salve    salgo    salii    salmi    salpi    salsi
  sisal    salti    salvi    salmo    salpo    salso    salto    salvo

totale parole trovate: 35

prossima manche ?(s per si, altrimenti n)


dove "casal" è quella con punteggio piu alto e "salvo" quella con punteggio piu basso
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

Messaggiodi thrantir il 16 giu 2006, 09:00

stavo ragionando su come procedere...

la prima cosa che farei sarebbe mettere il codice del programma di test, in pratica il nostro main, in un file a parte

poi, per ogni classe, ci deve essere un file .h che ne descrive l'interfaccia e un file .cpp che la implementa

per ora separiamo il main dal resto

se puoi, metti online un archivio con tutto il codice che abbiamo prodotto sinora
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi `knives` il 16 giu 2006, 11:46

http://www.megaupload.com/it/?d=67D9U6J7

li cè il sorgente e i dizionari.

ma noi quante classi dobbiamo scrivere? penso una sola no?
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

Messaggiodi thrantir il 16 giu 2006, 12:43

beh vediamo, gia' ne abbiamo una (la RatedString), penso che qualcunaltra verra' fuori :D
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi `knives` il 29 lug 2006, 17:40

ok.. dato che ho finito gli esami per questa sessione posso rimettermi dietro a fare qualcosa.. pero partiamo con una domandina.. classi uml e relative classi java.

se io ho una classe in uml la quale ha altre classi uml sotto di essa che prendono alcune caratteristiche da lei.. come faccio a implementare questa cosa in java? durante l'esame ho pensato.. beh il java è un linguaggio ad oggetti, e l'ereditarieta fa parte di questo linguaggio, quindi se io dichiaro una classe (chiamiamola A) poi mi creero una classe figlio di A (chiamiamola B) che avra tutto quello di A piu alcune cose proprie..
ecco questa cosa che ho appena detto come si implementa?
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

Messaggiodi thrantir il 30 lug 2006, 01:40

con la parola chiave extend :D

hai deciso di abbandora il c++ in favore di java?

ricordati che java, per scelta, non consente l'ereditarietà multipla... questo evita diversi problemi ma rende il linguaggio meno versatile. Per sopperire a questo, esiste il meccanismo delle interfacce. Una letura fortemente consigliata: thinking in java di bruce eckel. In realtà, il libro madre è thinking in c++ sempre di eckel, l'edizione rivolta a java è una sua diretta discendente

magari, potremmo fare le cose per bene iniziando con un po di progettazione... che ne dici, si apre un 3d nuovo con, in primis, la descrizione del problema?
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi `knives` il 30 lug 2006, 11:45

ma no, è che il mio prof di sistemi informatici ha deciso di fare java questanno invece che sistemi operativi e quindi all'esame cera da dichiarare un paio di classi prese dalle classi del progetto uml sviluppato prima, solo che io nel progetto uml ci ho piazzato dento qualche generalizzazione, qualche include e associazioni varie tra le classi e quando ho letto che dovevo svillupare in java quello che avevo fatto mi veniva voglia di rifare il progetto in modo piu semplice.. va beh.. alla fine mi sono inventato varie cose per esempio:

class PERSONALE{

int eta;
string nome;

void inserisci_eta(int eta){....codice....}

};

class DIRIGENTE{

personale
string dipartimento;

/*metodi
...
};

non so se si capisce..
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

Messaggiodi thrantir il 30 lug 2006, 15:40

fai una cosa più strutturata, così ti abitui a progettare in modo più cosciente: ora, se non vado errato, stai modellando una situazione in cui hai persone, e le persone possono essere dipendenti e dirigenti giusto?
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi `knives` il 31 lug 2006, 08:47

si era solo un esempio.. all'esame l'esercizio diceva di modellizzare una biblioteca che gestisse in automatico la concessione dei prestiti, il rientro dei libri, l'aggiunta di ogni libro nuovo acquistato.

allora vediamo di chiarirci un attimo.. cosi da non fare confusione, si parlava di mettere su un piccolo "corso" di programmazione c++, poi anche un altro piccolo tutorial di programmazione bash (dato che lo sto studiando.. è utile a me e utile anche agli altri :) ) che ne dici di queste due idee? per la seconda ho gia aperto un altro 3d.. quindi lo continuo da li.. ovviamente io non sono in grado di rispondere a tutte le domande quindi se mi aiuti ;)
invece per il corso di c++... l'unico aiuto che posso darti è quello di farti domande :D..

conosci la progettazione in uml?

dato che non cè piu un problema, ma si parla di un corso.. direi di partire dalle basi in un nuovo topic.. magari lo apro io, cosi che sia io che te possiamo modificarlo e aggiungerci man mano cose..
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

Messaggiodi thrantir il 31 lug 2006, 09:05

conosco la progettazione uml mentre per la bash sono parechcio a digiuno, mi ricordo giusto l'essenziale...

si potrebbe pensare a corsi a puntate... anche se, per la programmazione, sara' indispensabile dare gli esercizi da svolgere a casa :D
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi `knives` il 31 lug 2006, 09:12

beh per la bash vediamo di giostrarcela.. male che vada cè sempre il buon vecchio google ;) e in ogni caso.. anche se non ti ricordi le parole chiave.. una mente esperta di programmazione è sempre comoda per risolvere e capire eventuali script ;) ( si si ti sfrutto :lol: )

per gli esercizi a casa.. io son convito che.. se riusciamo ad impostare un bel discorso.. gli studenti non mancheranno.. alla fine è un gioco molto affascinante programmare ;)
anche se all'inizio si tireranno tutti indietro ehehehe
quindi direi.. partiamo e vediamo come va.. tanto io sicuro c++ voglio impararlo.
vogliadidolci.wordpress.com
Avatar utente
`knives`
Moderatore
Moderatore
 
Messaggi: 6246
Iscritto il: 24 mar 2005, 01:57

 
PrecedenteProssimo

Torna a Programmare

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron