DD1311 Programmeringsteknik för CL1 Laborationer läsåret 2008-2009



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

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

Introduktion till datormiljön och Python

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

DD1315 Programmeringsteknik och Matlab för I1 Laborationer läsåret 2013/2014

DD1316 Programmeringsteknik och C för E1 Laborationer läsåret 2015/2016

Chapter 3: Using Classes and Objects

Programmeringsteknik med C och Matlab

Introduktion till Matlab

19. Skriva ut statistik

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Objektorienterad programmering D2

Kort-kort om utdelade användarkonton och datormiljön på NADA

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

Introduktion till Matlab

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

Laboration: Grunderna i MATLAB

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

Föreläsning 1 & 2 INTRODUKTION

SF1672, Linjär Algebra med Matlab för F1 Lab0

Introduktion till Matlab

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Övningar Dag 2 En första klass

Classfronter Vägledning för Studenter (version 1.1)

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Skapa ett register över din grupp/klass

TDP Regler

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

HJÄLPFIL: LÄRARAPPLIKATIONEN

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

Uppgift 1 (Oläsliga krypterade meddelanden)

Manual för deltagare kursen Bakgavellyft Så går du kursen Bakgavellyft

2D1310 Programmeringsteknik för CL1 Laborationer läsåret 2004/2005

Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass

Lathund GUL Lärare. Allmänt. Hur du presenterar Dig själv för kursdeltagarna. Hur du lägger upp din kontaktlista

Sätt att skriva ut binärträd

Åtkomst och användarhandledning

ADAD-net. Användarmanual INDIVIDEN. Råbe och Kobberstad Februari 2010

Bb October 2014 Studentmanual

Elisabeth Bejefalk IT-Assistent Avesta kommun

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

Att komma igång med FirstClass (FC)!

Skriv in sökvägen sam.sll.se

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.

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

Logga in. Elevöversikt. Kolumner. Godkänna. Urval. Hantera inflytt och byte. Sök. Familjebild. Utskriftsrutin Om pengen

Tentamen OOP

Kom igång. Version 3

Referens till. WeavePoint 6 Mini

Grundläggande programmering med C# 7,5 högskolepoäng

Installation av. Vitec Online

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

FÖRBEREDANDE INSTÄLLNINGAR INFÖR SKYPE MÖTE SAMORDNAD VÅRD- OCH OMSORGSPLANERING

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, Raphael Corsoski, Erik Eliasson, Christian von Schultz, 2008.

SPEECHMIKE TM 2.2 PROGRAMVARUHANDBOK PHI

Handledning för publicering av avhandlingar och andra vetenskapliga publikationer i DiVA

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

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Användarmanual för Hemsida

INSTALLATION AV VITEC MÄKLARSYSTEM. Studentversion

Komma igång med Eventor

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Valet 2010 på facebook!

InPrint. Grunderna för hur du kommer igång och arbetar med Communicate: InPrint. Habilitering & Hjälpmedel

[MANUAL TILL LUVITS GRUNDFUNKTIONER]

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Guide i hur man arbetar med vår butik från WebbButiker.se

Numeriska metoder och grundläggande programmering för T1

Valet 2010 på facebook!

Textsträngar från/till skärm eller fil

LÄSLANDET - BOKSTÄVER OCH ORD

Innehållsförteckning. Manual WebCT

Användarinstruktioner för FLC Fresenius Learning Center

ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Laboration 1 Introduktion till Visual Basic 6.0

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

7 Mamut Client Manager

Lab1 inginfo07. Detta dokument innehåller övningar för introduktion till Media-programmets datorsystem (Mac OS X).

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

Lathund. Söka patienter i Tandvårdsfönster

Editering, Kompilering och Exekvering av Javaprogram

Clicker 5. Lathund kring de vanligaste och mest grundläggande funktionerna för att komma igång med Clicker. Habilitering & Hjälpmedel

E-post för nybörjare

Kundportal. Kundportal - Användarhandledning

Användarmanual till AD OnLine

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Guide för pdf-formulär

Objektorienterad programmering i Java I

Omtentamen i OOSU2, 21 augusti 2014

Lathund till Dexter IUP

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Transkript:

DD1311 Programmeringsteknik för CL1 Laborationer läsåret 2008-2009 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer Labb 1 Godkänt den... Kvitteras... Timmar... (2009 01 23) Labb 2Godkänt den... Kvitteras... Timmar... (2009 01 30) Labb 3 Godkänt den... Kvitteras... Timmar... (2009 02 06) Labb 4 Godkänt den... Kvitteras... Timmar... (2009 02 13) Labb 5 Godkänt den... Kvitteras... Timmar... (2009 02 20) Prov Prov Godkänt den... Kvitteras... (2009 03 03) P-del Spec Godkänt den... Kvitteras... (2009 03 16) Prototyp Godkänt den... Kvitteras... (2009 03 19) Granskning Godkänt den... Kvitteras... (2009 04 28) Redovisning Godkänt den... Kvitteras... Timmar... A B C D E F (2009 04 28)

2 DD1311 CL1 2008-2009 Laboration 1 Kurshemsidan, hederskodex, incheckning, IDLE, print-satsen, kommentarer, variabler, strängar, beräkningar, indata Denna labb redovisas på veckans gruppmöte. Ta med utskrifter av dina program samt dina svar på instuderingsfrågorna. Vid redovisningen ska du kunna förklara både program och svar för dina kurskamrater och din assistent. Hitta dator och labbkompis Vilken dator du ska sitta vid står på den lila lappen du fick av kursledaren. De inledande fem labbarna gör ni i grupper om två och din labbkompis är den som har fått samma datornummer på sin lila lapp. Inloggning Sätt dig vid en dator tillsammans med din labbkompis och välj Java Desktop System under knappen Options/Sessions och logga sedan in. Skärmen kommer att se ut ungefär så här: Längst ned finns frontpanelen som motsvarar Taskbar i Windows. Den används för att starta vissa program, ändra inställningar m m. Läs gärna mer om den i Unixhäftet (säljs på CSCs studentexpedition). Klicka med högra musknappen på skrivbordet. Då får du en popup-meny där du kan bl.a. kan starta ett terminalfönster. Gör det! När du skriver i det fönstret ger du kommandon till kommandotolken. Kom ihåg att kommandotolken skiljer mellan stora och små bokstäver. Webbläsare och kursinformation Mozilla är en webbläsare som startas genom att välja Launch Applications Internet Web Browser. Klicka en gång i det fönster du nu får upp och skriv in följande URL-adress i adressfältet:

DD1311 CL1 2008-2009 3 http://www.csc.kth.se/dd1311/ Klicka på länken prgcl09. Du ska nu få upp en sida med kursinformation för programmeringsteknikkursen för CL1. Denna sida är viktig! Här kommer vi att lägga ut information under kursens gång, så vänj dig vid att alltid titta på sidan när du loggar in. För att slippa klicka dig fram till sidan varje gång ska du spara adressen till sidan med ett bokmärke. Du gör det genom att välja menykommandot Bookmarks Bookmark This Page. Hederskodex På Nada används en gemensam hederskodex för alla Nadakurser. Du hittar den via kurshemsidan och är själv ansvarig att läsa igenom och följa den. Vilka är de fem reglerna i hederskodexen? Checka in på kursen På kurshemsidan finns information om hur man checkar in på kursen. Se till att båda blir incheckade. Var noggrann med alla personuppgifter! På den lila lappen står det vilken grupp ni tillhör. Användbara kommandon i Unix Terminalfönstret har en mängd kommandon och nedan finns exempel på de mest nödvändiga för denna kurs. Funktion Kommandoexempel Skapa en katalog mkdir prgcl09 som heter prgcl09 Lista innehåll i ls aktuell katalog Byt aktuell katalog till cd prgcl09 underkatalogen prgcl09 Byt aktuell katalog till cd hemkatalogen Byt aktuell katalog till cd.. katalogen ovanför Ta bort filen hej.py rm hej.py Obs! Filen försvinner för alltid Köra Pythonprogram python hej.py Skriv ut filen hej.py print hej.py till skrivaren

4 DD1311 CL1 2008-2009 Terminalfönstret Alla kommandon ovan skriver man i terminalfönstret. Till exempel kan du lista alla filer i din katalog med kommandot ls (list). Det du framför allt behöver veta är hur du flyttar dig mellan olika kataloger i terminalfönstret. För att gå ner i katalogen prgcl09 skriver du cd prgcl09, vilket utläses change directory to prgcl09. För att gå upp en nivå skriver du cd.. (glöm inte mellanslaget före punkterna). Det finns genvägar för att slippa skriva så mycket i terminalfönstret; till exempel behöver du sällan skriva ut hela filnamnet. Tryck på TAB eller (längst till vänster) så fylls kommandon, filnamn och katalognamn i om de är entydiga (detta kallas TAB completion på engelska). Vill du få upp föregående kommando räcker det att trycka på uppåtpiltangenten som sitter nere till höger på tangentbordet. Trycker du flera gånger bläddrar du successivt tillbaka bland gamla kommandon. Starta IDLE Välj Start Programs Python IDLE från startmenyn. Fönstret Python Shell som öppnas är en Python-interpretator, där man direkt kan skriva in en sats och se vad som händer. Längst upp i fönstret kan man välja bland menyerna File, Edit, Windows och Help. VäljFile New Window så öppnas ett nytt fönster där man kan skriva in, redigera, spara, och köra Python-program. För att spara det program du skrivit in väljer du File Save As. Gealltid dina program suffixet.py (t ex Gorn.py). När du är redo att provköra programmet väljer du Edit Run Script. Utmatningen från programmet kommer att synas i Python Shell-fönstret. Skrivaren Skrivarna på CSC heter oftast samma som salen de är placerade i. Kommandot som skriver ut är print. Om du vill skriva ut filen hej.py skriver du print hej.py i terminalfönstret Spara papper! Skriv inte ut i onödan! Program Krav för programmen i labb 1: Visa att du kan hantera variabler, tilldelning, inläsning, utskrift, enkla beräkningar. 1. Skriv ett program som beräknar dricks. Användaren får mata in restaurangnotans summa och programmet ska skriva ut 15 respektive 20 procent av summan. (Dawson s.50) 2. Skriv ett program som konverterar temperaturer i Celsius till Fahrenheit med formeln F = 9 5C+32. Användaren får mata in en temperatur i Celsius och programmet ska skriva ut temperaturen omvandlad till Fahrenheit. (Gaddis s. 74) Instuderingsfrågor 1. Vilka programmeringsspråk känner du till?

DD1311 CL1 2008-2009 5 2. Hur skriver man en kommentar i Python? 3. Vad är IDLE? 4. Ge exempel på två olika datatyper. 5. Hur konverterar man mellan olika datatyper? 6. Vad är en variabel? 7. Hur ger man en variabel ett värde? 8. Hur läser man in ett ord till programmet? 9. Hur läser man in ett tal till programmet? 10. Vad händer när en metod anropas? 11. Hur får man programmet att skriva ut text på skärmen? 12. Hur får man programmet att skriva ut ett variabelvärde på skärmen? 13. Vad är det för vits med att låta programmet läsa in värden? 14. Vad menar man när man säger att ett program är användarvänligt? Efter labben Hur tycker du att ditt eget arbete med labben fungerade? Borde du ha gjort något annorlunda? Fundera en stund, och fyll sedan i rutan på nästa sida under rubriken Tips till mig själv inför labben. Logga ut För att logga ut väljer man logout från Launch-knappen. När inloggningssidan visas betyder att du har loggat ut.

6 DD1311 CL1 2008-2009 Laboration 2 Slumptal, if-satsen, while-slingan, programplanering, for-slingan, strängar, tupler Denna labb redovisas på veckans gruppmöte. Ta med utskrifter av dina program samt dina svar på instuderingsfrågorna. Vid redovisningen ska du kunna förklara både program och svar för dina kurskamrater och din assistent. Tips till mig själv inför labben: Program Krav för programmen i labb 2: Visa att du kan hantera if/else-satser, for-slingan och while-slingan. 1. Skriv ett program som läser in en persons längd (i meter) och vikt (i kg) vikt och beräknar BMI = langd langd. Sedan ska programmet skriva ut om personen är underviktig (BMI under 18.5), överviktig (BMI över 25) eller normalviktig. (Gaddis s. 150) 2. Skriv ett program som slumpar hundra myntkast och talar om hur många kast som gav krona och hur många som gav klave. (Dawson s. 87) 3. Skriv ett program som slumpar fram en matteuppgift (t ex Vad blir 8*7?) och ställer om frågan tills användaren ger rätt svar. Instuderingsfrågor 1. Hur slumpar man ett tal i ett Pythonprogram? 2. Vad gör raden import random 3. Vad är det för skillnad på if-satsen och while-slingan? 4. Vad är en oändlig slinga? 5. Vad innebär det att två slingor är nästlade? 6. Ge ett exempel på ett villkor. Vilka värden kan ett villkor anta? 7. Hur fungerar operatorn and i ett villkor? 8. Vad är en algoritm? 9. När använder man en for-slinga istället för en while-slinga?

DD1311 CL1 2008-2009 7 10. Hur skriver man ut första bokstaven i en sträng? 11. Hur ändrar man första bokstaven i en sträng? 12. Vad är en tuppel? 13. Hur slumpar man ett ord ur en tuppel av ord? 14. Vad är ett index i en sträng eller tuppel?

8 DD1311 CL1 2008-2009 Laboration 3 Listor, uppslagslistor, funktioner, parametrar, namnrymden. Denna labb redovisas på veckans gruppmöte. Ta med utskrifter av dina program samt dina svar på instuderingsfrågorna. Vid redovisningen ska du kunna förklara både program och svar för dina kurskamrater och din assistent. Tips till mig själv inför labben: Program Krav för programmen i labb 3: Programmen ska delas upp i funktioner med parametrar och returvärden. 1. Skriv först två funktioner: medel som tar tre provresultat som indata (parameter) och beräknar medelvärdet (returvärde) betyg som tar ett provresultat som indata och returnerar ett bokstavsbetyg i intervallet A-F (välj själv betygsskala). Skriv sedan ett program som ber användaren att mata in tre provresultat och använd funktionerna för att skriva ut betyg på varje prov och på hela kursen. (Gaddis s. 222) 2. Ändra i programmet du nyss skrev så att det fungerar för ett godtyckligt antal provresultat. Tips: läs in provresultaten i en lista, och låt den vara parameter till medel Instuderingsfrågor 1. Vad är det för skillnad mellan en lista och en tuppel? 2. Beskriv tre metoder som finns för en lista? 3. Vad är en nästlad lista? 4. Visa hur man skriver ut alla elementen i en nästlad lista. 5. Rita upp ett exempel som visar hur referenser fungerar. 6. Vad kan man använda en ordlista (dictionary) till? 7. Beskriv tre metoder som finns för en ordlista.

DD1311 CL1 2008-2009 9 8. Hur definierar man en funktion? 9. Varför anropar man funktioner? 10. Vad innebär abstraktion? 11. Hur tar en funktion emot indata? Visa med ett exempel! 12. Hur skickar man utdata från en funktion? Visa med ett exempel! 13. Vad blir returvärdet om man inte skrivit att något ska returneras? 14. Vad är det för skillnad mellan lokala och globala variabler?

10 DD1311 CL1 2008-2009 Laboration 4 Filer, särfall(exceptions), konservering (pickling), klasser, metoder, objekt, konstruktor, attribut Denna labb redovisas på veckans gruppmöte. Ta med utskrifter av dina program samt dina svar på instuderingsfrågorna. Vid redovisningen ska du kunna förklara både program och svar för dina kurskamrater och din assistent. Tips till mig själv inför labben: Program Krav för programmen i labb 4: Programmen ska delas upp i funktioner med lämpliga parametrar och returvärden. Använd slingor när något ska upprepas. 1. Skriv ett program som ber användaren om ett filnamn. Programmet ska sedan visa upp varje rad ur filen på skärmen, med radnumret först på raden. Exempel: 1: Det var en mörk och stormig natt, 2: och från slottet på kullen hördes mystiska ljud... (Gaddis s. 272) 2. Skriv ett program som simulerar en tv-apparat genom att skapa ett tvobjekt. Användaren ska kunna byta kanal samt höja och sänka volymen. Se till att kanalnummer och volym håller sig inom givna gränser. (Dawson s. 251) Instuderingsfrågor 1. I vilka moder kan man öppna en textfil? 2. Ge två olika förslag på hur man kan läsa in alla rader från en fil. 3. Varför vill man låta ett program skriva ut data på en fil? 4. Vilka typer av data kan man konservera (pickle)? 5. Hur återställer man konserverade data? 6. När används särfall (exception)? 7. Ge exempel på ett inbyggt särfall! 8. Vad är relationen mellan klass och objekt?

DD1311 CL1 2008-2009 11 9. Vad är en metod? 10. Hur fungerar en konstruktor? 11. Hur kommer man åt ett objekts attribut? 12. Vad kännetecknar klassattribut och statiska metoder? 13. Varför ska man använda metoder för att ändra ett objekts attribut? 14. Vad händer om man har två understreck i början av metodnamnet?

12 DD1311 CL1 2008-2009 Laboration 5 Objektorienterad programmering, arv, polymorfism, moduler Denna labb redovisas på veckans gruppmöte. Ta med utskrifter av dina program samt dina svar på instuderingsfrågorna. Vid redovisningen ska du kunna förklara både program och svar för dina kurskamrater och din assistent. Tips till mig själv inför labben: Program Krav för programmen i labb 5: Klassen ska ha lämpliga attribut och metoder. Använd olika namn för attributen och metoderna. Kommentera alla metoder. 1. Hitta på en egen klass Klassen ska ha flera attribut och metoder. Skapa ett objekt och testa att metoderna fungerar. 2. Skapa flera objekt Skriv först ihop en textfil med data för flera objekt. Låt programmet läsa in data från textfilen...... och skapa objekt som läggs i en lista. Låt till sist programmet skriva ut alla objekten. Instuderingsfrågor 1. Föreslå något som kan representeras med en klass. 2. Vilka attribut ska din klass ha? 3. Och vilka metoder? 4. Rita ett objekt (med exempeldata) som är en instans av din klass. 5. Vad används metoderna str och cmp till? 6. Hur går det till när ett objekt skickar ett meddelande till ett annat? 7. Föreslå ett program där objekt behöver interagera.

DD1311 CL1 2008-2009 13 8. Hur strukturerar man många objekt av samma typ i sitt program? 9. Rita ett exempel på en sådan struktur. 10. Hur lägger man upp en utskrift av data från alla objekten? 11. Vad används arv (inheritance) till? 12. Hur skriver man om man vill att en klass ska ärva från en annan? 13. Ge ett exempel på polymorfism. 14. Hur gör man en egen modul?