Visual Basic. Repetisjon fra onsdag

Like dokumenter
Visual Basic. Repetisjon fra mandag

HØGSKOLEN I SØR-TRØNDELAG

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

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

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

MAT1030 Diskret Matematikk

Løsningsforslag Øving 7

MAT1030 Plenumsregning 1

HØGSKOLEN I SØR-TRØNDELAG

Læringsmål og pensum. Oversikt

HØGSKOLEN I SØR-TRØNDELAG

Øvingsforelesning 3 Python (TDT4110)

Øvingsforelesning 1 Python (TDT4110)

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

HØGSKOLEN I SØR-TRØNDELAG

Funksjoner og prosedyrer

MAT1030 Diskret matematikk

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

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

Øvingsforelesning 5 Python (TDT4110)

Oppsummering fra sist

Programmering Høst 2017

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

Øvingsforelesning i Python (TDT4110)

while-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

Øvingsforelesning 5 Python (TDT4110)

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

1. Kontrollstrukturer og løkker

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.

Oppgaver uke 1: Løsningsforslag

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

Læringsmål og pensum. if (be): else (not_to_be):

Løse reelle problemer

Leksjon 3. Kontrollstrukturer

Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator

Repetisjon Novice Videregående Python PDF

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 2. Iver Dihle Skjervum Vit.ass. ITGK

Fasit til eksamen høst 2002, applikasjonsutvikling

Dagens tema: 12 gode råd for en kompilatorskriver

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

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

En enkel while-løkke. 1 of :28. 2 of :28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt

KONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke)

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å.

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Løkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve

Innføring i bruk av CGI4VB

HØGSKOLEN I SØR-TRØNDELAG

Betinget eksekvering og logiske tester i shell

MAT1030 Forelesning 2

TDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer

Hangman. Level. Introduksjon

MAT1030 Diskret Matematikk

IN1000 Obligatorisk innlevering 7

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.

Objektorientering i VB videregående

INF1000 undervisningen INF 1000 høsten 2011 Uke september

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

Sprettball Erfaren ComputerCraft PDF

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

INF Ekstrainnlevering

UNIVERSITETET I OSLO

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

Innføring i bruk av CGI4VB

Introduksjon til Visual Basic 5

INF1000 oppgaver til uke 38 (17 sep 23 sep)

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Forelesning inf Java 4

Lynkurs i shellprogrammering under Linux

TDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer

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

Introduksjon til Visual Basic 5

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

TDT4110 IT Grunnkurs Høst 2016

Løsningsforslag til eksamen i INF1000

INF Uke 10. Ukesoppgaver oktober 2012

Algoritmer og datastrukturer E Løkker i Java

TDT4105 Informasjonsteknologi, grunnkurs

Transkript:

Visual Basic Kontrollstrukturer del 3 Løkker 2 Grethe Sandstrak 1 Repetisjon fra onsdag To løkke typer: For-Next brukes når vi vet antall gjennomløp Do-Loop betingelsesstyrt Felles elementer: initier Løkkebetingelse Gjør noe så lenge n er sann (Løkkekropp) Oppdater 2 1

Løkker Alle løkker består av fire elementer: Initiering av Løkkebetingelse Løkkekropp (det som skal gjentas) Oppdatering av 3 Løkker: For - Next Initiering av Dim sum As Integer = 0 Dim i As Integer For i = 1 To 3 sum += i Next i Oppdatering av MsgBox("Summen er: " & sum) 4 2

Løkker: Do While Loop Dim sum As Integer = 10 Dim i As Integer = 3 Initiering av Oppdatering av Do While i > 0 sum -= i i -= 1 Loop MsgBox("Summen er: " & sum) 5 Øving 3, oppgave 4 Oppgave: Produser følgende utskrift vha løkker: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 6 3

Strategi Vi trenger en løkke som teller fra 1 til 10 og bygger opp en streng som vi skriver ut for hvert løkke-gjennomløp. Første løkke-gjennomløp er tekst 1. Vi skriver ut innholdet i tekst i en label eller listebox eller lignende. 2. løkke gjennomløp er teller lik 2 og tekst skal være lik 1 2. Det første tallet henger igjen fra første løkke gjennomløp. Pseudokode Tekst = Gjenta fra teller=1 til teller = 10 tekst = forrige tekst + et mellomrom + teller. skriv ut tekst Øk teller med 1 7 Flytskjema: teller = 1 tekst = teller > 10 teller <=10 tekst = tekst + teller + lblresultat.text += tekst teller = teller + 1 8 4

For - Next - Step Kan øke teller med mer enn 1: Dim teller as Integer For teller = 1 To 5 Step 2 MsgBox(teller & : God Morn! ) Next teller => Tre tekstbokser med følgende innhold: 1: God Morn! 3: God Morn! 5: God Morn! - Hva skjer om vi endrer Step til 3?? 9 Kontroll av inndata Enkelt å teste ved hjelp av løkker Spør bruker på nytt når ugyldig data skrives inn Dim passord = txtpassord.text.trim Do While passord = " OR passord <> de1gp passord = InputBox("Du må oppgi passord:", Passord ) Loop MsgBox("Du er nå logget inn",msgboxstyle.information) 10 5

Nøstede kontrollstrukturer Kan ha løkker inni hverandre Kan ha if inni løkker og omvendt 11 Hva skrives ut her 1? Dim ytre, indre As Integer For ytre = 1 To 5 For indre = 1 To ytre res += ytre & "-" & indre & ": VB er Gøy dere!" & vblf Next indre Next ytre 12 6

Resultat ved kjøring 13 Hva skrives ut her 2? Dim ytre, indre As Integer For ytre = 1 To 5 res += "Ytre- " For indre = 1 To ytre res += "Indre " Next indre res += vblf Next ytre 14 7

Resultat av kjøring Ytre Indre Ytre Indre Indre Ytre Indre Indre Indre Ytre Indre Indre Indre Indre Ytre Indre Indre Indre Indre Indre 15 Hva skrives ut her 3? Dim linjeteller, tall, sum As Integer Dim tekst As String = "Summen blir: " For linjeteller = 1 To 10 sum = 0 For tall = 1 To linjeteller - 1 sum += tall res = res & tall & " " Next tall res = res & "Summen blir: " & sum & vblf Strategi: Bygg opp en tekststreng og skriv ut denne når løkkene er gjennomløpt. Next linjeteller 16 8

Eksempel på kjøring Summen blir: 0 1 Summen blir: 1 1 2 Summen blir: 3 1 2 3 Summen blir: 6 1 2 3 4 Summen blir: 10 1 2 3 4 5 Summen blir: 15 1 2 3 4 5 6 Summen blir: 21 1 2 3 4 5 6 7 Summen blir: 28 1 2 3 4 5 6 7 8 Summen blir: 36 1 2 3 4 5 6 7 8 9 Summen blir: 45 17 Program fra forelesning 18 9

Dim antallforsøk As Integer = 1 Programkode del 1 Private Sub btnlogin_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.click Dim passord = txtpassord.text.trim 'Do While passord = "" Or passord <> "de1gp" 'Dette Er 1 Godt Passord ' passord = InputBox("Du må oppgi passord:", "Passord") 'Loop If antallforsøk >= 3 Then MsgBox("Antall forsøk er brukt opp!", MsgBoxStyle.Critical) ElseIf passord = "de1gp" Then MsgBox("Du er nå logget inn", MsgBoxStyle.Information) antallforsøk = 1 Else MsgBox("Du må skrive inn rett passord!", MsgBoxStyle.Critical) txtpassord.text = "" txtpassord.focus() antallforsøk += 1 End If End Sub Merk: Avvik fra forelesning: Dette programmet lar bruker kun få tre forsøk på å skrive inn passord. Legg merke til at vi da ikke bruker do-loop, men bruker en global variabel som teller antall forsøk. Hver gang loginknappen trykkes sjekker vi om antall forsøk er mindre enn 3, og om det er korrekt passord. Ved feil passord økes antallforsøk med 1. Se nøye på koden og prøv å forstå hvordan den virker. 19 Programkode del 2 Private Sub btnlokke1_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnlokke1.click Dim ytre, indre As Integer For ytre = 1 To 5 For indre = 1 To ytre res += ytre & "-" & indre & ": VB er utrolig gøy dere :o)" & vblf Next Next End Sub Private Sub btnlokke2_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnlokke2.click Dim ytre, indre As Integer For ytre = 1 To 5 res += "Ytre- " For indre = 1 To ytre res += "Indre " Next indre res += vblf Next ytre End Sub 20 10

Programkode del 3 Private Sub btnlokke3_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnlokke3.click Dim linjeteller, tall, sum As Integer Dim tekst As String = "Summen blir: " For linjeteller = 1 To 10 sum = 0 For tall = 1 To linjeteller - 1 sum += tall res = res & tall & " " Next tall res = res & "Summen blir: " & sum & vblf Next linjeteller End Sub 21 11