Arduino pēc nosacījuma pāriet uz programmas sākumu. Arduino cilpas. Stāvoklis un sazarojums programmas tekstā

Dizains priekš izmanto, lai atkārtotu cirtainos iekavās ievietotu paziņojumu bloku. Pieaugumu skaitītājs parasti tiek izmantots, lai palielinātu un pārtrauktu cilpu. Operators priekš Piemērots jebkurai atkārtotai darbībai un bieži tiek izmantots kopā ar datu/izvades vākšanas masīviem.

Cilpas galvene priekš sastāv no trim daļām:

priekš (inicializācija ; stāvokli ; pieaugums) (operatori, kas izpildīti cilpā)

Inicializācija tiek veikta vispirms un tikai vienu reizi. Katru reizi ciklā tiek pārbaudīts nosacījums, ja tas ir patiess, tiek izpildīts priekšrakstu bloks un palielinājums, tad nosacījums tiek pārbaudīts vēlreiz. Kad nosacījuma Būla vērtība kļūst nepatiesa, cilpa beidzas.

Piemērs

// LED aptumšošana, izmantojot PWM pin int PWMpin = 10; // LED virknē ar 470 omu rezistoru 10 kontaktiem void setup() ( // nav nepieciešama iestatīšana) void loop() ( for (int i=0; i<= 255; i++){ analogWrite(PWMpin, i); delay(10); } }

Cikls priekš C ir daudz elastīgāks nekā cilpas priekš citās programmēšanas valodās, piemēram, BASIC. Jebkuru vai visus trīs galvenes elementus var izlaist, lai gan ir nepieciešami semikoli. Arī cilpas inicializācijas, nosacījuma un pieauguma priekšraksti var būt jebkurš derīgs C priekšraksts ar neatkarīgiem mainīgajiem un izmantot jebkuru C datu tipu, tostarp pludiņus. Tie ir neparasti ciklam priekš operatoru veidi ļauj nodrošināt programmatūras risinājumu dažām nestandarta problēmām.

Piemēram, reizināšanas izmantošana cilpas skaitītāja operatorā ļauj izveidot logaritmisku progresiju:

For(int x = 2; x< 100; x = x * 1.5){ println(x); }

Ģenerēts: 2,3,4,6,9,13,19,28,42,63,94

Vēl viens piemērs, vienmērīga signāla līmeņa samazināšana vai palielināšana līdz LED, izmantojot vienu ciklu priekš:

Tukšuma cilpa())( int x = 1; ja (int i = 0; i > -1; i = i + x)( analogWrite(PWMpin, i); ja (i == 255) x = -1; / / pārslēgšanas vadība pie maksimālās aizkaves(10) )

Dizains priekš izmanto, lai atkārtotu cirtainos iekavās ievietotu paziņojumu bloku. Pieaugumu skaitītājs parasti tiek izmantots, lai palielinātu un pārtrauktu cilpu. Operators priekš Piemērots jebkurai atkārtotai darbībai un bieži tiek izmantots kopā ar datu/izvades vākšanas masīviem.

Cilpas galvene priekš sastāv no trim daļām:

priekš (inicializācija ; stāvokli ; pieaugums) (operatori, kas izpildīti cilpā)

Inicializācija tiek veikta vispirms un tikai vienu reizi. Katru reizi ciklā tiek pārbaudīts nosacījums, ja tas ir patiess, tiek izpildīts priekšrakstu bloks un palielinājums, tad nosacījums tiek pārbaudīts vēlreiz. Kad nosacījuma Būla vērtība kļūst nepatiesa, cilpa beidzas.

Piemērs
// LED aptumšošana, izmantojot PWM tapu int PWMpin = 10; // LED virknē ar 470 omu rezistoru 10 kontaktiem void setup() ( // nav nepieciešama iestatīšana) void loop() ( for (int i=0; i<= 255; i++){ analogWrite(PWMpin, i); delay(10); } }

Cikls priekš C ir daudz elastīgāks nekā cilpas priekš citās programmēšanas valodās, piemēram, BASIC. Jebkuru vai visus trīs galvenes elementus var izlaist, lai gan ir nepieciešami semikoli. Arī cilpas inicializācijas, nosacījuma un pieauguma priekšraksti var būt jebkurš derīgs C priekšraksts ar neatkarīgiem mainīgajiem un izmantot jebkuru C datu tipu, tostarp pludiņus. Tie ir neparasti ciklam priekš operatoru veidi ļauj nodrošināt programmatūras risinājumu dažām nestandarta problēmām.

Piemēram, reizināšanas izmantošana cilpas skaitītāja operatorā ļauj izveidot logaritmisku progresiju:

For(int x = 2; x< 100; x = x * 1.5){ println(x); }

Ģenerēts: 2,3,4,6,9,13,19,28,42,63,94

Vēl viens piemērs, vienmērīga signāla līmeņa samazināšana vai palielināšana līdz LED, izmantojot vienu ciklu priekš:

Void loop() ( int x = 1; for (int i = 0; i > -1; i = i + x)( analogWrite(PWMpin, i); if (i == 255) x = -1; // pārslēgšanas vadība ar maksimālo aizkavi(10) )

", mēs uzzinājām, kā izmantot "for" cilpu, lai organizētu kontroliera darbību. Šāda veida cilpa tiek izmantota visur un vairāk nekā sedz "vajadzību pēc cilpas darbībām". Tomēr ir arī cita veida cilpa - "kamēr". Tas nav labāks par for cilpu, tas vienkārši izmanto dažādus principus.

Vairumā gadījumu varat izvēlēties, kuru no diviem cilpu veidiem izmantot. Mēs izmantojām "kamēr", lai apturētu programmu, līdz lietotājs ievada nepieciešamos datus. Šajā nodarbībā mēs sīkāk aplūkosim, kā šī cilpa darbojas, izmantojot Arduino platformu kā piemēru.

Turpināsim strādāt ar ķēdi, kas sastāv no 2 gaismas diodēm.

Turklāt mēs turpināsim strādāt ar kodu, kuru pabeidzām 14. nodarbībā.

Atpakaļ pagātnē: kontrolieris pieprasa lietotājam datus, gaida ievadi un pēc tam piešķir iegūtās vērtības mainīgajiem blinkNumberGreen Un blinkNumberRed. Tas ļauj lietotājam kontrolēt, cik reižu mirgo katra no 2 LED.

Lai paplašinātu programmētāja pasaules uzskatu, ir vērts iemācīties izmantot divu veidu cilpas, lai īstenotu vienus un tos pašus uzdevumus, un nākotnē jūs varat demonstrēt simpātijas pret vienu vai otru veidu.

Izdomāsim, kā tas darbojas:

starpt z= 1; // deklarējiet mainīgo un piešķiriet tam vērtību 1

kamēr (z<=10) { //запускаем цикл kamēr

Seriāls. println(z); //izvada mainīgā pašreizējo vērtībuz caur seriālo portu

z= z+1 // palielināt mainīgā vērtībuzar 1

) // beidz cilpu

Cilpa while turpinās izpildīt komandas, kamēr iekavās aprakstītais “nosacījums” ir patiess. Iepriekš minētajā piemērā cilpa turpinās izpildīt komandas, kamēr z ir mazāks vai vienāds ar 10. Cilpas pamatteksts izpilda 2 komandas:

  • Mainīgā lieluma vērtības izvadīšana caur seriālo portu;
  • Mainīgā lieluma vērtības palielināšana par 1 (zinātniski saukta par palielināšanu).

Palielinot mainīgā vērtību, programma galu galā iziet no cikla. Ja uz sekundi iedomājamies, ka esam aizmirsuši norādīt šo rindiņu vai notiek kāda kļūme, tad programma ar prieku ieies cilpā (citiem vārdiem sakot, sasalst).

Cilpa sāk savu darbu, pārbaudot nosacījuma patiesumu. Ja z ir mazāks vai vienāds ar 10, tad programma izpilda cilpu. Pēc tam vēlreiz pārbauda stāvokli utt. Kad mainīgā vērtība sasniedz z = 11, nosacījums vairs nebūs patiess. Programma neizpildīs cilpu un pāries uz nākamo rindiņu tūlīt pēc cilpas krokainajām figūrām.

Pietiek teorijas, pāriesim pie prakses. Aizstāsim for cilpas avota kodā ar while cilpām.

Mirgotājs, ko veic FOR cikls:

for (int i = 1; i<= blinkNumberGreen; i++) // palaist ciklspriekš

{

Seriāls. drukāt("Zaļā mirgoja");

Serial.println(i);

digitalWrite(zaļš Led, AUGSTS); //ieslēdz zaļš Gaismas diode

kavēšanās (laiksZaļās gaismas); //mēs gaidam

digitalWrite(zaļš Led, LOW); //izslēgt zaļš Gaismas diode

kavēšanās (laiksIzslēgts Zaļš); //mēs gaidam

}

Mirgotājs WHILE ciklā:

starpt i=1; //deklarē mainīgo un piešķir tam vērtību 1

kamēr es<= blinkNumberGreen)

{ // palaist ciklskamēr

Serial.print("Zaļš pamirkšķināja acis «);

Serial.println(i);

digitalWrite (zaļš LED, AUGSTS); //ieslēdz zaļš Gaismas diode

kavēšanās (laiksZaļās gaismas); //mēs gaidam

digitalWrite (zaļš Led, LOW); //izslēgt zaļš Gaismas diode

kavēšanās (laiksIzslēgts Zaļš); //mēs gaidam

i= i+1 //palieliniet mainīgā vērtību par 1

}

Saglabājiet programmu un ielādējiet programmaparatūru kontrollerī. Apskatīsim rezultātu.

Cilpas, izmantojot paziņojumus priekš Un kamēr ir viena no svarīgākajām C++ valodas konstrukcijām, kas ir Arduino pamatā. Tie ir atrodami pilnīgi katrā skicē, pat ja jums par to nav aizdomas. Šajā rakstā mēs sīkāk aplūkosim cilpas, uzzināsim, kāda ir atšķirība starp for un while, kā ar viņu palīdzību var vienkāršot programmas rakstīšanu un no kādām kļūdām vajadzētu izvairīties.

Ja jūs joprojām esat iesācējs programmētājs un vēlaties saprast, kas ir cilpa un kāpēc tā ir nepieciešama, skatiet šī raksta nākamo sadaļu ar detalizētu aprakstu.

Operators WHILE tiek izmantots C++ un Arduino, lai atkārtotu vienas un tās pašas komandas patvaļīgu skaitu reižu. Salīdzinot ar cilpu FOR, WHILE cilpa izskatās vienkāršāka, to parasti izmanto, ja mums nav jāskaita mainīgā atkārtojumu skaits, bet vienkārši jāatkārto kods, līdz kaut kas mainās vai notiek kāds notikums.

WHILE sintakse

kamēr(<условие или список условий>)
{
<программный блок, который будет повторяться>
}

Kā nosacījumus var izmantot jebkuru valodas konstrukciju, kas atgriež Būla vērtību. Nosacījumi var būt salīdzināšanas darbības, funkcijas, konstantes, mainīgie. Tāpat kā jebkuras citas Arduino loģiskās darbības, jebkura vērtība, kas nav nulle, tiks uztverta kā patiesa, nulle - nepatiesa.

// Bezgalīga cilpa while(true)( Serial.println("Gaida..."); ) // Cilpa, kas darbojas, līdz mainās funkcijas checkSignal() vērtība while(!checkSignal())( Serial.println ("Gaida...");

Ņemiet vērā, ka priekšrakstu while var izmantot, nebloķējot bloku ar krokainajām iekavām, un tādā gadījumā tiks atkārtota pirmā komanda pēc cilpas. Ļoti nav ieteicams lietot, kamēr nav cirtaini breketes, jo šajā gadījumā ir ļoti viegli kļūdīties. Piemērs:

While(true) Serial.print("Gaida pārtraukumu"); kavēšanās (1000);

Šajā gadījumā uzraksts tiks parādīts bezgalīgā cilpā bez pauzēm, jo ​​komanda delay(1000) netiks atkārtota. Jūs varat pavadīt daudz laika, lai noķertu šādas kļūdas - ir daudz vieglāk izmantot cirtainu lencīti.

Lietošanas piemērs kamēr cilpa

Visbiežāk kamēr tiek izmantots, lai gaidītu kādu notikumu. Piemēram, Serial objekta gatavība darbam.

Serial.begin(9600); kamēr (!Serial) ( ; // Dažiem Arduino dēļiem ir jāgaida, līdz seriālais ports ir brīvs)

Piemērs, kad tiek gaidīts rakstzīmes ierašanās no ārējām ierīcēm, izmantojot UART:

While(Serial.available())( int byteInput = Seria.read(); // Dažas citas darbības)

Šajā gadījumā mēs nolasīsim vērtības, kamēr Serial.available() atgriež vērtību, kas nav nulle. Kad visi buferī esošie dati beigsies, cilpa apstāsies.

FOR cilpa programmā Arduino

FOR cilpā mums ir iespēja ne tikai iestatīt robežnosacījumus, bet arī nekavējoties definēt skaitītāja mainīgo un norādīt, kā tā vērtības mainīsies katrā iterācijā.

FOR cilpas sintakse

Šeit dizains būs nedaudz sarežģītāks:
priekš (<начальное значение счетчика>;<условие продолжения выполнения цикла>;<изменение значения счетчика на каждом шаге>){
<список_команд>
}

Vienkāršākais piemērs:

For(int i=5;i<10;i++){ // Конструкция «3 в одном» pinMode(i, OUTPUT); }

Mēs nekavējoties izveidojām mainīgo, inicializējām to un norādījām, ka katra cikla beigās skaitītāja vērtība jāpalielina par vienu. Un tas arī viss – tagad vari izmantot mainīgo cilpas iekšpusē.

Mainīgais solis var būt atšķirīgs. Šeit ir piemēri:

  • for(int i=0; i<10; i=i+2) // Шаг 2
  • for(int i=0; i<10; i+=2) // Аналогичен предыдущему
  • for(int i=10; i>0; i–) // Atgriezties — no 10 uz 1

darīt kamēr cilpa

Dažos gadījumos mums ir jāorganizē cilpa tā, lai bloka norādījumi tiktu izpildīti vismaz vienu reizi, un pēc tam tiek veikta pārbaude. Šādiem algoritmiem varat izmantot do while construct. Piemērs:

Do ( Serial.println("Darbs"); ) while (checkSomething());

Šī cilpas versija nesagādā nekādas grūtības - mēs vienkārši pārvietojām bloku ar nosacījumiem uz leju, tāpēc viss saturs, kas atrodas cirtainajās iekavās pēc operatora do, tiks izpildīts pirms pirmās pārbaudes.

Turpiniet un pārtrauciet apgalvojumus

Pastāv situācijas, kad jums steidzami jāpārtrauc cilpas izpilde cilpas blokā, negaidot, lai pārietu uz stāvokļa pārbaudes bloku. Lai to izdarītu, varat izmantot operatoru pārtraukums:

Kamēr (patiess) (if (checkSomething()) ( break; ) )

Ja mēs vienkārši vēlamies apturēt pašreizējās iterācijas gaitu, bet neiziet no cilpas, bet pāriet uz stāvokļa pārbaudes bloku, tad mums ir jāizmanto operators Turpināt:

Kamēr (patiess) (if (checkSomething()) (turpināt; ) )

Paziņojumus turpināt un pārtraukt var izmantot ar visiem FOR un WHILE cilpu variantiem.

Ligzdotas cilpas Arduino

Jebkurus cilpu variantus var viegli kombinēt savā starpā, veidojot ligzdotas struktūras. Mainīgie, kas definēti “pārklājošās” cilpas blokā, būs pieejami iekšējā. Visizplatītākais šāda veida cilpas piemērs ir divdimensiju masīvu šķērsošana. Nākamajā piemērā mēs izmantojam dubulto cilpu: pirmā atkārtos rindas (mainīgais i), otrā, ligzdotā, cilpu cauri masīva kolonnām (mainīgais j), ko mēs definējām mainīgajā arr.

Int arr; void setup() ( for (int i = 0; i< 10; i++) { for (int j = 0; j < 3; j++) { arr[i][j] = i * j; Serial.println(arr[i][j]); } } }

Vairāk par cikliem

Ja jūs nekad neesat strādājis ar cilpām, iedziļināsimies teorijas pasaulē un noskaidrosim, kas ir cilpas un kāpēc mums ir vajadzīgas šīs noslēpumainās valodas konstrukcijas.

Kāpēc mums ir vajadzīga cilpa?

Faktiski cilpas galvenais uzdevums ir vairākas reizes atkārtot vienas un tās pašas valodas konstrukcijas. Šī vajadzība rodas gandrīz katrā programmā, un noteikti neviena Arduino skice nevar iztikt bez cilpas - funkcija loop() tiek izsaukta arī bezgalīgā cilpā.

Apskatīsim šādu piemēru. Jums vienlaikus jāpiegādā strāva 5 gaismas diodēm, kas savienotas ar Arduino plati no 5. līdz 9. tapām. Acīmredzamākā iespēja būtu ievietot piecus norādījumus pēc kārtas:

digitalWrite(5, AUGSTS);

digitalWrite(6, AUGSTS);

digitalWrite(7, AUGSTS);

digitalWrite(8, AUGSTS);

digitalWrite(9, AUGSTS);

Pagaidām ignorēsim jautājumu par šādas darbības riskantumu, jo šāda skaita gaismas diožu vienlaicīga iekļaušana rada palielinātu slodzi dēļa strāvas ķēdē. Mums šobrīd galvenais ir tas, ka esam izveidojuši piecas koda rindas, no kurām katra atšķiras no pārējām tikai ar vienu ciparu. Šai pieejai ir šādi trūkumi:

  • Veicot jebkādas izmaiņas, jums vienlaikus būs jāveic izmaiņas daudzās rindās. Piemēram, ja mums ir jāpārslēdz gaismas diodes uz tapām no 2 līdz 6 vai jāizslēdz spriegums, nevis jāieslēdz tas, mums būs jāveic 5 izmaiņas kodā. Ko darīt, ja ir vairāk norādījumu un izmaiņu?
  • Liels kods ar lielu skaitu līdzīgu instrukciju ir neērti un nepatīkami lasāms. Piecas identiskas līnijas nav ļoti biedējošas. Bet netīrā koda ieradums galu galā novedīs pie desmitiem un simtiem papildu lappušu sarakstā, kas padarīs gan jūs, gan jūsu kolēģus izmisumā.
  • Gandrīz identisku instrukciju “kopēšanas-ielīmēšanas” procesā var viegli kļūdīties, piemēram, aizmirstot nomainīt pin numuru: digitalWrite(5, HIGH); digitalWrite(5, AUGSTS);
  • Jūs varat viegli izgāzties intervijā jebkurā parastā programmatūras uzņēmumā, parādot intervētājam šo kodu.

No tā visa mēs varam secināt, ka gandrīz vienmēr ir jāizvairās no vienas un tās pašas virknes atkārtotas izmantošanas un jāaizstāj ar cilpām. Turklāt daudzās situācijās bez cikliem nav iespējams iztikt; Programmas darbības laikā nevar mainīt koda atkārtošanas reižu skaitu. Piemēram, jums ir jāapstrādā katrs elements datu masīvs, saņemts no ārējām ierīcēm. Jūs nekad neparedzēsiet, cik daudz datu būs, cik reižu apstrāde tiks atkārtota, un tāpēc raksta tapšanas laikā nevarēsiet ievietot nepieciešamo instrukciju skaitu.

Un šeit mums palīgā nāk cikli.

Sintakses noteikumi

Cilpa programmā Arduino ir īpašs programmas bloks, kas programmas izpildes laikā tiks izsaukts noteiktu skaitu reižu. Šajā blokā mēs aprakstām pašas komandas, kas tiks izsauktas, un noteikumus, pēc kuriem kontrolieris noteiks, cik reižu tās ir jāizsauc.

Iepriekš minētajā piemērā mēs varētu norādīt kontrolierim sekojošo:

Atkārtojiet komandu digitālaisRakstiet 5 reizes

Ideālā pasaulē ar robotu programmētājiem ar to droši vien pietiktu, taču, tā kā mēs runājam ar datoru C++ valodā, mums šī frāze ir jātulko šajā valodā:

Atkārtojiet komandu – ir jāizmanto īpaši norādījumi, kas norāda kontrolierim, ka ar while vai for cilpām drīz sāksies kaut kas interesants

digitalWrite – atstājiet to tādu, kāds tas ir, bet uzrakstiet to vienreiz un ielieciet to cirtainos lencēs. Ko darīt ar PIN numuriem - tieši zemāk.

5 reizes – šim nolūkam izmantojiet skaitītāju, kas palielināsies ar katru atkārtojumu. Bloka sākumā (vai beigās) varat salīdzināt šī skaitītāja vērtību ar robežvērtību (šajā gadījumā 5), izmantojot salīdzināšanas darbību.

Apskatīsim šādas "tulkotas" cilpas komandas piemēru ar a while paziņojumu:

Int skaitītājs = 0; // Mainīgais, kas saglabās skaitītāja vērtību // Mēs lūdzam procesoru atkārtot konstrukciju cirtainajās iekavās, līdz nosacījums iekavās atgriezīsies true. // Mūsu gadījumā skaitītājs ir mūsu skaitītājs, 5 ir robežvērtība, nosacījums, lai skaitītāja vērtība ir mazāka par 5. // Bet mēs varam norādīt pilnīgi dažādus loģiskos operatorus, kamēr (skaitītājs< 5) { digitaWrite(5, HIGH); // Будем включать светодиод counter++; // Увеличиваем значение счетчика } // Дойдя до сюда, исполняющий процессор переместится в начало блока и опять займется проверкой условий. Если условия вернут истину, команды в блоке между { и } выполнятся еще раз. Если условие не выполнится - процессор переместится к концу блока и пойдет дальше. Этот цикл больше его не заинтересует.

Tiem, kas pamanīja kļūdu dotajā kodā, mēs dodam pieci un rakstām cilpas bloku citādi:

Kamēr (skaitītājs< 5) { // Вот теперь мы будем включать разные светодиоды, с 5 (0+5) по 9 (4+5) digitalWrite(counter + 5, HIGH); counter++; }

To pašu rezultātu var sasniegt, izmantojot FOR cilpu:

For(int skaitītājs =0; skaitītājs<5; counter ++){ digitalWrite(counter+5, HIGH); }

Kā redzat, šajā gadījumā mēs nekavējoties ievietojam visas nepieciešamās darbības ar skaitītāju vienā FOR instrukcijā - tas ir daudz ērtāk, ja nepieciešams saskaitīt nepieciešamo daudzumu.

Detalizētu informāciju par cilpu izmantošanas noteikumiem varat iegūt attiecīgajās šī raksta sadaļās.

Secinājums

Šajā rakstā mēs apskatījām ļoti svarīgas Arduino valodas konstrukcijas: FOR un WHILE cilpas. Šos operatorus var atrast gandrīz jebkurā vairāk vai mazāk sarežģītā skicē, jo bez cilpām daudzas darbības ar datiem nebūtu iespējamas. Cilpu sintaksē nav nekā sarežģīta – pie tām var viegli pierast un aktīvi izmantot savos projektos.

/ /

Operatoram

Dizains priekš izmanto, lai atkārtotu cirtainos iekavās ievietotu paziņojumu bloku. Pieaugumu skaitītājs parasti tiek izmantots, lai palielinātu un pārtrauktu cilpu. Operators priekš Piemērots jebkurai atkārtotai darbībai un bieži tiek izmantots kopā ar datu/izvades vākšanas masīviem.

Cilpas galvene priekš sastāv no trim daļām:

priekš (inicializācija; stāvokli; pieaugums) (operatori, kas izpildīti cilpā)

Inicializācija tiek veikta vispirms un tikai vienu reizi. Katru reizi ciklā tiek pārbaudīts nosacījums, ja tas ir patiess, tiek izpildīts priekšrakstu bloks un palielinājums, tad nosacījums tiek pārbaudīts vēlreiz. Kad nosacījuma Būla vērtība kļūst nepatiesa, cilpa beidzas.

Piemērs

// LED aptumšošana, izmantojot PWM pin int PWMpin = 10; // LED virknē ar 470 omu rezistoru 10 kontaktiem void setup() ( // nav nepieciešama iestatīšana) void loop() ( for (int i=0; i<= 255; i++){ analogWrite(PWMpin, i); delay(10); } }

Cikls priekš C ir daudz elastīgāks nekā cilpas priekš citās programmēšanas valodās, piemēram, BASIC. Jebkuru vai visus trīs galvenes elementus var izlaist, lai gan ir nepieciešami semikoli. Arī cilpas inicializācijas, nosacījuma un pieauguma priekšraksti var būt jebkurš derīgs C priekšraksts ar neatkarīgiem mainīgajiem un izmantot jebkuru C datu tipu, tostarp pludiņus. Tie ir neparasti ciklam priekš operatoru veidi ļauj nodrošināt programmatūras risinājumu dažām nestandarta problēmām.

Piemēram, reizināšanas izmantošana cilpas skaitītāja operatorā ļauj izveidot logaritmisku progresiju:

For(int x = 2; x< 100; x = x * 1.5){ println(x); }

Ģenerēts: 2,3,4,6,9,13,19,28,42,63,94

Vēl viens piemērs, vienmērīga signāla līmeņa samazināšana vai palielināšana līdz LED, izmantojot vienu ciklu priekš:

Tukšuma cilpa())( int x = 1; ja (int i = 0; i > -1; i = i + x)( analogWrite(PWMpin, i); ja (i == 255) x = -1; / / pārslēgšanas vadība pie maksimālās aizkaves(10) )