• No results found

MAT1030 – Diskret matematikk Forelesning 1: Algoritmer, pseudokoder og kontrollstrukturer Dag Normann

N/A
N/A
Protected

Academic year: 2022

Share "MAT1030 – Diskret matematikk Forelesning 1: Algoritmer, pseudokoder og kontrollstrukturer Dag Normann"

Copied!
151
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

MAT1030 – Diskret matematikk

Forelesning 1: Algoritmer, pseudokoder og kontrollstrukturer

Dag Normann

Matematisk Institutt, Universitetet i Oslo

14. januar 2008

(2)

Vi som skal undervise

Dag Normann Roger Antonsen Christian Schaal

Robin Bjørnetun Jacobsen

http://www.uio.no/studier/emner/matnat/math/MAT1030/v08/

MAT1030 – Diskret matematikk 14. januar 2008 2

(3)

Vi som skal undervise

Dag Normann

Roger Antonsen Christian Schaal

Robin Bjørnetun Jacobsen

http://www.uio.no/studier/emner/matnat/math/MAT1030/v08/

MAT1030 – Diskret matematikk 14. januar 2008 2

(4)

Vi som skal undervise

Dag Normann Roger Antonsen

Christian Schaal

Robin Bjørnetun Jacobsen

http://www.uio.no/studier/emner/matnat/math/MAT1030/v08/

MAT1030 – Diskret matematikk 14. januar 2008 2

(5)

Vi som skal undervise

Dag Normann Roger Antonsen Christian Schaal

Robin Bjørnetun Jacobsen

http://www.uio.no/studier/emner/matnat/math/MAT1030/v08/

MAT1030 – Diskret matematikk 14. januar 2008 2

(6)

Vi som skal undervise

Dag Normann Roger Antonsen Christian Schaal

Robin Bjørnetun Jacobsen

http://www.uio.no/studier/emner/matnat/math/MAT1030/v08/

MAT1030 – Diskret matematikk 14. januar 2008 2

(7)

Hva er diskret matematikk?

Diskret matematikk er et samlebegrep for matematikk hvor kontinuitet, geometri eller algebra ikke spiller noen stor rolle.

Diskret matematikk er matematikken tilpasset en digital verden, mens mye annen matematikk er tilpasset en analog verden.

I MAT1030 skal vi ta for oss temaer som er relevante for en

grunnleggende forst˚aelse av bruk av, og virkem˚ate til, datamaskiner.

MAT1030 – Diskret matematikk 14. januar 2008 3

(8)

Hva er diskret matematikk?

Diskret matematikk er et samlebegrep for matematikk hvor kontinuitet, geometri eller algebra ikke spiller noen stor rolle.

Diskret matematikk er matematikken tilpasset en digital verden, mens mye annen matematikk er tilpasset en analog verden.

I MAT1030 skal vi ta for oss temaer som er relevante for en

grunnleggende forst˚aelse av bruk av, og virkem˚ate til, datamaskiner.

MAT1030 – Diskret matematikk 14. januar 2008 3

(9)

Hva er diskret matematikk?

Diskret matematikk er et samlebegrep for matematikk hvor kontinuitet, geometri eller algebra ikke spiller noen stor rolle.

Diskret matematikk er matematikken tilpasset en digital verden, mens mye annen matematikk er tilpasset en analog verden.

I MAT1030 skal vi ta for oss temaer som er relevante for en

grunnleggende forst˚aelse av bruk av, og virkem˚ate til, datamaskiner.

MAT1030 – Diskret matematikk 14. januar 2008 3

(10)

Hva er diskret matematikk?

Diskret matematikk er et samlebegrep for matematikk hvor kontinuitet, geometri eller algebra ikke spiller noen stor rolle.

Diskret matematikk er matematikken tilpasset en digital verden, mens mye annen matematikk er tilpasset en analog verden.

I MAT1030 skal vi ta for oss temaer som er relevante for en

grunnleggende forst˚aelse av bruk av, og virkem˚ate til, datamaskiner.

MAT1030 – Diskret matematikk 14. januar 2008 3

(11)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan. Representasjon av tall.

Hvordan representeres tall og i en datamaskin. Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk). Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(12)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan.

Representasjon av tall.

Hvordan representeres tall og i en datamaskin. Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk). Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(13)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan.

Representasjon av tall.

Hvordan representeres tall og i en datamaskin. Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk). Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(14)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan.

Representasjon av tall.

Hvordan representeres tall og i en datamaskin.

Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk). Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(15)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan.

Representasjon av tall.

Hvordan representeres tall og i en datamaskin.

Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk). Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(16)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan.

Representasjon av tall.

Hvordan representeres tall og i en datamaskin.

Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk). Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(17)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan.

Representasjon av tall.

Hvordan representeres tall og i en datamaskin.

Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk).

Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(18)

Hva er innholdet i MAT1030?

Algoritmer: Hva og hvordan.

Representasjon av tall.

Hvordan representeres tall og i en datamaskin.

Logikk:

Relevans for informatikk.

Innføring i utsagnslogikk (Boolesk logikk).

Litt om bevisteknikker.

MAT1030 – Diskret matematikk 14. januar 2008 4

(19)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon. Kombinatorikk.

Grafteori med anvendelser. Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(20)

Mengdelære:

Grunnleggende begreper

Relasjoner. Funksjoner.

Induksjon og rekursjon. Kombinatorikk.

Grafteori med anvendelser. Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(21)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon. Kombinatorikk.

Grafteori med anvendelser. Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(22)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon. Kombinatorikk.

Grafteori med anvendelser. Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(23)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon.

Kombinatorikk.

Grafteori med anvendelser. Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(24)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon.

Kombinatorikk.

Grafteori med anvendelser. Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(25)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon.

Kombinatorikk.

Grafteori med anvendelser.

Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(26)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon.

Kombinatorikk.

Grafteori med anvendelser.

Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(27)

Mengdelære:

Grunnleggende begreper Relasjoner.

Funksjoner.

Induksjon og rekursjon.

Kombinatorikk.

Grafteori med anvendelser.

Litt om trær.

Kompleksitet av algoritmer.

MAT1030 – Diskret matematikk 14. januar 2008 5

(28)

Hva legger vi vekt p˚ a?

Hvilken relevans har dette stoffet for studier i informatikk? Hvordan kan vi finne algoritmer for ˚a løse de problemene som presenterer seg?

Vi kommer til ˚a arbeide med algoritmer i tilknytning til logikk i større grad enn det boka gjør, og vi vil utvikle en del ekstra undervisningsmateriale underveis.

MAT1030 – Diskret matematikk 14. januar 2008 6

(29)

Hva legger vi vekt p˚ a?

Hvilken relevans har dette stoffet for studier i informatikk?

Hvordan kan vi finne algoritmer for ˚a løse de problemene som presenterer seg?

Vi kommer til ˚a arbeide med algoritmer i tilknytning til logikk i større grad enn det boka gjør, og vi vil utvikle en del ekstra undervisningsmateriale underveis.

MAT1030 – Diskret matematikk 14. januar 2008 6

(30)

Hva legger vi vekt p˚ a?

Hvilken relevans har dette stoffet for studier i informatikk?

Hvordan kan vi finne algoritmer for ˚a løse de problemene som presenterer seg?

Vi kommer til ˚a arbeide med algoritmer i tilknytning til logikk i større grad enn det boka gjør, og vi vil utvikle en del ekstra undervisningsmateriale underveis.

MAT1030 – Diskret matematikk 14. januar 2008 6

(31)

Hva legger vi vekt p˚ a?

Hvilken relevans har dette stoffet for studier i informatikk?

Hvordan kan vi finne algoritmer for ˚a løse de problemene som presenterer seg?

Vi kommer til ˚a arbeide med algoritmer i tilknytning til logikk i større grad enn det boka gjør, og vi vil utvikle en del ekstra undervisningsmateriale underveis.

MAT1030 – Diskret matematikk 14. januar 2008 6

(32)

Før vi begynner

MAT1030 er under omlegging, og vi trenger en kontinuerlig tlbakemelding p˚a ˚arets opplegg.

Vi trenger to eller flere kontaktpersoner vi kan ha møter med gjennom semesteret.

Vi skal gjennomføre en emneevaluering i samarbeid med kontaktpersonene.

Valg av kontaktpersoner finner sted neste onsdag.

MAT1030 – Diskret matematikk 14. januar 2008 7

(33)

Før vi begynner

MAT1030 er under omlegging, og vi trenger en kontinuerlig tlbakemelding p˚a ˚arets opplegg.

Vi trenger to eller flere kontaktpersoner vi kan ha møter med gjennom semesteret.

Vi skal gjennomføre en emneevaluering i samarbeid med kontaktpersonene.

Valg av kontaktpersoner finner sted neste onsdag.

MAT1030 – Diskret matematikk 14. januar 2008 7

(34)

Før vi begynner

MAT1030 er under omlegging, og vi trenger en kontinuerlig tlbakemelding p˚a ˚arets opplegg.

Vi trenger to eller flere kontaktpersoner vi kan ha møter med gjennom semesteret.

Vi skal gjennomføre en emneevaluering i samarbeid med kontaktpersonene.

Valg av kontaktpersoner finner sted neste onsdag.

MAT1030 – Diskret matematikk 14. januar 2008 7

(35)

Før vi begynner

MAT1030 er under omlegging, og vi trenger en kontinuerlig tlbakemelding p˚a ˚arets opplegg.

Vi trenger to eller flere kontaktpersoner vi kan ha møter med gjennom semesteret.

Vi skal gjennomføre en emneevaluering i samarbeid med kontaktpersonene.

Valg av kontaktpersoner finner sted neste onsdag.

MAT1030 – Diskret matematikk 14. januar 2008 7

(36)

Før vi begynner

MAT1030 er under omlegging, og vi trenger en kontinuerlig tlbakemelding p˚a ˚arets opplegg.

Vi trenger to eller flere kontaktpersoner vi kan ha møter med gjennom semesteret.

Vi skal gjennomføre en emneevaluering i samarbeid med kontaktpersonene.

Valg av kontaktpersoner finner sted neste onsdag.

MAT1030 – Diskret matematikk 14. januar 2008 7

(37)

Noen viktige datoer

29.02.2008: Innlevering av Oblig 1. 25.04.2008: Innlevering av Oblig 2. 10.06.2008, 09.00 - 12.00: Eksamen.

MAT1030 – Diskret matematikk 14. januar 2008 8

(38)

Noen viktige datoer

29.02.2008: Innlevering av Oblig 1.

25.04.2008: Innlevering av Oblig 2. 10.06.2008, 09.00 - 12.00: Eksamen.

MAT1030 – Diskret matematikk 14. januar 2008 8

(39)

Noen viktige datoer

29.02.2008: Innlevering av Oblig 1.

25.04.2008: Innlevering av Oblig 2.

10.06.2008, 09.00 - 12.00: Eksamen.

MAT1030 – Diskret matematikk 14. januar 2008 8

(40)

Noen viktige datoer

29.02.2008: Innlevering av Oblig 1.

25.04.2008: Innlevering av Oblig 2.

10.06.2008, 09.00 - 12.00: Eksamen.

MAT1030 – Diskret matematikk 14. januar 2008 8

(41)

Viktig informasjon til alle studenter

Husk:

1. februar er siste frist for:

• betaling av semesteravgift

• semesterregistrering

• melding til eksamen

• å søke om tilrettelegging ved eksamen

Dersom du har gjort alt riktig skal det se slik ut i studentweb:

Dersom det ikke står ”Vår 2008” under henholdsvis ”Betalt semesteravgift” og ”Semesterregistrert” risikerer du å ikke få ta eksamen og å miste din studierett.

Har du problemer, ta kontakt med MN studieinfosenter i Vilhelm Bjerknes’ hus FØR 1. februar.

Telefon: 22 85 63 44 e-post: [email protected]

MAT1030 – Diskret matematikk 14. januar 2008 9

(42)

ALGORITMER

En algoritme er en oppskrift som forteller oss hvordan vi skritt for skritt skal kunne oppn˚a et resultat eller løse et problem.

Eksempler p˚a algoritmer kan være:

Kakeoppskrifter.

Automatisk innsjekking p˚a fly.

Beskrivelsen av hvordan man utfører divisjon mellom flersifrede tall. Oppskrift p˚a hvordan man løser opp parenteser og trekker sammen flerleddede uttrykk i algebra.

MAT1030 – Diskret matematikk 14. januar 2008 10

(43)

ALGORITMER

En algoritme er en oppskrift som forteller oss hvordan vi skritt for skritt skal kunne oppn˚a et resultat eller løse et problem.

Eksempler p˚a algoritmer kan være:

Kakeoppskrifter.

Automatisk innsjekking p˚a fly.

Beskrivelsen av hvordan man utfører divisjon mellom flersifrede tall. Oppskrift p˚a hvordan man løser opp parenteser og trekker sammen flerleddede uttrykk i algebra.

MAT1030 – Diskret matematikk 14. januar 2008 10

(44)

ALGORITMER

En algoritme er en oppskrift som forteller oss hvordan vi skritt for skritt skal kunne oppn˚a et resultat eller løse et problem.

Eksempler p˚a algoritmer kan være:

Kakeoppskrifter.

Automatisk innsjekking p˚a fly.

Beskrivelsen av hvordan man utfører divisjon mellom flersifrede tall. Oppskrift p˚a hvordan man løser opp parenteser og trekker sammen flerleddede uttrykk i algebra.

MAT1030 – Diskret matematikk 14. januar 2008 10

(45)

ALGORITMER

En algoritme er en oppskrift som forteller oss hvordan vi skritt for skritt skal kunne oppn˚a et resultat eller løse et problem.

Eksempler p˚a algoritmer kan være:

Kakeoppskrifter.

Automatisk innsjekking p˚a fly.

Beskrivelsen av hvordan man utfører divisjon mellom flersifrede tall. Oppskrift p˚a hvordan man løser opp parenteser og trekker sammen flerleddede uttrykk i algebra.

MAT1030 – Diskret matematikk 14. januar 2008 10

(46)

ALGORITMER

En algoritme er en oppskrift som forteller oss hvordan vi skritt for skritt skal kunne oppn˚a et resultat eller løse et problem.

Eksempler p˚a algoritmer kan være:

Kakeoppskrifter.

Automatisk innsjekking p˚a fly.

Beskrivelsen av hvordan man utfører divisjon mellom flersifrede tall. Oppskrift p˚a hvordan man løser opp parenteser og trekker sammen flerleddede uttrykk i algebra.

MAT1030 – Diskret matematikk 14. januar 2008 10

(47)

ALGORITMER

En algoritme er en oppskrift som forteller oss hvordan vi skritt for skritt skal kunne oppn˚a et resultat eller løse et problem.

Eksempler p˚a algoritmer kan være:

Kakeoppskrifter.

Automatisk innsjekking p˚a fly.

Beskrivelsen av hvordan man utfører divisjon mellom flersifrede tall.

Oppskrift p˚a hvordan man løser opp parenteser og trekker sammen flerleddede uttrykk i algebra.

MAT1030 – Diskret matematikk 14. januar 2008 10

(48)

ALGORITMER

En algoritme er en oppskrift som forteller oss hvordan vi skritt for skritt skal kunne oppn˚a et resultat eller løse et problem.

Eksempler p˚a algoritmer kan være:

Kakeoppskrifter.

Automatisk innsjekking p˚a fly.

Beskrivelsen av hvordan man utfører divisjon mellom flersifrede tall.

Oppskrift p˚a hvordan man løser opp parenteser og trekker sammen flerleddede uttrykk i algebra.

MAT1030 – Diskret matematikk 14. januar 2008 10

(49)

Algoritmer

Hva er det som kjennetegner en algoritme?

Det skal ikke kreves intelligens eller forst˚aelse for ˚a følge den.

Du skal ikke kunne kjemi for ˚a bake en kake.

Du skal kunne sjekke inn p˚a fly selv om du har teknologifobi. Det er ikke nødvendig ˚a forst˚a hva man gjør n˚ar man utfører en divisjon, regnetrening er det som trengs.

Mange lærer seg hvordan de kan løse oppgaver i skolealgebra, uten ˚a ha peiling p˚a hva de egentlig driver med.

MAT1030 – Diskret matematikk 14. januar 2008 11

(50)

Algoritmer

Hva er det som kjennetegner en algoritme?

Det skal ikke kreves intelligens eller forst˚aelse for ˚a følge den.

Du skal ikke kunne kjemi for ˚a bake en kake.

Du skal kunne sjekke inn p˚a fly selv om du har teknologifobi. Det er ikke nødvendig ˚a forst˚a hva man gjør n˚ar man utfører en divisjon, regnetrening er det som trengs.

Mange lærer seg hvordan de kan løse oppgaver i skolealgebra, uten ˚a ha peiling p˚a hva de egentlig driver med.

MAT1030 – Diskret matematikk 14. januar 2008 11

(51)

Algoritmer

Hva er det som kjennetegner en algoritme?

Det skal ikke kreves intelligens eller forst˚aelse for ˚a følge den.

Du skal ikke kunne kjemi for ˚a bake en kake.

Du skal kunne sjekke inn p˚a fly selv om du har teknologifobi. Det er ikke nødvendig ˚a forst˚a hva man gjør n˚ar man utfører en divisjon, regnetrening er det som trengs.

Mange lærer seg hvordan de kan løse oppgaver i skolealgebra, uten ˚a ha peiling p˚a hva de egentlig driver med.

MAT1030 – Diskret matematikk 14. januar 2008 11

(52)

Algoritmer

Hva er det som kjennetegner en algoritme?

Det skal ikke kreves intelligens eller forst˚aelse for ˚a følge den.

Du skal ikke kunne kjemi for ˚a bake en kake.

Du skal kunne sjekke inn p˚a fly selv om du har teknologifobi.

Det er ikke nødvendig ˚a forst˚a hva man gjør n˚ar man utfører en divisjon, regnetrening er det som trengs.

Mange lærer seg hvordan de kan løse oppgaver i skolealgebra, uten ˚a ha peiling p˚a hva de egentlig driver med.

MAT1030 – Diskret matematikk 14. januar 2008 11

(53)

Algoritmer

Hva er det som kjennetegner en algoritme?

Det skal ikke kreves intelligens eller forst˚aelse for ˚a følge den.

Du skal ikke kunne kjemi for ˚a bake en kake.

Du skal kunne sjekke inn p˚a fly selv om du har teknologifobi.

Det er ikke nødvendig ˚a forst˚a hva man gjør n˚ar man utfører en divisjon, regnetrening er det som trengs.

Mange lærer seg hvordan de kan løse oppgaver i skolealgebra, uten ˚a ha peiling p˚a hva de egentlig driver med.

MAT1030 – Diskret matematikk 14. januar 2008 11

(54)

Algoritmer

Hva er det som kjennetegner en algoritme?

Det skal ikke kreves intelligens eller forst˚aelse for ˚a følge den.

Du skal ikke kunne kjemi for ˚a bake en kake.

Du skal kunne sjekke inn p˚a fly selv om du har teknologifobi.

Det er ikke nødvendig ˚a forst˚a hva man gjør n˚ar man utfører en divisjon, regnetrening er det som trengs.

Mange lærer seg hvordan de kan løse oppgaver i skolealgebra, uten ˚a ha peiling p˚a hva de egentlig driver med.

MAT1030 – Diskret matematikk 14. januar 2008 11

(55)

Algoritmer

Vi skal fokusere p˚a algoritmer som

- beregner funksjoner

- avgjør om et objekt eller en datamengde har en gitt egenskap eller ikke

- organiserer gitte data p˚a en ønsket m˚ate (eksempelvis ordner dataene) - utfører andre oppgaver i tilknytning til matematikk eller informatikk

som vi ønsker ˚a kunne f˚a utført.

MAT1030 – Diskret matematikk 14. januar 2008 12

(56)

Algoritmer

Vi skal fokusere p˚a algoritmer som - beregner funksjoner

- avgjør om et objekt eller en datamengde har en gitt egenskap eller ikke

- organiserer gitte data p˚a en ønsket m˚ate (eksempelvis ordner dataene) - utfører andre oppgaver i tilknytning til matematikk eller informatikk

som vi ønsker ˚a kunne f˚a utført.

MAT1030 – Diskret matematikk 14. januar 2008 12

(57)

Algoritmer

Vi skal fokusere p˚a algoritmer som - beregner funksjoner

- avgjør om et objekt eller en datamengde har en gitt egenskap eller ikke

- organiserer gitte data p˚a en ønsket m˚ate (eksempelvis ordner dataene) - utfører andre oppgaver i tilknytning til matematikk eller informatikk

som vi ønsker ˚a kunne f˚a utført.

MAT1030 – Diskret matematikk 14. januar 2008 12

(58)

Algoritmer

Vi skal fokusere p˚a algoritmer som - beregner funksjoner

- avgjør om et objekt eller en datamengde har en gitt egenskap eller ikke

- organiserer gitte data p˚a en ønsket m˚ate (eksempelvis ordner dataene)

- utfører andre oppgaver i tilknytning til matematikk eller informatikk som vi ønsker ˚a kunne f˚a utført.

MAT1030 – Diskret matematikk 14. januar 2008 12

(59)

Algoritmer

Vi skal fokusere p˚a algoritmer som - beregner funksjoner

- avgjør om et objekt eller en datamengde har en gitt egenskap eller ikke

- organiserer gitte data p˚a en ønsket m˚ate (eksempelvis ordner dataene) - utfører andre oppgaver i tilknytning til matematikk eller informatikk

som vi ønsker ˚a kunne f˚a utført.

MAT1030 – Diskret matematikk 14. januar 2008 12

(60)

Algoritmer

Hvem ønsker vi ˚a kommunisere algoritmen til, og hvordan skal det gjøres?

1. Kakebakere, flypassasjerer og liknende.

2. Skolebarn/ungdom og studenter som skal lære matematikk. 3. Teknisk kyndige medmennesker som skal “forst˚a” algoritmen. 4. Datamaskiner som skal utføre algoritmen for oss.

I MAT1030 er gruppe 3 den mest aktuelle.

MAT1030 – Diskret matematikk 14. januar 2008 13

(61)

Algoritmer

Hvem ønsker vi ˚a kommunisere algoritmen til, og hvordan skal det gjøres?

1. Kakebakere, flypassasjerer og liknende.

2. Skolebarn/ungdom og studenter som skal lære matematikk. 3. Teknisk kyndige medmennesker som skal “forst˚a” algoritmen. 4. Datamaskiner som skal utføre algoritmen for oss.

I MAT1030 er gruppe 3 den mest aktuelle.

MAT1030 – Diskret matematikk 14. januar 2008 13

(62)

Algoritmer

Hvem ønsker vi ˚a kommunisere algoritmen til, og hvordan skal det gjøres?

1. Kakebakere, flypassasjerer og liknende.

2. Skolebarn/ungdom og studenter som skal lære matematikk.

3. Teknisk kyndige medmennesker som skal “forst˚a” algoritmen. 4. Datamaskiner som skal utføre algoritmen for oss.

I MAT1030 er gruppe 3 den mest aktuelle.

MAT1030 – Diskret matematikk 14. januar 2008 13

(63)

Algoritmer

Hvem ønsker vi ˚a kommunisere algoritmen til, og hvordan skal det gjøres?

1. Kakebakere, flypassasjerer og liknende.

2. Skolebarn/ungdom og studenter som skal lære matematikk.

3. Teknisk kyndige medmennesker som skal “forst˚a” algoritmen.

4. Datamaskiner som skal utføre algoritmen for oss. I MAT1030 er gruppe 3 den mest aktuelle.

MAT1030 – Diskret matematikk 14. januar 2008 13

(64)

Algoritmer

Hvem ønsker vi ˚a kommunisere algoritmen til, og hvordan skal det gjøres?

1. Kakebakere, flypassasjerer og liknende.

2. Skolebarn/ungdom og studenter som skal lære matematikk.

3. Teknisk kyndige medmennesker som skal “forst˚a” algoritmen.

4. Datamaskiner som skal utføre algoritmen for oss.

I MAT1030 er gruppe 3 den mest aktuelle.

MAT1030 – Diskret matematikk 14. januar 2008 13

(65)

Algoritmer

Hvem ønsker vi ˚a kommunisere algoritmen til, og hvordan skal det gjøres?

1. Kakebakere, flypassasjerer og liknende.

2. Skolebarn/ungdom og studenter som skal lære matematikk.

3. Teknisk kyndige medmennesker som skal “forst˚a” algoritmen.

4. Datamaskiner som skal utføre algoritmen for oss.

I MAT1030 er gruppe 3 den mest aktuelle.

MAT1030 – Diskret matematikk 14. januar 2008 13

(66)

PSEUDOKODER

En pseudokode er en m˚ate ˚a beskrive en algoritme p ˚a.

Pseudokoden beskriver hvordan algoritmen kan følges trinn for trinn. En pseudokode formuleres i et spr˚ak som er mer teknisk enn naturlige spr˚ak og mindre teknisk enn programmeringsspr˚ak.

Vi skal bruke pseudokoder p˚a samme m˚ate som i læreboka.

Man m˚a se eksempler, og øve, for ˚a bli flink til ˚a skrive pseudokoder.

MAT1030 – Diskret matematikk 14. januar 2008 14

(67)

PSEUDOKODER

En pseudokode er en m˚ate ˚a beskrive en algoritme p ˚a.

Pseudokoden beskriver hvordan algoritmen kan følges trinn for trinn. En pseudokode formuleres i et spr˚ak som er mer teknisk enn naturlige spr˚ak og mindre teknisk enn programmeringsspr˚ak.

Vi skal bruke pseudokoder p˚a samme m˚ate som i læreboka.

Man m˚a se eksempler, og øve, for ˚a bli flink til ˚a skrive pseudokoder.

MAT1030 – Diskret matematikk 14. januar 2008 14

(68)

PSEUDOKODER

En pseudokode er en m˚ate ˚a beskrive en algoritme p ˚a.

Pseudokoden beskriver hvordan algoritmen kan følges trinn for trinn.

En pseudokode formuleres i et spr˚ak som er mer teknisk enn naturlige spr˚ak og mindre teknisk enn programmeringsspr˚ak.

Vi skal bruke pseudokoder p˚a samme m˚ate som i læreboka.

Man m˚a se eksempler, og øve, for ˚a bli flink til ˚a skrive pseudokoder.

MAT1030 – Diskret matematikk 14. januar 2008 14

(69)

PSEUDOKODER

En pseudokode er en m˚ate ˚a beskrive en algoritme p ˚a.

Pseudokoden beskriver hvordan algoritmen kan følges trinn for trinn.

En pseudokode formuleres i et spr˚ak som er mer teknisk enn naturlige spr˚ak og mindre teknisk enn programmeringsspr˚ak.

Vi skal bruke pseudokoder p˚a samme m˚ate som i læreboka.

Man m˚a se eksempler, og øve, for ˚a bli flink til ˚a skrive pseudokoder.

MAT1030 – Diskret matematikk 14. januar 2008 14

(70)

PSEUDOKODER

En pseudokode er en m˚ate ˚a beskrive en algoritme p ˚a.

Pseudokoden beskriver hvordan algoritmen kan følges trinn for trinn.

En pseudokode formuleres i et spr˚ak som er mer teknisk enn naturlige spr˚ak og mindre teknisk enn programmeringsspr˚ak.

Vi skal bruke pseudokoder p˚a samme m˚ate som i læreboka.

Man m˚a se eksempler, og øve, for ˚a bli flink til ˚a skrive pseudokoder.

MAT1030 – Diskret matematikk 14. januar 2008 14

(71)

PSEUDOKODER

En pseudokode er en m˚ate ˚a beskrive en algoritme p ˚a.

Pseudokoden beskriver hvordan algoritmen kan følges trinn for trinn.

En pseudokode formuleres i et spr˚ak som er mer teknisk enn naturlige spr˚ak og mindre teknisk enn programmeringsspr˚ak.

Vi skal bruke pseudokoder p˚a samme m˚ate som i læreboka.

Man m˚a se eksempler, og øve, for ˚a bli flink til ˚a skrive pseudokoder.

MAT1030 – Diskret matematikk 14. januar 2008 14

(72)

Pseudokoder

Eksempel (Areal av trekant)

1. Inputh [h er høyden i trekanten.]

2. Inputg [g er lengden p˚a grunnlinjen i trekanten.] 3. areal ← h·g2

4. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 15

(73)

Pseudokoder

Eksempel (Areal av trekant)

1. Inputh [h er høyden i trekanten.]

2. Inputg [g er lengden p˚a grunnlinjen i trekanten.] 3. areal ← h·g2

4. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 15

(74)

Pseudokoder

Eksempel (Areal av trekant)

1. Inputh [h er høyden i trekanten.]

2. Inputg [g er lengden p˚a grunnlinjen i trekanten.] 3. areal ← h·g2

4. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 15

(75)

Pseudokoder

Eksempel (Areal av trekant)

1. Inputh [h er høyden i trekanten.]

2. Inputg [g er lengden p˚a grunnlinjen i trekanten.]

3. areal ← h·g2 4. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 15

(76)

Pseudokoder

Eksempel (Areal av trekant)

1. Inputh [h er høyden i trekanten.]

2. Inputg [g er lengden p˚a grunnlinjen i trekanten.]

3. areal ← h·g2

4. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 15

(77)

Pseudokoder

Eksempel (Areal av trekant)

1. Inputh [h er høyden i trekanten.]

2. Inputg [g er lengden p˚a grunnlinjen i trekanten.]

3. areal ← h·g2 4. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 15

(78)

Pseudokoder

Vi kunne ha skrevet en annen pseudokode for ˚a beregne det samme: Eksempel

1. Inputh 2. Inputg 3. areal ←h·g 4. areal ← areal2 5. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 16

(79)

Pseudokoder

Vi kunne ha skrevet en annen pseudokode for ˚a beregne det samme:

Eksempel

1. Inputh 2. Inputg 3. areal ←h·g 4. areal ← areal2 5. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 16

(80)

Pseudokoder

Vi kunne ha skrevet en annen pseudokode for ˚a beregne det samme:

Eksempel 1. Inputh

2. Inputg 3. areal ←h·g 4. areal ← areal2 5. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 16

(81)

Pseudokoder

Vi kunne ha skrevet en annen pseudokode for ˚a beregne det samme:

Eksempel 1. Inputh 2. Inputg

3. areal ←h·g 4. areal ← areal2 5. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 16

(82)

Pseudokoder

Vi kunne ha skrevet en annen pseudokode for ˚a beregne det samme:

Eksempel 1. Inputh 2. Inputg 3. areal ←h·g

4. areal ← areal2 5. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 16

(83)

Pseudokoder

Vi kunne ha skrevet en annen pseudokode for ˚a beregne det samme:

Eksempel 1. Inputh 2. Inputg 3. areal ←h·g 4. areal ← areal2

5. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 16

(84)

Pseudokoder

Vi kunne ha skrevet en annen pseudokode for ˚a beregne det samme:

Eksempel 1. Inputh 2. Inputg 3. areal ←h·g 4. areal ← areal2 5. Output areal

MAT1030 – Diskret matematikk 14. januar 2008 16

(85)

Pseudokoder

S˚a langt best˚ar en pseudokode av en nummerert listeinstruksjonerhvor hver instruksjon har et av følgende tre formater:

Gi en input-verdi til en variabel.

Gi en variabel en ny verdi, som en funksjon av de eksisterende verdiene p˚a variablene.

Gi verdien til en av variablene som output, det vil si resultatet av algoritmen.

Vi kan bruke hva vi vil som variable, eksempelvis er h,g og areal variablene i pseudokodene vi har sett p˚a.

MAT1030 – Diskret matematikk 14. januar 2008 17

(86)

Pseudokoder

S˚a langt best˚ar en pseudokode av en nummerert listeinstruksjonerhvor hver instruksjon har et av følgende tre formater:

Gi en input-verdi til en variabel.

Gi en variabel en ny verdi, som en funksjon av de eksisterende verdiene p˚a variablene.

Gi verdien til en av variablene som output, det vil si resultatet av algoritmen.

Vi kan bruke hva vi vil som variable, eksempelvis er h,g og areal variablene i pseudokodene vi har sett p˚a.

MAT1030 – Diskret matematikk 14. januar 2008 17

(87)

Pseudokoder

S˚a langt best˚ar en pseudokode av en nummerert listeinstruksjonerhvor hver instruksjon har et av følgende tre formater:

Gi en input-verdi til en variabel.

Gi en variabel en ny verdi, som en funksjon av de eksisterende verdiene p˚a variablene.

Gi verdien til en av variablene som output, det vil si resultatet av algoritmen.

Vi kan bruke hva vi vil som variable, eksempelvis er h,g og areal variablene i pseudokodene vi har sett p˚a.

MAT1030 – Diskret matematikk 14. januar 2008 17

(88)

Pseudokoder

S˚a langt best˚ar en pseudokode av en nummerert listeinstruksjonerhvor hver instruksjon har et av følgende tre formater:

Gi en input-verdi til en variabel.

Gi en variabel en ny verdi, som en funksjon av de eksisterende verdiene p˚a variablene.

Gi verdien til en av variablene som output, det vil si resultatet av algoritmen.

Vi kan bruke hva vi vil som variable, eksempelvis er h,g og areal variablene i pseudokodene vi har sett p˚a.

MAT1030 – Diskret matematikk 14. januar 2008 17

(89)

Pseudokoder

S˚a langt best˚ar en pseudokode av en nummerert listeinstruksjonerhvor hver instruksjon har et av følgende tre formater:

Gi en input-verdi til en variabel.

Gi en variabel en ny verdi, som en funksjon av de eksisterende verdiene p˚a variablene.

Gi verdien til en av variablene som output, det vil si resultatet av algoritmen.

Vi kan bruke hva vi vil som variable, eksempelvis er h,g og areal variablene i pseudokodene vi har sett p˚a.

MAT1030 – Diskret matematikk 14. januar 2008 17

(90)

Pseudokoder

S˚a langt best˚ar en pseudokode av en nummerert listeinstruksjonerhvor hver instruksjon har et av følgende tre formater:

Gi en input-verdi til en variabel.

Gi en variabel en ny verdi, som en funksjon av de eksisterende verdiene p˚a variablene.

Gi verdien til en av variablene som output, det vil si resultatet av algoritmen.

Vi kan bruke hva vi vil som variable, eksempelvis er h,g og areal variablene i pseudokodene vi har sett p˚a.

MAT1030 – Diskret matematikk 14. januar 2008 17

(91)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x - n! fra n

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . .

og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate - Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(92)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x - n! fran

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . . og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate - Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(93)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x

- n! fran

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . . og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate - Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(94)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x - n! fran

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . . og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate - Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(95)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x - n! fran

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . .

og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate - Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(96)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x - n! fran

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . . og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate - Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(97)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x - n! fran

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . . og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate

- Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(98)

Pseudokoder

Hvis vi skal beregne verdien av en formel for areal, volum, hastighet etter en viss tids fritt fall og liknende, kan vi bruke pseudokoder slik vi har sett dem til n˚a.

Det finnes imidlertid algoritmer, og tilhørende kontrollstrukturer, for ˚a beregne

- |x|fra x - n! fran

- Ledd nummer n i Fibonacci-følgen

1,1,2,3,5,8,13,21, . . . . og for ˚a undersøke om

- Parentesene i et algebraisk uttrykk er satt p˚a lovlig m˚ate - Et naturlig tall er et primtall

MAT1030 – Diskret matematikk 14. januar 2008 18

(99)

KONTROLLSTRUKTURER

En kontrollstrukturbrukes for ˚a styre hvordan, og hvorvidt, de enkle instruksjonene i en pseudokode skal utføres.

Vi skal innføre de kontrollstrukturene det er aktuelt ˚a bruke i dette emnet via eksempler p˚a bruk. Disse eksemplene skal supplere eksemplene fra læreboka.

Vi skal benytte oss av de samme kontrollstrukturene som boka.

MAT1030 – Diskret matematikk 14. januar 2008 19

(100)

KONTROLLSTRUKTURER

En kontrollstrukturbrukes for ˚a styre hvordan, og hvorvidt, de enkle instruksjonene i en pseudokode skal utføres.

Vi skal innføre de kontrollstrukturene det er aktuelt ˚a bruke i dette emnet via eksempler p˚a bruk. Disse eksemplene skal supplere eksemplene fra læreboka.

Vi skal benytte oss av de samme kontrollstrukturene som boka.

MAT1030 – Diskret matematikk 14. januar 2008 19

(101)

KONTROLLSTRUKTURER

En kontrollstrukturbrukes for ˚a styre hvordan, og hvorvidt, de enkle instruksjonene i en pseudokode skal utføres.

Vi skal innføre de kontrollstrukturene det er aktuelt ˚a bruke i dette emnet via eksempler p˚a bruk. Disse eksemplene skal supplere eksemplene fra læreboka.

Vi skal benytte oss av de samme kontrollstrukturene som boka.

MAT1030 – Diskret matematikk 14. januar 2008 19

(102)

KONTROLLSTRUKTURER

En kontrollstrukturbrukes for ˚a styre hvordan, og hvorvidt, de enkle instruksjonene i en pseudokode skal utføres.

Vi skal innføre de kontrollstrukturene det er aktuelt ˚a bruke i dette emnet via eksempler p˚a bruk. Disse eksemplene skal supplere eksemplene fra læreboka.

Vi skal benytte oss av de samme kontrollstrukturene som boka.

MAT1030 – Diskret matematikk 14. januar 2008 19

(103)

Kontrollstrukturer

Eksempel (Absoluttverdi)

Vi skal gi en pseudokode for ˚a beregne absoluttverdien til et tallx:

1 Inputx 2 If x<0 then

2.1 x← −x

3 Output x

MAT1030 – Diskret matematikk 14. januar 2008 20

(104)

Kontrollstrukturer

Eksempel (Absoluttverdi)

Vi skal gi en pseudokode for ˚a beregne absoluttverdien til et tallx:

1 Inputx 2 Ifx <0 then

2.1 x← −x

3 Output x

MAT1030 – Diskret matematikk 14. januar 2008 20

(105)

Kontrollstrukturer

Eksempel (Absoluttverdi)

Vi skal gi en pseudokode for ˚a beregne absoluttverdien til et tallx:

1 Inputx

2 Ifx <0 then

2.1 x← −x

3 Output x

MAT1030 – Diskret matematikk 14. januar 2008 20

(106)

Kontrollstrukturer

Eksempel (Absoluttverdi)

Vi skal gi en pseudokode for ˚a beregne absoluttverdien til et tallx:

1 Inputx 2 Ifx <0 then

2.1 x← −x 3 Output x

MAT1030 – Diskret matematikk 14. januar 2008 20

(107)

Kontrollstrukturer

Eksempel (Absoluttverdi)

Vi skal gi en pseudokode for ˚a beregne absoluttverdien til et tallx:

1 Inputx 2 Ifx <0 then

2.1 x← −x

3 Output x

MAT1030 – Diskret matematikk 14. januar 2008 20

(108)

Kontrollstrukturer

Eksempel (Absoluttverdi)

Vi skal gi en pseudokode for ˚a beregne absoluttverdien til et tallx:

1 Inputx 2 Ifx <0 then

2.1 x← −x 3 Output x

MAT1030 – Diskret matematikk 14. januar 2008 20

(109)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall] 2 Inputm [m et heltall] 3 If n<m then

3.1 xmn

else

3.2 xnm

4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(110)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall] 2 Inputm [m et heltall] 3 Ifn <m then

3.1 xmn

else

3.2 xnm

4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(111)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall]

2 Inputm [m et heltall] 3 Ifn <m then

3.1 xmn

else

3.2 xnm

4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(112)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall]

2 Inputm [m et heltall]

3 Ifn <m then

3.1 xmn

else

3.2 xnm

4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(113)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall]

2 Inputm [m et heltall]

3 Ifn <m then

3.1 xmn else

3.2 xnm

4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(114)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall]

2 Inputm [m et heltall]

3 Ifn <m then 3.1 xmn

else

3.2 xnm

4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(115)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall]

2 Inputm [m et heltall]

3 Ifn <m then 3.1 xmn else

3.2 xnm 4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(116)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall]

2 Inputm [m et heltall]

3 Ifn <m then 3.1 xmn else

3.2 xnm

4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(117)

Kontrollstrukturer

Eksempel (Avstand)

Vi skal gi en pseudokode for ˚a beregne avstanden mellom to heltall.

1 Inputn [n et heltall]

2 Inputm [m et heltall]

3 Ifn <m then 3.1 xmn else

3.2 xnm 4 Output x

MAT1030 – Diskret matematikk 14. januar 2008 21

(118)

Kontrollstrukturer

Vi skal se tre eksempler p˚a hvordan vi kan skrive pseudokoder for algoritmer som beregner

n! = 1·2·. . .·n.

I det ene eksemplet bruker vi en while-løkke, i det andre en repeat-until-løkke og i det siste en for-løkke.

MAT1030 – Diskret matematikk 14. januar 2008 22

(119)

Kontrollstrukturer

Vi skal se tre eksempler p˚a hvordan vi kan skrive pseudokoder for algoritmer som beregner

n! = 1·2·. . .·n.

I det ene eksemplet bruker vi en while-løkke, i det andre en repeat-until-løkke og i det siste en for-løkke.

MAT1030 – Diskret matematikk 14. januar 2008 22

(120)

Kontrollstrukturer

Eksempel (while-løkke)

1 Inputn [n ≥1,n heltall] 2 x ←1

3 i ←1

4 Whilei ≤n do

4.1 xx·i 4.2 ii+ 1

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(121)

Kontrollstrukturer

Eksempel (while-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 Whilei ≤n do

4.1 xx·i 4.2 ii+ 1

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(122)

Kontrollstrukturer

Eksempel (while-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1

3 i ←1

4 Whilei ≤n do

4.1 xx·i 4.2 ii+ 1

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(123)

Kontrollstrukturer

Eksempel (while-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 Whilei ≤n do

4.1 xx·i 4.2 ii+ 1

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(124)

Kontrollstrukturer

Eksempel (while-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 Whilei ≤n do

4.1 xx·i 4.2 ii+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(125)

Kontrollstrukturer

Eksempel (while-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 Whilei ≤n do 4.1 xx·i

4.2 ii+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(126)

Kontrollstrukturer

Eksempel (while-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 Whilei ≤n do 4.1 xx·i 4.2 ii+ 1

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(127)

Kontrollstrukturer

Eksempel (while-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 Whilei ≤n do 4.1 xx·i 4.2 ii+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 23

(128)

Kontrollstrukturer

Eksempel (repeat-until-løkke)

1 Inputn [n ≥1,n heltall] 2 x ←1

3 i ←1 4 Repeat

4.1 xx·i 4.2 ii+ 1

until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(129)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1 4 Repeat

4.1 xx·i 4.2 ii+ 1

until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(130)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1

3 i ←1 4 Repeat

4.1 xx·i 4.2 ii+ 1

until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(131)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 Repeat

4.1 xx·i 4.2 ii+ 1

until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(132)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1 4 Repeat

4.1 xx·i 4.2 ii+ 1 until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(133)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1 4 Repeat

4.1 xx·i

4.2 ii+ 1 until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(134)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1 4 Repeat

4.1 xx·i 4.2 ii+ 1

until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(135)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1 4 Repeat

4.1 xx·i 4.2 ii+ 1 until i =n+ 1

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(136)

Kontrollstrukturer

Eksempel (repeat-until-løkke) 1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1 4 Repeat

4.1 xx·i 4.2 ii+ 1 until i =n+ 1 5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 24

(137)

Kontrollstrukturer

Eksempel (for-løkke)

1 Inputn [n ≥1,n heltall] 2 x ←1

3 i ←1

4 For i = 1 ton do

4.1 xx·i

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 25

(138)

Kontrollstrukturer

Eksempel (for-løkke)

1 Inputn [n ≥1,n heltall]

2 x ←1 3 i ←1

4 For i = 1 ton do

4.1 xx·i

5 Output x

MAT1030 – Diskret matematikk 14. januar 2008 25

Referanser

RELATERTE DOKUMENTER

Svaret er at det ikke er noen forskjell, og at de som har lært teori om differenslikninger kan overføre det til rekurrenslikninger.. Vi skal n˚ a fortsette med noen eksempler

i skal vi ta for oss hver av de n − i nodene som ikke har kommet med i treet, se p˚ a alle kantene fra disse nodene til treet bygget s˚ a langt og plukke ut den av disse kantene som

Mange mener at tall er punkter p˚ a tall-linja, og at det ikke spiller noen rolle om vi betrakter 2 som et naturlig tall, et heltall, et rasjonalt tall eller et reelt tall..

Mange mener at tall er punkter p˚ a tall-linja, og at det ikke spiller noen rolle om vi betrakter 2 som et naturlig tall, et heltall, et rasjonalt tall eller et reelt tall..

Etter at vi n˚ a har innført fire prinsipper for tilnærminger, hvorav tre av dem er mer ˚ a betrakte som tommelfingerregler enn matematisk presise regler, skal vi innføre den s˚

Ganske overraskende viste en gruppe indere for noen ˚ ar siden at det finnes en algoritme som avgjør om et tall er et primtall eller ikke som faller inn under denne definisjonen,

Ganske overraskende viste en gruppe indere for noen ˚ ar siden at det finnes en algoritme som avgjør om et tall er et primtall eller ikke som faller inn under denne definisjonen,

2 Hvis A er et utsagn p˚ a svak normalform, finnes det en lett forst˚ aelig strategi for ˚ a lage et bevistre for A (det vil si at rotnoden er merket med A) hvor vi ofte raskt