050 if-sats

If-sats

Idé

Kasta mynt som visar krona eller klave.

Flödesschema

Pseudokod

  kasta mynt
  skriv ut vad myntet visar

mer som kod

  skapa variabel för att spara ett tal
  slumpa tal, 0 eller 1, och spara
  om talet är 0 -> skriv ut krona
  annars -> skriv klave

Kod i funktionen setup()

Kod på GitHub

  // möjliggör överföring till dator från Arduino
  // överföringshastiheten är 9600 bitar,ettor eller nollor,
  // per sekund
  Serial.begin(9600);

  // för att det inte ska bli samma slumptal
  // varje gång som programmet körs
  randomSeed(analogRead(A0));

  // variabel för att spara ett heltal
  int slumptal;

  // slumpa tal och spara i variabeln
  // möjliga tal 0, 1, (men inte 2)
  slumptal = random(2); 

  if (slumptal == 0)
  {
      Serial.println("krona");
  }
  else 
  {
      Serial.println("klave");
  }

Teori - operatorer

Operatorer för jämförelse

  < mindre än
  > större än
  == lika
  <= mindre eller lika
  >= större eller lika
  != inte lika

  ! betyder inte

Kombinera villkor

Vilkoret

  0 < x < 10

Måste skrivas som ett kombinerat villkor se nedan, där && betyder och.

  0 < x && x < 10

Utmaing - if-sats

  kasta två tärningar
  visa resultat
  om lika skriv ut vinst
  annars skriv ut förlust

If med else if

Idé

Kasta tresidig tärning och visa resultatet i form av tärningsögon på datorn.

Flödesschema

Pseudokod

  slumpa tal: 1, 2 eller 3
  om 1    -> visa en prick    
  om 2 -> visa två prickar
  annars -> visa tre prickar

Kod i funktionen setup()

Kod på GitHub

  // möjliggör överföring till dator från Arduino
  // överföringshastiheten är 9600 bitar,ettor eller nollor, per sekund
  Serial.begin(9600);

  // för att det inte ska bli samma slumptal
  // varje gång som programmet körs
  randomSeed(analogRead(A0));

  // variabel för att spara ett heltal
  int slumptal;
  // slumpa tal och spara i variabeln
  // möjliga tal 1, 2, 3, (men inte 4)
  slumptal = random(1, 4); 

  if (slumptal == 1)
  {
      Serial.println("");
      Serial.println("    * ");
      Serial.println("");
      Serial.println();
  }
  else if (slumptal == 2)
  {
      Serial.println("*");
      Serial.println("");
      Serial.println("        *");
      Serial.println();
  }
  else
  {
      Serial.println("*");
      Serial.println("    * ");
      Serial.println("        *");
      Serial.println();
  }

Typisk output i seriell monitor

Utmaning

  kasta två tärningar
  om båda visar sex skriv ut storvinst
  annars om båda är lika skriv ut vinst
  annars skriv ut förlust