ACCEDI

Password dimenticata?

×
Seguici su Instagram Feed RSS Seguici su YouTube
Visualizzazione risultati da 1 a 5 su 5

aiutino per i FILE in pascal..

  1. #1
    Assuefatto da FdT
    Donna 34 anni da Pordenone
    Iscrizione: 11/5/2008
    Messaggi: 514
    Piaciuto: 0 volte

    Predefinito aiutino per i FILE in pascal..

    è il primo programmino-ino-ino-ino che faccio con i FILE.... volevo sapere se è giusto. il programma prende una stringa (che esiste già) e conta le vocali.

    io ho fatto così:

    PROGRAM contavocali(input, output, vocali);
    var
    vocali: FILE of char ;
    buffer:char;
    x:integer;
    c:char;
    begin
    assign (vocali,'C:\INF\VOCALI.DAT');
    reset(vocali);
    read (vocali,buffer);
    x:=0;

    while not eof (vocali) do
    begin
    if (buffer ='a') or (buffer='e') or (buffer='i') or (buffer='o') or (buffer='u')
    then
    x:=x+1;
    end;
    close (vocali);



    end;





    può funzionare??
    non vengono fuori gli allineamenti giusti ..però si capisce ugualmente..

  2. #2
    Assuefatto da FdT
    Uomo 40 anni da Crotone
    Iscrizione: 23/9/2006
    Messaggi: 610
    Piaciuto: 1 volte

    Predefinito

    In pascal ci ho programmato una sola volta quindi non saprei se la sintassi è corretta perchè non ricordo quasi niente... ormai sono orientato su altri linguaggi!
    A livello logico più o meno ci dovresti essere!!!

    La funzione reset(vocali) cosa fa?
    Se cancella il contenuto della variabile non credo sia tanto indicata su vocali ma andrebbe fatta su buffer per assicurare la cancellazione prima della scrittura su buffer.!.

    La chiamata alla funzione read(vocali, buffer) per quanto ho potuto capire dovrebbe leggere dal file vocali ed inserire i dati letti nel buffer ma, quanto legge alla volta??? una riga per volta?? un carattere per volta???

    Se legge un carattere per volta credo dovresti richiamare la funzione ogni volta all'inizio del ciclo while.. e prima di chiamarla dovresti cancellare il contenuto della variabile buffer per sicurezza!

    PS: prova, se gira e fa quello che volevi... allora va bene!!! (metodo infallibile questo).. Se lo avessi dovuto fare in qualche altro linguaggio tipo Java, C++, C ecc ecc ti avrei riscritto il codice senza problemi! ...
    Ultima modifica di Highlander.1984; 20/9/2008 alle 11:55

  3. #3
    Assuefatto da FdT
    Donna 34 anni da Pordenone
    Iscrizione: 11/5/2008
    Messaggi: 514
    Piaciuto: 0 volte

    Predefinito

    Quote Originariamente inviata da Highlander.1984 Visualizza il messaggio
    In pascal ci ho programmato una sola volta quindi non saprei se la sintassi è corretta perchè non ricordo quasi niente... ormai sono orientato su altri linguaggi!
    A livello logico più o meno ci dovresti essere!!!

    La funzione reset(vocali) cosa fa?
    Se cancella il contenuto della variabile non credo sia tanto indicata su vocali ma andrebbe fatta su buffer per assicurare la cancellazione prima della scrittura su buffer.!.

    La chiamata alla funzione read(vocali, buffer) per quanto ho potuto capire dovrebbe leggere dal file vocali ed inserire i dati letti nel buffer ma, quanto legge alla volta??? una riga per volta?? un carattere per volta???

    Se legge un carattere per volta credo dovresti richiamare la funzione ogni volta all'inizio del ciclo while.. e prima di chiamarla dovresti cancellare il contenuto della variabile buffer per sicurezza!

    PS: prova, se gira e fa quello che volevi... allora va bene!!! (metodo infallibile questo).. Se lo avessi dovuto fare in qualche altro linguaggio tipo Java, C++, C ecc ecc ti avrei riscritto il codice senza problemi! ...

    graizie di aver risposto! (cominciavo a perdere le speranze !!)
    la funzione reset serve per far andare la testina all'inizio, quindi dopo aver esplorato tutte le celle torna all'inizio. tipo un i:=i+1 , i inteso come incremento....
    ad ogni modo, è vero, pascal è un linguaggio antiquato!!! comunque fra pochi mesi comincerò c++ .... e quindi... saprò a chi rivolgermi !!!!

    grazie mille.. ho cambiato qualcosina.. poi quando finisco metto il programma corretto e rifinito...

  4. #4
    obo
    .
    35 anni
    Iscrizione: 23/9/2005
    Messaggi: 35,505
    Piaciuto: 122 volte

    Predefinito

    pascal proprio non lo ricordo e non so esserti d'aiuto.

    con il c e c++ andiamo già meglio

  5. #5
    Assuefatto da FdT
    Uomo 40 anni da Crotone
    Iscrizione: 23/9/2006
    Messaggi: 610
    Piaciuto: 1 volte

    Predefinito

    Quote Originariamente inviata da bellydance91 Visualizza il messaggio
    graizie di aver risposto! (cominciavo a perdere le speranze !!)
    la funzione reset serve per far andare la testina all'inizio, quindi dopo aver esplorato tutte le celle torna all'inizio. tipo un i:=i+1 , i inteso come incremento....
    ad ogni modo, è vero, pascal è un linguaggio antiquato!!! comunque fra pochi mesi comincerò c++ .... e quindi... saprò a chi rivolgermi !!!!

    grazie mille.. ho cambiato qualcosina.. poi quando finisco metto il programma corretto e rifinito...

    Guarda se sei interessata ad imparare a programmare e sfruttare la potenza di un linguaggio... ti consiglio vivamente di lasciare stare Pascal... Pascal veniva utilizzato per lo più per creare programmini inerenti alla matematica... ma ormai, con il passare del tempo, sono stati creati linguaggi molto più potenti in grado di fare cose che con Pascal non potresti mai fare!
    Quindi ti consiglio vivamente, se veramente vuoi imparare a programmare in C++, di iniziare il prima possibile!

    Ciao ciao..

    PS: sul C++ ci sono tanti aspetti da analizzare!

Discussioni simili

  1. Aiutino
    Da Luna Rossa nel forum Problemi, suggerimenti e consigli
    Risposte: 7
    Ultimo messaggio: 8/9/2008, 11:32
  2. aiutino
    Da Mr.Ban nel forum Amore e amicizia
    Risposte: 37
    Ultimo messaggio: 29/3/2006, 22:56
  3. aiutino
    Da xx_gossip_girl_xx nel forum Scuola, università, lavoro
    Risposte: 2
    Ultimo messaggio: 16/3/2006, 0:03
  4. AAA...cercasi qualcuno che sa usare pascal
    Da Piccola_Fly nel forum Scuola, università, lavoro
    Risposte: 4
    Ultimo messaggio: 27/2/2006, 0:54