MicroPython Ett textbaserad programmeringsspråk för Micro:bit
|
|
- Lena Hellström
- för 4 år sedan
- Visningar:
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 Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merENKEL 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 merFö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 merAnvä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 merDigitalt 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 merFö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 merFö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 merSprå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 merFö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 merFö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 merViktiga 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 merKlassdeklaration. 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 mer729G04 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 merAlla 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 merProgrammering 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 merTentamen 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 merTDIU01 - 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 merDatatyper 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 merNå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 merIntroduktion 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 merv. 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 merProgrammera 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 merIntroduktion 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 merDagens 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 merPlatser 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
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 merUppgifter 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 merGrundlä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 mer732G 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 merv. 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 merSä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 merDD1314 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 merSprå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 merProgrammering 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 merBakgrund. 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 merMultipel 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 merAtt 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 mer729G04 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 merIntroduktion 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 merDatorlä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 merIntroduktion 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 merLaboration: 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 merProgrammeringsteknik 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 merFö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 merTDIU01 - 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 merFö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 meri 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 merIntroduktion 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 merFunktioner. 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 merMetoder (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 merEDAA20 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 merDD1361 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 merTDDE44 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 merKompilering 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 merInledande 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 merIntroduktion 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 merFö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 merVariabler 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 mer1/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 merDD1310/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 merInlä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 merIntroduktion 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 merKomponentvisa 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 merIntroduktion 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 merLogik 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 merMATLAB. 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 merParameterö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 merVisual 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" 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 merFö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 mer64 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 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 merProgrammering 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 merTentamen , 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 merDatalogi 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 mer729G74 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 merPython. 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 merKom 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 merTeknikhistoria: 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: 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 merJavaScript 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 merPython. 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 merFö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 merBackcode. 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 merIntroduktion 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 merLä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 merProgrammering 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 merTDDC74 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 merBankkonto - ö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 merBerä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 merDatalogi 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 merIntroduktion 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 merVilken 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 merIntroduktion 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 merAnvä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 merObjektorienterad 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 mer7 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 merObjektorienterad 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 merDataabstraktion. 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 merProblemlö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