Helsingfors universitet / Institutionen för datavetenskap / 581258-1 Introduktion till programmering
Copyright © 1999 Arto Wikla. Detta läromaterial får endast användas av privatpersoner för studier. All övrig användning, kommersiell eller på övriga kurser är förbjuden.

581258-1 Introduktion till programmering: Mellanförhör 2, den 3 maj 1999/AW

Skriv på varje koncept kursens namn och datum för förhöret samt ditt namn, din födelsetid och din underskrift.

Du får i programmeringsuppgifterna använda dig av de hjälpmedel som finns i klassen Lue (Las).



  1. Förklara kort och exakt vad som menas med inladdning av en klass och skapande av ett objekt.
                                                                  (6 poäng)
    
    

  2. Gör upp en metod int andratillInt(String foljd). Metoden ändrar sin teckensträngsparameter till ett heltal och returnerar detta. Teckenföljden bör innehålla bara siffertecken. I annat fall är parametern felaktig och metoden returnerar värdet -1.

    Java-språket innehåller lämpliga redskap för att ändra en teckenföljd till ett tal, men du måste lösa denna uppgift på egen hand: börja med att kopiera teckenföljden till en char[]-tabell, kontrollera att följden är korrekt och beräkna sedan det numeriska värdet för följden.

    Vinkar:

                                                                  (6 poäng)
    
    
    

  3. En god vän på kursen Introduktion till programmering har inte riktigt förstått vad man menar med överladdning (el. -lagring, overloading), ersättning (overriding) och nedärvning (inheritance) av en metod. Han har inte ens riktigt förstått varför det är viktigt att känna till dessa begrepp. Hjälp din vän genom att göra en skriftlig beskrivning. Kom ihåg att man har god nytta av exempel. Vid bedömningen beaktas även den tilltänkta läsaren. Skriv alltså inte för korrigeraren utan för din fiktiva vän.
                                                                  (6 poäng)
    
    
    
    

  4. Du har i din användning klassen Indatafil för att läsa textfiler. Klassen har konstruktorn Indatafil(String namn). Filens namn ges som parameter.

    En rad läses med metoden

      public String lasRad()
    
    Indatafilens slut betecknas med ett null-värde.

    Klassen beaktar även undantag (exceptions): Om det sker ett fel, ger klassen ett lämpligt felmeddelande och avbryter exekveringen av programmet.

    Gör upp ett program ArDeSamma för att jämföra två filer. Filernas namn ges på kommandoraden. Programmet jämför filerna radvis och skriver ut på skärmen alla rader som skiljer sig från varandra. Utskriften ser ut på följande sätt:

    1>katten gick på sne<
    2>kissen gick på sne<
    1>1235123<
    2>1234123<
    1>abc<
    2>abc  <
    2>  den<
    2>andra var  <
    2>längre!<
    
    De rader som skiljer sig från varandra skrivs alltså ut mellan tecknen "1>" och "<" eller "2>" och "<" beroende på om raden härstammar från den första eller den andra filen. Om någondera filen är kortare än den andra, skrivs även den längre filens extra rader ut. Programmet skriver ingenting annat.

    Tre rader skiljde sig från varandra i exemplet ovan. Dessutom var den andra filen tre rader längre än den första.

    Programmet behöver alltså inte beakta undantag (exceptions), som istället behandlas av filhanteringsklassen.

                                                                  (7 poäng)
    










Ha en solig sommmar!