PROGRAMMERING I MAPLE
|
|
- Andrea Løken
- 7 år siden
- Visninger:
Transkript
1 PROGRAMMERING I MAPLE Trygve Eftestøl Rev , Tom Ryen BID10 Datateknikk, høsten 200 Høgskolen i Stavanger, Teknisk- og naturvitenskaplig fakultet Innledning Hensikten med dette dokumentet er først og fremst å gi en kortfattet innføring i programmering med Maple8 som skal gi studenten et grunnlag for å kunne jobbe på datamaskinen med begreper som omhandles i programvaredelen av pensum. Algoritmer I læreboken (av Brookshear) benyttes et pseudokodespråk som et verktøy en kan bruke til å beskrive algoritmer. De mest grunnleggende algoritmestrukturene som blir behandlet er: Tilordning av verdier til variabler (herunder også datatyper og indeksering). Prosedyrer med lokale og globale variabler. Betingelsestyring av aktiviteter med kontrollstrukturen if. Betingelsestyrt gjentakelse av aktiviteter med kontrollstrukturen while. I det følgende gis en nærmere beskrivelse av hvordan disse strukturene arter seg i Maple. Tilordning av verdier til variabler I læreboken står det at en ofte ønsker å referere til verdier ved deskriptive navn. I læreboken uttrykkes dette navn <- uttrykk hvor navn er det deskriptive navnet og uttrykk beskriver verdien som skal assosieres med navnet. I Maple vil en uttrykke dette på følgende måte: > navn:=uttrykk; Legg merke til bruken av := Noen eksempler: navn := uttrykk > x:=100;
2 y:=2; x := 100 y := 2 Noen datatyper og indeksering Maple skiller mellom ulike måter å organisere data på. Vi skal kort gå inn på de mest sentrale av disse. I de eksemplene vi hittil har sett på har vi operert på et enkelt tall. Når en skal utvikle mer avanserte algoritmer har en ofte bruk for å håndtere mer kompliserte data-samlinger. Vi skal se nærmere på noen av de grunnleggende Maple-strukturene vi får mest bruk for. En liste kan lages ved å sette et antall kommaseparerte objekter i klammeparanteser. Et objekt i listen, x, kan aksesseres ut fra dets posisjon j i listen som x[j]. I eksemplet nedenfor lager vi en liste og aksesserer det. elementet i listen. > data_list:=[1,,,5]; data_list[]; data_list := [ 15,,, ] En streng kan lages ved å sette symboler sammen innenfor " ". > "Dette er en streng 1 2 "; "Dette er en streng 1 2 " Det kanvære nyttig å sette sammen to strenger med kommandoen cat. > streng1:="udeouh "; streng2:="ijhp-ø"; cat(streng1,streng2); streng1 := "udeouh " streng2 := "ijhp-ø" "udeouh ijhp-ø" En kan også lage en liste av strenger > string_list:=['ola','lise','per']; string_list := [ Ola, Lise, Per ] Ved indeksering aksesserer vi verdier ut fra posisjonen i listen ved hjelp av indeksvariabler. Vi kan la i være indeksvariabel. Ved å la i variere, har vi en metode som lar oss lese/skrive til posisjoner i listen på en fleksibel måte. Istedet for å lese verdien i posisjon med direkte posisjonsangivelse, kan vi gjøre dette med bruk av indeksvariabelen i på følgende måte: > i:=; data_list[i]; i := Tilsvarende kan vi indeksere strenglisten vår: > string_list[i]; Per Dette er svært nyttig når vi bruker while-strukturer.
3 Prosedyrer Noen ganger trenger man samme programkoden flere ganger i arbeidet med å løse ulike problemstillinger. Da kan det være nyttig å skrive en prosedyre som en kan kalle ved navn når en har bruk for et bestemt sett med programkode. I læreboken omtales dette som at prosedyren er et abstrakt verktøy som kan brukes i andre sammenhenger. Prosedyren gis et navn som en kan referere til seinere. I denne sammenhengen kan det være nyttig å tenke seg en nivådeling av arbeidsområdet. Øverste nivå (nivå 1) vil være arbeidsdokumentet. En kan gå inn i et lavere nivå (nivå 2) ved å kalle en prosedyre fra nivå 1. Mens en er inni denne prosedyren er en i nivå 2, og når prosedyren er ferdig utført vender en tilbake til nivå 1. En kan også tenke seg at en ny prosedyre kalles innenfra den første prosedyren slik at en går over i nivå. La oss opprette en enkel prosedyre som har som oppgave å oppgi en tilnærming av verdien et halvert tall. Vi ønsker å kalle prosedyren halver. Prosedyren skal kunne kalles fra et annet program seinere med variablen, x, som inngangsparameter og gi ut den tilnærmede verdien til x/2. I læreboken ville dette uttrykkes som procedure halver(x) skriv ut tilnærming av x/2; I maple uttrykkes dette som følger: > halver:=proc(x) evalf(x/2); halver := proc( x ) evalf( 1 / 2 x ) Nå er prosedyren definert. En kan da kalle prosedyren fra arbeidsdokumentet som i følgende eksempler. (Prosedyren kan også kalles innenifra andre prosedyrer). > x:=2; y:=halver(2.5); halver(0.5); x := 2 y := Dersom du ønsker å studere innholdet i en prosedyre kan dette gjøres ved hjelp av kommandoen eval. > eval(halver); proc( x ) evalf( 1 / 2 x ) Parametere En bruker parametere for å sende variabelverdier inn og ut av prosedyrer. Her er et eksempel hvor verdien til variabelen X sendes inn i prosedyren doble, via parameteren x. Resultatet sendes ut av prosedyren til variabelen Y via parameteren y.
4 > doble:=proc(x,y) y:=2*x; X:=2; Y:='Y'; doble(x,y): Y; doble := proc( x, y ) y := 2 x X := 2 Y:= Y Legg merke til tilordningen Y:='Y'. Dette er fordi utgangsverdien bare kan tilordnes et navn. Hvis en prøver å sende inn en verdi, som vist i eksemplet under, vil man få feil. > X:=2; Y:=; doble(x,y): Y; X := 2 Y := Error, (in doble) illegal use of a formal parameter En kan ha flere parametre. I eksemplet under brukes to utgangsparametere, y og z. > doble2:=proc(x,y,z) y:=2*x; z:=2*y; X:=2; Y:='Y'; Z:='Z'; doble(x,y,z): Y; Z; doble2 := proc( x, y, z ) y := 2 x ; z := 2 y X := 2 Y:= Y Z:= Z Z Lokale og globale variabler
5 Som en regel er variabler deklarert innenfor en prosedyre lokale, hvilket betyr at de kun kan refereres til inni prosedyren. Noen ganger ønsker en at en variabel skal kunne refereres til fra alle nivåer. Disse variablene er globale. Eksempelvis kan vi se på to nesten identiske prosedyrer, g og h. g bruker b som lokal variabel, mens h bruker b som global variabel. Vi tilordner først en verdi til b, og så definerer vi prosedyrene. > b:=2; g:=proc() local b; b:=10299/102; evalf(b/2); h:=proc() global b; b:=10299/102; evalf(b/2); b; b := 2 g := proc() local b ; b := 1 / 110 ; evalf( 1 / 2 b ) h := proc() global b ; b := 1 / 110 ; evalf ( b / 2) 2 Deklareringen av prosedyrene har ingen effekt på variablen b, den beholder verdien 2. Hvis vi utfører prosedyren g, har det heller ingen effekt på verdien til b. > g(); b; Utførelse av h derimot, vil påvirke verdien til b, ettersom b i denne prosedyren er deklarert som en global variabel. > h(); b; Betingelsesstyring av aktiviteter med kontrollstrukturen if Den ene av de to viktige kontrollstrukturene er if. I beskrivelse av algoritmer har en ofte behov for å kunne velge mellom en av to ulike aktiviteter avhengig av om en gitt betingelse er sann eller usann. I læreboken uttrykkes dette generelt som
6 if (betingelse) then (aktivitet1) else (aktivitet2) Dersom betingelsen er sann så utføres aktivitet1, ellers utføres aktivitet2. I Maple uttrykkes dette > if betingelse then aktivitet1; else aktivitet2; end if; Et eksempel kan være at en ønsker å lage en prosedyre, ABS, som beregner absoluttverdien x til tallet x. ( x =x når x er positivt og x =-x ellers.) > ABS:=proc(x) if x<0 then -x; else x; end if; ABS := proc( x) if x < 0 then x else x end if > ABS();ABS(-); Betingelsesstyrt aktivitetsgjentakelse med kontrollstrukturen while Den andre av de to viktige kontrollstrukturene er while. Denne gir anledning til å gjenta utførelsen av en aktivitet så lenge en gitt betingelse er oppfylt. Sammen med betingelsestyring av aktiviteter, gir dette mulighet til å beskrive algoritmer på en kraftfull måte. I læreboken uttrykkes dette generelt som while (betingelse) do (aktivitet) Så lenge betingelsen er sann utfør aktivitet. Returner og kontroller betingelsen igjen. Når betingelsen viser seg å være falsk, avsluttes sløyfen og programutførelsen fortsetter med første instruksjon etter while-strukturen. I maple uttrykkes dette > while betingelse do aktivitet; end do; Et eksempel kan være at en ønsker å lage en prosedyre, dividermed2, som dividerer et heltall n med 2 så mange ganger som mulig. Kommandoene iquo og irem beregner henholdsvis kvotient og rest ved hjelp av heltallsdivisjon. > dividermed2:=proc(n::posint) local q; q:=n; while irem(q,2)=0 do q:=iquo(q,2); end do; q;
7 dividermed2 := proc( n:: posint) local q; q:= n; while irem ( q, 2) = 0 do q := iquo ( q, 2) end do; q > dividermed2(2); dividermed2(); 1 > Som vi ser er q en lokal variabel som endrer seg og inngår i betingelsen som testes. Dette er vesentlig ved while-strukturens kontrolldel som består av komponentene Initialisering: q settes lik heltallet som skal deles med 2. Test: Det testes om q er delelig med 2. Modifisering: q endres til neste kvotient som skal forsøkes deles med 2. Modifiseringen besørger at avslutningsbetingelsen til slutt inntreffer. Henvisninger til nyttig informasjon Et startkurs Under hjemmesidene til Maple, kan en finne kurs og informasjon som omhandler programmeringi Maple. Dette kan lastes ned gratis fra
Notat 2, ST Sammensatte uttrykk. 27. januar 2006
Notat 2, ST1301 27. januar 2006 1 Sammensatte uttrykk Vi har sett at funksjoner ikke trenger å bestå av annet enn ett enkeltuttrykk som angir hva funksjonen skal returnere uttrykkt ved de variable funksjonen
DetaljerLæringsmål og pensum. Oversikt
1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering
DetaljerNotat 2, ST januar 2005
Notat 2, ST1301 25. januar 2005 1 Sammensatte uttrykk Vi har sett at funksjoner ikke trenger å bestå av annet enn ett enkeltuttrykk som angir hva funksjonen skal returnere uttrykkt ved de variable funksjonen
DetaljerPlenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode
Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon
DetaljerTDT4165 PROGRAMMING LANGUAGES. Exercise 01 Introduksjon til Oz
TDT4165 PROGRAMMING LANGUAGES Fall 2012 Exercise 01 Introduksjon til Oz Denne øvingen vil gjøre deg kjent med Emacs og Mozart. Du må kunne bruke disse verktøyene for å gjøre resten av øvingene. Mozart
DetaljerUtførelse av programmer, metoder og synlighet av variabler i JSP
Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen
DetaljerMAT1030 Plenumsregning 1
MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk
DetaljerVelkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel
Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang
DetaljerVi som skal undervise. MAT1030 Diskret matematikk. Hva er diskret matematikk? Hva er innholdet i MAT1030?
Vi som skal undervise MAT1030 Diskret matematikk Forelesning 1: Algoritmer, pseudokoder og kontrollstrukturer Dag Normann Matematisk Institutt, Universitetet i Oslo 14. januar 2008 Dag Normann Roger Antonsen
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. januar 2009 (Sist oppdatert: 2009-01-14 16:44) Velkommen
DetaljerVelkommen til MAT1030!
MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo Velkommen til MAT1030! 13. januar 2009 (Sist oppdatert:
Detaljer156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk
IT1101 Informatikk basisfag I dag Programmeringsspråk Problemer med maskinspråk I dag: 5.1-5.3 Fra lavnivå til høynivå programmeringsspråk - utvikling Kompilator / tolker Programmeringsparadigmer Tradisjonelle
Detaljer1. Kontrollstrukturer og løkker
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Leksjon 02: Kontrollstrukturer og løkker Kjell Toft Hansen 23.06.2010 Lærestoffet er utviklet for faget LO177D Databaseprogrammering med
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
DetaljerTDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
DetaljerTDT4110 IT Grunnkurs Høst 2015
TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst
DetaljerPlenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk
DetaljerKapittel 1 En oversikt over C-språket
Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske
DetaljerEKSAMENSFORSIDE Skriftlig eksamen med tilsyn
BOKMÅL EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: 108 + 108N Dato: 19.12.201 Ansv. faglærer: Roy M. Istad Campus: Bø Antall oppgaver: 5 Tillatte hjelpemidler (jfr. emnebeskrivelse): Alt trykt
DetaljerINF1000 (Uke 5) Mer om løkker, arrayer og metoder
INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 12. desember 2002 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU
DetaljerINF mai 2014 Stein Krogdahl, Ifi, UiO
INF5110 7. mai 2014 Stein Krogdahl, Ifi, UiO Dette er foiler om global data-analyse NB: Disse foilene er også pensum (men stoffet finnes bare her på disse foilene.) Global dataflyt-analyse, eksempler:
DetaljerOppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.
IN1000 - Seminaroppgaver til uke 1 Nyttig å vite: PEP 8 -- Style Guide for Python Code. Dersom det som undervises i IN1000 ikke samstemmer med PEP, så skal dere følge den stilen som undervises og ikke
DetaljerShellscripting I. Innhold
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring
DetaljerAlgoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1
Delkapittel 2.1 Plangeometriske algoritmer Side 1 av 7 Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1 2.1 Punkter, linjesegmenter og polygoner 2.1.1 Polygoner og internett HTML-sider kan ha
DetaljerForelesning 1. Algoritmer, pseudokoder og kontrollstrukturer. Dag Normann - 14. januar 2008. Vi som skal undervise. Hva er diskret matematikk?
Forelesning 1 Algoritmer, pseudokoder og kontrollstrukturer Dag Normann - 14. januar 2008 Vi som skal undervise Dag Normann Roger Antonsen Christian Schaal Robin Bjørnetun Jacobsen http://www.uio.no/studier/emner/matnat/math/mat1030/v08/
DetaljerDagens tema: 12 gode råd for en kompilatorskriver
Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerVisual Basic. Repetisjon fra onsdag
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
Detaljerif-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS
Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller
DetaljerTyper. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning
Dagens tema Typer (Kapittel 3 frem til 331) Innføring i ML (Kapittel 743 & ML-kompendiet) Typer En (data-)type består av: en mengde verdier en mengde operasjoner man kan anvende på disse verdiene Eksempel:
DetaljerINF3110 Programmeringsspråk. Dagens tema. Typer (Kapittel 3 frem til ) Innføring i ML (Kapittel & ML-kompendiet.) 1/19
Dagens tema Typer (Kapittel 3 frem til 3.3.1.) Innføring i ML (Kapittel 7.4.3 & ML-kompendiet.) 1/19 Forelesning 2 27.8.2003 Typer En (data-)type består av: en mengde verdier en mengde operasjoner man
DetaljerRepetisjon. Fundamentale konsepter. Objekter og klasser Grunnleggende programmering i Java Monica Strand 28.
Repetisjon Grunnleggende programmering i Java Monica Strand 28. november 2007 Gr. leggende Java 28. november 2007 1 object class method parameter data type Fundamentale konsepter Gr. leggende Java 28.
DetaljerObjektorientert programmering i Python
Objektorientert programmering i Python IN1000 Høst 2019 uke 8 Siri Moe Jensen Læringsmål uke 8 Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How-to
DetaljerINF1000 undervisningen INF 1000 høsten 2011 Uke september
INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første
DetaljerINF 1000 høsten 2011 Uke september
INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første
DetaljerTDT4105 IT Grunnkurs Høst 2016
TDT4105 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følge informasjon i blokkbokstaver Navn:
DetaljerØvingsforelesning i Python (TDT4110)
Øvingsforelesning i Python (TDT4110) Tema: Øving 2, Betingelser, if/elif/else Kristoffer Hagen Oversikt Praktisk informasjon Gjennomgang av Øving 1 Oppgaver for Øving 2 2 Praktisk Bruke andre studasser
DetaljerLeksjon 3. Kontrollstrukturer
6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 2 Løkker Roy M. Istad 2015 Utførelse av et program Programflyt så langt start setning setning setning setning Sekvensielt Alle setninger utføres,
DetaljerLeksjon 3. Kontrollstrukturer
6108 Programmering i Java Leksjon Kontrollstrukturer Del 2 Løkker Roy M. Istad 2015 Utførelse av et program Programflyt så langt start setning setning setning setning Sekvensielt Alle setninger utføres,
Detaljer13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER
.9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,
DetaljerTDT4110 IT Grunnkurs Høst 2016
TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følgende informasjon i blokkbokstaver
Detaljeri=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 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I
DetaljerForelesning inf Java 4
Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette
DetaljerProgrammering Høst 2017
Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør
DetaljerBygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle
Bygg et Hus Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon I denne leksjonen
DetaljerMer om representasjon av tall
Forelesning 3 Mer om representasjon av tall Dag Normann - 21. januar 2008 Oppsummering av Uke 3 Mandag 14.01 og delvis onsdag 16.01 diskuterte vi hva som menes med en algoritme, og vi så på pseudokoder
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerBetinget eksekvering og logiske tester i shell
Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget
DetaljerINTRODUKSJON TIL MAPLE
INTRODUKSJON TIL MAPLE Trygve Eftestøl Rev. 15.07.2004, Tom Ryen BID140 Datateknikk, høsten 2004 Høgskolen i Stavanger, Teknisk- og naturvitenskaplig fakultet Innledning Maple er et verktøy for matematiske
Detaljeri=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4
Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk
DetaljerINF1000 : Forelesning 4
INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerOppsummering av Uke 3. MAT1030 Diskret matematikk. Binære tall. Oppsummering av Uke 3
Oppsummering av Uke 3 MAT1030 Diskret matematikk Forelesning 3: Mer om representasjon av tall Dag Normann Matematisk Institutt, Universitetet i Oslo 21. januar 2008 Mandag 14.01 og delvis onsdag 16.01
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerBakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?
Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får
DetaljerMAT1030 Forelesning 2
MAT1030 Forelesning 2 Kontrollstrukturer, tallsystemer, basis Dag Normann - 20. januar 2010 (Sist oppdatert: 2010-01-20 12:31) Kapittel 1: Algoritmer (fortsettelse) Kontrollstrukturer I går innførte vi
DetaljerKONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke)
KONTROLLSTRUKTURER MAT1030 Diskret matematikk Forelesning 2: Flere pseudokoder. Representasjoner av tall. Dag Normann Matematisk Institutt, Universitetet i Oslo 16. januar 2008 Mandag innførte vi pseudokoder
DetaljerForelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer
Forelesning 2 Flere pseudokoder. Representasjoner av tall. Dag Normann - 16. januar 2008 KONTROLLSTRUKTURER Mandag innførte vi pseudokoder og kontrollstrukturer. Vi hadde tre typer grunn-instruksjoner:
DetaljerMAT1030 Forelesning 4
MAT1030 Forelesning 4 Logikk Roger Antonsen - 21. januar 2009 (Sist oppdatert: 2009-01-22 13:02) Kapittel 4: Logikk (fortsettelse) Enda et eksempel (a) Jeg liker ikke Bamsemums. (b) Du liker alt jeg liker.
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 4: Logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo 21. januar 2009 (Sist oppdatert: 2009-01-22 13:02) Kapittel 4: Logikk (fortsettelse) MAT1030
DetaljerKapittel 4: Logikk (fortsettelse)
MAT1030 Diskret Matematikk Forelesning 4: Logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 4: Logikk (fortsettelse) 21. januar 2009 (Sist oppdatert: 2009-01-22 13:03) MAT1030
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 2: Kontrollstrukturer, tallsystemer, basis Roger Antonsen Institutt for informatikk, Universitetet i Oslo 14. januar 2009 (Sist oppdatert: 2009-01-14 16:45) Kapittel
DetaljerOversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
DetaljerEKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.
Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig
DetaljerOppgaver uke 1: Løsningsforslag
Oppgaver uke 1: Løsningsforslag Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen. alder = 30 print("din alder er", alder) alder = 15 Din alder er 30 Når print() kalles
DetaljerI Kapittel 3 så vi på hvordan data, som hele tall og reelle tall, kan representeres som bitsekvenser
Forelesning 5 Logikk Dag Normann - 28. januar 2008 Oppsummering av Kapittel 3 I Kapittel 3 så vi på hvordan data, som hele tall og reelle tall, kan representeres som bitsekvenser i en datamaskin. Stoffet
DetaljerAnatomien til en kompilator - I
Anatomien til en kompilator - I 5/22/2006 1 Framgangsmåte for automatisk å lage en scanner Beskriv de forskjellige token-klassene som regulære uttrykk Eller litt mer fleksibelt, som regulære definisjoner
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15. mai 2003 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU Studiepoeng:
DetaljerVelkommen til INF2100
Kursopplegg Velkommen til INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering
DetaljerSemantikk. Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Semantikk. Semantikk. En måte å svare på: gi semantikken til språket!
agens tema Kjøresystemer (Ghezzi&Jazayeri.,.) Innledende om semantikk Operasjonell semantikk / SIMPLESEM Bokholderi og minneorganisering Forskjellige språkklasser... en beskrivelse av hva som skjer når
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 4: Logikk Dag Normann Matematisk Institutt, Universitetet i Oslo 27. januar 2010 (Sist oppdatert: 2010-01-27 12:47) Kapittel 4: Logikk (fortsettelse) MAT1030 Diskret
DetaljerØvingsforelesning 1 Python (TDT4110)
Øvingsforelesning 1 Python (TDT4110) Introduksjon, Kalkulasjoner Ole-Magnus Pedersen Oversikt Praktisk Info Repetisjon fra sist Oppgaver for øving 2 2 Praktisk Info Last opp øvinger på Blackboard før godkjenning
DetaljerForkurs i informatikk Python. Andreas Færøvig Olsen
Andreas Færøvig Olsen andrefol@ifi.uio.no Mål Hvorfor Python? Gi en mykere start på INF1100 Komme i gang med programmering 2 3 Hva er Python? Hva er programmering? 4 Hva er Python? Hva er programmering?
DetaljerHvordan løse problemer med programmering?
Start screencast!! (tidlig..) Ha klar glass med linser Lukk programmer, untatt Atom, Keynote, Terminal Hvordan løse problemer med programmering? Problemløsning, løkker, og funksjoner med parametre IN1000,
DetaljerBygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv
Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som
DetaljerInnhold uke 9. Objektorientert programmering i Python. Om ukens pensum. Referanser og objekter Tema: Mer komplekse strukturer
Objektorientert programmering i Python IN1000 Høst 2017 uke 9 Siri Moe Jensen Innhold uke 9 Tema: Mer komplekse strukturer Referanser versus objekter Referanser mellom objekter Lister av objekter inkl
DetaljerTDT4110 IT Grunnkurs Høst 2012
TDT4110 IT Grunnkurs Høst 2012 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 7 Denne øvingen er en fellesøving laget i samarbeid med emnet TMA4100
DetaljerInformasjon Prøveeksamen i IN1000 høsten 2018
Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.
DetaljerTDT4110 IT Grunnkurs Høst 2016
TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres
Detaljer16 Programmere TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5
16 Programmere Skrive et program på TI-86... 248 Kjøre et program... 256 Arbeide med programmer... 258 Laste ned og kjøre et assemblerspråkprogram... 261 Skrive inn og lagre en streng... 263 TI -86 M1
DetaljerKap. 4: Ovenfra-ned (top-down) parsering
Kap. 4: Ovenfra-ned (top-down) parsering Dette bør leses om igjen etter kapittelet: First og Follow-mengder Boka tar det et stykke uti kap 4, vi tok det først (forrige foilbunke) LL(1)-parsering og boka
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 5. juni 2007 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 6 sider (pluss vedlegg) Vedlegg
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerØvingsforelesning 5 Python (TDT4110)
Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med
DetaljerEksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter
Eksamensrelevant repetisjonsstoff Uke 13 Litt repetisjon 22 november 2005, Arild Waaler Inst. for informatikk, UiO datatyper og konvertering mellom datatyper returtyper til metoder løkkekonstruksjoner:
DetaljerMatematikk Øvingsoppgaver i numerikk leksjon 4 m-ler
Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler
DetaljerHvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt:
Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt: inchar INC inint INI Tegnet eller tallverdien kommer i I registeret. outchar OUTC outint (n) OUTI n outline OLIN I Flink maskinen
DetaljerINF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt
INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden
DetaljerDagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?
Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerBeskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015
Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den
DetaljerUNIVERSITETET I OSLO
Kandidatnummer: Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1000 Grunnkurs i objektorientert programmering Prøveeksamensdag : Onsdag 12. november 2014 Tid
DetaljerOversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
DetaljerRepetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator
Litt mer om løkker Arrayer le Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i slo Java Repetisjon: operatorene ++ og -- Instruksjon i = i + i = i - Alternativ Prefiks-operator
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Prøveeksamen 2 Eksamensdag: Onsdag 14. November 2014. Tid for eksamen:
DetaljerNorsk informatikkolympiade runde
Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.
DetaljerKap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO
Kap. 4 del I Top Down Parsering INF5110 v2006 Stein Krogdahl Ifi, UiO 1 Innhold First og Follow-mengder Boka ser på én parseringsmetode først, uten å se på First/Follow-mengder. Vi tar teorien først To
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum
Detaljer