Föreläsning 5 Mer om funktioner, villkor



Relevanta dokument
Föreläsning 3 Programmeringsteknik och Matlab DD1315. Importering av moduler. randrange

Föreläsning 13 Testning och strängar

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

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

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

Föreläsning 2 Programmeringsteknik och C DD1316

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 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Användarhandledning Version 1.2

Föreläsning 16 Arv. Jan Lönnberg T Grundkurs i programmering

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

JavaScript del 3 If, Operatorer och Confirm

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 4. Val, boolska värden, läsbarhet, osv

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Ordlistor, filhantering och ut på webben. Linda Mannila

Uttryck och villkor. Föreläsning 2

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Föreläsning 18 Filer och avbildningar

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Repetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor.

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Språket Python - Del 1 Grundkurs i programmering med Python

Kontraktsprogrammering

TDIU01 - Programmering i C++, grundkurs

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2

Tentamen i Grundläggande programmering STS, åk 1 lördag

Tentamen i Programmering grundkurs och Programmering C

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Uppgifter teknik HT17 (uppdaterad v. 40)

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Programmering i C, 7,5 hp

HI1024 Programmering, grundkurs TEN

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Föreläsning 20 Textspelsprojekt

SCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall

Programmeringsteknik

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Sätt att skriva ut binärträd

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Klassdeklaration. Metoddeklaration. Parameteröverföring

Programmeringsteknik med C och Matlab

LÖSNINGSFÖRSLAG TENTAMEN

Selektion och iteration

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

"if"-satsen. Inledande programmering med C# (1DV402)

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

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

MMA132: Laboration 2 Matriser i MATLAB

Kort om programmering i Matlab

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

C++ Slumptalsfunktioner + switch-satsen

Planering Programmering grundkurs HI1024 HT data

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Språket Python - Del 2 Grundkurs i programmering med Python

HI1024 Programmering, grundkurs TEN

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Objektorienterad programmering i Java

Programdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20

Dependensregler - Lathund

Objektorienterad programmering i Java

Inom datalogin brukar man använda träd för att beskriva vissa typer av problem. Om man begränsar sig till träd där varje nod förgrenar sig högst två

Uttryck och villkor. Föreläsning 2

Pythons standardbibliotek

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.

Funktioner. Linda Mannila

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

TDIU01 - Programmering i C++, grundkurs

Föreläsning 3: Booleans, if, switch

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011

Programmeringsteknik I

v. 42 Python HT17 En introduktion Oscar Bergqvist

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret L0 - Grunder i C++

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T

Beräkningsvetenskap föreläsning 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

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

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):

Introduktion till PHP

Funktioner och programstruktur. Föreläsning 5

PYTHON SNABBREPETITION MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING 729G04 PYTHON 2. Dagens Python

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Transkript:

Föreläsning 5 Mer om funktioner, villkor Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.9.2011

Varför? Det finns sammanhang där ett program måste göra olika saker i olika situationer. För att kunna göra detta måste programmet kunna utföra olika delar av sin kod. Villkorssatser Villkorssatser låter ett program förgrenas. if-satsen är den enklaste villkorssatsen: Den kollar ett villkor (ett booleskt uttryck) och utför en sats om villkoret är sant. Föreläsning 5 Mer om funktioner, villkor 2/14

if-satsen if villkor : Efter detta kommer if-satsens innehåll: en eller flera indenterade satser precis som i def-satsen. Föreläsning 5 Mer om funktioner, villkor 3/14

Exempel Följande program fungerar inte om användaren ger 0 som nämnare. # coding=latin-1 taljare = int(raw_input( Ge täljare: )) namnare = int(raw_input( Ge nämnare: )) print taljare / namnare Föreläsning 5 Mer om funktioner, villkor 4/14

Exempel Vi kollar om användaren matat in noll först! # coding=latin-1 taljare = int(raw_input( Ge täljare: )) namnare = int(raw_input( Ge nämnare: )) if namnare!= 0: print taljare / namnare Föreläsning 5 Mer om funktioner, villkor 5/14

else-delen av if-satsen Vi kan lägga till en del till if-satsen som utförs om villkoret är falskt. else: efterföljt av en eller fler satser som utförs då satsen är falsk. Föreläsning 5 Mer om funktioner, villkor 6/14

Exempel Vi vill ge vårt eget felmeddelande om användaren ger 0 som nämnare. # coding=latin-1 taljare = int(raw_input( Ge täljare: )) namnare = int(raw_input( Ge nämnare: )) if namnare!= 0: print taljare / namnare else: print Division med noll Föreläsning 5 Mer om funktioner, villkor 7/14

Division med noll Skapa en version av ovanstående program som: Utför divisionen om nämnaren inte är noll. Om både täljare och nämnare är noll, påpeka att resultatet är odefinierat. Om endast nämnaren är noll, påpeka att resultatet är oändligt. Föreläsning 5 Mer om funktioner, villkor 8/14

elif else följt av if kan sammandras till elif. Eftersom dubbel indentering inte behövs blir det kortare. Särskilt bra för långa listor av alternativ. Division med noll Skriv om föregående program med elif! Föreläsning 5 Mer om funktioner, villkor 9/14

Funktioner Funktioner med flera return-satser Med villkorssatser är det möjligt att avsluta en funktion på flera olika ställen. Exempel def absolute(x): if (x < 0): return -x else: return x Föreläsning 5 Mer om funktioner, villkor 10/14

Funktioner Funktioner med flera return-satser Gör en funktion compare som tar två tal a och b och returnerar: -1 om a < b 0 om a = b 1 om a > b Föreläsning 5 Mer om funktioner, villkor 11/14

Funktioner och moduler Testkod För att testa ett program kan vi använda en speciell if-sats som bara utförs om modulen inte har importerats utan är huvudprogrammet: if name == main : Då behöver man inte ta bort testkod från ens moduler då man t.ex. lämnar in dem i Goblin. Testkod Skriv tester för compare för att kolla att ni fått den rätt! Föreläsning 5 Mer om funktioner, villkor 12/14

Funktioner och moduler Funktioner och moduler Sätt compare i en ny modul mathtools. Skapa en ny modul guessing_game med funktionen guess. guess tar en parameter: det rätta svaret guess ber användaren gissa vad talet är. Använd compare-funktionen för att kolla om gissningen är rätt och berätta för spelaren om gissningen är för låg, hög eller rätt. Ge guessing_game ett huvudprogram som utför guess med ett lagom intressant tal. Föreläsning 5 Mer om funktioner, villkor 13/14

Slut Nästa föreläsning Rekursion och variablers roller 16.9.2011 14:15 16:00 i U344 Kom ihåg Bilda par och anmäl dem till Goblin före ni lämnar in uppgifter. Rond 1 deadline 20.9. Rond 2 deadline 27.9. Föreläsning 5 Mer om funktioner, villkor 14/14