Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! 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 Det är alltid bra att göra fler uppgifter än de listade om man hinner! 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! Gör K2 P1, P2, P3 (sid 33-34) 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. Frivilligt: Skumma snabbt igenom kapitel 1. Läs igenom kapitel 2 Speciellt 2.6 som vi inte pratat om men ni ska kunna! 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 Cd-skiv-uppgiften från 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) 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 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.
V36 Föreläsning 3 Flödesscheman while for Datatyper Konvertering Föreläsning4 Problemlösning Föreläsning 5 switch break, (continue), goto Kommentarer Problemlösning Fredag 9 september Laboration 1 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. 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) Gör K7 P15 (fakultet: 4! = 1 2 3 4) Börja arbeta med laboration 1 Läs 6.1-6.3 (testa på datorn samtidigt som du läser) 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 klart uppgifterna från föreläsningen Gör klart laboration 1 Gör klart uppgifterna från föreläsningen Boka redovisningstid senast 8 september kl 15.00 vid Nicklas rum
v37 Föreläsning 6 Arrays Slumptal sizeof bool i c99 Sortering Föreläsning 7 Funktioner Bibliotek (math) Lokala och globala variabler In- och ut-parametrar Arrays som inparametrar Top-downprogrammering Föreläsning 8 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 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 Gör K8 P7 Gör P9 om du hinner Läs 7.6 och Boolean Values in C89, samt in C99 sid 85 i 5.2 Läs 8.1 som vi inte gått igenom men som ni ska kunna Läs 8.2 och 8.3 (8.3 har vi inte heller gått igenom!) 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. Gå tillbaka till bubbelsorteringsprogrammet och försök dela upp det i funktioner på lämpligt sätt. Använd inga globala variabler. 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 Gör K10 P2 Läs 9.1-9.5 Läs första delen av 9.6 (sid 204-205) Läs kapitel 10, jobba igenom programexemplet i 10.5! Svara på instuderingsfrågor Börja arbeta med laboration 2 Fortsätt arbeta med laboration 2 V38 Föreläsning 9 Reserv / repetition Avsluta laboration 2 Gör klart tentauppgifterna från föreläsningen Föreläsning 10 Pekare Adressoperatorn och värdeoperatorn Användning Array som parameter Gör K11 E1, E2, E3, E4, E6. Skriv också huvudprogram som testar att dina funktioner fungerar som det är tänkt. Lek gärna lite fritt med pekare. Läs11.1-11.4 Frivilligt 12 (om du är redo är det jättebra)
Fredag 23 september Laboration 2 V39 Föreläsning 11 Litteraler Strängar <string.h> Array av strängar Sortering av strängar Föreläsning 12 struct struct och funktioner Arrayer av structar En databas Boka redovisningstid senast 22 september kl 15.00 vid Nicklas rum Gå igenom föreläsningen och programmera exemplen, glöm inte <string.h> och experimentera med koden. Försök fixa sorteringsfunktionen till vår array (hjälp finns sist i föreläsningen men försök utan) Hade du svårt med sorteringsfunktionen och/eller använde mycket hjälp gör K13 P1 Skriv en egen funktion som returnerar längden av en sträng. Påbörja arbetet med laboration 3. Läs igenom 13.1-13.5 Om du läst kapitel 12 är det kul och nyttigt att läsa igenom 13.6 och programmera exemplen. Läs igenom föreläsningen och programmera exemplen och experimentera Lägg till funktionen som skriver ut alla bilar i registret i vårt bilregisterprogram. Utskriften ska se ut enlig nedan: 1. Bil: Volvo, Årsmodell: 2011, Mil: 3000 2. Bil: Saab, Årsmodell: 2000, Mil: 5000 3. Bil: Fiat, Årsmodell: 1999, Mil: 40000 Ändra programmet så att det startar med en meny enligt nedan. Beroende vad man väljer anropas rätt funktion. Sedan får användaren en ny chans att välja ända tills hen väljer avsluta. Registrera bilar Skriv ut alla bilar Avsluta Lägg till ett menyalternativ som är Öka mil där man ska kunna välja en bil genom att ange dess plats i registret och sedan kan öka antalet mil den har gått. Så för att öka fiatens mil ovan anger man 3. Gör K16 E10 Skumma igenom 16.1. Läs 16.2-16.3 tom halva sid389
V40 Föreläsning 13 Strömmar (streams) Binärfiler och textfiler fprintf fscanf Läsa in till bilregistret Skriva och läsa binärt i bilregistret Läs igenom föreläsningen och programmera exemplen och experimentera Lägg till funktionalitet som skriver ut alla bilar i registret i vårt bilregisterprogram till en textfil när man väljer avsluta. Lägg till så att man när bilregistret startar kan välja att ange en textfil som programmet läser in bilar från till arrayen. Se till att du matchar inläsningen med hur du skrev ut. Observera att alla bilar läses in först i körningen och alla bilar skrivs ut sist i körningen. Under resten av programmet förekommer ingen filhantering. Om du vill kan du göra en version av bilregistret som läser och skriver binärt Om du vill kan du skumma igenom kapitel 22. Det finns mycket användbart men också mycket som inte ingår och texten är något svårtillgänglig så det är ok att hoppa läsningen och fokusera på föreläsningsanteckningarna denna gång. Föreläsning 14 Stora program Tentamen Lab 3 V41 Föreläsning 15 Reserv Fredag 14 oktober Laboration 3 Skicka in lösning via https://maceo.sth.kth.se senast 13 september kl 15.00. Boka redovisningstid senast 13 september kl 15.00 vid Nicklas rum V43 LAB1, TEN1, TEN2 se schema Nicklas Brandefelt