Løsningsforslag Eksamen i Programmering i Visual Basic høsten 2003 Laget av Runar Munkhaug

Like dokumenter
HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

Visual Basic. Repetisjon fra mandag

Visual Basic. Repetisjon fra onsdag

HØGSKOLEN I SØR-TRØNDELAG

Løsningsforslag Øving 7

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG

Fasit til eksamen høst 2002, applikasjonsutvikling

Funksjoner og prosedyrer

Innføring i bruk av CGI4VB

Oppsummering fra sist

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.

AVANSERTE TING LEVETID, BRUKSOMRÅDE OG KONVERTERING...

Programmering Høst 2017

Innføring i bruk av CGI4VB

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

Sprettball Erfaren ComputerCraft PDF

Objektorientering i VB videregående

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Læringsmål og pensum. Intro løkker. Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av for-løkke Pensum. Kapittel 4.

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

TDT4105 Informasjonsteknologi, grunnkurs Matlab: Betinget programutførelse (valg: IF og SWITCH) og løkker (FOR)

File: C:\My Documents\fagprove\tp\klokke.txt , 08:42:20

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang

TDT4110 IT Grunnkurs Høst 2016

Argumenter fra kommandolinjen

TDT4105 IT Grunnkurs Høst 2016

GUI («Graphical User Interface») del 2

UNIVERSITETET I OSLO

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Høgskolen i Molde IBE150 Programmering Kontinuasjonseksamen (løsningsforslag) juni 2013

Web-programmering med JSP Løsningsforslag leksjon 3

UNIVERSITETET I OSLO

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN

TDT4110 IT Grunnkurs Høst 2015

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Eksamen i. Høst 2013

Øvingsforelesning 3 Python (TDT4110)

Finne ut om en løsning er helt riktig og korrigere ved behov

Repetisjon Novice Videregående Python PDF

Oppsummering - Til nå... (1/ )

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

Løsningsforslag til eksamen i INF1000

Oppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf

INF1000 (Uke 4) Mer om forgreninger, While-løkker

TDT4100 Objektorientert programmering

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

INF Uke 10. Ukesoppgaver oktober 2012

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

UNIVERSITETET I OSLO

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

TDT4110 IT Grunnkurs Høst 2014

Python: Input og output

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (

TDT4102 Prosedyreog objektorientert programmering Vår 2016

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

PXT: Micro:bit repeater

MAT1030 Plenumsregning 1

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Introduksjon til Visual Basic 5

Hangman. Level. Introduksjon

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Oppsummering - Til nå... (1/ )

INF1000 oppgaver til uke 38 (17 sep 23 sep)

UNIVERSITETET I OSLO

Finne ut om en løsning er helt riktig og korrigere ved behov

C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

Introduksjon til Visual Basic 5

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Transkript:

Løsningsforslag Eksamen i Programmering i Visual Basic høsten 2003 Laget av Runar Munkhaug Oppgave 1a) Strategi: Jeg setter sammen en utskriftsstreng basert på valgene som bruker tar i boksene og radioknappene, kan bruke select case her, men synes personlig at if then elseif er mer oversiktelig og enklere. Kode: Dim valg As String If chkforste.checked = True Then valg = "Førstevalget" ElseIf chkandre.checked = True Then valg = "Andrevalget" ElseIf chktredje.checked = True Then valg = "Tredjevalget" Label1.Text = (valg & " ditt er " & ComboBox1.SelectedItem & ".") Oppgave 1b) En funksjon er som en tjener som utfører visse ting for deg på kommando. Det kan, som i dette tilfellet være å legge sammen tre tall. Grunnen til at det er greitt å bruke kommandoer er at programmeringen blir enklere, i og med at en kan sette bort ting som skal skje flere ganger i et program, og dermed trenger bare å skrive koden for det en gang. En funksjon for å summere tre tall: Private Function summer(byval tall1 As Integer, ByVal tall2 As Integer, ByVal tall3 As Integer) summer = tall1 + tall2 + tall3 End Function Kode for å summere tre tall Dim sum As Integer Dim t1, t2, t3 As Integer t1 = 3 t2 = 6 t3 = 7 sum = summer(t1, t2, t3) Label1.Text = ("Summen av tallene er: " & sum)

Kode for å finne sum av 9 tall: Dim sum As Integer Dim t1, t2, t3, t4, t5, t6, t7, t8, t9 As Integer t1 = 14 t2 = 3 t3 = 12 t4 = 2 t5 = 13 t6 = 14 t7 = 1 t8 = 4 t9 = 12 sum = summer(summer(t1, t2, t3), summer(t4, t5, t6), summer(t7, t8, t9)) Label1.Text = ("Summen av tallene er: " & sum) Oppgave 1c) Oppgave 1d) Dim i, j As Integer Dim sum As Integer For i = 0 To 2 sum = 0 'nullstiller sum for ny gjennomgang For j = 0 To 3 sum = sum + skimatrise(i, j) Next j skimatrise(i, 4) = sum / 4 Next i Strategi: Jeg har fra før en funksjon som summerer tre tall. Bruker denne for å få enklere kode. Hvis brukeren velger desember, så må j settes lik 0, hvis januar så må j settes lik 1, o.s.v. Jeg forutsetter at combobox1 allerede er laget, og korrekt kodet inn. Kunne også ha valgt å bruke select case her, men synes personlig if then og elseif er mer oversiktelig og enklere å håndtere. Kode: Dim j, sum As Integer If ComboBox1.SelectedItem = "Desember" Then j = 0 ElseIf ComboBox1.SelectedItem = "Januar" Then j = 1 ElseIf ComboBox1.SelectedItem = "Februar" Then j = 2 ElseIf ComboBox1.SelectedItem = "Mars" Then j = 3 sum = summer(skimatrise(0, j), skimatrise(1, j), skimatrise(2, j)) Label1.Text = ("Det ble gått " & sum & "km i " & ComboBox1.SelectedItem & ".")

Oppgave 1e) Strategi: Vi skal lage ett program som teller til 20 i løpet av 10 sekunder. Vi må da først sette inn en timer i formen vår. Siden vi skal telle 2 ganger i sekundet, må vi sette intervallet til timeren til 500 millisekunder. Siden timerfunksjonen fungerer som en løkke, det vil si at i dette tilfellet skal den kjøres hvert 500. ms er det lurt å legge inn koden for utskrift til skjerm her. Siden vi bare skal telle til 20, må vi legge inn en løkketeller, som avslutter timeren når tallet 20 er skrevet ut. Pseudokode: Timerintervall : 500ms Løkke, skal gå 20 ganger Skriv ut løkketeller på skjerm Løkketeller = løkketeller + 1 Hvis løkketeller = 20, så stopp timer Løkke slutt. Mer detaljert: Private stopper As Integer Private Sub Button1_Click(ByVal sender As System.Ob Timer1.Enabled = True Timer1.Interval = 500 End Sub Private Sub Timer1_Tick(ByVal sender As System stopper = stopper + 1 Label1.Text = stopper If stopper >= 20 Then Timer1.Enabled = False End Sub

Oppgave 1f) Dim antk(5) As Integer Dim karakter As String Dim teller As Integer While karakter <> "ferdig" karakter = InputBox("Skriv inn karakteren:") If karakter = "A" Then antk(0) = antk(0) + 1 ElseIf karakter = "B" Then antk(1) = antk(1) + 1 ElseIf karakter = "C" Then antk(2) = antk(2) + 1 ElseIf karakter = "D" Then antk(3) = antk(3) + 1 ElseIf karakter = "E" Then antk(4) = antk(4) + 1 ElseIf karakter = "F" Then antk(5) = antk(5) + 1 For teller = 0 To 5 ListBox1.Items.Add("Antall forekomster av " & Chr(teller + 65) & " var " & antk(teller)) Next teller Oppgave 2a) Lager en posttype: Structure bilinfo <VBFixedString(20)> Public bmerke As String <VBFixedString(4)> Public aar As Integer <VBFixedString(6)> Public pris As Integer <VBFixedString(6)> Public km As Integer End Structure For å legge inn nye biler, kan følgende kode legges inn under f.eks. en lagre knapp. Informasjonen om de nye bilene kan hentes fra tekstbokser. Må først legge inn noen konstanter og variabler inn i general section: Private bil As bilinfo Const postlengde = 36 Private antall As Integer Private filnummer As Integer Private posisjon As Integer

Her kommer koden som skal legges inn under en lagre knapp: Oppgave 2b) If antall > 0 Then posisjon = antall + 1 Else.bmerke = TextBox1.Text.aar = TextBox2.Text.km = TextBox3.Text.pris = TextBox4.Text FilePut(filnummer, bil, posisjon) Denne koden kan legges under en søke knapp. Dim sok As Integer = 1998 While posisjon <= antall FileGet(filnummer, bil, posisjon) If sok = Trim(.aar) Then ListBox1.Items.Add(.bmerke &.aar &.km &.pris) posisjon = posisjon + 1

Oppgave 2c) Skal finne en bil der det er angitt makspris og nyere en ett visst år. Koden under kan legges under nok en søkeknapp. Strengen det søkes etter hentes fra tekstbokser. Oppgave 2d) Dim makspris As Integer Dim alder As Integer makspris = TextBox1.Text alder = TextBox2.Text While posisjon <= antall FileGet(filnummer, bil, posisjon) If makspris >= Trim(.pris) And alder >= Trim(.aar) Then ListBox1.Items.Add(.bmerke &.aar &.km &.pris) posisjon = posisjon + 1 Skal finne en bil der det er angitt maksimum antall km, og ett spesielt bilmerke. Nok en gang skal koden under legges under en søkeknapp. Strengene det søkes etter hentes fra tekstbokser. Dim makskm As Integer Dim merke As String makskm = TextBox3.Text merke = UCase(TextBox4.Text) While posisjon <= antall FileGet(filnummer, bil, posisjon) If Trim(.km) <= makskm And merke = UCase(Trim(.bmerke)) Then ListBox1.Items.Add(.bmerke &.aar &.km &.pris) posisjon = posisjon + 1