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

Relevanta dokument
Föreläsning 2 Programmeringsteknik och C DD1316

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

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

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 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 3 Programmeringsteknik och Matlab DD1315. Importering av moduler. randrange

DD1314 Programmeringsteknik

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. 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

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

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

F4. programmeringsteknik och Matlab

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

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

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

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

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

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Grundläggande datalogi - Övning 1

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Klassdeklaration. Metoddeklaration. Parameteröverföring

Övning2. Variabler. Data typer

Pythons standardbibliotek

Objektorienterad Programmering (TDDC77)

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

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

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

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Variabler och konstanter

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

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

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

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

729G04 Programmering och diskret matematik. Python 3: Loopar

Besiktningsprotokollet

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Övningsuppgifter kapitel 8

Föreläsning 4 Programmeringsteknik och Matlab DD1312. Logiska operatorer. Listor. Listor, tupler, strängar och forslingor

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Grundläggande databehandling ht 2005

Programmeringsteknik med C och Matlab

Uppgifter teknik HT17 (uppdaterad v. 40)

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

Programmering A. Johan Eliasson

Tentamen Grundläggande programmering

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

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

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

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Föreläsning 10. Besiktningsprotokollet

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

Repetition C-programmering

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

Användarhandledning Version 1.2

Erfarenheter från labben

Iteration while-satsen

Programmering för språkteknologer I, VT2012. Rum

Systemutvecklare SU13, Malmö

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

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

Introduktion C-programmering

Objektorienterad programmering i Java

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Selektion och iteration

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

SMD 134 Objektorienterad programmering

Tentamen i Introduktion till programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

4.4 Swing ett interaktivt grafiskt gränssnitt

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

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

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

Att skriva till och läsa från terminalfönstret

DD1361 Programmeringsparadigm. Carina Edlund

C++ - En introduktion

Föreläsning 3. Iteration while-satsen

Introduk+on +ll programmering i JavaScript

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

Föreläsning 1 & 2 INTRODUKTION

Kortfattad programmerings- och Pythonordlista

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

Objektorienterad Programmering (TDDC77)

Översikt över Visual Basic

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

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

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

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

Transkript:

Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt <mdj@kth.se>

Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Logiska operatorer If-sats While-sats Kommentarer Funktioner

Programmering Programmering betyder att instruera en dator Ett program är en sekvens av instruktioner till en dator Datorer kan i grunden endast förstå maskinkod d.v.s kombinationer av ettor och nollor Att skriva maskinkod, d.v.s instruktioner i form av kombination av ettor och nollor, är svårt och tidskrävande 3/32

Programspråk Programspråk används av människor för att skriva datorprogram på ett mer begripligt och lätthanterligt sätt (än maskinkod) Programspråk tolkas eller översätts till maskinkod av maskinkodsprogram (som i sin tur kan vara skrivna i ett programspråk) En instruktion som är skriven i ett programspråk måste följa språkets regler för att kunna tolkas eller omvandlas till maskinkod 4/32

Utskrift på skärmen print( Hej ) print( Hur är det? ) Hej Hur är det? print( Hej, end= ) print( Hur är det? ) HejHur är det? 5/32

Syntax och semantik Syntax är programspråkets struktur, dvs vilka element som får förekomma och i vilken ordning. Exempel på syntaktiska fel: print Hej print ( Hej) Semantik är innebörden hos ett stycke programkod, tex en sats (i Python ungefär programrad ) eller ett program. Exempel på semantiskt fel: print ( Hälften av x är, x/3) 6/32

Variabel Med hjälp av variabler kan man lagra ett värde i datorns minne så att programmet kan komma åt det lagrade värdet vid senare tillfällen i programmet. Exempel: age = 20 name = Mikael length = 1.87 7/32

Variabelnamn Använd beskrivande variabelnamn som talar om vilken roll variabeln har Bra: nturns, n_turns, numberofturns Dåligt: pluttilutt, zz45 Undvik alltför långa namn Var konsekvent vid val av variabelnamn (tex antingen genomgående camelcase eller under_score ) Försök att följa språkets tradition för val av variabelnamn (Ex: I Python brukar ett variabelnamn inledas med gemen) Python är ett skiftlägekänligt (case sensitive) språk 8/32

Reserverade ord En del ord får inte användas som variabelnamn eftersom de har särskild betydelse för Python. Dessa kallas reserverade ord: is elif import global if from pass class in return except continue def and else raise del or continue assert for while break exec try not finally lambda 9/32

Datatyper Datatyp för text (Sträng): str t.ex: hej, 12 Numeriska datatyper: int t.ex: 12 float t.ex: 12.0 10/32

Inläsning Inläsning från tangentbordet görs m.h.a funktionen input() Datorn läser inmatade tecken tills användaren trycker på Enter och resultatet blir en sträng med dessa tecken Om man ger en textsträng som argument till input skrivs denna ut som prompt innan input väntar på inmatning: input( Vad heter du? ) argument 11/32

Omvandling av typer Omvandling till typerna str, integer och float görs m.h.a följande funktioner: str(x) int(x) float(x) Exempel: age_str = input( ange ålder: ) age = int(age_str) 12/32

Kommentarer # This is a comment print( Learning Python is easy! ) Learning Python is easy! Varför och när skriver man kommentarer i ett program? Programkoden själv räcker inte för att göra koden begriplig för en annan programmerare Efter ett par veckor är man själv en annan programmerare! Dokumentera med kommentarer allt som inte är självklart Funktioner/metoder (senare): Dokumentera vad de gör, deras parametrar och funktionens/metodens returvärde 13/32

Operatorerna + och * Operatorn + används för att konkatenera två strängar. ab + ba abba Man kan använda * följd av ett heltal för att upprepa en sträng ett antal gånger. mam *2 mammam 14/32

Minilabb Skriv ett program som frågar efter användarens ålder och beräknar och skriver ut examensålder. age = input( Hur gammal är du? ) age = int(age) examinationage = age + 4.5 print( Du kommer att vara, examinationage, när du tar examen! ) 15/32

Jämförelseoperatorer Följande är operatorer som används för att jämföra värden. De har ett boolskt värde d.v.s. sant (True) eller falskt (False): ==!= < <= > >= 16/32

If-sats (villkorssats) En if-sats används för villkorlig exekvering av en eller flera satser. Exempel: if bokpris > 500: print( dyr bok! ) print( ingen affär ) print( hejdå ) 17/32

If-satsens struktur if villkor : Sats(er) Kod efter if-satsen Villkor falskt sant Indentering är viktigt Sats(er) Kod efter if-satsen... 18/32

Exempel if bokpris > 500 : print( dyr bok! ) print( ingen affär ) print( hejdå ) bokpris>500 falskt sant print ( dyr bok! ) print ( ingen affär ) print( hejdå ) 19/32

Exempel age = input( ålder: ) age = float(age) if age < 20: print ( Åldersgräns är 20 för att kunna vara systembolagets kund ) 20/32

elif och else If-satser kan kombineras med elif och else. Exempel: if bokpris > 500: print( dyrbok, ingen affär! ) elif bokpris > 300: print( dyr men jag behöver boken! ) else: print( billig bok, köp snabbt! ) 21/32

While-loop (while-slinga) while-slinga används för att exekvera en eller flera satster ett antal gånger. Exempel: varv = 0 while varv < 3: print( Hej ) varv = varv + 1 22/32

While-satsens struktur while villkor: kod som ska upprepas villkor falskt sant Kod som ska upprepas Kod efter while 23/32

Indentering Indentering (indragning av kod) har stor betydelse i python. Hur många gånger skrivs Hej ut av följande program? varv = 0 while varv < 3: print ( Hej ) varv = varv + 1 24/32

Logiska operatorer A B A and B A or B not A True True True True False True False False True False False True False True True False False False False True Jämförelseoperatorer kan kombineras med operatorerna and, or, not Exempel: if pris < 1000 and taltid >= 100: print( Telefonfynd! ) 25/32

Formatering a= förkortad diverse:%5.3s % diverse 5 string förkortad diverse: div 3 26/32

Formatering t= A%11.2f number %52687.43456 11 float A 52687.43 number 2 27/32

Formatering t= A big%10d number %52687 digit 10 A big 52687 number 28/32

Funktioner Exempel: # Compute the square of x # Parameters: # x: number # Returns square of x def square (x): return x * x y = 3 print ( Kvadraten på, y, är, square (y)) Kvadraten på 3 är 9

Funktioner Syntax: parametrar def funktionensnamn( ): Kod som ska exekveras när funktionen anropas Indragning är viktigt!

Funktioner Indata skickas till funktioner via funktionens formella parametrar (tex x i def square (x)) Värdet man skickar till funktionen vid ett anrop kallas argument (tex 3 i square (3)) Funktioner returnerar utdata med hjälp av returnsatsen Om en funktion inte har return-sats i kroppen kommer funktionen att returnera None. (None betyder ingenting i python.)

Funktioner Används för att dela upp ett program i naturliga och återanvändbara delar En funktion tar oftast indata och ger utdata, men en funktion kan även utföra operationer med bieffekter Man kan undvika upprepning av kod genom att använda egna funktioner och parametrar Med hjälp av egna funktioner inför man abstraktion i sitt program

Sammanfattning Använd beskrivande variabelnamn Var noggrann med datatyper (skilj mellan sträng och tal) input()används för inmatning Planera ditt program innan du börjar skriva kod för det If-satser används för att villkorligt köra en eller flera satser 33/32

Sammanfattning while-slinga (while-sats) används för att upprepa en eller flera satser Genom att använda while-satser får man kortare kod, mer genomskådlig kod och ett mer flexibelt program När två eller fler while-slingor hamnar innanför varandra kallas det nästlade slingor Funktioner används för att dela upp ett program i återanvändbara delar 34/32