NXC instrukcje warunkowe i pętle
Instrukcje warunkowe
Jak w innych lekcjach dotyczących NXC zakładam, że znasz C. Dlatego nie tłumaczę wszystkiego.
IF
if (warunek) instrukcja
Instrukcja jest wykonywana tylko jeśli warunek jest prawdziwy.
Przykład:
task main()
{
if (Random(2)> 0) PlaySound(SOUND_DOUBLE_BEEP);
}
Random(2)Losuje liczbę z zakresu 0-2
PlaySound(SOUND_DOUBLE_BEEP)Podwójny brzęczyk
Ten prosty program wydaje podwójny brzęk, jeśli (IF) wylosowana liczba jest większa od zera.
IF ELSE
if (warunek) instrukcja1 else instrukcja2
Jeśli spełniony jest warunek wykonywana jest instrukcja, w przeciwnym razie (ELSE) wykonywana jest instrukcja alternatywna.
Przykład:
task main()
{
if (Random(2)> 0)
PlaySound(SOUND_DOUBLE_BEEP);
else
PlaySound(SOUND_LOW_BEEP);
}
Jeśli (IF) wylosowano liczbę większą od zera gra podwójny brzęczyk, w przeciwnym razie (ELSE) słychać LOW_BEEP.
Pętle
WHILE
while (warunek) instrukcja
Pętla działa tak długo, jak długo spełniony jest warunek.
Przykład:
task main()
{
while (true)
{
PlaySound(SOUND_DOUBLE_BEEP);
}
}
W tym akurat przypadku pętla będzie nieskończona, gdyż warunek zawsze jest prawdziwy while (true)
DO WHILE
do instrukcja while (warunek)
Przykład:
task main()
{
do
{
PlaySound(SOUND_DOUBLE_BEEP);
} while(Random(10) < 7);
}
W wyniku tego programu brzęczyk działa dopóki nie zostanie wylosowana liczba < 7.
FOR
for(instrukcja1 ; warunek ; instrukcja2) ciąg instrukcji
Przykład:
task main()
{
for (int i=0; i<11; i++)
{
NumOut(0, LCD_LINE1, i);
Wait(1000);
}
}
for (int i=0; i<11; i++)przypisuje do zmiennej i wartość 0, wykonuje ciąg instrukcji między { } tak długo aż i < 11, i++ odpowiada za zwiększanie i o jeden przy każdej nowej pętli.
NumOut(0, LCD_LINE1, i)Wyświetla w pierwszej linii wartość i.
Wynikiem tego kodu jest wyświetlanie wartości i, czyli od 0 do 10, z przerwami 1 sekundowymi.
REPEAT
repeat (wyrażenie) ciąg instrukcji
Przykład:
task main()
{
int i=0;
repeat (11)
{
NumOut(0, LCD_LINE1, i++);
Wait(1000);
}
}
Działa analogicznie jak wcześniejszy przykład. Wyświetla wartość i, czyli początkowo 0. Czynność jest powtarzana (repeat) 11 razy, przy każdej pętli wartość i zwiększana jest o 1. W rezultacie wyświetla liczby od 0 do 10.