Processing:Справочник языка Processing/for: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
Строка 2: Строка 2:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= for <ref>[https://processing.org/reference/for.html processing.org - for]</ref>=
= for <ref>[https://processing.org/reference/for.html processing.org - for]</ref>=
Строка 8: Строка 8:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
for
for
</syntaxhighlight>
</syntaxhighlight>
Строка 31: Строка 31:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
for (init; test; update) {  
for (init; test; update) {  
   statements
   statements
Строка 43: Строка 43:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
init      - оператор, выполняемый один раз в начале цикла;
init      - оператор, выполняемый один раз в начале цикла;
test      - если переменная test вычисляется как true, выполняется набор операторов в теле цикла;
test      - если переменная test вычисляется как true, выполняется набор операторов в теле цикла;
Строка 60: Строка 60:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
for (int i = 0; i < 40; i = i+1) {
for (int i = 0; i < 40; i = i+1) {
   line(30, i, 80, i);
   line(30, i, 80, i);
Строка 71: Строка 71:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
for (int i = 0; i < 80; i = i+5) {
for (int i = 0; i < 80; i = i+5) {
   line(30, i, 80, i);
   line(30, i, 80, i);
Строка 82: Строка 82:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
for (int i = 40; i < 80; i = i+5) {
for (int i = 40; i < 80; i = i+5) {
   line(30, i, 80, i);
   line(30, i, 80, i);
Строка 93: Строка 93:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
// Вложенные циклы for() могут использоваться
// Вложенные циклы for() могут использоваться
// для создания двумерных структур
// для создания двумерных структур
Строка 105: Строка 105:
===№5===
===№5===


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
// Этот пример ничего не рисует в окне программы,  
// Этот пример ничего не рисует в окне программы,  
// но выводит значения на консоль.
// но выводит значения на консоль.
Строка 149: Строка 149:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:09, 20 мая 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.



for [1]

Обозначение

for

Описание

Управляет последовательностью повторений. Базовая структура цикла for состоит из трех частей: init, test и update. Каждая часть должна быть разделена точкой с запятой (;). Цикл продолжается до тех пор, пока выражение test не примет значение false.

При выполнении цикла for, происходит следующая последовательность событий:

  1. Выполняется выражение init.
  2. Вычисляется выражение test, результатом которого может быть true или false.
  3. Если test равен true переходим к шагу 4. Если false, переходим к шагу 6.
  4. Выполняются операторы внутри тела цикла.
  5. Выполняем выражение update и переходим к шагу 2.
  6. Выходим из цикла.

В первом примере цикл for выполняется 40 раз. В выражении init объявляется переменная i, которой присваивается значение 0. i меньше 40, поэтому выражение test вычисляется как true. В конце каждого цикла значение переменной i увеличивается на единицу. На 41-м шаге выполнения цикла, выражение test вычисляется как false, потому что значение переменной будет i равно 40, поэтому i < 40 больше не верен. Таким образом, мы выходим из цикла.

Второй тип структуры цикла for упрощает итерацию по каждому элементу массива. Последний пример показывает, как он работает. В круглых скобках сначала объявляется переменная, тип данных которой совпадает с типом данных массива. Этой переменной поочередно будут присваиваться значения элементов массива. Наконец, после двоеточия указывается имя массива, по элементам которого, пройдется цикл for.

Синтаксис

for (init; test; update) { 
  statements
} 

for (datatype element : array) { 
  statements
}

Параметры

init      - оператор, выполняемый один раз в начале цикла;
test      - если переменная test вычисляется как true, выполняется набор операторов в теле цикла;
update    - выполняется в конце каждой итерации;
statement - набор операторов, выполняемых в цикле;
datatype  - тип данных элементов в массиве;
element   - временное имя для каждого элемента массива;
array     - имя массива для итерации;

Пример

№1


for (int i = 0; i < 40; i = i+1) {
  line(30, i, 80, i);
}

№2


for (int i = 0; i < 80; i = i+5) {
  line(30, i, 80, i);
}

№3


for (int i = 40; i < 80; i = i+5) {
  line(30, i, 80, i);
}

№4


// Вложенные циклы for() могут использоваться
// для создания двумерных структур
for (int i = 30; i < 80; i = i+5) {
  for (int j = 0; j < 80; j = j+5) {
    point(i, j);
  }
}

№5

// Этот пример ничего не рисует в окне программы, 
// но выводит значения на консоль.

int[] nums = { 5, 4, 3, 2, 1 };

for (int i : nums) {
  println(i); 
}

См.также

Внешние ссылки