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

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

DD1314 Programmeringsteknik

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

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 och C DD1316. Programmering. Programspråk

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

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

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

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

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.

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

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

Föreläsning 2 Programmeringsteknik och C DD1316

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

F4. programmeringsteknik och Matlab

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

Övning2. Variabler. Data typer

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

Grundläggande datalogi - Övning 1

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

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

729G04 Programmering och diskret matematik. Python 3: Loopar

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

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Objektorienterad Programmering (TDDC77)

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmeringsteknik med C och Matlab

Pythons standardbibliotek

Uppgifter teknik HT17 (uppdaterad v. 40)

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

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

SMD 134 Objektorienterad programmering

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

TDIU01 - Programmering i C++, grundkurs

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Användarhandledning Version 1.2

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

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

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

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

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

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Programmering A. Johan Eliasson

Funktioner. Linda Mannila

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

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

729G04 Programmering och diskret matematik. Föreläsning 7

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

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

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

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

Sätt att skriva ut binärträd

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

TDDC77 Objektorienterad Programmering

Tenta i Grundläggande programmering DD klockan

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Planering Programmering grundkurs HI1024 HT 2014

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

Föreläsning 1 & 2 INTRODUKTION

Tilpro Övning 1. Per-Anders Staav (föredrar att kallas Pa) Kan nås via epost: (fast de flesta frågor besvaras nog bäst av Alexander)

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Övningsuppgifter till föreläsning 2 Variabler och uttryck

TDIU01 (725G67) - Programmering i C++, grundkurs

Teori: Variabler En variabel har fyra grundläggande egenskaper: Namn, Typ, Värde och Synlighet.

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

Repetition C-programmering

C++ - En introduktion

Pascal... Pascal. Pascal... Pascal...

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Datalogi för E Övning 3

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

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

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

DD1311 Programmeringsteknik för S1 Laborationer läsåret

Kursanalys DA2003 sommar 2017

Besiktningsprotokollet

Laboration: Whitebox- och blackboxtesting

Ordlistor, filhantering och ut på webben. Linda Mannila

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

Objektorienterad programmering Föreläsning 4

Föreläsning 3 Programmeringsteknik och C DD1316. Innehåll i listor. Uppdateringsoperatorer. +,* och listor. Listor. Indexering

Introduktion C-programmering

Extramaterial till Matematik Y

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

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

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

Data, typ, selektion, iteration

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

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

Grundläggande Datalogi

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Beräkningsvetenskap föreläsning 2

Planering Programmering grundkurs HI1024 HT TIDAA

Transkript:

Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser Samhällsbyggnad Vilka läser kursen? Civilingenjör och Lärare Datorlingvistik (SU) Kursnämndsrepresentanter? Labbar på V (Windows) Labbar på CSC (Ubuntu) Lärandemål... Efter godkänd kurs ska du kunna Pythons syntax god programmeringsstil hitta och rätta fel ändra färdiga program hämta data från fil lagra data på fil...fler lärandemål VARFÖR? villkor och slingor funktioner problem -> program datastrukturer (t ex listor, klasser) enkla grafiska gränssnitt granska andras program för att du ska kunna: använda programmering för att lösa problem, tillämpa problemlösningsmetodiken även inom andra områden än programmering, diskutera programutveckling med experter, bedöma kommersiella program. 1

UNDERVISNING VAD SKA DU GÖRA? Entimmesföreläsningar med läsanvisningar. Kom förberedd för bästa resultat! Labbtimmar - handledning Övningstimmar - redovisning Laborationer (LAB1; 1,5hp) Fem labbar: program & instuderingsuppgifter Prov (LAB2; 1,5 hp) Skriftligt prov på grunderna P-uppgift (LAB3; 3p) Större individuellt programmeringsprojekt Webblabbar (endast CLGYM/Datorlingv) BONUSPOÄNG Moment Poäng Labb 1-5 0-4/labb Skriftligt förhör på instuderingsfrågor: tre rätt ger godkänt fyra rätt ger 1 bp fem rätt ger 2 bp Uppfylls kraven i labblydelsen? två krav uppfyllda ger godkänt tre krav uppfyllda ger 1 bp fyra krav uppfyllda ger 2 bp Provet 0-4 Spec 0-8 Prototyp 0-8 Se KTH Social! KURSINFORMATION ENKLASTE PROGRAMMET print( Hej ) En sats som skriver ut Hej på skärmen. Kommandot heter print (PRINT eller Print fungerar inte) Texten Hej kallas för ett uttryck sats=statement kommando=command uttryck=expression VARIABLER Variabler - lagrar data i programmet. Variabelnamn (bokstäver, siffror, _): antal, vikt2, biobiljetter, serie_mördare Tilldelning: ger variabeln värde och typ namn = Alexis print( Grattis + namn) tilldelning=assignment namn Alexis 2

TYPER RESERVERADE ORD Varje variabel har en typ, t ex namn innebörd exempel int heltal 5-239769 float flyttal 3.14 4e-3 bool villkorsvärde True False str sträng "eld" "12" Följande ord är reserverade i Python: and del for is raise assert elif from lambda try break else global not while class except if or return continue exec import pass def finally in print Reserverade ord har betydelse i språket och får inte användas som variabelnamn. UPPGIFT: VILKA AV FÖLJANDE ÄR OK SOM VARIABELNAMN? anka and mås moment22 pass passfoto akademiskahus 17tåget el-ledning jord_prover INLÄSNING (PYTHON 3) Funktionen input() används vid inläsning av strängar: namn=input( Vad heter du? ) print( Nämen, namn, då! ) Vill vi ha tal kan vi konvertera med t ex int(input()) storlek=int(input( Ge skostorlek: )) print( Ta +str(storlek+1)+ i skridskor ) print( så får du plats med sockor också! ) Inläsning=user input Alla rader som börjar med # blir kommentarer. Kommentarer # Programmet som ger komplimanger # Skrivet av Linda Kann 130115 print( Hej, ) print( Vilken fin klänning, ) print( och vad gott du luktar! ) BMI-PROGRAM # Läser in längd och vikt, # skriver ut BMI (Body Mass Index) print("välkommen till BMI-beräknaren! ) langd=input("hur lång är du (i meter)? ") vikt=input("hur mycket väger du (i kg)? ") bmi=vikt/(langd*langd) print("din bmi är: ", bmi) 3

UPPGIFT: I VILKEN ORDNING SKA SATSERNA STÅ? a.sidorperdag = sidor/dagar b.sidor = 63 c.print("antal sidor per dag:",sidorperdag) d.dagar = 3 ALGORITM 1. Läser in indata 2. Gör beräkningar 3. Skriver ut resultatet xy = 2*x+446 Operator: Heltalsberäkningar Beskrivning: Exempel: Resultat: * multiplikation 3*4 12 division 53/10 5 / 53//10 % modulo 53%10 3 + addition 10+12 22 - subtraktion 5-8 -3 heltal=integer UPPGIFT: HUR KAN MAN ANVÄNDA % FÖR ATT TA REDA PÅ OM ETT TAL ÄR JÄMNT ELLER UDDA? Flyttalsberäkningar Operator Beskrivning Exempel Resultat * multiplikation 2.0*1.5 3.0 / division 10.0/8.0 1.25 % modulo 4.25%4.0 0.25 + addition 0.3+0.4 0.7 - subtraktion 1.0-0.1 0.9 flyttal=floating-point number STRÄNGAR En sträng är en följd av tecken. Strängar konkateneras med + t ex blir kus + lig strängen kuslig Strängar upprepas med * t ex blir nä *3 strängen nänänä Sträng är en datatyp. Andra datatyper är heltal och flyttal. sträng=string Konkatenera (slå ihop)=concatenate 4

Typkonvertering Funktion Beskrivning Exempel: Blir float(x) Konverterar till flyttal int(x) str(x) Konverterar till heltal float( 3.14 ) 3.14 int( 17 ) 17 Konverterar str(39) 39 till en sträng Styrstrukturer I ett program utförs satserna i ordning uppifrån och ner: print("so long") print("and thanks") print("for all the fish!") Hur gör man för att hoppa över en sats eller för att upprepa en sats flera gånger? parameter=argument talet = 17 print("gissa talet fina priser!") gissning=int(input("din gissning:")) if gissning == talet: print("hurra, du vann!") print("tyvärr är priserna slut.") else: print("fel svar.") print("\n--- Välkommen åter ---") if-satsen if villkor: block1 elif: block2 else: block3 if-satsen används för val mellan två alternativ, elif och else kan användas vid behov. Raderna efter kolon bildar ett block: en eller flera satser som är indenterade (tabbar i början av raden). 5