Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att programmera Variabler printf scanf Föreläsning 2 Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera Studieanvisningar K2 King (läroboken) kapitel 2 E excercises, näst sist i varje kapitel P - programming projects, sist i varje kapitel Kompilera och kör ett helloworld-program (K2 E1,s33) Kompilera och kör enkelt program och resistorer från föreläsningen. Pröva att modifiera och experimentera med koden LEK! Frivilligt: Skumma snabbt igenom kapitel 1. Läs igenom kapitel 2 Speciellt 2.6 som vi inte pratat om men ni ska kunna! Gör K2 P1, P2, P3 (sid 33-34) Läs igenom kapitel 3, fastna inte på detaljer, har du sett dem nu hittar du tillbaka när du behöver dem Gör K3 E1, P1, P6 (sid 49-51)Observera att boken ibland inte tänkt sig att man ska programmera excercises men det är ändå oftast bästa sättet att göra dessa. Gör inlämningsuppgift 1 - inlämnas via KTH-social senast om 3 (fredag 5 augusti) Gör Cd-skiv-uppgiften som följer i denna föreläsning. Lös uppgiften steg för steg och kompilera hela tiden. Tjuvtitta på mina steg vid behov. Gör K4 E1, P1, P2 (sid 68, 71) Läs igenom kapitel 4 och kapitel 5 (hoppa över 83-90). Ha datorn redo och testprogrammera medans du läser så att du ser att du förstått. Skriv ett program som läser in två heltal i två variabler a och b med hjälp av scanf. Skriv kod som byter värdena så att a får värdet som lästs in till b och b får värdet som lästs in till a (tips: behövs en temporär variabel). Skriv ut a och b så att du ser att det fungerar. Gör K5 E1, E2, E9, P1, P4, P7 Gör inlämningsuppgift 2 - inlämnas via KTH-social senast om 3
Föreläsning 3 Loopar Flödesscheman while for Datatyper Konvertering V37 Tutorial 1 Problemlösning Skriv tre while-loopar som skriver ut följande: a) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, b) 10,9,8,7,6,5,4,3,2,1, c) 1, 2, 4, 8, 16, Skriv tre for-loopar som skriver ut ovanstående. Läs 6.1-6.3 (testa på datorn samtidigt som du läser) Gör om cd-skivsprogrammet så att användaren efter att ha fått reda på priset får frågan om hon vill göra ett nytt köp eller avsluta. Om användaren vill göra ett nytt köp ska programmet köra igen. På så sätt kan man göra valfritt antal köp innan programmet avslutar. Gör K6 P1, P2, P3 (sid 122-123) Skumma igenom 7.1 och 7.2. Läs om oktala och hexadecimala tal sid 128 ordentligt om du inte kan detta. Läs 7.3 sid 134-135 och 7.3 andra halvan av sid 139 Gör K7 P15 (fakultet: 4! = 1 2 3 4) Gör inlämningsuppgift 3 - inlämnas via KTH-social senast om 3 Börja arbeta med laboration 1 Måndag 8-10 grupp 1, 10-12 grupp 2, 13-15 grupp 3 Tisdag 8-10 grupp 4, 10-12 grupp 5 Gruppindelning efter första bokstav i efternamnet på KTH-social. Gör klart uppgifterna från tutorial 1 Gör klart laboration 1 Tutorial 2 switch break, (continue), goto Kommentarer Problemlösning Fredag 12 september Laboration 1 Onsdag 8-10 grupp 1, 10-12 grupp 2, 13-15 grupp 3 Torsdag 8-10 grupp 4, 10-12 grupp 5 Gör klart uppgifterna från tutorial 2 Skicka in lösning via KTH-social senast 11 september Boka redovisningstid senast 11 september kl 15.00 på Nicklas dörr
v38 Föreläsning 4 Arrays Arrays Slumptal 2D Arrays sizeof boolska variabler konstanter variabelinitiering Sortering Föreläsning 5 Funktioner Vad är en funktion och hur gör man Varför använder vi funktioner Biblioteksfunktioner (math) Lokala och globala variabler Olika antal in- och ut-parametrar Arrays som inparametrar Top-downprogrammering Tutorial 3 Träning på att dela upp problem med funktioner Skriv ett program som läser in 10 siffror från användaren till en array och som sedan kontrollerar hur många åttor arrayen innehåller och skriver ut detta Skriv ett program som lagrar 2 slumptal i en array och sedan sorterar dessa Försök att förstå sorteringsalgoritmen och ändra sedan koden så att den sorterar med störst först Läs 7.6 och Boolean Values in C89, samt in C99 sid 85 i 5.2 Läs 8.1, observera att variabel-initiering är mycket viktigt Gör K8 P1, P2, P3 Börja med att sätta dig in i programmet! Vad gör n%10? 234%10 ger 4 Vad gör n/=10? 234/=10 ger 23 Läs 8.2 och 8.3 (8.3 har vi inte heller gått igenom!) Gör K8 P7 Gör inlämningsuppgift 4 - inlämnas via KTH-social senast om 3 Gör P9 om du hinner Svara på instuderingsfrågor Gör K9 E1, E2, E3. Skriv också ett huvudprogram som testar att dina funktioner fungerar som det är tänkt. Läs 9.1-9.5 Gå tillbaka till bubbelsorteringsprogrammet och försök dela upp det i funktioner på lämpligt sätt. Använd inga globala variabler. Läs första delen av 9.6 (sid 204-205) Skriv en fakultetsfunktion liknande den i boken (9.6) men lägg till en printf sats som skriver ut värdet på n. Anropa sedan funktionen från main och se hur den anropar sig själv. Gör K9 P6, P8 Läs kapitel 10, jobba igenom programexemplet i 10.5! Gör K10 P2 Gör inlämningsuppgift 5 - inlämnas via KTH-social senast om 3 Svara på instuderingsfrågor Börja arbeta med laboration 2 Torsdag 10-12 grupp 1, 13-15 grupp 2 Fredag 8-10 grupp 3, 10-12 grupp 4, 13-15 grupp 5 Fortsätt arbeta med laboration 2 V39 Föreläsning 6 Reserv / repetition Gör inlämningsuppgift 6 - inlämnas via KTH-social senast om 3 Avsluta laboration 2
V40 Föreläsning 7 Pekare Vad är en pekare och hur deklarerar vi en Adressoperatorn och värdeoperatorn Användning Array som parameter Fredag 26 september Laboration 2 Föreläsning 8 strängar Litteraler Hur lagras strängar Initialisering Skriva ut och läsa in strängar Enskillda tecken i sträng <string.h> Array av strängar Sortering av strängar Föreläsning 9 Struct Vad är en struct? Deklarera och använda Initiera och kopiera Struct som parameter och returvärde till funktioner Arrayer av structar En databas Gör inlämningsuppgift 7 - inlämnas via KTH-social senast om 3 Skicka in lösning via KTH-social senast 25 september Boka redovisningstid senast 25 september kl 15.00 på Nicklas dörr Gör inlämningsuppgift 8 - inlämnas via KTH-social senast om 3 Påbörja arbetet med laboration 3. Gör inlämningsuppgift 9 - inlämnas via KTH-social senast om 3 V41 Föreläsning 10 Input / Output Gör inlämningsuppgift 10 - inlämnas via KTH-social senast om 3
Föreläsning 11 Stora program Tentamen Lab 3 Se längst bak i föreläsningspresentationen. V42 Föreläsning 12 Reserv Fredag 17 oktober Laboration 3 Skicka in lösning via KTH-social senast 16 september Boka redovisningstid senast 16 september kl 15.00 på Nicklas dörr LAB1, TEN1, TEN2 v43- v44 se tentamenschema och KTH-social Nicklas Brandefelt och Anders Cajander