Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Chiarimenti su Algoritmo

    Ciao a tutti in un problema java mi si chiede di fare una cosa con un file testo il cui nome deve esser fornito in input all'applicazione e di lunghezza non nota e poi c'è anche questa dichiarazione che non so che vuole dire esattamente
    * -le parole del testo sono separate da almeno un carattere tra i seguenti . , spazio ; : \t \n \f.

    cosa vogliono dirmi che io devo separare le parole de testo con uno d quei segni o sono già separate?

    Sentite so che sicuramente non accetterete ma ho davvero un grosso problemae vorrei il vostro aiuto soltanto per questa volta. Devo risolvere questo problema con i file testo perchè non l'ho capito molto bene vi chiedo di darmi qualche indicazione su come rispolverlo passo passo e ualche pezzo di codice vi prego davvero ho bisogno il vostro aiuto. Il problema è l seguente


    Preparare un'applicazione java per l'individuazione di termini significativi in un testo. Si tenga presente che:
    - ciascuno dei termini può comparire una o più olte nel testo
    - il testo da analizzare è contenuto in un file testo di lunghezza non nota il cui nome deve essere fonito in input all'applicazione
    - *
    - L'ELENCO DEI TERMINI SIGNIFICATIVI è CONTENUTO IN UN ALTRO FILE TESTO ANCH'ESSO DI LUNGHEZZA NON NOTa il ci nome deve eessere fornit in input all'applicazione
    e nel quale la prima riga contiene il numero dei termini, e le righe successive contengono i termini uno per riga.

    Quando incontra uno dei termini sigificativi il programma deve visualizzarlo nella finestra di output video con indicazione posizione che occupa nel testo e poi deve produrre un file testo Risultati.txt che non esiste prima dell'esecuzione del progr. in ogni riga del quale vaNNO STAMPATI UNO DEI TERMINI SIGNIFICATIVI INDIVIDUATI E IL NUMERO COMPLESSIVO DELLE SU OCCORRENZE insieme con le due parole che precedono e seguono la sua prim occorrenza. In questo file la info devono essere memorizzate in ordine inverso di appaizzione nel testo della prima occorrenza del termine significativo.

    L'appl. deve contenere 2 classi Individua e Test ch contiene il main per l'esecuzione. + metodi e costruttori.


    So tuttodi teoria di java ma in questo problema sto avendo davvero problemi a mettere insieme le istruzionisono confuso vi prego aiutatemi voi quetsa volta (è la prima volta che affronto problemi di queto tipo). So già in linea di massima le cose he dovrei utilizzare ma non riesco a metterle insieme e scrivere il codice.



    Ciao a tutti e grazie anticipatamente

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,260

    Re: Chiarimenti su Algoritmo

    Originariamente inviato da AlexlovesUSA
    -le parole del testo sono separate da almeno un carattere tra i seguenti . , spazio ; : \t \n \f.

    cosa vogliono dirmi che io devo separare le parole de testo con uno d quei segni o sono già separate?
    Nel file le parole sono già separate da almeno uno dei caratteri sopra citati. Es:
    pippo;provaluto,ciao esempio

    Se tu che "sapendo" questo, devi spezzare la sequenza di caratteri in parole "riconoscendo" quei caratteri come separatori.

    Originariamente inviato da AlexlovesUSA
    - il testo da analizzare è contenuto in un file testo di lunghezza non nota il cui nome deve essere fonito in input all'applicazione
    Quindi questo è il file che dicevi prima, con le parole separate da . , spazio ; ecc...., giusto???

    Originariamente inviato da AlexlovesUSA
    - L'ELENCO DEI TERMINI SIGNIFICATIVI è CONTENUTO IN UN ALTRO FILE TESTO ANCH'ESSO DI LUNGHEZZA NON NOTa il ci nome deve eessere fornit in input all'applicazione
    e nel quale la prima riga contiene il numero dei termini, e le righe successive contengono i termini uno per riga.
    E questo quindi è un altro "formato" di file. Un po' più semplice poiché c'è 1 termine per ogni riga e oltretutto sai a priori il numero di termini (che potrebbe esserti utile o anche inutile ... dipende da come gestisci la cosa).

    Originariamente inviato da AlexlovesUSA
    Quando incontra uno dei termini sigificativi il programma deve visualizzarlo nella finestra di output video con indicazione posizione che occupa nel testo e poi deve produrre un file testo Risultati.txt che non esiste prima dell'esecuzione del progr. in ogni riga del quale vaNNO STAMPATI UNO DEI TERMINI SIGNIFICATIVI INDIVIDUATI E IL NUMERO COMPLESSIVO DELLE SU OCCORRENZE insieme con le due parole che precedono e seguono la sua prim occorrenza. In questo file la info devono essere memorizzate in ordine inverso di appaizzione nel testo della prima occorrenza del termine significativo.

    L'appl. deve contenere 2 classi Individua e Test ch contiene il main per l'esecuzione. + metodi e costruttori.


    So tuttodi teoria di java ma in questo problema sto avendo davvero problemi a mettere insieme le istruzionisono confuso vi prego aiutatemi voi quetsa volta (è la prima volta che affronto problemi di queto tipo). So già in linea di massima le cose he dovrei utilizzare ma non riesco a metterle insieme e scrivere il codice.
    Questo lavoro nel complesso non è per nulla banale e richiede anche un certo lavoro con le "strutture dati". Capisco che per te è la prima volta ... hai fretta ... sei confuso .... ecc...
    Ma cerca almeno di spezzare questo grosso problema in tanti sottoproblemi!! Altrimenti non se ne viene a capo!!

    Da quanto ho capito, devi anche tenere un conteggio delle occorrenze dei vari termini. Quindi la prima cosa che mi viene in mente è che devi usare una "struttura dati" che permetta: 1) una ricerca veloce di un termine e 2) la associazione di un termine con un "contatore".

    E con queste premesse la cosa più intuitiva è l'uso di un HashMap, con chiave String (termine) e valore un Integer (contatore).

    Ripeto: spezza in più sottoproblemi. A parte tutto il resto, ad esempio sei in grado di leggere quel file dei termini e creare una apposita struttura dati per i tuoi scopi???
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    grazie tante per la risposta ma il problema è che io frequento il primo anno di ingegeia informatica e questa materia si chiama fondamenti di java e anche il libro è java fondamanti quindi non ci sono spiegati moltissimi metodi che potrebbero servirmi quindi io peno di fare il problema così dimmi come vado e dimmi se sbaglio e che devo aggiungere.

    -Dichiaro la classe Individua
    -le variabili di istanza (che non saprei proprio quali dichiarare oltre ai 2 array per i file testo)
    -Costruttore che inizializza le variabili di istanza
    -metodo che apre i 2 file quello con termini e quello on testo la cui lunghezza e nome non sono noti, legge prima riga dal file con termini e crea un array di lunghezza uguale a quel numero e che contiene i termini. Poi cerca all'interno del file testo i termini dell'array termini uno per uno e stampa a video il termine con l'indicazione della posizione cheo ccupa nel testo.
    - Metodo che crea un file Risultati.txt e al cui interno stampa il i termini individuati numero complessivo occorrenze e le due parole che seguono e precedono ogni termine.


    Classe Test con il main che avvia l'applicazione


    Il problema è che non saprei proprio come ordinare i termini in ordine inverso di apparizzione
    e poi come potrei fare per creare l'array di termini di lunghezza uguale a quato indicato nella prima riga e che contiene i termini? come faccio a cercarli nel testo?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,260
    Originariamente inviato da AlexlovesUSA
    -Dichiaro la classe Individua
    -le variabili di istanza (che non saprei proprio quali dichiarare oltre ai 2 array per i file testo)
    -Costruttore che inizializza le variabili di istanza
    -metodo che apre i 2 file quello con termini e quello on testo la cui lunghezza e nome non sono noti, legge prima riga dal file con termini e crea un array di lunghezza uguale a quel numero e che contiene i termini. Poi cerca all'interno del file testo i termini dell'array termini uno per uno e stampa a video il termine con l'indicazione della posizione cheo ccupa nel testo.
    - Metodo che crea un file Risultati.txt e al cui interno stampa il i termini individuati numero complessivo occorrenze e le due parole che seguono e precedono ogni termine.
    No ... non ci siamo capiti.
    Prima di "buttarti" su questi dettagli implementativi, ovvero quali/quante variabili di istanza usare, quanti metodi definire e con quali nomi ecc... dovresti prima avere ben chiaro quali strutture dati usare e come gestire le varie singole parti di questo "grosso" problema.

    Ad esempio una cosa non ben chiara e specificata è quando dici: "stampa a video il termine con l'indicazione della posizione cheo ccupa nel testo". Bene, per posizione che cosa intendi? La riga/colonna dove si trova la parola? O un indice della parola (partendo da 1)? O altro?

    Parti dalla struttura dati dei termini. Pensa bene a che cosa devi fare:
    a) Aggiungere un numero (noto o meno ... ha importanza relativa) di termini.
    b) Poter cercare un termine (possibilmente velocemente)
    Questo come minimo.

    Poi c'è la questione delle occorrenze. Non mi è ben chiaro da quello che dici ma devi ad esempio poter dire: il termine "prova" è occorso 4 volte nel testo?? Una cosa del genere?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    allora cerco di spiegarti ancora meglio
    per le occorrenze devi scrivere tipo

    termine n°occorrenze

    per quanto rigurda invece la posizione devi scrivre in quae posizione nel testo compare tipo

    il termine t si trova nlla riga n°x e nella posizione z( dopo quante parole in quella riga)

    ora per quanto riguarda la sua scrittura nel file risultati deve essere scritto


    parola 1 parola 2(precedono il temine la prima occorrenza) termine parola 3 parola 4(seguono il termine la prima occorrenza) n° occrrenze

    Ora come facco? è complicato ancora io sono sgli inixi ho bisogno di consigi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.