Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Lag en funksjon analyser_fil(filnavn), som:

  • Skriver filens innhold til skjerm, linje for linje.
  • Skriver til skjerm hvor mange linjer det er i filen.
  • Skriver til skjerm hvor mange ord det er i filen.

Du kan anta at ord er adskilt av mellomrom i filen.

Videoforklaring (14:30

 

 Utdelt kode

Expand
titleopprett_barnesanger.m
Code Block
titleopprett_barnesanger.m
 

 

...

Del 1 (mm7:ss28)Del 2 (mm7:ss02)
  
Widget Connector
urlhttps://www.youtube.com/watch?v=w_9f37sreNw
Widget Connector
urlhttps://www.youtube.com/watch?v=ZAyMTdfa58M
Oppgaveintroduksjon, og kode for å håndtere lesing av tekst fra fil.Kode som behandler teksten lest inn fra fil.  

Løsningsforslag

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
titletellanalyser_ord.mfil.m
function analyser_fil(filnavn)
    % 1. Åpne filen
    fd = fopen(filnavn, 'r');
    if fd == -1
        error('Kunne ikke åpne filen %s\n', filnavn);
    end
    
    % 2. Bruke filen
    antall_linjer = 0;
    antall_ord = 0;
    while ~feof(fd)
        linje = fgetl(fd);
        % Behandle linjen 
        fprintf('%s\n', linje);
        antall_linjer = antall_linjer + 1;
        ord = strsplit(linje, ' ');
        antall_ord = antall_ord + length(ord);
    end
    fprintf('Antall linjer: %d\n', antall_linjer);
    fprintf('Antall ord: %d\n', antall_ord);
    
    % 3. Lukke filen
    status = fclose(fd);
    if status == -1
        error('Kunne ikke lukke filen %s\n', filnavn);
    end
end