Programmeringsteknik

Slides:



Advertisements
Liknande presentationer
Händelsehantering i grafiska gränssnitt byggda med Tkinter
Advertisements

Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Uppgiften i PowerPoint
Klicka på Aktivera redigering i meddelandefältet,
2D1311 Programmeringsteknik med PBL
Sökning och sortering Linda Mannila
Programmeringsteknik
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Programmeringsteknik Föreläsning 18 Skolan för Datavetenskap och kommunikation.
5. Grafiska objekt Redan på övning fem av sex! Här handlar det om att rita själv, färglägga och att låta kreativiteten flöda. Något för dig? Ritverktyg.
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Repetition inför provet
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL Föreläsning 3 Skolan för Datavetenskap och kommunikation.
Vilken/vilka av följande satser ger syntaxfel:
Programmeringsteknik Föreläsning 4 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL
Föreläsning 4 Python: mera om funktioner och parametrar
2D1311 Programmeringsteknik med PBL Föreläsning 6 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL Föreläsning 1 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
Föreläsning 9 Sökning, sortering, grafikprogrammering.
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Webbteknik lektion 2 Det handlar om stilmallar Per K, 2012.
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 5 Python: argument från kommando-tolken
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
1 Föreläsning 8 Grafik AWT. 2 Grafik Frame använder man för att skapa ett fönster Button använder man om man vill ha en knapp att trycka på Canvas är.
En PowerPoint om PowerPoint
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
Föreläsning 5.  Idag  Kap 7 i Dawson  Filer  Felhantering med try…except.
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Programmeringsteknik för Media1 & K1
Exder EPC. Exder EPC Välkommen! I det här bildspelet går vi igenom hur man lägger upp nya artiklar samt skickar artikelinformation. Du bläddrar framåt.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
DD1311 P ROGRAMMERINGSTEKNIK MED PBL Föreläsning 9 Skolan för Datavetenskap och kommunikation.
Föreläsning 14 ”Enkel” Filhantering.
Knappar i artikelredaktionen som formaterar texten:
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.
Namnrum, räckvidd och rekursion Linda Mannila
Funktioner Linda Mannila Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Java paket och jar-filer
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Spelprogrammering med bilder och ljud
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
Programmeringsteknik Föreläsning 8 Skolan för Datavetenskap och kommunikation.
Föreläsning 7 Programmeringsteknik och Matlab DD1315 Kommandotolk parametrar Klass Instans Metod konstruktor.
2D1311 Programmeringsteknik med PBL Föreläsning 1 Skolan för Datavetenskap och kommunikation.
1 Föreläsning 11 Grafisk användargränssnitt med Tkinter.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
Programmeringsteknik Föreläsning 17 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
Föreläsning 2 2D1312 Introduktion till Python Kap 1 och 2 i kursboken.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Programmeringsteknik
Bekräfta användaren Andreas Cederbom
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
Föreläsning 9 Sökning, sortering, grafiska gränssnitt (GUI)
Programmeringteknik Webbdelen 2. webbprogrammering Server Den dator som websidan ligger på Klient Dator som tittar på webbsidan med en webbläsare (t ex.
Grafisk användargränssnitt med Tkinter
Presentationens avskrift:

Programmeringsteknik 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: GUI-länkar Button Menu Canvas Menubutton Checkbutton Message Entry Radiobutton Frame Scale Label Scrollbar Listbox Text

Hur gör man? from tkinter import * roten = Tk() Hämtar alla klasser i modulen Tkinter. from tkinter import * roten = Tk() knapp = Button(roten, text="Tryck") knapp.pack() roten.mainloop() Tk-konstruktorn - skapar rotfönstret. Button-konstruktorn - skapar en knapp. Knappen placeras. Startar en slinga som väntar på inmatning från användaren.

Komponenter Knappar och annat kallas komponenter och är objekt. Varje komponent har en konstruktor med många defaultparametrar. Anropa bara med det som behövs: knapp = Button(roten,text="Handla") Första parameter ska vara roten

Ändra attribut Attributen kan ändras ett i taget: knapp["text"] = "Klart" Med metoden config kan man ändra flera attribut åt gången: knapp.config(bg = "lightblue", height = 3, width = 9, font = ('times', 20, 'italic')) Här ändrar vi knappens färg, storlek, och textfont.

Anropa funktion med knapptryck! Ett attribut som alla komponenter har är command Där anger man vilken metod/funktion som ska anropas när komponenten används. Om vi skriver en funktion addera() som ska anropas när nån trycker på knapp så kan vi koppla ihop funktion med knapp så här: knapp["command"] = addera

Man kan också koppla ihop knappen med en funktion när den skapas: from tkinter import * def byttext(): knapp["text"] = "Aj!" roten = Tk() knapp = Button(roten, text = "Tryck inte", command = byttext) knapp.pack() roten.mainloop()

GUI-exempel Exemplen finns på KTH Social under "GUI-exempel"

Olika typer av fel Felavbrott (Exception) när programet körs Inget händer när man kör programmet Massor av text rinner över skärmen Programmet gör något annat än det man ville Programmet gör rätt för vissa indata, men inte för andra

Felavbrott Lär dig tolka felutskrifter! Traceback (most recent call last): File ”filmer.py", line 124, in <module> titta(listan) File ”filmer.py", line 102, in titta film.ny_visning(1) TypeError: ny_visning() takes exactly 1 argument (2 given)

Tolkning Sista raden förklarar felet! TypeError: ny_visning() takes exactly 1 argument (2 given) Raderna ovanför visar anropskedjan. Läs nerifrån och uppåt! Felet uppstod på rad 102, i funktionen titta som anropades på rad 124.

Kontrollutskrifter Använd kontrollutskrifter för att hittar var i programmet felet uppstår. En kontrullutskrift är en vanlig print-sats, till exempel: print "Klar med inläsningen" Eller stanna upp så här: raw_input("Tryck Enter") Du kan också skriva ut variabelvärden för att se hur dom ändras under körning.

Mittiprick-metoden Anta att programmet hänger sig, men vi vet inte var i programmet det inträffar. Lägg en kontrollutskrift i början och en i slutet. Blev det fel däremellan? Lägg då in en kontrollutskrift mitt i. Om den kommer ut som den ska finns felet i andra halvan, annars i första. Fortsätt tills du hittat felet!

Testning Skriv upp (i en textfil) hur du testar programmet. Missa inte specialfallen. Efter att du har fixat ett fel – testa att programmet fortfarande fungerar för alla testfallen.

Hjälpmedel (överkurs) Är du van att använda en debugger? Titta på modulen pdb Vill du infoga automatisk testning i programmet? Titta på modulen doctest

På torsdag Felhantering (ingår ofta i C-uppgiften) Mer GUI