4015 intro C sharp
Ladda ner exempelkoden från GitHub. Snabblänk till koden. Öppna projektet och kör koden. Studera koden och vad den gör.
Lärandemål
Kunna skriva kod för följande i ett program.
- utskrift till konsoll
- variabler
- if-sats
- inläsning från tangentbord
- while-slinga
- for-slinga
- vektor (eng. array)
- klassen List
- foreach-slinga
- metodanrop
- metoddefinition
Framgångskriterier
För samtliga kriterier gäller det att kunna skriva ett program som löser det.
För alla framgångskriterierna längre ner gäller från lägre till högre:
- Jag kan ... om jag tittar på annan likartad kod.
- Jag kan ... om jag får använda kompilatorn samt testköra koden för att se att den gör det den ska.
- Jag är säker på att koden gör det den ska utan att kompilera eller köra den.
Lista med framgångskriterier:
- Jag kan skriva ut en text till konsollen.
- Jag vet vad en variabel är och vad den används till.
- Jag kan deklarera en variabel samt ge den värdet 5.
- Jag kan deklarera variabler som kan innehålla ett heltal, ett decimaltal, en text, eller en bokstav.
- Jag kan skriva ut en variabels värde till konsollen.
- Jag kan läsa in en text från tangentbordet, samt spara den i en variabel.
- Jag kan skriva en if-sats.
- Jag kan skriva en if-sats som också har else if.
- Jag kan deklarera en vektor samt läsa in värden till den.
- Jag kan anropa metoder (i samma klass).
- Jag kan skicka med en parameter vid metodanrop.
- Jag kan spara ett returvärde från ett metodanrop i en variabel.
- Jag kan definiera en metod som gör något.
- Jag kan definiera en metod som tar en parameter.
- Jag kan definiera en metod som returnerar ett värde.
Övningar
Gör en ny konsollapplikation (Core). Difference between net core 3.1 and net core 6. För den här övningen spelar det ingen roll vilket av de båda som du väljer.
Lägg din kod i två klasser som i exempelkoden. Klassen Program finns från början. I den ligger Main-metoden.
Lägg till en klass Solution. I den skriver du metoder som du anropar från Main-metoden i klassen Program.
När du är klar lägger du din kod på GitHub och lämnar in en länk till din lärare.
class Program
{
static void Main(string[] args)
{
Solution lösning = new Solution();
// kör koden för uppgift 1A
lösning.Uppgift_1A();
// kör koden för uppgift 1B
lösning.Uppgift_1B();
}
}
class Solution
{
// konstruktor
public Solution()
{
}
public void Uppgift_1A()
{
// lösning till uppgiften här
}
public void Uppgift_1B()
{
// lösning till uppgiften här
}
}
1. utskrift och inmatning samt variabler
A.
Fråga efter användarens namn och läs in det.
Skriv ut: Hej Ada. Varmt välkommen.
Ovan är Ada användarens namn.
B.
Deklarera två variabler bredd
och höjd
.
Ge dem värdena 9.6 samt 5.4.
Deklarera en variabel area
. Beräkna arean av triangeln och spara den i area
.
Skriv ut all information som nedan:
bredd = 9.6
höjd = 5.4
area = 25.92
C.
Läs in triangelns bredd och höjd från tangentbordet.
Beräkna arean.
Skriv ut informationen så att utseendet blir som ovan.
Tips:
// läs in tal som text
String text = Console.ReadLine();
// omvandla text till decimaltal
double decimaltal = Convert.ToDouble(text);
D.
Läs in två tal och skriv ut deras summa.
Tips:
// läs in tal som text
String text = Console.ReadLine();
// omvandla text till heltal
int tal = Convert.ToInt32(text);
2. if-sats
A.
Skriv ut gissa mitt favorittal.
Läs in ett tal.
Om talet är 3 skriv ut: Du gissade rätt
Annars skriv ut: du gissade fel
B.
Kasta tärning två gånger.
Skriv ut vad tärningarna visar.
Om tärningarna visar lika skriv ut: vinst
Om tärningarna visar olika skriv ut: förlust
3. while-slinga med räknare
Använd en while-slinga för att skapa talen nedan. Skriv ut talen.
A.
1, 2, 3, 4, 5
B.
5, 8, 11, 14, 17, 20
C.
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
4. for-slinga
Använd en for-slinga för att skapa talen nedan. Skriv ut talen.
A.
1, 2, 3, 4, 5
B.
5, 8, 11, 14, 17, 20
C.
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
5. while-slinga utan räknare
Be användaren gissa på ett tal.
Så länge som användaren inte gissar på 15 be användaren att gissa igen.
När användaren har gissat rätt skriv ut: du gissade rätt
6. tärningsspel
Kasta två sexsidiga tärningar
om båda är sexor skriv ut: storvinst
annars om de är lika skriv ut: liten vinst
annars skriv ut: förlust
7. vektor (eng. array)
A.
Lägg följande tal i en vektor: 3, 5, 7, 9, 11, 13
8. foreach-slinga
A.
Skriv ut talen i A ovan.
B.
Öka varje tal i vektorn med ett.
Skriv ut talen.
De nya talen ska då bli: 4, 6, 8, 10, 12, 14
9. metoddefinition och anrop
Be din lärare förklara metoddefinition och metodanrop med hjälp av följande exempel på GitHub.
A.
Deklarera en metod som skriver ut: Välkommen Agent X. Ditt uppdrag är ...
B. del 1
Läs in två tal. Skriv ut deras summa.
B. del 2
Skriv om programmet så att en metod beräknar summan av talen. Döp metoden till Addera
.
B. del 3
Skriv ett program som läser in tre tal. Skriv ut deras summa. Använd metoden Addera
för att lösa problemet. Kanske behöver du skriva en ny metod Addera2
som returnerar svaret istället för att skriva ut det. Det beror på hur du löste uppgiften ovan.
Tips:
Addera tal 1 och tal 2.
Addera summan med tal 3.
10. blandade övningar
A.
Läs in varor till en inköpslista. Läs in en vara i taget. Använd en vektor (eng. array) för att spara varorna.
När användaren inte vill skriva in fler varor skrivs inköpslista ut.
B.
Som i A, men använd klassen List istället för en vektor för att spara varorna.
C.
Jämför lösningen i A och B. Vilka för respektive nackdelar har respektive lösning.
Utvärdera
Når du framgångskriterierna? Om inte fråga en kamrat eller din lärare.