MicroPython Ett textbaserad programmeringsspråk för Micro:bit

Storlek: px
Starta visningen från sidan:

Download "MicroPython Ett textbaserad programmeringsspråk för Micro:bit"

Transkript

1 MicroPython Ett textbaserad programmeringsspråk för Micro:bit Introduktion till informationsteknologi 1DT Uppsala universitet

2 Programming, problemlösning och algoritmer På kursen får du lära dig grundläggande principer som är oberoende av programmeringsspråk

3

4 Ada Lovelace Enda barn till poeten Lord Byron och Anne Isabella Byron. Ada Lovelace - porträtt av brittiska konstnären Margaret Sarah Carpenter, Källa

5 Charles Babbage Brittisk matematiker berömd för sina skisser på maskiner, till exempel differensmaskinen och den betydligt mer ambitiösa analysmaskinen, som var föregångare till dagens datorer. Källa

6 Den analytiska maskinen 1837 Den analytiska maskinen var världens första ritning på en mekanisk programmerbar dator. Maskinen blev aldrig färdigställd. En modell av en del av den analytiska maskinen byggd av Baggage. Maskinen bestod av en aritmetisk logisk enhet (ALU) och en kontrollenhet med stöd för alternativ (branches) och slingor (loops). Än i dag är datorer uppbyggda på samma sätt fast gjorda av miljontals små transistorer istället för av kugghjul och stänger. Källa

7 Ada Lovelace Enda barn till poeten Lord Byron och Anne Isabella Byron. Makarna separerade en månad efter att dottern fötts. Adas mor var bitter på Lord Byron, och hon främjade dotterns intresse för matematik och logik i ett försök att förhindra att också hon utvecklade den galenskap som hon såg hos barnafadern. Källa

8 Adas Lovelaces matematiska talanger lade grunden för ett långvarigt samarbete med Charles Babbage. Åren översatte Ada en artikel om maskinen skriven av den italienske ingenjören Luigi Menabrea, vilken hon kompletterade med en omfattande notapparat. Dessa noter innehåller vad många anser vara det första datorprogrammet. I sina noter tryckte Lovelace på skillnaden mellan den analytiska maskinen och tidigare räknemaskiner, särskilt vad gäller dess möjlighet att programmeras för att lösa problem av olika svårighetsgrad. Datorspråket Ada, skapat för USA:s försvarsdepartement i slutet av 1970-talet, namngavs efter Ada Lovelace. Sedan 1998 har Computer Society delat ut Lovelace Medal till hennes ära. Ada Lovelace Day är ett årligt evenemang i mitten av oktober, med målet att stärka den kvinnliga närvaron inom vetenskap, teknologi, ingenjörsvetenskap och matematik. Källa

9 På kursen får du lära dig grundläggande principer som är oberoende av programmeringsspråk Under din utbildning kommer du inte bli expert på ett specifikt programmeringsspråk. Du kommer att bli expert på att förstå hur olika typer av programmeringsspråk fungerar. Du kommer bli expert på att bryta ner problem så att de går att lösa med programmering. Du kommer bli expert på att lära dig nya programmeringsspråk.

10 MicroPython Ett textbaserad programmeringsspråk för Micro:bit

11 Programmering Programmering handlar om att hitta en sekvens av instruktioner som automatiserar lösningen av ett givet problem eller automatiskt utför en viss procedur.

12 Programmeringsspråk Programspråk, eller programmeringsspråk, är ett språk som en människa använder för att skapa datorprogram Källa

13 Syntax Varje programmeringsspråk har en uppsättning regler som bestämmer hur bokstäver eller andra symboler kan kombineras för att utgöra ett giltigt program, dessa regler utgör språkets syntax.

14 Blocks Blocks är ett exempel på ett visuellt programmeringsspråk för Micro:bit. En stor fördel med visuella programmeringsspråk är att de grafiska objekten endast går att kombinera på vissa sätt, dvs det går endast att skapa syntaktiskt korrekta program.

15 Textbaserade programmeringsspråk De visuella programmeringsspråken är relativt få till antalet. Det övervägande antalet programmeringsspråk är i stället textbaserade där programmeraren konstruera sitt program genom att i text beskriva vad programmet skall göra. Programmeraren måste vara mycket noggrann med detaljer för att inte av misstag skapa text som inte följer språkets regler, dvs av misstag skapa program med syntaxfel.

16 Blocks Programmering sker genom att sammanfoga grafiska block.

17 MicroPython MicroPython är ett textbaserat programmeringsspråk för Micro:bit.

18 Variant av Python 3 MicroPython är en variant av Python 3 som är optimerad för att köras på en mikrokontroller, dvs köras på en dator med begränsade resurser. MicroPython inkluderar ett urval av Pythons standardbibliotek och åtkomst till funktionalitet specifikt för en viss sorts hårdvara fås genom import av olika moduler.

19 Blocks MicroPython

20 Import av modul from microbit import * Funktionalitet som är specifik för Micro:bit finns i modulen microbit. Alla program du skriver i språket MicroPython för Micro:bit bör börja med denna rad. *Stjärnan betyder importera allt från modulen microbit.

21 Paus from microbit import * display.show(image.happy) sleep(3000) display.show(image.heart) För att ta en paus i 3 sekunder används funktionen sleep med argumentet 3000 (ms). Funktionen sleep är en av de funktioner som vi importerat från modulen microbit.

22 Visa ikon på displayen Blocks I text skriver vi så här för att visa ikonen med ett glatt ansikte på displayen. display.show(image.happy)

23 Korrekt syntax display.show(image.happy) Syntaxfel display..show[image.happy) En punkt för mycket Fel sorts parentes

24 Kommentarer i koden I Python används tecknet # för att placera kommentarer i koden. Kommentarer är endast till för en mänsklig läsare av koden och har ingen effekt på programmet under körning. Syntax: En kommentar börjar alltid med # och sträcker sig till slutet av raden. # Visa ett hjärta på displayen display.show(image.happy) display.show(image.happy) # Visa ett hjärta

25 Variabler I Blocks kan vi skapa variabler och lagra värden i variabler Motsvarande program i MicroPython ser ut så här. from microbit import * x = 2 Syntax: I MicroPython används operatorn = för att tilldela en variabel ett värde.

26 Syntax för test av likhet I Python används operatorn = för att tilldela en variabel ett värde. För att testa om något är lika med något används operatorn ==. from microbit import * # Tilldelning x = 2 # Test av likhet, ger resultat False x == 4 # Test av likhet, ger resultat True x == 2

27 Objekt, metod och attribut I MicroPython representeras olika delar av hårdvaran och annat i form av olika objekt. Ett objekt lagrar data av olika slag i form av attribut. Ett objekt kan även ha ett antal metoder som låter oss göra något med objektet.

28 Åtkomst av attribut För att komma åt ett attribut hos ett objekt skrivs namnet på objektet följt av. (punkt) följt av namnet på attributet. Detta är ett exempel på syntax, dvs en regel som bestämmer hur vi måste skriva för att komma åt ett objekts attribut.

29 } namn på objekt } I MicroPython lagras alla ikoner som attribut i objektet Image. namn på punkt attribut

30 Anrop av metod För att göra något med ett objekt anropar vi något av objektets metoder. För att anropa en metod på ett objekt skriver vi: först namnet på objektet följt av. (punkt) följt av namnet på metoden följt av vänster-parentes ( följt av eventuella argument (indata) till metoden separerade med, (komma) och slutligen höger-parentes ). Detta är ett exempel på syntax, dvs en regel som bestämmer hur vi måste skriva för att anropa en metod på ett objekt.

31 Visa något på displayen Ett exempel på ett objekt är display som representerar LED-displayen. För att göra något med displayen kan vi anropa något av objektet displays metoder. Objektet display har till exempel en metod show som kan användas för att visa en sträng eller en bild på displayen. display.show(image.happy)

32 } namn på objekt } }argument punkt namn på metod parenteser Här anropas metoden show på objektet display med argumentet Image.HAPPY som i sin tur utgör attributet HAPPY på objektet Image.

33 notation() För att i vanligt skrift (ej kod) göra det tydligt att något är en funktion eller metod brukar ett par tomma parenteser läggas till efter namnet på funktionen eller metoden. I kod kan en metod behöva anropas med argument innanför parenteserna. Exempel Funktionen sleep() som vi importerat från modulen microbit. Metoden show() som vi kan anropa på objektet display. Ibland skrivs även namnet på objektet ut, till exempel display.show().

34 Utdata på displayen En form av utdata (output) från en Micro:bit är att visa något på LED-displayen. Ljusstyrkan på varje diod kan justeras i tio steg från 0 (av) till 9 (max).

35 Rita pixel Tänd dioden i mitten av displayen. Anrop av metoden set_pixel på objektet display med argumenten 2 (x), 2 (y) och 9 (maximal ljusstyrka). from microbit import * display.set_pixel(2, 2, 9)

36 Visa en sträng Skrolla strängen "Hello!" på displayen. from microbit import * display.show("hello!") Syntax: I MicroPython måste en sträng omslutas av enkla eller dubbla citattecken.

37 Visa heltal Med display.show(x) kan vi visa x på skärmen om x är en sträng eller bild (till exempel en ikon). Om vi vill visa ett heltal x på skärmen måste x först konverteras till en sträng med hjälp av funktion str().

38 Visa heltal Visa heltalet 7 på displayen. from microbit import * display.show(str(7))

39 Egen bild from microbit import * hulk_hogan = Image("00000:" "09090:" "00000:" "99999:" "90009") display.show(hulk_hogan) Varje rad om fem dioder representeras av en sträng med fem siffror följt av : (kolon). Varje siffra anger ljusstyrkan på en diod med hjälp av en siffra i spannet 0 (av) - 9 (max).

40 Rensa displayen from microbit import * display.show(image.happy) sleep(3000) display.clear() För att rensa displayen anropar vi metoden clear() på objektet display. Metoden clear tar inga argument, därav den tomma parentesen ().

41 SARA Vi har tidigare i bekantat oss med begreppen sekvens, alternativ, repetition och abstraktion (SARA) och sett konkreta exempel på SARA i Blocks. På samma sätt behöver vi när vi programmerar i MicroPython i text ha möjlighet att uttrycka sekvens, alternativ, repetition och abstraktion.

42 Sekvens from microbit import * display.show(image.heart) sleep(100) display.show(image.heart_small) sleep(100) display.show(image.heart) sleep(100) display.show(image.heart_small) sleep(100) display.show(image.heart) I MicroPython beskriver vi i text vad programmets skall göra med en operation per rad. Operationerna utförs sedan uppifrån och ner, rad för rad.

43 Alternativ if x > 0: x = x - 1 else: x = 4

44 Nyckelord och syntax I Python utgör if och else nyckelord i språket. Indrag (mellanslag eller tab) och : (kolon) utgör delar av språkets syntax, dvs är del av de regler som bestämmer hur nyckelord och andra symboler kan kombineras.

45 Syntaxen för en if-sats kräver att: den första raden med nyckelordet if och ett villkor måste sluta med : (kolon) raden eller raderna som följer direkt efter raden med nyckelordet if måste föregås av lika stora indrag (mellanslag eller tab) raden med nyckeordet else måste sluta med : (kolon) raden eller raderna som följer direkt efter raden med nyckelordet else måste föregås av ett lika stort indrag (mellanslag eller tab) som raden eller raderna direkt efter raden med nyckelordet if.

46 Testa flera alternativ if x < 0: display.show(image.sad) elif x > 0: display.show(image.happy) else: display.show(image.confused) I MicroPython lägger vi till nyckelordet elif för varje ytterligare villkor vi vill testa.

47

48 Repetition from microbit import * n = 1 while n <= 5: display.show(image.heart) sleep(500) display.show(image.heart_small) sleep(500) n = n + 1 display.clear() I Python utgör while ett nyckelord i språket och används för att skapa en slinga så länge ett villkor är uppfyllt.

49

50 Abstraktion from microbit import * def heartbeat(): display.show(image.heart) sleep(100) display.show(image.heart_small) sleep(100) display.clear() heartbeat() I MicroPython (och Python) måste en funktion definieras innan den anropas. För att definiera en funktion används nyckelordet def följt av namnet vi vill ge funktionen, i detta fall heartbeat och sedan vänster-parentes ( följt av höger-parentes ) följt av : kolon. All rader med kod som hör till funktionen måste inledas med ett lika stort indrag. Den sista raden heartbeat() utgör ett anrop av funktionen heartbeat.

51

52 Funktioner kan ta parametrar Till skillnad från Blocks kan funktioner i Python ta en eller flera parametrar. from microbit import * def double(n): return 2*n display.show(str(double(3))) Funktionen double tar en parameter n. Nyckelordet return används för att berätta vilket värde som funktionen skall ge som resultat vid anrop.

53 Anrop av funktion steg för steg from microbit import * def double(n): return 2*n display.show(str(double(3)))

54 Vid anrop av funktionen double med argumentet 3 tilldelas parametern n värdet 3. vid körning av funktionen. from microbit import * def double(n): return 2*n display.show(str(double(3)))

55 Vid anrop av funktionen double med argumentet 3 tilldelas parametern n värdet 3. vid körning av funktionen. from microbit import * def double(n = 3): return 2*n display.show(str(double(3)))

56 I funktionen double kan nu alla förekomster av parametern n ersättas med värdet 3. from microbit import * def double(n = 3): return 2*n display.show(str(double(3)))

57 I funktionen double kan nu alla förekomster av parametern n ersättas med värdet 3. from microbit import * def double(n = 3): return 2*3 display.show(str(double(3)))

58 Returvärdet kan nu beräknas. from microbit import * def double(n = 3): return 2*3 display.show(str(double(3)))

59 Returvärdet kan nu beräknas. from microbit import * def double(n = 3): return 6 display.show(str(double(3)))

60 Returvärdet ersätter nu anropet till funktionen double. from microbit import * def double(n = 3): return 6 display.show(str(double(3)))

61 Returvärdet ersätter nu anropet till funktionen double. from microbit import * def double(n): return 2*n display.show(str(6)) När funktionen har kört klart återstår endast definitionen av funktionen double för ett godtyckligt värde på parametern n.

62 Funktionen str kan nu konvertera heltalet 6 till strängen "6". from microbit import * def double(n): return 2*n display.show(str(6))

63 Funktionen str kan nu konvertera heltalet 6 till strängen "6". from microbit import * def double(n): return 2*n display.show("6")

64 Mer om indrag from microbit import * def heartbeat(n): while n > 0: display.show(image.heart) sleep(500) heartbeat(3) display.show(image.heart_small) sleep(500) display.clear() sleep(500) n = n - 1

65 enkelt indrag dubbelt indrag definition av funktion anrop av funktion

66 Arrayer och listor I Blocks kan vi lagra flera element av samma datatyp tillsammans i en array. I exemplet nedan lagars tre stycken bild-ikoner i arrayen faces.

67 Arrayer och listor I Blocks kan vi lagra flera element av samma datatyp tillsammans i en array. I exemplet nedan lagars tre stycken bild-ikoner i arrayen faces. I Python kan vi istället lagra de tre bild-ikonerna i en lista. faces = [Image.HAPPY, Image.CONFUSED, Image.SAD] Syntax: en lista börjar alltid med [ och avslutas alltid med ]. Elementen i listan separeras med, (komma).

68 Slinga över alla element from microbit import * faces = [Image.HAPPY, Image.CONFUSED, Image.SAD] for face in faces: display.show(face) sleep(1000)

69 Räkna knapptryck Med button_a.get_presses() får vi reda på antalet tryck på knapp A sedan förra gången vi använde button_a.get_presses() som ett heltal. För att visa detta heltal på displayen måste heltalet först konverteras till en sträng med hjälp av str(). from microbit import * display.show(image.happy) sleep(5000) display.show(str(button_a.get_presses()))

70 Event loop Alla program i MicroPython som behöver vänta på någon form av händelse (event), till exempel knapptryckning, använder sig av en så kallad event loop. En event loop är en oändlig slinga, dvs en slinga som aldrig tar slut där vi för varje varv kontrollerar om något har inträffat. while True: # Kod som körs varje varv i slingan. # Kontrollera om något har hänt # och hantera detta. Slingan while True: tar aldrig slut eftersom villkoret True är konstant och aldrig kan bli False. Inuti event loopen kan vi sedan lägga till kod som kontrollerar om något har hänt och hantera detta.

71 Reagera på knapptryck Objekten button_a och button_b har båda metoden is_pressed() som returnerar True om respektive knapp är nedtryckt och annars returnerar False. from microbit import * display.show(image.heart) while True: if button_a.is_pressed(): display.show(image.happy) elif button_b.is_pressed(): display.show(image.sad)

72 Reagera på skakning Förutom den vanliga importen from microbit import * importeras även modulen random. I event loopen använder vi kontrollstrukturen if tillsammans med accelerometer.was_gesture("shake") som returnerar True vid skakning och annars returnerar False. from microbit import * import random while True: if accelerometer.was_gesture("shake"): display.show(str(random.randint(1, 6)))

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

ENKEL Programmering 3

ENKEL Programmering 3 ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Digitalt lärande och programmering i klassrummet

Digitalt lärande och programmering i klassrummet Stockholm 2018-02-14 14 februari 2018 Digitalt lärande och programmering i klassrummet Programmera i Python med micro:bit Introduktion I förra lektionen gick vi igenom grunderna i hur man programmerar

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

Språket Python - Del 1 Grundkurs i programmering med Python

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316

Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer

Läs mer

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

729G04 Programmering och diskret matematik. Python 3: Loopar

729G04 Programmering och diskret matematik. Python 3: Loopar 729G04 Programmering och diskret matematik Python 3: Loopar Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3 Labbar? Punktnotation Punktnotation Ni har stött på punktnotation tidigare - kapitel

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmering I Tobias Wrigstad fredag, 2009 augusti 28 Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,

Läs mer

Tentamen i Introduktion till programmering

Tentamen i Introduktion till programmering Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn. Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0

Läs mer

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och

Läs mer

v. 42 Python HT17 En introduktion Oscar Bergqvist

v. 42 Python HT17 En introduktion Oscar Bergqvist v. 42 HT17 Python En introduktion Oscar Bergqvist oscar.bergqvist@stockholm.se 1 Innehåll 2 IDLE... 3 2.1 Det interaktiva läget... 3 2.2 Standardläget... 3 2.3 Färger i IDLE... 3 3 Variabler... 3 3.1 Namn...

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

Läs mer

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,

Läs mer

Övningsuppgifter kapitel 8

Övningsuppgifter kapitel 8 Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans

Läs mer

Uppgifter teknik HT17 (uppdaterad v. 40)

Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifterna bedöms inte, de är bara till för att öva. Samarbeta gärna med andra! Du behöver inte skriva ner svaren, men se till att du förstår lösningarna! 1. Det

Läs mer

Grundläggande datalogi - Övning 1

Grundläggande datalogi - Övning 1 Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val 732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==

Läs mer

v. 43 Python HT17 En introduktion Oscar Bergqvist

v. 43 Python HT17 En introduktion Oscar Bergqvist v. 43 HT17 Python En introduktion Oscar Bergqvist oscar.bergqvist@stockholm.se 1 Innehåll 2 IDLE... 3 2.1 Det interaktiva läget... 3 2.2 Standardläget... 3 2.3 Färger i IDLE... 3 3 Variabler... 3 3.1 Namn...

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

DD1314 Programmeringsteknik

DD1314 Programmeringsteknik Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:

Läs mer

Språket Python - Del 2 Grundkurs i programmering med Python

Språket Python - Del 2 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce

Läs mer

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Lektion 4, del 1, kapitel 10 Funktioner i JavaScript Inlärningsmål Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Introduktion

Läs mer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer 729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser

Läs mer

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner

Läs mer

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv Datorlära 6 Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv 1 Arbeta med Strängar Strängar skapas med text inom citattecken, enkla eller dubbla.!>> str=

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

Laboration: Whitebox- och blackboxtesting

Laboration: Whitebox- och blackboxtesting Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering

Läs mer

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner Introduktion till programmering Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner med

Läs mer

Funktioner. Linda Mannila

Funktioner. Linda Mannila Funktioner Linda Mannila 13.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Intro till funktioner och moduler Villkorssatsen

Läs mer

Metoder (funktioner) Murach s: kap Winstrand Development

Metoder (funktioner) Murach s: kap Winstrand Development (funktioner) Murach s: kap 6 2013-01-23 1 Winstrand Development Metoder I C# kan vi dela in koden i block en kodsekvens ska köras likadant på flera ställen i applikationen. Detta block kallas för en metod

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

DD1361 Programmeringsparadigm. Carina Edlund

DD1361 Programmeringsparadigm. Carina Edlund DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp

Läs mer

TDDE44 Programmering, grundkurs

TDDE44 Programmering, grundkurs TDDE44 Programmering, grundkurs Föreläsning 5 Jody Foo, jody.foo@liu.se Föreläsning 5 & 6 Laboration 3: En egen pokedex data från webben Ny datatyp: dictionary Mer om dataabstraktion Nästlade datastrukturer

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Summera med while-satsen Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Introduktion till programmering SMD180. Föreläsning 9: Tupler Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]

Läs mer

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå

Läs mer

Variabler och konstanter

Variabler och konstanter Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!

Läs mer

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar

Läs mer

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser

Läs mer

Inlämningsuppgift MiniPlotter

Inlämningsuppgift MiniPlotter LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner

Läs mer

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

Läs mer

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från

Läs mer

Introduktion till programmering SMD180. Föreläsning 8: Listor

Introduktion till programmering SMD180. Föreläsning 8: Listor Introduktion till programmering Föreläsning 8: Listor 1 1 Listor = generaliserade strängar Strängar = sekvenser av tecken Listor = sekvenser av vad som helst Exempel: [10, 20, 30, 40] # en lista av heltal

Läs mer

Logik och kontrollstrukturer

Logik och kontrollstrukturer Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

"Crash Course in Programming"

Crash Course in Programming "Crash Course in Programming" Denna genomgång har fokus på programmering. Den följer PBasic-syntaxen för Basic Stamp II, men är i övrigt i stort sett frikopplad från BS2. Vissa aspekter som tas upp följer

Läs mer

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

64 för BBC micro:bit. :GAME Varning: TM. Kortets layout:

64 för BBC micro:bit. :GAME   Varning: TM. Kortets layout: :GAME 64 är en programmerbar speldosa för BBC micro:bit. Den har 64färgadresserbara LED:er arrangerade i en 8x8-skärm, en piezo-sändare för ljudåterkoppling, en vibrationsmotor för haptisk återkoppling

Läs mer

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition): Översikt Motivering Syntax och semantik Imperativa språkets byggstenar och Python Datatyper Tilldelning och uttryck Kontrollstrukturer (på satsnivå) Subprogram Relaterade avsnitt: PL 3.1-3.2, 5.1-5.3,

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

Läs mer

Datalogi för E Övning 3

Datalogi för E Övning 3 Datalogi för E Övning 3 Mikael Huss hussm@nada.kth.se AlbaNova, Roslagstullsbacken 35 08-790 62 26 Kurshemsida: http://www.csc.kth.se/utbildning/kth/kurser/2d1343/datae06 Dagens program Att skapa egna

Läs mer

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo, 729G74 IT och programmering, grundkurs Tema 2, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kursinfo: återkoppling Muddy Cards och kompletteringar Diskret matematik Python: Programmering

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Kom igång med Micro:bit och JavaScript Blocks Editor. Framsida

Kom igång med Micro:bit och JavaScript Blocks Editor. Framsida Kom igång med Micro:bit och JavaScript Blocks Editor BBC micro:bit är en enkel dator som programmeras via en annan enhet (smartphone, ipad, PC etc.) Programmet kompileras och körs över till micro:bit via

Läs mer

Teknikhistoria: Den första programmeraren

Teknikhistoria: Den första programmeraren Teknikhistoria: Den första programmeraren Lektionen är en introduktion till Ada Lovelace som anses vara den första programmeraren. Eleverna får lära sig lite mer om vem hon var, vad hon gjorde samt den

Läs mer

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller Övningar i 2D2050 Per-Anders Staav (kallas Pa) Epost: pasta@kth.se eller pastaav@algonet.se Läser till civilingengör på Elektro 180 p inriktning mot programmering. Har jobbat extra som lärare på Nada sedan

Läs mer

JavaScript Block Editor:

JavaScript Block Editor: Micro:bit Tärningen Att räkna med slumpen genom t.ex. tärningsslag och föra statistik över antal slag kan vara tidskrävande. Speciellt om man ska gör 100 st eller 1000 st kast. Genom att använda programmering

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar

Läs mer

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet Žƒ ƒ Ž Ž ˆ ƒ ƒ ƒ Žƒ ƒ Ž ˆ Œ ŽŽ ƒ Backcode Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet Innehållsförteckning 12-05-29 Inledning... 3 Användarhandledningen... 4 Klasser... 4 Metoder...

Läs mer

Introduktion till programmering SMD180. Föreläsning 3: Funktioner

Introduktion till programmering SMD180. Föreläsning 3: Funktioner Introduktion till programmering Föreläsning 3: Funktioner 1 1 Mer matematik Vi har sett matematiska uttryck med variabler, värden och operatorer, ex: 17+n pi/2 hours*60+minutes Kan man även skriva uttryck

Läs mer

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Beräkningsvetenskap föreläsning 2

Beräkningsvetenskap föreläsning 2 Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa

Läs mer

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

Läs mer

Vilken skillnad gör det var du placerar det? Prova båda.

Vilken skillnad gör det var du placerar det? Prova båda. Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

Läs mer

Använda Python Laboration 1 GruDat, DD1344

Använda Python Laboration 1 GruDat, DD1344 Använda Python Laboration 1 GruDat, DD1344 Örjan Ekeberg 14 oktober 2008 Målsättning Målet med denna laboration är att du ska prova på att använda Python, framförallt interativt. Du ska också lära dig

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

7 GRUNDERNA I PROGRAMMERING

7 GRUNDERNA I PROGRAMMERING Grunderna i programmering 7 GRUNDERNA I PROGRAMMERING Detta kapitel är bokens största kapitel och kanske det viktigaste. Vi kommer här att gå igenom grunderna för sekventiell programmering. Det vi går

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

Dataabstraktion. TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap

Dataabstraktion. TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap Dataabstraktion TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12 Peter Dalenius Institutionen för datavetenskap 2013-11-12 Översikt Vad är abstraktion? Vad är en abstrakt datatyp?

Läs mer

Problemlösning och funktioner Grundkurs i programmering med Python

Problemlösning och funktioner Grundkurs i programmering med Python Hösten 2009 Dagens lektion Problemlösningsstrategier Repetition av funktioner Mer om funktioner 2 Problemlösningsstrategier 3 PROBLEMLÖSNINGSSTRATEGIER Strategier Det finns ett flertal olika ansatser till

Läs mer