Programmering – DVA117, HT2016­P3 Block 1 ‐ Laboration 1 Denna laboration är en del av Block 1. Hela Block 1, som består av laboration 1‐4, ska redovisas muntligt på redovisningstillfälle enligt schemat. På Blackboard kommer det anslås hur redovisningen går till. Det är upp till dig att välja en utvecklingsmiljö (Integrated Development Environment, IDE) att skapa dina program i. det finns många alternativ, bland annat: ● Code::blocks: ​
http://www.codeblocks.org/ ● Visual studio express (Windows): https://www.visualstudio.com/en‐us/products/visual‐studio‐express‐vs.aspx ● XCode (Mac): https://developer.apple.com/xcode/download/ Code::blocks och Visual studio ska finnas installerat i samtliga datorsalar. Läs uppgifterna noga! Lösningarna ska följa specifikationerna/kraven i uppgifterna för att bli godkända. Labbassistenterna under schemalagda labbtillfällen kan hjälpa er komma igång, hjälpa er om ni kör fast samt ge allmäna tips. (för de som programmerat förut: globala variabler, ​
goto​
‐satsen och statiska variabler får ej användas i labbuppgifterna) Uppgift 1 – Bekanta dig med din kompilator Den här övningen ska hjälpa dig att bli bekant med den kompilator som du använder. När något fel uppstår i ett program ger kompilatorn ifrån sig ett felmeddelande för att hjälpa dig. Tyvärr är inte alla felmeddelanden så upplysande som man skulle önska. Kopiera eller skriv in programmet på nästa sida i din utvecklingsmiljö. Kompilera programmet och kontrollera att du inte får några felmeddelanden. Om du kopierar bör du skriva om alla citationstecken ( ” ) då de ofta blir fel sort vid kopiering. 1(3) Akademin för Innovation, design och teknik Stefan Bygde Programmering – DVA117, HT2016­P3 #include <stdio.h> /* program som skriver ut några heltal */ int​
main(​
void​
){ ​
int​
a, b, c; a=1; b=2; c=3; printf(​
”Variabel a:%d, b:%d, c:%d \n”​
, a, b, c); ​
return​
0; } Skapa nu följande sju fel i programmet (ett i taget) och notera vilka felmeddelanden de olika felen genererar. Detta för att du lättare ska förstå och kunna hitta fel i dina egna program framöver. Se till att programmet kompilerar och körs korrekt mellan varje fel du introducerar. Gör ett fel i taget 1. Byt första kommat i deklarationen till ett semikolon. 2. Byt ut ​
printf​
till ​
prinf 3. Ta bort det andra citationstecknet ( ​
”​
) i kontrollsträngen till ​
printf 4. Byt ut listan ​
a, b, c​
mot ​
a, b, c, c 5. Ta bort semikolonet ( ​
;​
) i slutet av ​
printf​
‐satsen 6. Ta bort sista krullparentesen ( ​
}​
) 7.Ta bort satsen ​
return 0; _______________________________________________________________ Uppgift 2 – Mitt första program Öppna ett nytt projekt och skapa ett program som frågar användaren efter två heltal. Summera dessa heltal och presentera resultatet av additionen på skärmen. Exempelkörning: Ange ett tal: ​
6 Ange ytterligare ett tal: ​
23 6 + 23 = 29 _______________________________________________________________ 2(3) Akademin för Innovation, design och teknik Stefan Bygde Programmering – DVA117, HT2016­P3 Uppgift 3 – Vinkel Skriv ett program som frågar efter en positiv vinkel i hela grader och skriver ut om vinkeln är spetsig (mindre än 90 grader), trubbig (större än 90 grader) eller rät. Skriv ut ett felmeddelande ifall användaren skriver ett tal som är negativt eller större än 360. Exempelkörning: Ange en positiv vinkel i hela grader: ​
98 Vinkeln är trubbig! _______________________________________________________________ Uppgift 4 – Morsekod 4.1 Skriv ett program som frågar efter en siffra mellan 0 och 5 och skriver ut motsvarande morsekod. Använd en ​
switch​
‐sats och skriv ut ett felmeddelande ifall användaren skriver en siffra som inte ligger mellan 0 och 5. Morsekoderna för 0 till 5 är: 0 ­­­­­ 1 .­­­­ 2 ..­­­ 3 ...­­ 4 ....­ 5 ..... Exempelkörning: Ange en siffra: ​
3 Morsekod: ...­­ 4.2 Utöka nu programmet så att användaren får en fråga om denne vill fortsätta eller avsluta programmet. Detta gör du genom att lägga en loop runt det du skrivit hittills. Användaren kan t.ex. skriv in en etta (1) för att köra en gång till eller en nolla (0) för att avsluta. Vill du köra en gång till (1 för ja, 0 för nej)? ​
1 Ange en siffra: ​
5 Morsekod: ..... Vill du köra en gång till (1 för ja, 0 för nej)? ​
0 3(3) Akademin för Innovation, design och teknik Stefan Bygde