729G75 Programmering och algoritmiskt tänkande. Grafiska gränssnitt och händelsedriven programmering

Storlek: px
Starta visningen från sidan:

Download "729G75 Programmering och algoritmiskt tänkande. Grafiska gränssnitt och händelsedriven programmering"

Transkript

1 729G75 Programmering och algoritmiskt tänkande Grafiska gränssnitt och händelsedriven programmering

2 Översikt Repetition: Syntax, uttryck, returvärden, klasser, objekt Fördjupning: variabler som referenser Vad är ett GUI? Olika former av programflöde GUI-programmering i Python med Tkinter Funktionsobjekt/Metodobjekt Introuppgift 2 och temauppgift 2

3 Satser och uttryck En satser i programmering är en fristående enhet, dvs en enhet som kan stå för sig själv. Ett uttryck betår av symboler som kan evalueras till ett värde. Komponenter i en sats kan vara en kombination av nyckelord och uttryck som utför något och som inte evalueras till ett värde flera satser ett eller fler uttryck Exempel på uttryck: a + b "hej" == a Exempel på satser: return "hej" for a in b: print(a) a = [1, 2, 3]

4 Funktionsdefinitioner, defaultvärden def skriv_ut_hälsning1(namn): print("hej " + namn + "!") print("du har ett fint namn, {}.".format(namn)) def skriv_ut_hälsning2(namn="eggbert"): print("hej " + namn + "!") print("du har ett fint namn, {}.".format(namn)) def skriv_ut_hälsning3(namn="eggbert", hälsning="hej"): print(hälsning + " " + namn + "!") skriv_ut_hälsning1("yoda") skriv_ut_hälsning2() skriv_ut_hälsning3(hälsning="tjena") # output # Hej Yoda! # Du har ett fint namn, Yoda. # Hej Eggbert! # Du har ett fint namn, Eggbert. # Tjena Eggbert!

5 Returvärden Ett returvärde är det värde som en funktion evalueras till. Ett funktionsanrop är alltså ett uttryck. Observera likheten: a = 2 b = funktion_a() c = print("hejsan") Om ingen return-sats skrivs explicit i en funktion returerar funktionen värdet None

6 Klasser, objekt/instanser Namngivning klasser har versal initial bokstav och använder CamelCase Vanligt att använda namn på klassen med liten bokstav för variabelnamn, t.ex. turtle = Turtle(). För listor/dictionaries, använd plural: turtles, turtles_dict, turtles_list Anrop till namnet på klassen skapar en instans av klassen. T.ex. datarow = DataRow(1, 2, 3, 4, 5, 6) skapar ett DataRow-objekt.

7 En variabel refererar till ett objekt Variabler används som namn eller etiketter. De innehåller egentligen ingenting. Namnet "Jody" är inte en människa, men namnet "Jody" används för att referera till en människa. a = [1, 2, 3] b = a b[0] = "bil" print(a[0])

8 Föränderliga/oföränderliga värden (mutable/immutable) Värden (= objekt i Python) är av en specifik datatyp och finns lagrade i minnet. Vissa datatyper är föränderliga (t.ex. list, och dictionary), medan andra är oföränderliga (t.ex. int, float, str, tuple). Genom att använda ett tilldelningsuttryck (VL = HL), får man variabelnamn att referera till värden i minnet. Fler än ett variabelnamn kan referera till ett och samma värde.

9 Föränderliga/oföränderliga värden (mutable/immutable) Om fler variabelnamn (t.ex. a och b) refererar till ett föränderligt värde, och man ändrar på detta värde, refererar variabelnamnen (i detta fall a och b) till det förändrade värdet. Ovanstående kan inte hända med oföränderliga värden eftersom det enda sättet att få ett nytt oföränderligt värde är att skapa ett nytt.

10 Föränderliga/oföränderliga värden (mutable/immutable) lista1 = [1, 2, 3, "a"] lista2 = lista1 a = "1" b = a a b lista1 lista2 "1" "a"

11 Föränderliga/oföränderliga värden (mutable/immutable) lista1[0] = 2 lista2.append(0.1) a b a = "2" c = "21" "2" "1" d = a + b c d lista1 lista2 "21" "21" "a" 0.1

12 Föränderliga/oföränderliga värden (mutable/immutable) lista2 = ["hej", "hopp"] lista "a" "hej" "hopp" lista2

13 GUI = Graphical User Interface Grafiskt gränssnitt Gränssnitt - något som ligger mellan två andra saker. I vårt fall: det mellan användaren och programmet Andra alternativ: textbaserat gränssnitt, fysiskt gränssnitt

14 Widgets (window gadgets) Label Text input field Label Text input field Drop Down Radio Button 1 Radio Button 2 Radio Button 3 Selected Checkbox Unselected Checkbox Selected Checkbox Unselected Checkbox Button 1 Button 2

15 "Bakom" kulisserna Widgets, instanser av olika typer av GUI-element. Olika typer av fönster: dialogrutor, öppna dokument etc Behållare (Containers) som kan innehålla widgets: Frame, Panel, Canvas Funktionalitet för att ordna layout av widgets etc Koppling mellan widgets och funktioner/metoder.

16 Program- och interaktionsflöde för textbaserade gränssnitt

17 Exempel: Textbaserat gränssnitt > ls fetkod.py saga2.txt saga.txt > avsluta Ogiltigt kommando. > redigera fil Ogiltigt kommando.

18 Exempel: Textbaserat gränssnitt Enter name: Amanda Enter title: Giant Slayer Enter sex (m/f): f Choose appearance 1. unwashed 2. sparkling 3. retro > 1 Do you have a magic bag (y/n)? y Are you happy (y/n)? n Do you have a secret (y/n)? n Generate story (y=yes, n=no, start over)? n

19 Programflöde: Textbaserat gränssnitt Linjär/hierarkisk interaktion Visa alternativ för användaren Ta emot kommando från användaren. Ta eventuellt emot ytterligare information från användaren. Interaktion mha tangentbord Typisk interaktion Kör kommando Välj ett alternativ Svara på en fråga

20 Program- och interaktionsflöd för grafiska gränssnitt

21 Exempel: GUI

22 Exempel: GUI Name Title Sex Amanda the Giant Slayer Female Male This is the story of Amanda, the Giant Slayer. Ever since the day she was born, Amanda had a unwashed look. Amanda had a magic bag. Sadly, there is not much else to say about her. Appearance unwashed Other has magic bag is happy has secret Reset Quit

23 Programflöde: GUI Icke-linjär interaktion Reaktivt gränssnitt - tät återkoppling Interaktion via mus och tangentbord Interaktion med en begränsad och standardiserad uppsättning widgets (oftast)

24 Syfte med att skapa grafiska gränssnitt i Python med tkinter Introduktion till GUI-programmering Widgets i tkinter få saker att hända när man interagerar med widgets bestämma layout för widgets i ett GUI

25 Om tkinter Olika widgetklasser finns: faktiska gränssnittskomponenter är instanser av klasserna Olika inställningar kan ges när man skapar en widget. Widgets kan placeras i ett GUI på tre sätt - det finns tre "geometry managers" (i andra språk också kallade för "layout managers").

26 Widgets

27 Objektorienterat GUI

28 Struktur på en GUI-applikation med Tkinter Importera tkinter import tkinter as tk Ett rot-fönster root = tk.tk() Widgets läggs in i root-fönstret button = tk.button(root, text="press me!") Widgets layoutas button.pack() Huvudloopen startas root.mainloop()

29 En knapp i ett fönster # coding: utf-8 # importera Tkinter-modulen import tkinter as tk # skapa ett Tk-fönster root = tk.tk() button = tk.button(root, text="press Me!") button.pack() # starta GUI-loopen root.mainloop()

30 Var finns min widget? En widget ligger alltid i en "container" (behållare). Vissa widgets är containers, t.ex. fönster och Frames.

31 Widgets i Tkinter Widget Button Canvas Checkbutton Entry Frame Label Listbox Menu Menubutton Message Radiobutton Scale Scrollbar Text Toplevel Description A simple button, used to execute a command or other operation. Structured graphics. This widget can be used to draw graphs and plots, create graphics editors, and to implement custom widgets. Represents a variable that can have two distinct values. Clicking the button toggles between the values. A text entry field. A container widget. The frame can have a border and a background, and is used to group other widgets when creating an application or dialog layout. Displays a text or an image. Displays a list of alternatives. The listbox can be configured to get radiobutton or checklist behavior. A menu pane. Used to implement pulldown and popup menus. A menubutton. Used to implement pulldown menus. Display a text. Similar to the label widget, but can automatically wrap text to a given width or aspect ratio. Represents one value of a variable that can have one of many values. Clicking the button sets the variable to that value, and clears all other radiobuttons associated with the same variable. Allows you to set a numerical value by dragging a "slider". Standard scrollbars for use with canvas, entry, listbox, and text widgets. Formatted text display. Allows you to display and edit text with various styles and attributes. Also supports embedded images and windows. A container widget displayed as a separate, top-level window.

32 Exempel på widgetanvändning

33 Ett fönster # importera Tkinter-modulen from tkinter import * # skapa ett Tk-fönster window = Tk() # starta GUI-loopen mainloop() Ett fönster i Tkinter är ett objekt av typen Tk. För att utritning av fönster etc ska göras, måste man starta GUI:ts huvudloop: mainloop()

34 Flera fönster from tkinter import * # Skapa det första fönstret root = Tk() # Skapa det andra fönstret top = Toplevel() # Starta Tk-loopen root.mainloop() För att skapa fler än ett fönster används klassen Toplevel fönster utöver det första.

35 Skapa widgets # utan att spara referens Widget(parent, attribute1=v1, attribute2=v2,...) # med referensen sparad w = Widget(parent, attribute1=v1, attribute2=v2,...) När man skapar en widget, skapar en instans av en widgetklass, måste man ange dess förälder. Föräldern (parent) är ett fönster eller en widget som kan agera "container".

36 Button En knapp. Knappar kan ha text på Knappar kan tryckas på Knappar kan vara avstängda (disabled)

37 button.py # coding: utf-8 """Demonstration av klassen Button.""" # importera Tkinter-modulen import tkinter as tk # skapa ett Tk-fönster root = tk.tk() button = tk.button(root, text="press Me!") button.pack() # starta GUI-loopen root.mainloop()

38 Få något att hända när man trycker på knappen Koppla beteende till en widget genom att koppla ett funktionsobjekt/metodobjekt till det. Ett funktionsobjekt/metodobjekt är "namnet" på en funktion/metod. Vi kan koppla ihop ett funktionsobjekt som ett kommando som körs när vi aktiverar en widget. Vi kan binda ihop en viss händelse relaterat till widgeten med ett funktionsobjekt.

39 Ange widget-kommando Man kan koppla ett kommando till vissa widgets, t.ex. knappar: button = tk.button(root, text="ok", command=do_this) där do_this är ett funktionsobjekt.

40 Funktions/Metodobjekt Klasser kan instansieras och producera objekt I Python kan man även behandla funktions-"namn" som objekt. En funktion: def hejsan(): print("hejsan") Ett funktionanrop: hejsan() Funktionsobjektet: hejsan

41 Exempel på funktionsobjekt def print_hello(): print("hello World!") bacon = print_hello bacon()

42 Exempel på knapp med kommando # coding: utf-8 """Demonstration av tkinter.entry.""" # importera tkinter-modulen import tkinter as tk def callback(): """Denna funktion skriver ut något när den blir anropad.""" print("something happened!") # skapa ett Tk-fönster root = tk.tk() button = tk.button(root, text="press Me!", command=callback) button.pack() # starta GUI-loopen root.mainloop()

43 Händelser Förutom att vissa widgets kan ha kommandon kopplade till sig, kan olika former av interaktion med GUI:t producera händelser (en. events). Dessa händelser kan kopplas till funktionsobjekt. En händelse beskrivs med hjälp av en sträng, t.ex. "<Button-1>" som betyder att musknapp 1 har tryckts ner. Man binder en händelse till ett funktionsobjekt med bind()-metoden: widget.bind("<button-1>", function_object)

44 Händelser forts. def key_handler(event): print("a key was pressed") Funktionsobjektet man binder till ett event ska ta in en instans av klassen Event som parameter Från ett event-objekt kan man läsa av diverse information. För mer information, läs referensmaterialet.

45 Exempel på händelser Nedan följer några exempel på händelser man kan binda: <Enter> när musen förs in i över en widget <Leave> när musen lämnar en widget <KeyPress> när en tangent trycks ner <KeyRelease> när en tangent åker upp igen <Button-1> när musknapp 1 trycks <Button-2> när musknapp 2 trycks

46 Exempel på knapp med funktionsobjekt bundet till händelse # importera tkinter-modulen import tkinter as tk def callback(): """Denna funktion skriver ut "Something happened!" när den blir anropad.""" print("something happened!") def over_me(event): """Denna funktion skriver ut "You are over me!" när den blir anropad.""" print("you are over me!") def left_me(event): """Denna funktion skriver ut "You left me!" när den blir anropad.""" print("you left me!") # skapa ett Tk-fönster root = tk.tk() button = tk.button(root, text="press Me!", command=callback) button.bind("<enter>", over_me) button.bind("<leave>", left_me) button.pack() # starta GUI-loopen root.mainloop()

47 Label En Label-instans används som etiketter i ett GUI. T.ex. för att berätta vad som ska skrivas i ett textfält. Man kan välja om texten i Labeln ska var centrerad eller höger- eller vänsterjusterad. Standard är vänsterjusterad.

48 Entry Ett Entry är ett textfält som har en rad. Vi läser från ett Entry genom att anropa på dess metod get() Vi ändrar texten som står i ett entry genom att använda metoderna insert() och delete(). insert() behöver ett start-index och en sträng, t.ex. entry1.insert(0, "hej") delete() behöver ett start-index. Läs mer i referenslitteraturen.

49 Frame En behållare (eng container) för andra widgets. Ett användningsområde för Frames är att gruppera widgets. T.ex. kan flera widgets läggas in i en Frame. Sen lägger man till den frame:n till ett fönster.

50 Layout Det finns sätt att bestämma hur widgets ska organiseras i en container. Följande metoder kan användas för att placera ut pack grid place Vi ska koncentrera oss på grid.

51 Grid Vi lägger ut våra widgets i en matris/tabell/rutnät. Matrisen har rader och kolumner av celler. En widget placeras på en viss rad, i en viss kolumn. En widget kan uppta en eller fler rader eller kolumner.

52 Exempel på label, textfält och knapp The best game character ever 1 Name Bob 2 Game Bob's Great Adventure 3 Ok

53 Grid forts En widget kan sträcka sig över fler än en rad/kolumn. Vi kan fästa en widget i t.ex. ett hörn eller vid en kant där den stannar om en cell skulle vara större än den widget som finns inuti den. Läs mer om Grid i referensmaterialet.

54 Exempel på label, textfält och knapp The best game character ever 1 Name Bob 2 Game Bob's Great Adventure 3 Ok

55 Layout med grid() # coding: utf-8 """Layout med grid.""" import tkinter as tk # Framen läggs automatisk in i en tk.tk() frame = tk.frame() # placera frame i fönstret med hjälp av pack() frame.pack() # titel-label title_label = tk.label(frame, text="the best game character ever", background="red") title_label.grid(row=0, column=0, columnspan=2, sticky=tk.e+tk.w+tk.n+tk.s) # namn-label name_label = tk.label(frame, text="name") name_label.grid(row=1, column=0, sticky=tk.nw) # name-textfält name_entry = tk.entry(frame) name_entry.grid(row=1, column=1, sticky=tk.nw) # game-label game_label = tk.label(frame, text="game") game_label.grid(row=2, column=0, sticky=tk.nw) # name-textfält game_entry = tk.entry(frame) game_entry.grid(row=2, column=1, sticky=tk.nw) # knapp button = tk.button(frame, text="ok") button.grid(row=3, column=1, sticky=tk.se) frame.mainloop()

56 Radiobutton En grupp av knappar där endast en kan vara aktiv. Knappar grupperas ihop genom att de tilldelas samma Tk-variabel att lagra sitt värde i. Ett funktionsobjekt kan anges som ett kommando till varje radioknapp.

57 Tk-variabler Tk-variabler är objekt av som Tkinter använder för att lagra värden. T.ex. finns StringVar som tar hand om strängar IntVar som tar hand om int:ar Exempel: s = tk.stringvar() s.set("hej") print s.get() Referens: control-variables.html

58 Exempel på radio-knappar # coding: utf-8 """Demonstration av klassen Radiobutton.""" import tkinter as tk root = tk.tk() def radio(): """Skriv ut värdet hos radio-knappen.""" print(radio_value.get()) # Tk-variabel att lagra radioknapp-gruppens värde i radio_value = tk.stringvar() radio_value.set("inget valt") # knapp 1 radio_button1 = tk.radiobutton(root, text="hejsan", variable=radio_value, value="hejsan", command=radio) radio_button1.pack() # knapp 2 radio_button2 = tk.radiobutton(root, text="hoppsan", variable=radio_value, value="hoppsan", command=radio) radio_button2.pack() # knapp 3 radio_button3 = tk.radiobutton(root, text="svejsan", variable=radio_value, value="svejsan", command=radio) radio_button3.pack() root.mainloop()

59 Checkbutton En knapp som antingen är på eller av. Värdet avläses från en Tkinter-variabel (IntVar) som man kopplar till knappen.

60 Tk-variabler forts En Tk-variabel kan ropa på ett funktionsobjekt när förändring sker, antingen när någon läser från den, eller när någon skriver till den. Exempel: def hello(name, index, mode): print v.get() v = tk.stringvar("eggs") v.trace('w', hello) v.set("bacon")

729G06 Programmering och logik. Grafiska gränssnitt och eventdriven programmering

729G06 Programmering och logik. Grafiska gränssnitt och eventdriven programmering 729G06 Programmering och logik Grafiska gränssnitt och eventdriven programmering Översikt Vad är ett GUI? Olika former av programflöde GUI-programmering i Python med Tkinter Funktionsobjekt/Metodobjekt

Läs mer

729G06 Programmering och logik. Grafiska gränssnitt och eventdriven programmering del 2

729G06 Programmering och logik. Grafiska gränssnitt och eventdriven programmering del 2 729G06 Programmering och logik Grafiska gränssnitt och eventdriven programmering del 2 Översikt Repetition Widgetgenomgång Använda Grid Exempel Fönster Ett fönster # importera Tkinter-modulen from tkinter

Läs mer

729G75 Programmering och algoritmiskt tänkande. Grafiska gränssnitt och händelsedriven programmering

729G75 Programmering och algoritmiskt tänkande. Grafiska gränssnitt och händelsedriven programmering 729G75 Programmering och algoritmiskt tänkande Grafiska gränssnitt och händelsedriven programmering Översikt Repetition: Klass, objekt, instans Fördjupning: variabler som referenser Vad är ett GUI? Olika

Läs mer

Programmering grundkurs

Programmering grundkurs Programmering grundkurs Föreläsning 8 Jody Foo, jody.foo@liu.se Föreläsningsöversikt, FÖ 8-9 Kurslogistik: nya pargrupper Programmeringsparadigm: Objektorienterad programmering (OOP) Klass, instans, instansvariabler,

Läs mer

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets Grafik Python levereras med ett grafikpaket tkinter De flesta av dagens applikationsprogram hanterar grafik Grafikhantering är komplicerat så använd färdigutvecklade grafikpaket Mycket att hålla reda på

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

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

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

v. 42 Python HT17 En introduktion Oscar Bergqvist

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

Läs mer

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16 Skolan för Datavetenskap och kommunikation Programmeringsteknik Föreläsning 16 Grafiskt användargränssnitt (GUI) Använd modulen tkinter, som har klasser för komponenter. Se "Referenser" på kursens webbsida:

Läs mer

v. 43 Python HT17 En introduktion Oscar Bergqvist

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

Läs mer

Windows Forms Winstrand Development

Windows Forms Winstrand Development 2013-01-23 1 Winstrand Development Användargränssnitt Hittills har vi skapat program för kommandoraden. Den bakomliggande koden fungerar som den ska, men vi upptäcker snabbt att programmen är begränsade

Läs mer

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface) Objektorienterad programmering Föreläsning 15 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Grafiska användargränssnitt (GUI Graphical User Interface) Standardklassen (Control)

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

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java jonas.kvarnstrom@liu.se 2017 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Till stor del ersatt av Swing: Mer omfattande,

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

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

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

Programmering och algoritmiskt tänkande. Tema 3, föreläsning 1 Jody Foo

Programmering och algoritmiskt tänkande. Tema 3, föreläsning 1 Jody Foo Programmering och algoritmiskt tänkande Tema 3, föreläsning 1 Jody Foo Tema 3: Översikt Objektorienterad programmering: fortsättning Tema 1 och 2: Exempel på att använda och skapa algoritmer Tema 3: strukturera

Läs mer

Grafik i DrRacket AV TOMMY KARLSSON

Grafik i DrRacket AV TOMMY KARLSSON Grafik i DrRacket AV TOMMY KARLSSON Upplägg Grundläggande grafik i racket Frame% Kodexempel! Generella problemlösarstrategier Grafisk kodstruktur Button% Pane% & Panel% Canvas% Bitmap% Grafisk effektivisering

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

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

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

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

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

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

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 0 # coding : latin Sammanfattning Gick igenom listor, dictionary, felhantering, strängjämförelser, split(), rstrip()

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Mer grafik. Jan Erik Moström

Mer grafik. Jan Erik Moström Mer grafik from Tkinter import * root = Tk() mf = Frame(root) mf.pack() cv = Canvas(mf) o1 = cv.create_oval(100,100,80,80,outline="red",fill="blue", width=2) o2 = cv.create_oval(10,10,80,80,outline="red",fill="green",

Läs mer

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

Läs mer

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Styrteknik 7.5 hp distans: E-1000 och E-Designer PLC8A:1 E1000 operatörsterminaler En operatörsterminal ger ett gränssnitt mellan männinska-maskin, (MMI människa-maskininteraktion, HMI Human Machine Interface) Alla terminalerna i E1000-serien är utvecklade

Läs mer

729G04 Programmering och diskret matematik. Python 3: Loopar

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

Läs mer

electiaprotect GSM SEQURITY SYSTEM Vesta EZ Home Application SMART SECURITY SYSTEMS! SVENSKA ios... 2-4 Android... 5-7

electiaprotect GSM SEQURITY SYSTEM Vesta EZ Home Application SMART SECURITY SYSTEMS! SVENSKA ios... 2-4 Android... 5-7 GSM SEQURITY SYSTEM Vesta EZ Home Application SVENSKA ios... 2-4 Android... 5-7 ENGLISH ios... 8-10 Android... 11-13 electiaprotect SMART SECURITY SYSTEMS! 1.1. Vesta EZ Home för ios Vesta EZ Home för

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

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D.

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. tobias@dsv.su.se Notera att exemplen är i Python 2.5 För att översätta till Python 3.0, gör följande ändringar print(x,y) istället för print x,y input("ett

Läs mer

3.5 Visuell programmering

3.5 Visuell programmering 3.5 Visuell programmering Alla våra program hittills har varit C# Console Applications (sid 41) inkl. programmet MessageBox fast det genererade en grafisk meddelanderuta. Nu vill vi utnyttja grafikens

Läs mer

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning

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

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

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

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Introduktion till Jasmine 1.2 ODQL

Introduktion till Jasmine 1.2 ODQL Introduktion till Jasmine 1.2 ODQL I detta avsnitt beskrivs ett antal praktiska handgrepp som behövs för att köra Jasmine ODQL. 1 ODQL miljön Man kan enklast köra ODQL mot Jasmine från ett vanligt Command

Läs mer

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas The Distributed Application Debugger is a debugging tool for parallel programs Targets the MPI platform Runs remotley even on private

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016 Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik

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ä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

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

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer Läsöversikt LP Part I Part IV, kap 18 PL: kap 1, 2 (Sem 1), 3 (Sem 3), 5.1-5.3, 5.8 intro, 6.1-6.3, 7.1-7.3, 8.1-8.3, 9.1-9.2 Wikipedia kan användas som stöd för PL-avsnitten. Föreläsningar 2-6 Genomförande

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

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

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

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även

Läs mer

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>... Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener ... 3 Typsnitt ... 3 Övergångar ... 4 Mall för slide ... 5 , ...

Läs mer

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Python Mer om datatyper Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Datatyper Dictionaries - {1: camelot,2: shrubbery } Tupler - (1,2,3,) 1 Lite om strängar Strängar innehåller specialtecken

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

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 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering Föreläsning 5 Programmeringsteknik DD1310 Doctest Modulen doctest Man kan använda modulen doctest för att testa programmet på ett mer systematiskt sätt. Så här gör man: 1. Skriver programmets funktioner

Läs mer

AssiML. Användarbeskrivning

AssiML. Användarbeskrivning AssiML A spreadsheet in ML Användarbeskrivning 2003-10-15 AssiML version 1.1 Lars-Henrik Eriksson Institutionen för informationsteknologi Uppsala universitet lhe@it.uu.se You will be assimilated. Resistance

Läs mer

Klasser och objekt, referenser Grundkurs i programmering med Python

Klasser och objekt, referenser Grundkurs i programmering med Python Hösten 2009 Dagens lektion Klasser och objekt Referenser 2 Klasser och objekt 3 KLASSER OCH OBJEKT Relaterat data Information om en fyrkant Bredd Höjd Färg 4 KLASSER OCH OBJEKT Egna datatyper Skapa en

Läs mer

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett

Läs mer

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14 Övningar i SQL Övningar i SQL Använd Access för att öva SQL (= Structured Query Language) Skapa tabeller med SQL 1. Ny databas: SQLÖVNING Klicka: Frågor > Ny > Design > OK >Stäng > SQL Radera ordet SELECT.

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

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

Översättning av galleriet. Hjälp till den som vill...

Översättning av galleriet. Hjälp till den som vill... Hjälp till den som vill... $txt['aeva_title'] = 'Galleri'; $txt['aeva_admin'] = 'Admin'; $txt['aeva_add_title'] = 'Titel'; $txt['aeva_add_desc'] = 'Beskrivning'; $txt['aeva_add_file'] = 'Fil att ladda

Läs mer

Problemlösning och funktioner Grundkurs i programmering med Python

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

Läs mer

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

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

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015 Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation

Läs mer

Målet för D1 är att studenterna ska kunna följande: Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt

Målet för D1 är att studenterna ska kunna följande: Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt Datorövning 1 Statistisk teori med tillämpningar Repetition av SAS Syfte Syftet med Datoröving 1 (D1) är att repetera de SAS-kunskaperna från tidigare kurser samt att ge en kort introduktion till de studenter

Läs mer

Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt

Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt Datorövning 1 Statistisk teori med tillämpningar Repetition av SAS Syfte Syftet med Datoröving 1 (D1) är att repetera de SAS-kunskaperna från tidigare kurser samt att ge en kort introduktion till de studenter

Läs mer

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2015 2014 jonas.kvarnstrom@liu.se

Läs mer

Föreläsning 8. Designmönster

Föreläsning 8. Designmönster Föreläsning 8 Designmönster Designmönster När man designar program kan det vara viktigt att förstå hur man tidigare gått till väga när man konstruerat program. Kännedom om dessa tillvägagångssätt kan snabba

Läs mer

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet

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

Laboration: Whitebox- och blackboxtesting

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

Läs mer

Styrteknik : Funktioner och funktionsblock

Styrteknik : Funktioner och funktionsblock PLC2A:1 Variabler och datatyper Allmänt om funktioner och funktionsblock Programmering av funktioner Programmering av funktionsblock PLC2A:2 Variabler i GX IEC Developer Global and Local Variables Variables

Läs mer

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32) Programmeringsteknik och Matlab Övning Dagens program Övningsgrupp 2 (Sal Q22/E2) Johannes Hjorth hjorth@nada.kth.se Rum 458 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d2

Läs mer

Hos vad? och bör därför vara instanseller klassvariabel i vilken klass?

Hos vad? och bör därför vara instanseller klassvariabel i vilken klass? Övningstillfälle 5 Lite kort repetition om klasser och objekt class EnKlass(KlassAttÄrvaFrån): klassvariabel = 5 def init (self) KlassAttÄrvaFrån. init (self) self.instansvariabel = 10 s = 'klassvariabel=

Läs mer

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2 Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering

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

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering.

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering. 729G06 Programmering och logik Info om pythondelen & introduktion till objektorienterad programmering. Översikt Kursinformation Vad är objektorienterad programmering Skapa och använda objekt Enstaka objekt

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Underprogram Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Underprogram Parametrar Returvärden Räckvidd och skuggning

Läs mer

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 AWT. Paket för hantering av grafik

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 AWT. Paket för hantering av grafik Fortsättningskurs i programmering F 5 GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 1 Abstract Window Toolkit Paket för hantering av grafik dvs skapa grafisk användargränssnitt java.awt

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

Övning 1 - Abstrakta datatyper

Övning 1 - Abstrakta datatyper /home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

NYHETER I AUTOCAD 2005

NYHETER I AUTOCAD 2005 NYHETER I AUTOCAD 2005 Nedan följer en kort beskrivning av nyheter och förbättringar i AutoCAD 2005, jämfört med AutoCAD 2004. Nyheterna är inte ordnade i speciell ordning. UTÖKADE HJÄLPFUNKTIONER Rullgardinsmenyn

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

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets GUI (forts) Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets Sven-Olof Nyström Uppsala Universitet 18 mars 2005 Skansholm: Kapitel 6 Användaren kan kommunicera med programmet

Läs mer

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Föreläsnings 11 - GUI, Händelsestyrda program, MVC Föreläsnings 11 - GUI, Händelsestyrda program, MVC Josef Svenningsson Tisdag 20/11 Boken Denna föreläsning går igenom följande sektioner i boken: 10.1 och 10.2 11.1 Notera att kapitel 11 inte finns i boken

Läs mer

Filsäkerhet i Windows NT (NTFS)

Filsäkerhet i Windows NT (NTFS) Filsäkerhet i Windows NT (NTFS) Jens Granlund 19.10.2000 Introduktion Detta dokument försöker att beskriva säkerhetsmekanismerna i Windows NTs filsystem NTFS på ett lättbegripligt sätt. Access Control

Läs mer

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

729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo, 729G74 IT och programmering, grundkurs Tema 3. Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Repetition: syntax-quiz Fler for-loopar (över listor och dictionaries) range() Nästlade strukturer

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

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna. Använd olika lager. Döp lagren! Organisera era bibliotek! Design av interaktiv multimedia Ge era symboler instansnamn för att hitta dem med AS. Nytt för denna kurs: Ingen ActionScript-kod i.fla-filen!

Läs mer

Alias 1.0 Rollbaserad inloggning

Alias 1.0 Rollbaserad inloggning Alias 1.0 Rollbaserad inloggning Alias 1.0 Rollbaserad inloggning Magnus Bergqvist Tekniskt Säljstöd Magnus.Bergqvist@msb.se 072-502 09 56 Alias 1.0 Rollbaserad inloggning Funktionen Förutsättningar Funktionen

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