Z SOiSK
(Różnica między stronami)
Przejdź do nawigacji
Przejdź do wyszukiwania
|
|
| Linia 1: |
Linia 1: |
| __FORCETOC__
| | Lego Mindstorms |
| | |
| ==Deklarowanie stałych==
| |
| | |
| <pre>
| |
| #define a 75
| |
| #define b 5000
| |
| task main()
| |
| {
| |
| OnFwd(OUT_BC, a);
| |
| Wait(b);
| |
| Off(OUT_BC);
| |
| }
| |
| </pre>
| |
| | |
| Do deklarowania stałych służy <code>#define</code>. Następnie podajemy '''nazwę''' i '''wartość'''. Efekt działania programu jest oczywisty. Jak ktoś nie rozumie, proszę przeczytać [[NXC sterowanie serwomotorem]]
| |
| | |
| ==Deklarowanie zmiennych==
| |
| | |
| Możemy zadeklarować następujące typy zmiennych:
| |
| *bool
| |
| *byte
| |
| *char
| |
| *int
| |
| *short
| |
| *long
| |
| *unsigned
| |
| *float
| |
| *mutex
| |
| *string
| |
| *Structures
| |
| *Arrays
| |
| | |
| Zmienne są świetnie opisane w dokumentacji [http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/vars.html]
| |
| | |
| ===Przykład użycia zmiennej typu integer===
| |
| | |
| Poniżej prosty program powodujący, że robot jedzie ze zmienną prędkością. Co 1 sekundę moc serwomotorów zwiększa się o 20%.
| |
| | |
| <pre>
| |
| int a;
| |
| task main()
| |
| {
| |
| a=20;
| |
| repeat(4)
| |
| {
| |
| OnFwd(OUT_BC, a);
| |
| Wait(1000);
| |
| a+=20;
| |
| }
| |
| Off(OUT_BC);
| |
| }
| |
| </pre>
| |
| | |
| '''Przeanalizujmy'''
| |
| | |
| <code>int a;</code> deklaracja zmiennej a, w tym przypadku jest to zmienna globalna.
| |
| | |
| <code>a=20;</code>Przypisaliśmy wartość do zmiennej.
| |
| | |
| <code>repeat(4)</code>kod między {} ma się powtórzyć 4 razy.
| |
| | |
| <code>OnFwd(OUT_BC, a);</code> Serwomotory B i C mają moc przypisaną do zmiennej a.
| |
| | |
| <code>a+=20;</code>Można też to zapisać <code>a=a+20;</code>, czyli wartość a jest zwiększana o 20.
| |
| | |
| [[Category:Lego Mindstorms]]
| |
Aktualna wersja na dzień 17:02, 6 sty 2014