Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi N - Z > Programmazione > [LAB Programmazione] Esercizi Turno 2
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
nfast
.precettore.

User info:
Registered: Sep 2004
Posts: 95 (0.01 al dì)
Location:
Corso: Informatica
Anno: primo
Time Online: 18:00:55 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
[LAB Programmazione] Esercizi Turno 2

ecco due esercizi di preparazione:

programma che dato in input una frase verifica se è un acronimo ricorsivo.
-----------------------------------------------------------------------------------
import java.util.*;
import prog.io.*;
import prog.utili.*;

class FraseRicorsiva{
public static void main(String[] args){
ConsoleInputManager in = new ConsoleInputManager();
ConsoleOutputManager out = new ConsoleOutputManager();
boolean fraseRicorsiva = true;
String s;
do{
s = in.readLine("Inserisci la frase ricorsiva [es. SEI Elisa Infelice]\n");
}
while(s.length() < 2);
StringTokenizer st = new StringTokenizer(s," ");
s = st.nextToken();
if(s.length() != st.countTokens()+1)
fraseRicorsiva = false;
else{
for(int k = 1;st.hasMoreTokens();k++)
if(s.charAt(k) != st.nextToken().charAt(0)){
fraseRicorsiva = false;
break;
}
}
if(fraseRicorsiva)
out.println("La frase e' ricorsiva");
else
out.println("La frase non e' ricorsiva");
}
}
----------------------------------------------------------------------------------
programma che calcola l'acronimo ricorsivo su una parola data in input tramite controllo su file acronimi.txt
---------------------------------------------------------------------------------
import java.util.*;
import prog.io.*;
import prog.utili.*;

class AcronimoRicorsivo{
public static void main(String[] args){
ConsoleInputManager in = new ConsoleInputManager();
ConsoleOutputManager out = new ConsoleOutputManager();
FileInputManager fp = new FileInputManager("acronimi.txt");
boolean parolaRicorsiva = false;
int k;
String s,buffer = "";
StringTokenizer st;
do{
s = in.readLine("Inserisci la parola ricorsiva [es. SEI]\n");
}
while(s.length() < 2);
while(!parolaRicorsiva && ((buffer = fp.readLine()) != null)){
st = new StringTokenizer(buffer," ");
if(s.length() == st.countTokens()+1){
for(k = 1;st.hasMoreTokens();k++)
if(s.charAt(k) != st.nextToken().charAt(0))
break;
if(k == s.length())
parolaRicorsiva = true;
}
}
if(parolaRicorsiva)
out.println("La parola " + s + " e' ricorsiva a: " + buffer);
else
out.println("La parola non e' ricorsiva");
}
}
------------------------------------------------------------------------------------
ps. acronimi.txt deve contenere al suo interno gli acronimi [es: Not Unix ]
ciao a tutti NFast

09-11-2004 14:52
Click Here to See the Profile for nfast Click here to Send nfast a Private Message Find more posts by nfast Add nfast to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
nfast
.precettore.

User info:
Registered: Sep 2004
Posts: 95 (0.01 al dì)
Location:
Corso: Informatica
Anno: primo
Time Online: 18:00:55 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ragazzi qualcuno di voi sa per caso come implementare l'algoritmo dell'anagramma ?

io l'ho scrissi qualke anno fa in C per un compito di laboratorio delle superiori (utilizzando il random), però non è una bella cosa (sovraccarico di memoria).

se qualcuno ha un'idea rispondete a questo post :D.

ciao

09-11-2004 17:21
Click Here to See the Profile for nfast Click here to Send nfast a Private Message Find more posts by nfast Add nfast to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Jacoposki
.arcimaestro.

User info:
Registered: Sep 2004
Posts: 498 (0.07 al dì)
Location: Milano
Corso: Informatica
Anno: in tesi-sa dio per quanto
Time Online: 4 Days, 0:24:17 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

quello per l'anagramma non lo riesco a fare.... mi frega il fatto che non so come togliere una lettera da una stringa, ammesso che si possa fare. Pensavo di risolverlo utilizzando gli array, ma visto che mi pare che non li abbia ancora spiegati suppongo che non sia necessario usarli. Avevo impapocchiato qualcosa giocando con indexOf, ma mi perdeva il caso, tutt'altro che raro, di lettere ripetute (mi avrebbe considerato pippo come anagramma di pipoo, insomma).

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori

09-11-2004 20:41
Click Here to See the Profile for Jacoposki Click here to Send Jacoposki a Private Message Visit Jacoposki's homepage! Find more posts by Jacoposki Add Jacoposki to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
tandrea85
.precettore.

User info:
Registered: Sep 2004
Posts: 95 (0.01 al dì)
Location:
Corso: informatica
Anno: 1
Time Online: 18:21:48 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

io l'ho fatto cosi quello dell'acronimo..

import prog.io.*;
import java.util.StringTokenizer;

class Enigmistica2
{
public static void main(String[] args)
{
ConsoleInputManager in = new ConsoleInputManager();
ConsoleOutputManager out = new ConsoleOutputManager();

String testo = in.readLine("Inserisci testo: ");

StringTokenizer st = new StringTokenizer(testo);

int lung=st.countTokens(), cont=0;
String primap = st.nextToken(), token;


out.print("\nLa frase \"");
out.print(primap.toUpperCase());

for(int i=1; st.hasMoreTokens()==true ;i++)
{
if(primap.charAt(i)==(token=st.nextToken()).charAt(0))
cont++;

out.print(" "+token);
}

if(cont==lung-1 && lung!=1)
out.println("\" e' un acronimo ricorsivo");
else
out.println("\" non e' un acronimo ricorsivo");
}
}

10-11-2004 10:16
Click Here to See the Profile for tandrea85 Click here to Send tandrea85 a Private Message Find more posts by tandrea85 Add tandrea85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
tandrea85
.precettore.

User info:
Registered: Sep 2004
Posts: 95 (0.01 al dì)
Location:
Corso: informatica
Anno: 1
Time Online: 18:21:48 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

mentre questo è quello del palindromo per i testi

import prog.io.*;
import java.util.StringTokenizer;

class Enigmistica2
{
public static void main(String[] args)
{
ConsoleInputManager in = new ConsoleInputManager();
ConsoleOutputManager out = new ConsoleOutputManager();

String testo = in.readLine("Inserisci testo: ");

StringTokenizer st = new StringTokenizer(testo," ,.'!\":;");
String token, stringa="";


while(st.hasMoreTokens())
{
token=st.nextToken();
stringa+=token;
}
stringa.toLowerCase();

boolean palindroma = true;
int lung = stringa.length() - 1;
for (int sx = 0, dx = lung ; sx < dx; sx++,
dx--)
if (stringa.charAt(sx) != stringa.charAt(dx))
palindroma = false;

if (palindroma)
out.println("Il testo e' palindromo");
else
out.println("Il testo non e' palindromo");

}
}

10-11-2004 10:17
Click Here to See the Profile for tandrea85 Click here to Send tandrea85 a Private Message Find more posts by tandrea85 Add tandrea85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Jacoposki
.arcimaestro.

User info:
Registered: Sep 2004
Posts: 498 (0.07 al dì)
Location: Milano
Corso: Informatica
Anno: in tesi-sa dio per quanto
Time Online: 4 Days, 0:24:17 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

in quello dell'acronimo mi pare che non gli fai il controllo iniziali maiuscole sulle parole successive alla prima.... era richiesto nelle specifiche :)

per gli anagrammi, chiarisco meglio il mio problema, o almeno ci provo ^^

Il discorso che avevo in mente di fare è più o meno questo:

Per ogni token della stringa di testo con lo stesso numero di lettere della parola di cui cerchiamo l'anagramma:

1) Prendo la prima lettera del token
2) La confronto con tutte quelle della parola finchè non trovo una corrispondenza
3) Elimino dalla parola la lettera riscontrata
4) Passo a fare lo stesso giochetto sulla lettera successiva del token

Il punto 3 non so come farlo... non so come dirgli che non deve considerare le lettere già riscontrate. Quindi se ho "pippo" come token e lo sto confrontando con "ippop" voglio al primo passaggio prendere la prima "p" di pippo e beccare la corrispondenza con la prima "p" di ippop. Ma al secondo passaggio non devo più confrontare "pippo" con "ippop", bensì "-ippo" con "i-pop", dove "-" è la lettera già riscontrata che non devo più considerare. Avevo pensato di lavorarci con gli array ma non dovrebbe essere necessario. Avevo pensato di ricostruire la stringa via via più corta man mano che si eliminano lettere, ma a quel punto mi impazziscono i for di scorrimento stringa... avevo pensato di farmi un'altra classe da chiamare in maniera ricorsiva ma mi pare un po' troppo barocco...

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori

10-11-2004 12:17
Click Here to See the Profile for Jacoposki Click here to Send Jacoposki a Private Message Visit Jacoposki's homepage! Find more posts by Jacoposki Add Jacoposki to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Jacoposki
.arcimaestro.

User info:
Registered: Sep 2004
Posts: 498 (0.07 al dì)
Location: Milano
Corso: Informatica
Anno: in tesi-sa dio per quanto
Time Online: 4 Days, 0:24:17 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

vabbè, l'ha spiegato oggi.... mi era sfuggito il metodo substring :P

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori

10-11-2004 22:38
Click Here to See the Profile for Jacoposki Click here to Send Jacoposki a Private Message Visit Jacoposki's homepage! Find more posts by Jacoposki Add Jacoposki to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
nfast
.precettore.

User info:
Registered: Sep 2004
Posts: 95 (0.01 al dì)
Location:
Corso: Informatica
Anno: primo
Time Online: 18:00:55 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
[anagramma]

avevo capito male il problema che il prof Grossi ci aveva dato settimana scorsa per casa:

pensavo a costruire un anagramma di una parola data in input.

ABC ad esempio è:

ACB
BAC
BCA
CAB
CBA

pensavo che fosse questo l'esercizio :)

ps: proviamo a farlo raga, eliminando anche le parole doppie.
ad esempio ANNA......(ripeto io l'ho fatto in C qualke anno fa).

11-11-2004 17:10
Click Here to See the Profile for nfast Click here to Send nfast a Private Message Find more posts by nfast Add nfast to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Simeon
:D

User info:
Registered: Aug 2004
Posts: 984 (0.13 al dì)
Location: Milano
Corso: Informatica
Anno: IT IS OVER!
Time Online: 14 Days, 19:29:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Re: [anagramma]

Originally posted by nfast
avevo capito male il problema che il prof Grossi ci aveva dato settimana scorsa per casa:

pensavo a costruire un anagramma di una parola data in input.

ABC ad esempio è:

ACB
BAC
BCA
CAB
CBA


Anche io avevo capito la stessa cosa :sbonk:

11-11-2004 17:13
Click Here to See the Profile for Simeon Click here to Send Simeon a Private Message Find more posts by Simeon Add Simeon to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 09:09.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.064 seconds (59.13% PHP - 40.87% MySQL) con 28 query.