Yleisiä virheitä

Alla oleva koodinpätkä on yritys tehdä ohjelma, jossa moottoreita ajetaan 100 % teholla, niin kauan kunnes kosketusanturi painetaan pohjaan. Mutta puolipiste väärässä paikassa aiheuttaa ettei ohjelma toimi kuten on tarkoitettu.

task main()
{
  while (SensorValue[S1] == 1); // Puolipiste tässä on luultavasti virhe.
  {
    motor[motorB] = 100;
    motor[motorC] = 100;
  }
}

Yllä oleva koodi on kääntäjän kannalta sama kuin alla oleva, koska puolipiste while:n jälkeen tulkitaan lausekkeeksi, jota while toistaa.

task main()
{
  while (SensorValue[S1] == 1)
  {
    ; // Tyhjä lauseke, ei tee mitään.
  }

  // Alla oleva ei liity mitenkään yllä olevaan while:en.
  {
    motor[motorB] = 100;
    motor[motorC] = 100;
  }
}
  • No labels
You must log in to comment.