© 1999-2003,
Flemming Koch Jensen
Alle rettigheder forbeholdt | |
Metoder Vejledning løsninger | Opgaver |
1 |
Lav en metode skrivAdresse, der udskriver din eller en andens adresse på tre linier, med navn, adresse og postnummer. F.eks. kunne udskriften være: | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
hvis du tilfældigvis tror du er Ikast Handelsskole! | |||||||||||||||||||||||||||||||||
2 |
I denne opgave skal vi udvikle en metode meddelFejl, der kan bruges til at udskrive fejlmeddelelser.
| ||||||||||||||||||||||||||||||||
3 | Lav en metode midterst, der tager tre tal som parametre. Metoden skal returnere den midterste værdi. F.eks. skal kaldet midterst( 6, 10, 8 ) returnere 8. | ||||||||||||||||||||||||||||||||
4 |
Lav en metode stjerneLinie, der udskriver en linie med 20 stjerner. Udskriften vil ved ét kald blive:
Du skal i opgaven anvende en lokal variabel, der sættes til værdien 20 (En form for oplæg til næste opgave), ud over den tæller der optræder i en evt. for-sætning. | ||||||||||||||||||||||||||||||||
5 | Lav en metode stjerneLinie, der udskriver en linie med et vist antal stjerner. Antallet af stjerner skal være givet som parameter til metoden. | ||||||||||||||||||||||||||||||||
6 |
Lav en metode tegnLinie, der udskriver en linie med et vist antal forekomster af et bestemt tegn. Lad tegnet og antallet af gange det skal udskrives være givet ved parametre. Et kald: tegnLinie( 10, '#' ) skal give følgende udskrift. | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
7 |
Betragt dine løsninger til opgave 4, 5 og 6. | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
8 | Lav en metode inc, der tager et array af int som parameter og tæller alle elemeneter op med 1. | ||||||||||||||||||||||||||||||||
9 |
Lav en metode add, der tager to arrays af int som parametre. Metoden skal beregne summen af elementerne med samme index og placere den i det array som står som den første parameter, på den position hvor de begge stod. F.eks. skal de to arrays:
efter kaldet add( første, andet ) få følgende udseende:
Her er summen af tallene parvist lagt i arrayet første, mens arrayet andet er uberørt. Du kan antage at de to aktuelle parametre til metoden har samme antal elementer. Er der her tale om at metoden returnerer mere end en værdi? | ||||||||||||||||||||||||||||||||
10 |
Lav en metode max, der tager to arrays af int som parametre. Metoden skal finde den største af elementerne med samme index og placere det i det array som står som den første parameter, på den position hvor de begge stod. F.eks. skal de to arrays:
efter kaldet max( første, andet ) få følgende udseende:
Her er maximum af tallene parvist lagt i arrayet første, mens arrayet andet er uberørt. Du kan antage at de to aktuelle parametre til metoden har samme antal elementer. | ||||||||||||||||||||||||||||||||
11 |
Lav en metode swap, der tager to arrays af int som parametre. Metoden skal ombytte elementerne med samme index. F.eks. skal de to arrays:
efter kaldet swap( første, andet ) få følgende udseende:
Her er elementerne parvist swappet. Du kan antage at de to aktuelle parametre til metoden har samme antal elementer. | ||||||||||||||||||||||||||||||||
12* |
| ||||||||||||||||||||||||||||||||
13 |
| ||||||||||||||||||||||||||||||||
14* |
Denne opgave går ud på at lave en række små metoder og bruge dem i sammensatte kald.
| ||||||||||||||||||||||||||||||||
15 | [Ikast Handelsskole: Datamatiker - Konstruktions-reeksamen, 23. januar 2001: Opgave 3.1] | ||||||||||||||||||||||||||||||||
For at tiltrække arbejdskraft har firmaet Far-away A/S besluttet at yder dets medarbejdere et tilskud til deres transport-udgifter. For specielt at tilgodese medarbejdere, der bor længere fra arbejde er tilskudet indrettet så der ydes 1,- kr. pr. km. ud over de første 5 km. en medarbejder har til arbejde hver dag. | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Lav en metode tilskud, der tager hele afstanden som parameter og returnerer det tilskud som medarbejderen skal have. | |||||||||||||||||||||||||||||||||
Du kan antage at parameteren ikke er negativ og at det er et heltal. | |||||||||||||||||||||||||||||||||
16 | [Ikast Handelsskole: Datamatiker - Konstruktions-reeksamen, 23. januar 2001: Opgave 3.2] | ||||||||||||||||||||||||||||||||
For at fuldføre datamatikeruddannelsen skal man til otte eksaminer. | |||||||||||||||||||||||||||||||||
For at bestå samlet gælder der at: | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Lav en metode bestået, der tager et array af heltal som parameter. Arrayet indeholder de otte karakterer for en studerende, idet karakteren for første eksamen er det første element i arrayet, karakteren for den anden eksamen er andet element, og så fremdeles. | |||||||||||||||||||||||||||||||||
Du kan antage at arrayet indeholder otte elementer og at de alle er gyldige karakterer på 13-skalaen. | |||||||||||||||||||||||||||||||||
Metoden skal returnere boolsk om den studerende har fuldført uddannelsen. | |||||||||||||||||||||||||||||||||
17 | [Ikast Handelsskole: Datamatiker - Konstruktions-eksamen, 3. januar 2001: Opgave 4] | ||||||||||||||||||||||||||||||||
17.1 | Lav en metode lige, der tager et heltal som parameter. Metoden skal returnere boolsk om parameteren er et lige tal. Lav tilsvarende en metode ulige, der returnerer om et heltal er ulige. | ||||||||||||||||||||||||||||||||
17.2 | Lav en metode swapLigeUlige, der tager et array af heltal som parameter. Metoden tager yderligere to heltal som parametre (dvs. i alt tre parametre). De to heltal angiver to index i arrayet. Hvis elementet svarende til det første index er et lige tal og elementet svarende til det andet index er et ulige tal, skal de to elementer byttes om, ellers ikke. | ||||||||||||||||||||||||||||||||
Hvis f.eks. arrayet der sendes med som parameter er følgende, | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
og de to index er 0 og 1, bliver resultatet, | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
da 6 er lige, og 7 er ulige. | |||||||||||||||||||||||||||||||||
swapLigeUlige skal returnere boolsk om den byttede om på de to elementer. I ovenstående eksempel vil den derfor returnere true. | |||||||||||||||||||||||||||||||||
Implementationen af swapLigeUlige skal, om muligt, anvende kald af metoderne lige og ulige. | |||||||||||||||||||||||||||||||||
Du kan antage, at det første index altid er mindre end det andet, samt at de begge er gyldige index i arrayet. | |||||||||||||||||||||||||||||||||
17.3 | Betragt følgende metode: | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Forklar hvad denne metode gør ved det array den modtager som parameter. | |||||||||||||||||||||||||||||||||
Hvad gælder der om elementernes placering i arrayet når metoden returnerer false? (Dit svar må ikke relatere til elementernes placering før metoden bliver kaldt!) | |||||||||||||||||||||||||||||||||
18 | [Ikast Handelsskole: Datamatiker - Konstruktions-eksamen, 6. januar 2000: Opgave 6.1] | ||||||||||||||||||||||||||||||||
Lave en metode erstatMindre, der tager et array af heltal som parameter, samt to andre heltal (dvs. i alt tre parametre). Det ene heltal er en angivelse af en grænseværdi, og det andet heltal er en angivelse af en værdi. Når metoden returnerer skal alle forekomster af tal i arrayet, der var mindre end eller lig med grænseværdien være erstattet med den angivne værdi. Metoden skal ikke returnere noget. | |||||||||||||||||||||||||||||||||
Hvis det array, der sendes med som parameter f.eks. har følgende udseende: | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
og vi ligeledes sender grænseværien 4, og værdien 0, med i kaldet af erstatMindre, skal arrayet efter kaldet have følgende udseende: | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
19 | [Ikast Handelsskole: Datamatiker - Konstruktions-eksamen, 6. januar 2000: Opgave 6.2] | ||||||||||||||||||||||||||||||||
Lave en metode findesPar, der tager et array af heltal som parameter, samt to andre heltal (dvs. i alt tre parametre). De to andre heltal danner et par i den rækkefølge de anføres. Metoden returnerer boolsk om dette par findes i arrayet. | |||||||||||||||||||||||||||||||||
Hvis det array, der sendes med som parameter f.eks. har følgende udseende: | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
og vi ligeledes sender tallene 5 og 3 med som parameter (anført i nævnte rækkefølge) vil metoden returnere true, da disse tal optræder som par i arrayet på index-positionerne 4 og 5 | |||||||||||||||||||||||||||||||||
20 | [Ikast Handelsskole: Datamatiker - Konstruktions-reeksamen, 20. januar 2000: Opgave 3] | ||||||||||||||||||||||||||||||||
20.1 | Lav en metode hyppighed, der tager et array af heltal som parameter, samt et andet heltal (dvs. i alt to parametre). Metoden skal returnere hvor mange procent af tallene i arrayet, der har den pågældende værdi, som er sendt med som parameter. | ||||||||||||||||||||||||||||||||
Hvis det array, der sendes med som parameter, f.eks. har følgende udseende: | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
og vi ligeledes sender tallet 4 med i kaldet af hyppighed, skal metoden returnere 9, da 4 forekommer én gang og 1/11=0,09. Bemærk at metoden skal returnere procenten som heltal: | |||||||||||||||||||||||||||||||||
20.2 | Lav en metode printStatistik, der tager et array af heltal som parameter. Metoden skal udskrive en statistik over forekomsten af tallene fra 0 til 9. Du kan antage at samtlige tal i arrayet ligger i intervallet [0:9]. Du kan i besvarelsen af denne opgave antage, at du har metoden hyppighed fra opgave 20.1. | ||||||||||||||||||||||||||||||||
Hvis det array, der sendes med som parameter, er det samme som i opgave 20.1, skal udskriften bliver: | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||