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

Slides:



Advertisements
Liknande presentationer
En introduktion till programmeringsspråket Python
Advertisements

Funktioner och programorganisation
2D1311 Programmeringsteknik med PBL
Programmeringsteknik
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Programmeringsteknik Föreläsning 18 Skolan för Datavetenskap och kommunikation.
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.
Programmeringsteknik Föreläsning 4 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL
Föreläsning 6 Länkade lista Komplexitet Linjärsökning & binärsökning
Föreläsning 4 Python: mera om funktioner och parametrar
2D1311 Programmeringsteknik med PBL Föreläsning 5 Skolan för Datavetenskap och kommunikation.
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 för K och Media
Programkodens uppbyggnad
1 Föreläsning 3 Datalogi för E1 / 2D1343 Repetition List List operationer Stränghantering For-slingor.
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 5 Python: argument från kommando-tolken
Föreläsning 10 Länkade lista Stack och Kö Att arbeta med listor
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
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.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
int res2=Math.max(tal1,tal2);
Programmeringsteknik
Föreläsning 3 Programmeringsteknik och Matlab DD1312
Listor En lista är en föränderlig ordnad samling objekt.
Funktioner, styrstrukturer, manipulering av matriser
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
DD1311 P ROGRAMMERINGSTEKNIK MED PBL Föreläsning 9 Skolan för Datavetenskap och kommunikation.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder 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 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
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,
Introduktion till klasser, objekt och BlueJ Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Spelprogrammering med bilder och ljud
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.
Programmeringsteknik Föreläsning 17 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
1 Föreläsning 8 Mer om klasser och objektorientering.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Programmeringsteknik
Programmeringsteknik för K och Media
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Program indata ? utdata 1/20 Vahid Mosavat, Nada, KTH.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 9 Sökning, sortering, grafiska gränssnitt (GUI)
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Föreläsning 3 Programmeringsteknik
Presentationens avskrift:

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

Idag: Dela upp i funktioner Defaultparametrar Egna moduler

Dela upp i funktioner Hitta satser som hör ihop Vad ska funktionen heta? Vilka variabler ska vara parametrar? Vilka variabler ska skickas ut som returvärde?

Dela upp i funktioner n=int(input("Hur många djur vill du ha?")) #Skapar en lista med n stycken husdjur lista = [] for i in range(n): nytt = Husdjur() lista.append(nytt) #Visar alla husdjur n = len(lista) print("\n*** Du har", n, "husdjur: ***") for djur in lista: print(djur) print("**************************\n")

Första funktionen def skapaLista(n): #Skapar en lista med n stycken husdjur lista = [] for i in range(n): nytt = Husdjur() lista.append(nytt) return lista

Nya huvudprogrammet n=int(input("Hur många djur vill du ha? ")) lista = skapaLista(n) visa(lista) slinga(lista) adjö(lista) Alla metoder använder lista. Vore det inte enklare att ha en klass med lista som attribut?

Ny klass: Bur class Bur(object): # Flera virtuella husdjur i en bur def __init__(self, n): """Skapar en lista med n Husdjur""" self.lista = [] for i in range(n): self.lista.append(Husdjur())

...fler metoder i Bur def banna(self): for djur in self.lista: djur.banna() def mata(self, bullar): for djur in self.lista: djur.mata(bullar) def leka(self): for djur in self.lista: djur.leka()

Moduler Att dela upp ett stort program i moduler gör det mer lätthanterligt. Och enklare att hitta fel i! Modulerna kan dessutom återanvändas...

Hur gör man en egen modul? Som ett vanligt Python-program utan main! Oftast en klass eller en samling funktioner. Exempel: OBS! När du gjort ändringar i modulen måste du starta nytt Shell-fönster i IDLE. from djurmodul import Husdjur class Bur… from djurmodul import Husdjur from burmodul import Bur def main… djurmodul.py burmodul.pydjurfarm.py class Husdjur…