v. 42 Python HT17 En introduktion Oscar Bergqvist

Storlek: px
Starta visningen från sidan:

Download "v. 42 Python HT17 En introduktion Oscar Bergqvist"

Transkript

1 v. 42 HT17 Python En introduktion Oscar Bergqvist

2 1 Innehåll 2 IDLE Det interaktiva läget Standardläget Färger i IDLE Variabler Namn Värde Typ Kommentarer Att addera och multiplicera variabler Felmeddelanden Inbyggda funktioner print( ) input( ) Funktioner för att konvertera typ Villkorssatser Olika typer av villkor or & and Loopar while for Funktioner Funktionsanrop Argument

3 10.3 Returnera Att definiera egna funktioner Att returnera ett värde från en egen funktion Listor och index (ingår ej i kursen) Moduler (ingår ej i kursen) Inbyggda moduler Grafik (ingår ej i kursen) Skapa ett fönster med tkinter Lägg till en knapp som öppnar ett infofönster Widgets Tutorials Tutorialspoint YouTube

4 2 IDLE I Windows finns det ett program som heter Anteckningar, där man kan skriva in text. Men om vi vill skriva en bok så använder vi gärna ett annat program, t.ex. Word för att det ska se snyggt ut. På samma sätt kan man använda Anteckningar för att skriva ett datorprogram, men det är mycket bekvämare att göra det i ett annat program där det finns fler funktioner. Ett sådant program kallas för en IDE. När man laddar ner Python så installeras det automatiskt en IDE som kallas för IDLE. 2.1 Det interaktiva läget När man öppnar IDLE på datorn så kommer man direkt till det som kallas för det interaktiva läget. Här kan man skriva en rad kod, och sedan köra den genom att trycka på Enter, skriva en till rad och köra den genom att trycka på Enter osv. 2.2 Standardläget Från det interaktiva läget kan man även öppna en ny fil där man kan skriva ett längre program med flera rader kod och köra hela programmet på en gång. Fördelen med detta är att man kan spara sin kod och ändra den i efterhand. I standardläget kör man kod genom att trycka på Run i menyn och välja Run Module (F5). För att ändra i en fil som man har sparat måste man öppna filen via det interaktiva läget genom att trycka på File i menyn och sedan välja Open. Se guiden under kategorin guider på teknikbloggen för tydligare instruktioner. 2.3 Färger i IDLE När vi skriver kod i IDLE kommer vissa saker automatiskt få en viss färg. Detta har inget att göra med hur programmet fungerar, men gör det enklare att läsa koden. Olika färger används i olika IDE:er 3 Variabler Variabler används i alla programmeringsspråk för att lagra data (information) i datorns minne. En variabel har följande tre egenskaper: namn värde typ 3

5 I Python skapar man en variabel genom att använda likhetstecknet: x = 10 Här har vi skapat en variabel med namnet x och med värdet Namn Variabelnamn kan bestå av ord, bokstäver, siffror och understreck, men måste börja med en bokstav. Mellanrum får inte finnas i variabelnamn. 3.2 Värde Man kan se det som att en variabel är en låda som innehåller något. Namnet är det man skriver på etiketten på lådan och värdet är vad lådan innehåller. Värdet av en variabel kan vara t.ex. ett ord, ett heltal eller ett decimaltal. 3.3 Typ På samma sätt som en låda kan innehålla olika typer av objekt kan en variabel också göra det. För tillfället tar vi upp tre olika typer av variabler i kursen: int (heltal), float (decimaltal) och string (tecken). Exempel: variabel_1 = 30 variabel_2 = 2.5 varaibel_3 = "Oscar" Här har vi skapat tre variabler med Namnen: variabel_1, variabel_2 och variabel_3. Värdena: 30, 2.5 och "Oscar". Typerna int (heltal), float (decimaltal) och string (tecken). Kom ihåg att "Oscar" egentligen bara är en samling med tecken: "O", "s", "c", "a" och "r". Man sätter alltid citationstecken runt värdet när man skapar en variabel av typen string. Värden av typen string kallas för strängar och blir automatiskt gröna i IDLE. 4

6 4 Kommentarer Ibland vill man skriva något i sitt program som inte är kod, utan en kommentar till andra programmerare som ska läsa koden. Då använder man det som kallas för en kommentar. Kommentarer blir automatiskt mörkröda i IDLE. Man använder hashtag för att skapa en kommentar i Python. Allt till höger om och på samma rad som hashtagen ingår i kommentaren. x = 1 # Kommentar, det här läser inte datorn! y = 2 # Kommentar, det här läser inte datorn! # z = 3 # Hashtagen gör att z = 3 inte körs. Alltså skapas # aldrig variabeln z. 5 Att addera och multiplicera variabler Man kan addera två variabler av typen int eller float med varandra: x = 1 y = 2 + x # y får värdet 3 eftersom x har värdet 1. Man kan även addera två variabler av typen string med varandra: name_1 = "Oscar" name_2 = "Bergqvist" full_name = name_1 + name_2 # Variabeln full_name får värdet "OscarBergqvist" Vi kan multiplicera variabler av typen int och float: x = 2 # x är av typen int (heltal) y = 3 # y är av typen int (heltal) z = x*y # z får värdet 6 som väntat Det går dock inte att multiplicera två variabler av typen string med varandra: 5

7 x = "2" # x är av typen string (på grund av "") y = "3" # y är av typen string z = x*y # ERROR! Vi kan inte multiplicera två tecken! 6 Felmeddelanden När man programmerar skriver man ibland fel. Då visas en röd text med ett felmeddelande. I den här bilden visas tre felmeddelanden. Läs bara den sista raden i felmeddelanden för att snabbt se vilket felet är. SyntaxError är att man har skrivit kod som inte datorn kan läsa. Man kanske har glömt en parentes eller ett citationstecken någonstans för att detta ska ske. NameError: name a is not defined beror på att man inte har skapat någon variabel som heter a, så det går såklart inte att skriva ut dess värde. 6

8 7 Inbyggda funktioner Funktioner är ett centralt koncept inom programmering. En funktion är en instruktion till datorn om att utföra något, t.ex. skriva ut något till användaren eller lagra något som användaren har skrivit in i datorn. En inbyggd funktion skrivs alltid som ett ord följt av parenteser, till exempel print( ) eller input( ). Ordet kallas för funktionens namn och i parenteserna kan man sätta in ett argument, vilket är något som funktionen ska använda sig av när den utför uppgiften. Inbyggda funktioner färgas automatiskt lila i IDLE. 7.1 print( ) Den här funktionen används för att man ska kunna skriva ut text till användaren. Information som kommer från programmet till användaren brukar kallas för output. Exempel på output är att visa värdet av en variabel på skärmen. Man kan alltså säga att print( ) funktionen genererar output i from av text. Mellan parenteserna kan man skriva ett variabelnamn, eller text inom citationstecken: lite_text = "Blablabla" print() print(lite_text) # Skriver ut: "Blablabla" print() # Skriver ut: "lite_text" mer om print-funktionen (ingår ej i kursen) När man använder print-funktionen byter den automatiskt till nästa rad efter att den har skrivit ut det som står inom parenteserna. Vi kan dock ändra detta genom att använda end som bestämmer hur utskriften ska avslutas. Prova att köra koden: print("hej") print("på") print("dig") print("hej", end = "") print("på", end = "") print("dig", end = "") Om man skriver print-funktionen utan end, ser vi att den automatiskt byter rad. Att lägga till end = "" gör att print-funktionen avslutar genom att skriva "" (inget alls) istället för att byta rad. Prova också att köra koden: print("a\nb") 7

9 Som du ser så skrivs A och B ut på olika rader. Anledningen är att Python tolka "\n" som en instruktion att byta rad. Om man kör print("a\nbcd\ne\nfgh", end="") print("hej!") skrivs följande ut: A BCD E FGHHEJ! Förklara varför. 7.2 input( ) Input-funktionen används för att låta användaren skriva in tecken eller ord, som sedan kan lagras i en variabel (av typen string). Google är ett bra exempel på varför man kan behöver detta. För att Google ska kunna göra något så måste du som användare skriva in något i sökrutan och trycka på Enter-tangenten. Det du har skrivit in kommer i sin tur användas av programmet, som till slut presenterar en lista med sökträffar. Om Google hade varit skrivet i språket Python, hade de kanske använt funktionen input( ) för att plocka in det användaren skriver i sökrutan till programmet. Information som kommer in till programmet kallas allmänt för input i programmering. Betrakta den här raden kod i ett program: word_1 = input( ) När programmet körs, och datorn kommer till input( ), så väntar den med att fortsätta läsa koden fram tills användaren skriver in något och trycker på Entertangenten. Låt oss säga att användaren skriver in Hello! och därefter trycker på Enter-tangenten. När användaren har gjort detta lagras värdet "Hello!" i variabeln word_1. Om användaren istället hade skrivit in 8

10 1 hade istället värdet "1" (som är en string) lagrats i variabeln word_1 efter det att användaren hade tryckt på Enter-tangenten. 7.3 Funktioner för att konvertera typ Som jag förklarade tidigare så kan man inte köra koden "2" * "3" i Python, när man använder citationstecken kring ett värde tolkar nämligen datorn detta som en string (tecken) och inte som en siffra (int eller float). Att skriva "2" * "3" är alltså lika fel som att skriva "Kalle" * "Shayan", man inte kan multiplicera tecken med varandra! Men om vi säger åt datorn att omvandla "2" och "3" till tal först, det vill säga typen int eller float så går det bra! Det gör vi genom att använda funktionerna int( ) och float( ) på följande sätt: int("2") * int("3") # Ger resultatet 6 som väntat! float("2") * float("3") # Ger resultatet 6.0 som väntat! a = "10" b = "20" a * b int(a) * int(b) # FEL! # RÄTT! 8 Villkorssatser Tänk dig att du gör en hemsida där användare kan registrera sig och se på film. Du vill dock rekommendera olika filmer för personer i olika åldersgrupper. Om man vill göra något beroende på om ett visst villkor är uppfyllt använder man villkorssatser. Låt oss säga att vi har sparat användarens ålder i en variabel med namnet age. I standardläget i Python använder vi nyckelorden if, elif och else för att göra detta. Ett nyckelord är ett ord som har en förutbestämd funktion i Python. Nyckelord får automatiskt färgen gul i IDLE. Man skriver nyckelord villkor : all kod som man vill ska köras om villkoret är uppfyllt skriver man med ett indrag på det här sättet. Man använder tab-tangenten för att göra ett indrag. 9

11 Ett exempel med riktig kod: if age < 6 : print("bilar är en bra film!") print("hitta Nemo är också en bra film!") elif age < 12 : print("et är en bra film") elif age < 17 : print("skam är en bra TV-serie") elif age > 65 : print("bingolotto är ett bra TV-program!") else : print("gudfadern är en bra film!") if testar om age < 6, det vill säga om barnet är mindre än 6 år gammalt och rekommenderar i så fall Bilar och Hitta Nemo. Om villkoret age < 6 inte är uppfyllt testar elif om age < 12, om det villkoret är uppfyllt så rekommenderas filmen ET. Om inte heller age < 12 så testar nästa elif om age < 17 och rekommenderar i så fall TV-serien Skam. Om inte heller age < 17 så testar den tredje elif om personen är en pensionär, det vill säga om age > 65, i så fall rekommenderas Bingolotto. Slutligen, om ingen av de tidigare villkoren är uppfyllda, det vill säga om personen är år så körs det som står under else, det vill säga filmen Gudfadern rekommenderas. Glöm inte bort att skriva kolon ( : ) efter villkoren, gör man det blir det SyntaxError. IDLE brukar automatiskt göra ett indrag om man trycker på Enter efter att ha skrivit kolon. 8.1 Olika typer av villkor Villkor x == 10 Förklaring Testar om x = 10. Kom ihåg att man skriver "==" och inte "=" när man vill testa om en variabel har ett visst värde! x < 10 Testar om x < 10 x > 10 Testar om x > 10 10

12 8.2 or & and För att testa om något av flera olika villkor är sant, använder man or. Låt oss säga att vi har lagrat ett namn i variabel med namnet name, då kan vi till exempel skriva: if name == "Oscar" or name == "Anna": print("du heter antingen Oscar ELLER Anna") För att testa om samtliga av ett antal villkor är sanna använder man and. Låt oss säga att vi har lagrat en ålder i en variabel med namnet age. Då kan vi till exempel skriva: if age > 18 and age < 65: print("du är äldre än 18 OCH yngre än 65 år!") 9 Loopar Ibland vill vi upprepa en viss bit kod ett antal gånger. I programmering kan man göra detta med hjälp av det som kallas för loopar. Det finns två typer av loopar: while-loopen och for-loopen. 9.1 while Denna loop fungerar på samma sätt som villkorssatser. Om ett visst villkor är uppfyllt så kör loopen koden om och om igen. Se till exempel: x = 1 while x < 10: print(x) Jämför detta med: x = 1 if x < 10: print(x) I det senare fallet så körs print(x) en gång, eftersom villkoret är uppfyllt. När vi använder while, kommer print(x) att köras om och om igen i all oändlighet eftersom villkoret är uppfyllt. Prova sedan att lägga till en rad: 11

13 x = 1 if x < 10: print(x) x = x + 1 Nu kommer print(x) x = x + 1 att köras tills x < 10 inte längre är uppfyllt. Eftersom x = x + 1 ökar x med 1 varje gång så kommer koden inte att köras i all oändlighet. Prova själv! 9.2 for På YouTube kan man spara spellistor, det vill säga en lista med videoklipp som du har sparat. Sedan kan man välja att automatiskt spela upp alla videoklipp i listan efter varandra. För att spela upp alla filmer i din spellista funny_cat_videos måste du säga något i den här stilen till datorn: för varje film i funny_cat_videos: kod för att spela upp film I Python kan man faktiskt skriva på nästan exakt samma sätt: for film in funny_cat_videos: kod för att spela upp film Här antar vi att vi har en lista funny_cat_videos med filmer. Låt oss nu övergå till ett verkligt exempel. Prova att skriva in den här koden i standardläget i Python och se vad som händer: for x in ["Ida", "Moa", "Molly"]: print(x) Prova sedan med detta: for x in [1, 2, 3, 4, 5, 6]: print(x) 12

14 I första fallet så skrivs ett namn ut per rad. I det andra fallet skrivs en siffra ut per rad. Man brukar kalla det gröna i koden för listor. En lista är en egen typ av variabel i Python. Man kan skapa variabler av typen list i Python genom att skriva: listans_namn = [1, 20, 32, 4] När man har lagrat en lista i en variabel kan man t.ex. skriva ut den med print: print(listans_namn) Eller använda den i en for-loop genom att hänvisa till dess namn: for x in listans_namn: print(x) 10 Funktioner Vi har redan pratat lite om inbyggda funktioner i Python. Låt oss titta närmare på funktionen input() och funktionen print(): question = "Vad heter du? Svar: " user_data = input(question) print(user_data) I den första raden skapar vi en variabel av typen string, med värdet "Namn: ". I den andra raden skapar vi först en variabel user_data. När datorn sedan ser att det står input(question) efter likhetstecknet, skriver den ut värdet av variabeln question och väntar sedan tills användaren har skrivit in något och tryckt på Entertangenten. När användaren har gjort detta så lagras det användaren skrev in i variabeln user_data. I sista raden så används print(user_data) för att skriva ut värdet av variabeln user_data, vilket är det användaren själv skrev in Funktionsanrop Att använda en funktion i Python kallas för att anropa den. Att skriva 13

15 print() print("oscar") innebär att anropa funktionen print två gånger, första gången utan något mellan parenteserna och andra gången med "Oscar" mellan parenteserna. Att skriva input() x = input() x = input("oscar") är tre olika exempel på hur man kan anropa funktionen input Argument Det som man skriver in mellan parenteserna i en funktion kallas för argument. Man kan anropa olika funktion med inga, ett eller flera argument separerade med kommatecken, beroende på hur funktionen är definierad: funktionsnamn(argument_1, argument_2, argument_3) 10.3 Returnera Om en funktion ger ifrån sig ett värde som kan sparas i en variabel säger man att funktionen returnerar detta värde. Till exempel input() returnerar ett värde som är det användaren själv skriver in medan programmet körs, medan print() inte returnerar ett värde: x = input("namn:") # Det returnerade värdet lagras i x print("hej!") # print returnerar inget 10.4 Att definiera egna funktioner Vi kan definiera (skapa) egna funktioner i Python, som vi kan anropa på samma sätt som de inbyggda funktionerna. För att skapa en egen funktion i Python använder man nyckelordet def. def funktionsnamn(): # Här skriver man kod som ska köras när # funktionen anropas. 14

16 Det är viktigt att man definierar sina funktioner högst upp i koden. Koden i definitionen av en funktion körs inte förrän funktionen anropas, vilket man gör genom att skriva: funktionsnamn() Om man vill kan man definiera en funktion som man kan anropa med ett eller flera argument. Det gör man genom att skriva: def funktionsnamn(variabel_namn): # Här skriver man kod som ska köras när # funktionen anropas. Eller med flera: def funktionsnamn(a, b, c, d): # Här skriver man kod som ska köras när # funktionen anropas. Man kallar variabel_namn, a, b, c och d för parametrar, inuti funktionsdefinitionen och argument när man anropar funktionen. Parametrar är variabelnamn, argument är värden! Fundera över följande exempel på hur man kan definiera en funktion: def spam(): for i in range(100): print() Anropa den genom att skriva: spam() När vi anropar funktionen genom att skriva spam() så säger vi i princip till datorn att köra det som står inom funktionsdefinitionen, det vill säga: for i in range(100): print() Det funktionen gör är alltså att skriva ut "SPAM!" 100 gångar. Vi kan anropa funktionen hur många gånger som helst: 15

17 spam() spam() spam() För att göra det lite intressantare kan vi låta användaren själv mata in något som ska spammas (googla spam om ni inte är bekanta med begreppet). Detta kan man göra genom att istället definiera funktionen: def spam(spam_text): for i in range(100): print(spam_text) nu har vi skrivit dit en parameter spam_text, som kan få ett värde genom att anropafunktionen med en string som argument, till exempel: spam() spam() 10.5 Att returnera ett värde från en egen funktion På samma sätt som med input-funktionen kan man få en funktion att returnera ett värde som går att lagra i en variabel. Detta gör man i slutet av en funktionsdefinition med hjälp av return: def summa(a, b): svar = a + b return svar Nu kan vi anropa funktionen på detta sätt x = summa(100, 31) vilket lagrar summan av 100 och 31 i variabeln x. Kom ihåg att vi använder = för att lagra ett värde i en variabel som vanligt. Den enda skillnaden här är att värdet ges av det funktionen summa returnerar, det vill säga summan av de två argumenten (100 och 31). 11 Listor och index (ingår ej i kursen) I kapitel 9.2 nämnde jag att det går att skapa listor genom att använda hakparenteser. 16

18 namn = ["Moa", "Patrik", "Molly", "Kalle"] Man kallar det som står uppskrivet i listan för listans element. Positionen i listan kallar man för index, men vi börjar räkna index från noll istället för ett. I listan ovan skulle t.ex. elementet "Oscar" ha index 0, elementet "Anna" ha index 1, elementet "Molly" ha index 2 och elementet "Kalle" ha index 3. Vi kan plocka ut elementet med ett index 2 (det vill säga det tredje elementet) genom att skriva namn[2] Prova att skriva namn.append("marcus") namn.append("maria") Om du nu tittar på listan genom att skriva print(namn) ser ut att två namn har lagts till i listan. Du kan även få fram längden av en lista genom att skriva: len(namn) len() är en inbyggd funktion som ger längden av en lista. Följande kod kan tänkas ingå i en glosmaskin: svenska = ["bil", "båt", "hus"] engelska = ["car", "boat", "house"] for i in range(len(svenska)): svar = input("skirv ordet", svenska[i], "på engelska: ") if svar = engelska[i]: print("rätt!") 17

19 12 Moduler (ingår ej i kursen) En modul är i grund och botten en fil som innehåller Pythonkod. När du sparar din kod i standardläget i Python kan man säga att du skapar en modul vars namn är namnet du ger din fil när du sparar den. Låt oss säga att du sparar två filer i samma mapp: fil_1.py och fil_2.py. Filen fil_1 innehåller koden: def summa(a,b): print(a + b) Låt oss säga att vi i fil_2 vill använda en funktion som är exakt likadan som den som finns i fil_1. Men istället för att kopiera över koden från fil_1 kan vi låta fil_2 importera alla funktioner som finns i fil_1 genom att skriva in följande kod i början av fil_2: import fil_1 Nu kan vi i fil_2 använda oss av funktionen summa, som redan finns definierad i fil_1. Vi anropar funktioner i fil_1 genom att skriva fil_1.funktionsanrop: import fil_2 fil_1.summa(4,5) 12.1 Inbyggda moduler När du importerar saker i Python, letar datorn först efter filen du vill importera i mappen där du befinner dig för närvarande (där filen som du jobbar i är sparad). Om den inte hittar modulen där letar den sedan bland de färdiggjorda moduler som kommer med när du laddar ner Python, det så kallade standardbiblioteket. I nästa kapitel kommer du att använda dig av en modul som kallas för tkinter. Det finns även en modul som heter turtle, där det finns funktioner som kan användas för att styra en pil som ritar upp saker i ett fönster. Prova skapa ett program med koden: import turtle for i in range(4): turtle.forward(100) turtle.left(90) Googla Python 3 turtle tutorial för att hitta webbsidor där du kan lära dig mer om turtle. 18

20 13 Grafik (ingår ej i kursen) För många är skärmen en självklar del av en dator, som är lika viktig som andra delar, t.ex. hårddisken och minnet. Men en dator behöver inte alls ha en skärm. I exempelvis moderna bilar finns det oftast en dator, som håller koll på parkeringssensorer och temperaturen i bilen och andra viktiga saker som kräver en del beräkningar. Ibland vill vi dock att datorn ska visa något för oss, exempelvis en bild eller ett spel och då är det bra att ha en skärm kopplad till datorn. Allt som visas på skärmen kallas för grafik. Grafik är också ett användbart sätt att kunna styra datorn. Vi kan få datorn att visa knappar på skärmen och en mus, och programmera den till att göra vissa saker om användaren för musen över skärmen och klickar på knapparna. Ett program som gör att användaren kan interagera med datorn med hjälp av grafik grafik kallas för GUI (graphical user interface). I Python kan man skapa ett GUI på flera olika sätt. Det sätt som vi kommer att titta på är att använda en modul som kallas för tkinter Skapa ett fönster med tkinter Först och främst behöver vi importera modulen tkinter: import tkinter För att sedan skapa ett fönster skriver vi import tkinter window = tkinter.tk() ## Här emellan skriver man in kod för att lägga till ## saker, t.ex. knappar, som ska visas i fönstret tkinter.mainloop() Vi har gett vårt fönsterobjekt namnet window, och kan med hjälp av detta namn hålla koll på och ändra utseendet av vårt fönster. Den sista raden gör att programmet går in i en evighetsloop där programmet flera gånger i sekunden testar om något har hänt i fönstret, exempelvis att en knapp trycks ner. En sådan loop kallas för spelloop Lägg till en knapp som öppnar ett infofönster För att lägga till en knapp i fönstret window kan vi skriva: 19

21 import tkinter window = tkinter.tk() button_1 = tkinter.button(window, text = "Click", command = on_click) button_1.pack() tkinter.mainloop() Nu har knappen namnet button_1. Texten Click! visas på knappen och funktionen on_click kommer att anropas när någon trycker på knappen. Funktionen pack() tilldelar knappen en viss position i fönstret. Vi måste definiera en funktion on_click som bestämmer vad som ska hända när vi klickar på knappen: import tkinter import tkinter.messagebox def on_click(): tkinter.messagebox.showinfo("alert", "You pushed the button!") window = tkinter.tk() button_1 = tkinter.button(window, text = "Click", command = on_click) button_1.pack() tkinter.mainloop() I koden ovan har jag även behövt importera modulen tkinter.messagebox, vilket är en modul som finns inne i tkinter-modulen. Genom att importera denna modul kan vi använda oss av funktionen showinfo() som skapar en liten inforuta. Prova kör koden själv och klicka på knappen! 13.3 Widgets Text Button Radiobutton 20

22 Ett fönster kan innehålla flera olika objekt, t.ex. knappar, textfält där användaren kan skriva in text, textfält för att visa text till användaren med mera. Dessa grafiska objekt kallas för widgets. Bilden visar några exempel på widgets som man kan lägga till i sitt fönster Tutorials Här följer ett antal länkar till webbplatser där man kan lära sig mer om tkinter. Du kan även hitta andra tutorials genom att söka på Google eller YouTube efter Python 3 tkinter tutorial Tutorialspoint På hemsidan tutorialspoint finns det en komplett tutorial om Python 3 i textformat. Den kan vara lite svår att förstå i början, men är en jättebra resurs när man väl förstår. Till vänster på hemsidan ser du en lista med samtliga lektioner. Lektionen som finns länkad nedan har fyra rubriker: Tkinter programming, Tkinter widgets, Standard attributes och Geometry management. Börja med att läsa Tkinter programming, skumma sedan igenom listan med widgets under Tkinter widgets, hoppa över Standard attributes och titta på listan under Geometry management. När du har gjort detta kan du börja lära dig om olika widgets genom att klicka på länkarna i listan under rubriken Tkinter widgets YouTube I länken nedan finner du en serie tutorials i videoformat som utförligt förklarar tkinter. 21

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

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

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for Inför provet Provet skrivs för hand och är uppdelad i två delar. Den första delen är på E-nivå och den andra delen är på C- och A-nivå. För att det ska bli enklare för er att träna inför provet så har

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

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

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

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

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15. Skolan för Datavetenskap och kommunikation Idag: DD1311 Programmeringsteknik med PBL Granskning Felhantering GUI Föreläsning 15 På torsdag: Mer om GUI På grupptimmen: genomgång av granskningsprotokollet

Läs mer

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

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

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få

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

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

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Inledande matematik, I1, ht10 1 Inledning Detta är en koncis beskrivning av de viktigaste delarna av Matlab. Till en början är det enkla beräkningar och grafik som intresserar

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

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

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Grafiska gränssnitt - GUI Tkinter Tillstånd Komponenter Layout Händelser LÄNKAR & EXEMPEL...finns på kurswebsidan under "GUI

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

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta

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

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

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...

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

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns

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

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1, ht10 1 Inledning Ni kommer använda Matlab i nästan alla kurser i utbildningen. I matematikkurserna kommer vi ha studio-övningar nästan

Läs mer

Planering av ett större program, del 2 - for och listor. Linda Mannila

Planering av ett större program, del 2 - for och listor. Linda Mannila Planering av ett större program, del 2 - for och listor Linda Mannila 9.10.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder)

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

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

Skapa modeller i Vikingen

Skapa modeller i Vikingen Skapa modeller i Vikingen Generellt En modell är egentligen ett datorprogram som utför saker åt dig. Det börjar med att du har en idé som du vill testa om den är lönsam eller inte. Du behöver skriva ned

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

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

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

MicroPython Ett textbaserad programmeringsspråk för Micro:bit MicroPython Ett textbaserad programmeringsspråk för Micro:bit Introduktion till informationsteknologi 1DT051 2018-09-24 karl.marklund@it.uu.se Uppsala universitet Programming, problemlösning och algoritmer

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

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

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

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

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

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008 DD1311 meringsteknik för S1 Laborationer läsåret 2007-2008 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer Labb

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

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

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

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

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

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

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta

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

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB Laboration: Grunderna i MATLAB 25 augusti 2005 Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar

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

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007 Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler

Läs mer

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Algebra ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få bekanta dig med i den här uppgiften.

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

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

Vi börjar med en penna som ritar när du drar runt den på Scenen.

Vi börjar med en penna som ritar när du drar runt den på Scenen. Nivå 3 Målarlådan All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Läs mer

En kort text om programmering i C.

En kort text om programmering i C. En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,

Läs mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

Läs mer

Mer till P-uppgiften: Dokumentation. Nyheter. Algoritm för sökning. Mer hjälp. DD1311 Programmeringsteknik med PBL

Mer till P-uppgiften: Dokumentation. Nyheter. Algoritm för sökning. Mer hjälp. DD1311 Programmeringsteknik med PBL Skolan för Datavetenskap och kommunikation Mer till P-uppgiften: DD1311 Programmeringsteknik med PBL Föreläsning 15 & 16 Hjälpsidor Sökning Rekursion Felhantering Grafiska gränssnitt Nästa tisdag: Mer

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

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

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

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

TUTORIAL: SAMLING & KONSOLL

TUTORIAL: SAMLING & KONSOLL TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även

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

Programmering. Den första datorn hette ENIAC.

Programmering. Den första datorn hette ENIAC. Programmering Datorn är bara en burk. Den kan inget själv. Hur får man den att göra saker? Man programmerar den. Människor som funderar ut program som fungerar. Datorn förstår bara ettor och nollor och

Läs mer

Laboration 6 Formulär och stränghantering övningar/uppgifter

Laboration 6 Formulär och stränghantering övningar/uppgifter Laboration 6 Formulär och stränghantering övningar/uppgifter 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna laboration

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

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

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

Introduktion till PHP

Introduktion till PHP PHP - Grund Copyright 2016 Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Introduktion till PHP PHP = PHP: Hypertext Preprocessor PHP är ett programmeringsspråk. PHP är ett skriptspråk som körs

Läs mer

729G04 Programmering och diskret matematik

729G04 Programmering och diskret matematik Tentamen 729G04, 2013-01-11 1(8) 729G04 Programmering och diskret matematik Tentamen 2013 01 11 kl 08.00 13.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker Uppgifter:

Läs mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler Outline Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vända om inlästa värden Vända om inlästa

Läs mer

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python Repetition i Python 3 Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde men i Python

Läs mer

729G04 Programmering och diskret matematik. Föreläsning 7

729G04 Programmering och diskret matematik. Föreläsning 7 729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt

Läs mer

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

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

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

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC lektion 1 PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC VB är ett applikationsutvecklingsverktyg med programmeringsspråket är basic, gränssnittet är grafiskt och man arbetar hela tiden

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

JavaScript del 5 Funktioner

JavaScript del 5 Funktioner JavaScript del 5 Funktioner När man skriver JavaScriptkod eller program i andra programmeringsspråk för den delen så kan det finnas anledningar till att man vill dela upp sitt stora program i flera mindre

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

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

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5 16 Programmering Skriva program till TI-86... 214 Köra program... 221 Arbeta med program... 223 Hämta och köra assemblerprogram... 226 Arbeta med strängar... 227 TI -86 M1 M2 M3 M4 M5 F1 F2 F3 F4 F5 214

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript

Läs mer

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2016 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen

Läs mer

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Då du klickar på Användare öppnas denna bläddringslista.

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

Erfarenheter från labben

Erfarenheter från labben Erfarenheter från labben Bra Jobbat! Lite ont om plats... Parprogrammering? Skillnad mellan program och funktion! Skillnad mellan uttryck och kommando! Välj bra variabelnamn! Vad göra om det blir fel?

Läs mer

Python Första steg. LGMA20, L9MA20 VT 2019 Jonathan Nilsson, Laura Fainsilber

Python Första steg. LGMA20, L9MA20 VT 2019 Jonathan Nilsson, Laura Fainsilber Python Första steg LGMA20, L9MA20 VT 2019 Jonathan Nilsson, Laura Fainsilber 1 Introduktion till Python Programmering med Python Python är ett populärt programmeringsspråk som används både inom industrin

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

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x Mathematica Första kapitlet kommer att handla om Mathematica det matematiska verktyg, som vi ska lära oss hantera under denna kurs. Indata När du arbetar med Mathematica ger du indata i form av kommandon

Läs mer