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.