Lär dig C#-programmering, del 4

lär dig c# May 26, 2020
 

Här på distansakademin.se erbjuds du utbildning inom programmering på distans helt gratis och detta är den andra lektionen i vår kurs "Grundläggande programmering i C#". Registrera dig gratis för att bl.a.:

  • Ladda ned koden vi skriver.
  • Ta del av kommentarer och svar.
  • Få feedback på koden du skriver.

I denna lektionen lär vi oss om Loopar, som används för att köra samma kod flera gånger i rad. Vi kommer börja med den enklaste typen av Loop. Vi ska göra ett program som ber användaren om ett nummer och sedan räknar till det numret i konsollen.

Byt ut koden mellan de innersta måsvingarna till följande

Console.WriteLine("Vad vill du räkna till?");
string input = Console.ReadLine();
int countTo = int.Parse(input);

Här frågar vi användaren om ett nummer, konverterar det användaren skrivit in till ett heltal och sparar det i variabeln countTo.

För att skapa loopen som kör vår kod skriver vi:

int count = 0;

while(count < countTo)
{
    count++;
    Console.WriteLine(count);
}

Här skapar vi en ny variabel som heter count där vi sparar en nolla. Efter detta skapar vi en while-loop som upprepas så länge count är mindre än countTo. Inne i loopen ökar vi count med ett (nu är alltså count = 1) och sedan skriver vi ut count i konsollen. Koden i loopen (koden mellan måsvingarna efter raden som börjar på while) upprepas om och om igen tills count inte längre är mindre än countTo. Eftersom count ökar med ett varje gång koden i loopen körs kommer koden köras så många gånger som användaren skrivit in. 
Skriver användaren exempelvis in ”4” kommer programmet skriva ut 1, 2, 3 och 4 på varsin rad i konsollen.

Om vi istället vill köra koden inuti while-loopen ett obestämt antal gånger och inte vill bestämma i förväg hur många gånger den ska köras (exempelvis om vi samlar in namn på deltagare på en fest och inte i förväg vet exakt hur många gånger loopen ska köras), kan vi använda if-satser i vår loop tillsammans med break för att avsluta loopen inifrån.

Ersätt koden vi skrivit hittills med följande:

while(true)
{
    Console.WriteLine("Skriv ditt namn. Skriv exit för att avsluta.");
    string name = Console.ReadLine();
    
    if(name == "exit")
    {
        break;
    }
    
    Console.WriteLine("Namnet var " + name.Length + " tecken långt");
}

Console.WriteLine("Tack för din tid");

Här tar vi emot ett namn inuti loopen och sparar namnet som användaren skriver in i variabeln name. När användaren fyllt i ett namn kollar vi först (i if-satsen) om namnet är exit, är det det avslutar vi loopen genom att skriva break. Är namnet som användaren skrivit inte lika med exit kommer vi fortsätta i loopen och köra den sista koden i loopen som skriver ut hur långt namnet var.

Kör programmet för att testa att det fungerar som det ska.

Nästa loop vi ska titta på är for-loopen, den är mycket bra för att göra en räknare (som vi gjorde tidigare denna lektionen). Såhär skriver vi en for-loop:

for(int counter = 0; counter < 10; counter++)
{
    Console.WriteLine(counter);
}

Console.WriteLine("Räknat klart");

Denna kod skriver ut alla tal från och med noll till och med nio, alltså tio tal från noll. 
For-loopen skiljer sig från while-loopen genom att den har tre uttryck (separerade med semikolon) mellan parenteserna:

  • int counter = 0; sätter for-loopens startpunkt till noll, vilket gör att vår räknare börjar räkna på noll.
  • counter < 10; villkoret som används för att avgöra hur länge loopen ska köras och när loopen ska sluta köras.
  • counter++ räknaren som körs varje gång loopen upprepas.

Testa att starta programmet och kontrollera att det fungerar som det ska.
Såhär väljer ni om ni ska använda en for-loop eller en while-loop:

  • En while-loop använder ni när ni inte vet exakt hur många gånger en loop ska utföras, då det avgörs inuti loopen. Som i vårt exempel ovan, där användaren fick avsluta loopen genom att skriva exit.
  • En for-loop använder ni när ni vet i förväg hur många gånger en loop ska köras. Exempelvis som vi gjorde ovan, då vi visste att loopen skulle köras exakt tio gånger.

Nu har vi lärt oss loopar!

Övningar

Gör följande övningar innan du markerar avsnittet som klart

  • Ändra exemplet med for-loopen så att den räknar nedåt istället för uppåt.
  • Gör ett spel där användaren får gissa ett nummer.
Close

50% Complete

Two Step

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.