# Tillämpad programmering - uppgiftsblad 4: funktioner ### Uppgift 1 Skriv en funktion som heter `Greeting` som ska skriva ut en hälsningsfras till terminalen, till exempel "Hej, välkommen!". Anropa din funktion tre gånger. ### Uppgift 2 Skriv en funktion som heter `DiceRoll` som slumpar en siffra mellan 1 och 6 och sedan skriver ut resultatet till terminalen. Anropa din funktion 3 gånger. ### Uppgift 3 Skriv en funktion som heter `DrawRectangle` som ritar en rektangel av `*`. Funktionen ska fråga användaren efter bredd och längd, och sedan rita en rektangel med så många stjärnor i längd och bredd. *Tips:* du kan multiplicera en text med en siffra för upprepa den flera gånger. Exempel på hur en körning av metoden kan se ut: ``` Skriv en bredd och höjd 4 6 **** **** **** **** **** **** ``` *Följande frågor handlar om funktion med returvärde och parametrar* ### Uppgift 4 Skriv en funktion som heter `AskQuestion(question, answer)`. Funktionen ska ta in en fråga och det korrekta svaret, sedan ställa frågan till användaren, be användaren att skriva in ett svar och kontrollera om det är rätt eller fel. Resultatet ska skrivas ut. Använd funktionen för att att göra ett litet frågesportsspel. ### Uppgift 5 Skriv ett program som slumpar en position på ett schackbräde. En schackposition består av en kolumn som betecknas med en liten bokstav från a till h samt en rad som betecknas med ett tal från 1 till 8. Några exempel på schackpositioner är a3, f1 och h5. Ditt program ska använda sig av följande metoder för att slumpa schackpositionen: `SlumpaRad` som returnerar ett tal från 1 till 8. `SlumpaKolumn` som returnerar en bokstav från a till h. *Tips* Du kan få ut en bokstav i en text genom att använda `[]`. `SlumpaPosition` som returnerar en hel schackposition, t.ex. a4. Denna metod ska använda sig av de båda andra metoderna när den anropas ### Uppgift 6 Skriv en funktion som heter `InBetween(a, b)`. Funktionen ska returna det tal som är mittemellan a och b. Tänk på att du behöver kolla vilket tal som är störst av a och b. ### Uppgift 7 Fundera på när du skulle kunna ha använt funktioner i tidigare uppgifter, till exempel i tärningsspelet. Du behöver inte skriva om din kod, men förklara ett exempel där metoder hade gjort ditt program bättre strukturerat. ### Utmaning: Skapa ett program som innehåller funktionen Tree(int bredd). Funktionen ska rita ut en julgran med den bredd (längst ner) som anges. Du kan anta att bredden som ges är ett udda tal. En julgran med bredd 7 ritad av denna metod ser ut så här: ``` * *** ***** ******* I ``` *Tips:* skapa först en funktion som tar in bredden på julgranen och antalet stjärnor på raden för att sedan skriva ut raden. Exempel: om du har bredden 7 och 3 stjärnor skriver metoden ut: `" *** "`