Цикл for в с: Операторы цикла в языке Си : for, while, do…while

Содержание

Цикл for

Цикл for

Очень часто возникает необходимость выполнить одну и ту же последовательность
действий несколько раз: например, для вычисления выражения an необходимо
выполнить n-1 раз умножение на величину a.
Для этого используются циклы. В данном листочке речь пойдет о цикле for,
который, как правило, используется для повторения определенной последовательности действий
заданное количество раз.

Рассмотрим задачу вычисления суммы всех натуральных чисел от 1 до n.
Для этого заведем переменную Sum и к ней будем прибавлять значение переменной
i, где i будет принимать все значения от 1 до n.
На языке C++ это можно сделать при помощи цикла for следующим образом:

int n, Sum, i;
cin >> n;
Sum = 0;
for (i = 1; i <= n; ++i)
{
    Sum = Sum + i;
}
cout << Sum << endl;

В этом примере последовательность инструкций в блоке, то есть инструкция s = s + i
будет выполнена многократно для всех значений переменной i от 1 до n,
то есть в результате переменная s будет равна сумме всех натуральных чисел
от 1 до n.

При использовании цикла for необходимо задать три выражения-параметра
(в круглых скобках через точку с запятой).

Первый параметр – начальное значение переменной, задается в виде
присваивания переменной значения, в нашем случае – i = 1.
Более формально — первый параметр содержит произвольное выражение, которое вычисляется один
до выполнения тела цикла, и как правило первый параметр используется для инициализации переменной цикла.
Первый параметр может отсутствовать, тогда вместо него ничего не пишется, а просто ставится точка с запятой.

Второй параметр – конечное значение переменной, задается в виде условия на значение
переменной, в нашем случае условие i <= n означает,
что переменная i будет принимать значения до n включительно.
Более формально — второй параметр содержит произвольное выражение. Цикл будет исполняться,
пока значение второго параметра истинно (или ненулевое, если это — целочисленное выражение).

Третий параметр – шаг изменения переменной. Запись ++i
равнозначна записи i = i + 1 и
означает, что переменная i будет увеличиваться на 1 с каждым новым исполнением цикла,
запись --i равнозначна записи i = i - 1 и
означает, что переменная i будет уменьшатся на 1.
Более формально, третий параметр — это произвольное выражение, которые вычисляется после выполнения
тела цикла, но до проверки условия его окончания. Как правило, в третьем параметре изменяется значение переменной,
записанной в первых двух параметрах. Если хочется, чтобы значение переменной в цикле менялось не на 1, а на большую величину, то это можно сделать, например, так:
i = i + 2 или i = i - 3.

В нашем примере мы могли бы сделать цикл, в котором переменная i принимала бы все значения от n
до 1, уменьшаясь при этом:

for (i = n; i > 0; --i)

Цикл for в Python: тонкости написания

Цикл for — одна из базовых управляющих конструкций в любом языке программирования. Простейший цикл в языке Си выглядит так:

int i;
for (i=0;i<N;i++)
{
  // действия
}

В Си нет более элегантного способа написать цикл for. В более сложных сценариях мы обычно прибегаем к вложенным циклам и множеству вспомогательных переменных (например, i в примере выше).

К счастью, в Python все намного удобнее. У этого языка есть возможности, позволяющие писать лаконичные циклы — это очень упрощает нашу жизнь. В Python можно избежать вложенных циклов, а вспомогательные переменные объявлять вовсе не обязательно. А еще мы сами можем настроить цикл for!

В этой статье мы расскажем вам о тонкостях написания цикла for. Надеемся, вы прочувствуете всю красоту Python. 

Выводим индекс и значение одновременно

Обыденный сценарий: мы работаем со списком и нам нужно вывести и индексы, и соответствующие значения. Когда я только начал изучать Python, мой код выглядел примерно так: 

for i in range(len(my_list)):
    print(i, my_list[i])

Да, это работает. Но это недостаточно «питонично». Через несколько месяцев изучения Python я решал эту задачу так:

for i, v in enumerate(my_list):
    print(i, v)

Как видите, встроенная функция enumerate значительно упрощает нашу жизнь. 

Избавляемся от вложенных циклов с помощью функции product 

Вложенные циклы — настоящая головная боль. Они усложняют не только сам код, но и его читаемость. Выход из этих циклов — задача тоже сложная. Чтобы найти ошибку, приходится приложить много усилий, ведь нужно проверить каждый внутренний цикл. 

К счастью, существует очень полезная встроенная функция — product. Она является частью встроенного модуля Python — itertools. С ее помощью мы можем избавиться от вложенных циклов. 

Рассмотрим пример:

list_a = [1, 2020, 70]
list_b = [2, 4, 7, 2000]
list_c = [3, 70, 7]

for a in list_a:
    for b in list_b:
        for c in list_c:
            if a + b + c == 2077:
                print(a, b, c)
# 70 2000 7

Объявлено три списка чисел. Нам нужно вывести три числа (по одному из каждого списка), сумма которых равна 2077. Чтобы решить эту задачу, нам понадобилось три вложенных цикла. Код выглядит совсем не изящно. 

А теперь опробуем функцию product.

from itertools import product

list_a = [1, 2020, 70]
list_b = [2, 4, 7, 2000]
list_c = [3, 70, 7]

for a, b, c in product(list_a, list_b, list_c):
    if a + b + c == 2077:
        print(a, b, c)

# 70 2000 7

Как видите, с помощью функции product количество циклов сокращается до одного. 

Функция product возвращает декартово произведение входных итераторов. Благодаря этому мы можем избежать написания вложенных циклов во многих сценариях.

Используем модуль Itertools для написания невероятных циклов

Функция product — лишь вершина айсберга. Изучение модуля itertools сравнимо с открытием нового мира. В нем содержится множество полезных методов, которые могут упростить любой цикл. Полный список вы можете найти в официальной документации. 

Рассмотрим несколько примеров. 

Создаем бесконечный цикл

В модуле itertools есть как минимум три метода для создания бесконечных циклов: 

1. Функция count.

natural_num = itertools.count(1)
for n in natural_num:
    print(n)

# 1,2,3,...

2. Функция cycle.

import itertools

many_yang = itertools.cycle('Hello')
for y in many_yang:
    print(y)

# 'H','e','l','l','o','H','e','l',...

3. Функция repeat.

many_yang = itertools.repeat('Hello')
for y in many_yang:
    print(y)

# 'Hello','Hello',...

Объединяем несколько итераторов в один

Функция chain() помогает нам объединять несколько итераторов в один.

from itertools import chain

list_a = [1, 22]
list_b = [7, 20]
list_c = [3, 70]

for i in chain(list_a, list_b, list_c):
    print(i)

# 1,22,7,20,3,70

Выводим повторяющиеся элементы и количество их повторений

Функция groupby() позволяет получить повторяющиеся элементы в итераторе и сгруппировать их. 

from itertools import groupby

for key, group in groupby('Pyttthhhonissst'):
    print(key, list(group))

# P ['P']
# y ['y']
# t ['t', 't', 't']
# h ['h', 'h', 'h']
# o ['o']
# n ['n']
# i ['i']
# s ['s', 's', 's']
# t ['t']

Как видите, дублирующиеся буквы сгруппированы. Более того, мы можем расширить функционал groupby(). Например, указать, что нужно игнорировать регистр: 

from itertools import groupby

for key, group in groupby('PyYyYTTthHOoOnisst', lambda x: x.upper()):
    print(key, list(group))

# P ['P']
# Y ['y', 'Y', 'y', 'Y']
# T ['T', 'T', 't']
# H ['h', 'H']
# O ['O', 'o', 'O']
# N ['n']
# I ['i']
# S ['s', 's']
# T ['t']

Самостоятельно настраиваем цикл for

После ознакомления с примерами пора наконец разобраться, почему же циклы в Python такие гибкие и изящные. Этими своими свойствами они обязаны тому, что к итератору в цикле for можно применять функции. Во всех примерах, приведенных выше, к итераторам применялась какая-нибудь функция. Шаблон в целом выглядит так:

for x in function(iterator)

То есть, суть itertools проста — этот модуль применяет часто используемые функции к итератору. Если вы забыли какую-либо функцию из itertools — реализуйте ее самостоятельно. Также стоит заметить, что все эти функции — генераторы. Вот почему с их помощью мы можем создавать бесконечные циклы. 

Таким образом, написав генератор, вы можете настроить цикл for так, как вам необходимо. 

Рассмотрим простой пример:

def even_only(num):
    for i in num:
        if i % 2 == 0:
            yield i


my_list = [1, 9, 3, 4, 2, 5]
for n in even_only(my_list):
    print(n)
# 4
# 2

Как видите, мы объявляем генератор — even_only. Если мы встроим этот генератор в цикл, то итерация будет происходить только по четным элементам списка. 

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

my_list = [1, 9, 3, 4, 2, 5]
for n in (i for i in my_list if not i % 2):
    print(n)
# 4
# 2

Вывод

Циклы в Python могут быть изящны и гибки. Такими их делают встроенные функции и генераторы. 

Марк Лутц «Изучаем Python»

Скачивайте книгу у нас в телеграм

Скачать

×

Выражение, вычисляемое в цикле for: как его написать

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

Описанию конструкции цикла for уделено немало внимания на многих
сайтах, поэтому повторим лишь основное.

Цикл for имеет следующий формат:


for (<Начальное значение>; <Условие>; <Приращение>;)
{
<Выражения>
}

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

  • однозначность;
  • универсальность: выражение должно годиться и тогда, когда мы меняем условие, то есть
    значение, до которого следует производить вычисления;
  • экономия ресурсов системы при вычислении.

Самый простой случай — в задаче требуется подсчитать сумму
целых положительных чисел от 1 до 100. В этом случае вычисляемое выражение в сигма-обозначении
(обозначаемое греческой буквой сигма — ∑) выглядит так:

.

Код для этого случая вычисления:

int sum = 0;

for (int i = 1; i

Во всех случаях, чтобы написать цикл for, нужно определить
начальное значение, условие (до какого значения переменной цикла
следует производить вычисления), приращение и собственно вычисляемое выражение.

Пример 1. Используя сигма-обозначение, найти общее
выражение для суммы
и написать цикл for для её вычисления.

Решение. В данной сумме все числа чётные и каждое следующее число
больше предыдущего на 2. Это означает, что 1) в общей формуле можно использовать
умножение на 2; 2) шаг цикла for (приращение) равен 1; 3) условие (шаг, до которого
следует производить вычисления) равно 5. Таким образом, получаем
следующее выражение в сигма-обозначении:

.

Код с циклом for для данного примера:

int sum = 0;

for (int i = 0; i

Пример 2. Используя сигма-обозначение, найти общее
выражение для суммы
и написать цикл for для её вычисления.

Решение. В данной сумме все числа нечётные и каждое следующее число
больше предыдущего на 2. Если уменьшить все числа на 1, то получаем ряд чётных чисел,
как в примере 1. Если разделить все полученные числа на 2, то получим ряд
.
Таким образом, получаем следующее выражение в сигма-обозначении:

Код с циклом for для данного примера:

int sum = 0;

for (int i = 0; i

Пример 3. Используя сигма-обозначение, найти общее
выражение для суммы
и написать цикл for для её вычисления.

Решение. По сути требуется правильно найти начальное значение и
приращение цикла for. Применяем формулу общего элемента
к первым числам и получаем
.
Таким образом, основа первого элемента в сумму равна 3 и каждый следующий элемент
больше предыдущего на 1, то есть, приращение цикла for равно 1. Получаем следующее выражение в сигма-обозначении:

Код с циклом for для данного примера:

int sum = 0;

for (int i = 3; i

Пример 4. Используя сигма-обозначение, найти общее
выражение для суммы
и написать цикл for для её вычисления.

Решение. Сразу замечаем, что в этой сумме чередуются знаки.
Значит, в общем выражении должно присутствовать .
Смотрим на два первых элемента: первый (21) можно разделить на 3 и на 7, но это ничего
не даёт в случае второго (25). Однако если вычесть 1 из 21 и из 25, получим числа,
которые делятся нацело на 4: 20 и 24. Проверяем это для двух следующих чисел: 28 и 32 также
делятся на 4 и мы получаем такой ряд: .
Следовательно, приращение цикла for равно 1. Таким образом, получаем следующее выражение в сигма-обозначении:

Код с циклом for для данного примера:

int sum = 0;

for (int i = 5; i

Поделиться с друзьями

Python цикл for — for i in range ~ PythonRu

Циклы являются одной из основных управляющих конструкций в любом языке программирования, и Python не является исключением.

В этой статье мы рассмотрим несколько примеров использования циклов for с функцией range() в Python.

Циклы for в Python

Циклы for повторяют определённый код для некоторого набора значений.

Из документации Python можно узнать, что в нем циклы for работают несколько иначе, чем в таких языках, как JavaScript или C.

Цикл for присваивает итерируемой переменной каждое значение из предоставленного списка, массива или строки и повторяет код в теле цикла for для каждого установленного таким образом значения переменной-итератора.

В приведенном ниже примере мы используем цикл for для вывода каждого числа в нашем массиве.

# Простой пример цикла for
for i in [0, 1, 2, 3, 4, 5]:
    print(i, end="; ") # выведет: 0; 1; 2; 3; 4; 5; 

В тело цикла for можно включить и более сложную логику. В следующем примере мы выводим результат небольшого вычисления, основанного на значении переменной i.

# Пример посложнее
for i in [0, 1, 2, 3, 4, 5]:
    x = (i-2)*(i+2) - i**2 + 4
    print(x, end="; ") # выведет: 0; 0; 0; 0; 0; 0;

Когда значения в массиве для нашего цикла for представляют собой некоторую закономерную последовательность, мы можем использовать функцию Python range() вместо того, чтобы вписывать содержимое нашего массива вручную.

Функция Range в Python

Функция range() возвращает последовательность целых чисел на основе переданных ей аргументов. Дополнительную информацию можно найти в документации Python по функции range().

range(stop)
range(start, stop[, step])

Аргумент start — это первое значение в диапазоне. Если функция range() вызывается только с одним аргументом, то Python считает, что start = 0.

Аргумент stop — это верхняя граница диапазона. Важно понимать, что само граничное значение не включается в последовательность.

В примере ниже у нас есть диапазон, начинающийся со значения по умолчанию, равному 0, и включающий целые числа меньше 6.

# Использование range() с единственным аргументом
for i in range(6):
    print(i, end="; ") # выведет: 0; 1; 2; 3; 4; 5; 

В следующем примере мы задаем start = -2 и включаем целые числа меньше 4.

# В этот раз передаются два аргумента
for i in range(-2, 4):
    print(i, end="; ") # выведет: -2; -1; 0; 1; 2; 3; 

Необязательное значение step (шаг) управляет приращением между значениями последовательности. По умолчанию step = 1.

В нашем последнем примере мы используем диапазон целых чисел от -2 до 6 и задаем step = 2.

# Здесь используются все аргументы range()
for i in range(-2, 6, 2):
    print(i, end="; ") # выведет: -2; 0; 2; 4; 

Заключение

В этой статье мы рассмотрели циклы for в Python и функцию range().

Циклы for обеспечивают повторное выполнение блока кода для всех значений в указанном списке, массиве, строке или последовательности, определенной с помощью функции range().

Как было показано, мы можем использовать range(), чтобы упростить написание цикла for. При вызове данной функции вы обязаны указать stop значение, также вами могут быть определены начальное значение и шаг между целыми числами в возвращаемом диапазоне.

Цикл for в одну строку на примерах

Как и большинство программистов, вы знаете, что после создания массива, вам нужно написать цикл для его обработки. С этим нет никаких проблем, но иногда нам не нужно использовать несколько строк для написания полного цикла for для одной простой задачи. К частью, Python это понимает и предоставляет замечательный инструмент для использования в таких ситуациях. Этот инструмент называется генератор списка (list comprehensions, списковое включение).

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

Что это за зверь?

Списковое включение (List comprehensions) – это списки, которые генерируются с циклом for внутри. Они очень распространены в Python и выглядят примерно следующим образом:

[thing for thing in list_of_things]

[thing for thing in list_of_things]

Возможно, вы еще сильнее запутались, так что сделаем шаг назад. Список содержит в себе множество вещей, но определяется между квадратными скобками. Скажем, мне нужно получить функцию, которая удваивает значения всех чисел в списке. Для начала, мне нужно создать список чисел.

Теперь создадим функцию. Назовем ее list_doubler, так как это именно то, что она делает, и она будет принимать аргумент, который является списком, который мы будем удваивать.

def list_doubler(lst):
doubled = []
for num in lst:
doubled.append(num*2)
return doubled

def list_doubler(lst):

    doubled = []

    for num in lst:

        doubled.append(num*2)

    return doubled

Вызов этой функции даст нам новый список с удвоенными элементами.

my_doubled_list = list_doubler(lst)

my_doubled_list = list_doubler(lst)

my_doubled_list теперь содержит значения 42, 4 и 186. Эта функция простая и делает то, что нам нужно простым способом, но это пять строк, учитывая определяющую строку. Также есть переменная, с которой мы ничего не делаем, кроме как добавляем и в конце возвращаем её.

Единственная часть функции, которая по-настоящему работает – это цикл for. Цикл for тоже мало что делает, просто умножает число на 2. Это идеальный кандидат для превращения в списковое включение.

Создание спискового включения

Давайте сохраним его как функцию, которую мы будем вызывать. Нам нужно только упростить тело функции. Так как списковое включение создает списки, а списки могут быть назначены к переменным, примем это во внимание и расположим списковое включение справа от doubled и продолжим.

doubled = [thing for thing in list_of_things]

doubled = [thing for thing in list_of_things]

Хорошо, теперь нам нужно заполнить правую сторону. Как и с нормальным циклом for, а правая часть списка выглядит именно так, нам нужно назвать элементы в нашем цикле. Сначала, назовем каждый объект, и мы также будем использовать переменную списка, которая будет передана.

doubled = [thing for num in lst]

doubled = [thing for num in lst]

Это не может работать в полной мере, так как элемент не является… элементом. В нашей изначальной функции мы выполнили num * 2, так что давайте сделаем это еще раз.

doubled = [num * 2 for num in lst]

doubled = [num * 2 for num in lst]

Все что находится перед циклом for точно внесено в список. Наконец, нам нужно вернуть наш новый список.

def list_doubler(lst):
doubled = [num * 2 for num in lst]
return doubled

def list_doubler(lst):

    doubled = [num * 2 for num in lst]

    return doubled

Запускаем нашу новую функцию.

my_doubled_list = list_doubler([12, 4, 202])

my_doubled_list = list_doubler([12, 4, 202])

И да, my_doubled_list содержит ожидаемые значения 24, 8 и 404. Отлично, все работает! Но так как мы создаем и моментально возвращаем переменную, давайте просто применим списковое включение напрямую.

def list_doubler(lst):
return [num * 2 for num in lst]

def list_doubler(lst):

    return [num * 2 for num in lst]

Хорошо, отлично, но зачем мне это нужно?

Списковые включения (генератор списка, list comprehensions) отлично подходят для случаев, когда нам нужно сохранить немного места в коде. Они также удобны в случаях, когда вам просто нужно быстро обработать списки, чтобы сэкономить время над рутинной работой с этим списком.

Они также очень полезны, если вы хотите больше узнать о функциональном программировании, но эту тему мы обсудим в будущем.

Применяем условие if в список

Давайте сделаем новую функцию, которая будет давать только длинные слова из списка. Скажем, каждое слово, которое состоит более чем из 5 букв, будет считаться длинным. Для начала пропишем их вручную.

def long_words(lst):
words = []
for word in lst:
if len(word) > 5:
words.append(word)
return words

def long_words(lst):

    words = []

    for word in lst:

        if len(word) > 5:

           words.append(word)

    return words

Мы создали переменную для хранения наших слов, применяем цикл над всеми словами в нашем списке, и проверяем длинну каждого слова. Если оно длиннее 5 букв, мы вносим слово в список, и затем, наконец, мы отсылаем список назад. Давайте попробуем.

long_words(['blog', 'Treehouse', 'Python', 'hi']) возвращает ['Treehouse', 'Python']. Это как раз то, чего мы и ожидали.

Хорошо, давайте перепишем это в списковое включение. Для начала, построим то, что мы и так знаем.

def long_words(lst):
return [word for word in lst]

def long_words(lst):

    return [word for word in lst]

Это возвращает нам все слова, не только те, которые длиннее 5 букв. Мы вносим условный оператор в конец цикла for.

def long_words(lst):
return [word for word in lst if len(word) > 5]

def long_words(lst):

    return [word for word in lst if len(word) > 5]

Итак, мы использовали всё то же условие if, но поместили его в конец спискового включения. Оно использует то же наименование переменной, которое мы используем для элементов в списке.

Хорошо, давайте опробуем эту версию long_words(['list', 'comprehension', 'Treehouse', 'Ken']) возвращает ['comprehension', 'Treehouse'].

Примеры

1. Возводим в квадрат все числа от 1 до 9. Применяем функцию range.

[x**2 for x in range(10)]

[x**2 for x in range(10)]

Результат:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

2. Все цифры которые делятся на 5 без остатка, в диапазоне от 0 до 100.

[x for x in range(100) if x%5 == 0]

[x for x in range(100) if x%5 == 0]

Результат:

[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

3. Все цифры которые делятся на 3 и 6 без остатка, в диапазоне от 0 до 50.

[x for x in range(50) if x%3 == 0 and x%6 != 0]

[x for x in range(50) if x%3 == 0 and x%6 != 0]

Результат:

[3, 9, 15, 21, 27, 33, 39, 45]

[3, 9, 15, 21, 27, 33, 39, 45]

4. Первая буква из каждого слова предложения.

phrase = «Тестовое сообщение из мира Python для сообщества.»
print([w[0] for w in phrase.split()])

phrase = «Тестовое сообщение из мира Python для сообщества.»

print([w[0] for w in phrase.split()])

Результат:

[‘Т’, ‘с’, ‘и’, ‘м’, ‘P’, ‘д’, ‘с’]

[‘Т’, ‘с’, ‘и’, ‘м’, ‘P’, ‘д’, ‘с’]

5. Заменяем букву А в каждом слове на #.

phrase = «АБАЖУР, АБАЗИНСКИЙ, АБАЗИНЫ, АББАТ, АББАТИСА, АББАТСТВО»
print(».join([letter if letter != ‘А’ else ‘#’ for letter in phrase]))

phrase = «АБАЖУР, АБАЗИНСКИЙ, АБАЗИНЫ, АББАТ, АББАТИСА, АББАТСТВО»

print(».join([letter if letter != ‘А’ else ‘#’ for letter in phrase]))

Результат:

#Б#ЖУР, #Б#ЗИНСКИЙ, #Б#ЗИНЫ, #ББ#Т, #ББ#ТИС#, #ББ#ТСТВО

#Б#ЖУР, #Б#ЗИНСКИЙ, #Б#ЗИНЫ, #ББ#Т, #ББ#ТИС#, #ББ#ТСТВО

Итоги

Надеюсь это руководство помогло вам понять простой способ экономии кода , который вам нужно написать для получения конкретной готовой работы с вашими списками.

Старайтесь сохранять ваши списковые включения короткими, а условия if – простыми. Несложно разглядеть решение многих ваших проблем в списковых включениях и превратить их в огромный беспорядок.

Если это только распалило ваш аппетит, посмотрим, сможете ли вы разобраться со словарными включениями самостоятельно. Они используют конструкторы dict, {:} , но они довольно похожи. Вы также можете проработать установочные включения. Также ознакомьтесь с функциональным программированием в Python, если считаете себя готовым.

Больше примеров

Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.

E-mail: [email protected]

Образование
Universitatea Tehnică a Moldovei (utm.md)

  • 2014 — 2018 Технический Университет Молдовы, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
  • 2018 — 2020 Технический Университет Молдовы, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»

Цикл for Delphi

Чтобы понять, как работает цикл for Delphi, рассмотрим одну задачу. Предположим, что необходимо разработать программу, вычисляющую значение функции y=5*x*x-7 в следующих точках: x=-1, x=-0.5, x=0, x=0.5, x=1 (таблицу выведем в поле метки Label1 формы приложения). Напишем процедуру, которая решит поставленную задачу (представим один из ее вариантов):

Как Вы можете заметить, в тексте данной процедуры группа инструкций

которая вычисляет значение функции, формирует строки таблицы и осуществляет увеличение аргумента, повторяется 5 раз. Используя инструкцию for, можно представить представленную процедуру следующим образом:

А теперь сравним два варианта процедуры:

  1. Для создания второго варианта потребовалось меньше усилий в процессе набора;
  2. Процедура в втором варианте более гибкая: для увеличения количества строк в отображаемой таблице, к примеру, до 15, остается лишь в строке провести замену числа 5 на число 15.

Применение цикла for Delphi эффективно тогда, когда некоторая последовательность действий выполняется несколько раз (если заранее известно количество повторений). Цикл for Delphi имеет общий вид:

откуда

  • счетчик (тип integer) означает переменную-счетчик количества повторений некоторых инструкций цикла;
  • нач_знач (тип integer) подразумевает выражение, которое является начальным значением счетчика циклов;
  • кон_знач (тип integer) обозначает выражение, являющееся конечным значением счетчика циклов.

Определить, сколько раз (обозначим это число за m) повторяются инструкции цикла, можно, воспользовавшись следующей формулой:

Примеры цикла for Delphi:

А теперь приведем примеры использования инструкции for Delphi:

Пример 1.

Пример 2.

Заметка. В случае, когда между служебными словами begin и end располагается только одна инструкция, то зарезервированные слова begin и end опускаются. Как устроен алгоритм инструкции for, покажет следующая иллюстрация:

Если внимательно приглядеться к приведенному алгоритму, то можно заметить, что если конечное значение счетчика не превышает его начального значения, то инструкции между служебными словами begin и endвыполняться не будут. Нельзя не отметить, что после того, как  завершилось очередное выполнение инструкции тела цикла, увеличение счетчика циклов происходит автоматически. Переменная счетчик может быть использована внутри тела цикла, но менять переменную-счетчик нельзя.

Пример 3. После того, как выполнены следующие инструкции

в переменной tab1 будут содержаться изображения таблицы, состоящей из квадратов чисел.

Пример 4. В качестве примера приведем программу, производящую вычисление суммы первых десяти элементов ряда 1+1/2+1/3+1/4+ … +1/n (свяжем значение i-того элемента данного ряда с его номером при помощи формулы 1/i).

Таким образом, в диалоговом коне программы необходимо присутствие как минимум двух компонент: поля меткиLabel1 и командной кнопки Button1. Чтобы вычислить сумму первых десяти членов ряда и вывести полученный результат, воспользуемся процедурой обработки событий Onclick (ее код представление ниже).

Как только вычислен очередной элемент ряда, при помощи данной процедуры осуществляется вывод в полеLabel1 номера элемента и его значения в поле метки формы, которое и предназначено собственно для вывода полученного результата.

Заметка. Если необходимо, чтобы значения счетчика не увеличивалось, а уменьшалось, то необходимо в инструкции for слово to заменить на слово downto.


Похожие записи:

VBA Excel. Цикл For… Next

Цикл For… Next в VBA Excel, его синтаксис и описание отдельных компонентов. Примеры использования цикла For… Next.

Цикл For… Next в VBA Excel предназначен для выполнения группы операторов необходимое количество раз, заданное управляющей переменной цикла — счетчиком. При выполнении цикла значение счетчика после каждой итерации увеличивается или уменьшается на число, указанное выражением оператора Step, или, по умолчанию, на единицу. Когда необходимо применить цикл к элементам, количество которых и индексация в группе (диапазон, массив, коллекция) неизвестны, следует использовать цикл For Each… Next.

Синтаксис цикла For… Next


For counter = start To end [ Step step ]

    [ statements ]

    [ Exit For ]

    [ statements ]

Next [ counter ]


For счетчик = начало To конец [ Step шаг ]

    [ операторы ]

    [ Exit For ]

    [ операторы ]

Next [ счетчик ]


В квадратных скобках указаны необязательные атрибуты цикла For… Next.

Компоненты цикла For… Next

КомпонентОписание
counterОбязательный атрибут. Числовая переменная, выполняющая роль счетчика, которую еще называют управляющей переменной цикла.
startОбязательный атрибут. Числовое выражение, задающее начальное значение счетчика.
endОбязательный атрибут. Числовое выражение, задающее конечное значение счетчика.
Step*Необязательный атрибут. Оператор, указывающий, что будет задан шаг цикла.
stepНеобязательный атрибут. Числовое выражение, задающее шаг цикла. Может быть как положительным, так и отрицательным.
statementsНеобязательный** атрибут. Операторы вашего кода.
Exit ForНеобязательный атрибут. Оператор выхода из цикла до его окончания.
Next [ counter ]Здесь counter — необязательный атрибут. Это то же самое имя управляющей переменной цикла, которое можно здесь не указывать.

*Если атрибут Step отсутствует, цикл For… Next выполняется с шагом по умолчанию, равному 1.

**Если не использовать в цикле свой код, смысл применения цикла теряется.

Примеры циклов For… Next

Вы можете скопировать примеры циклов в свой модуль VBA, последовательно запускать их на выполнение и смотреть результаты.

Простейший цикл

Заполняем десять первых ячеек первого столбца активного листа Excel цифрами от 1 до 10:

Sub test1()

Dim i As Long

  For i = 1 To 10

    Cells(i, 1) = i

  Next

End Sub

Простейший цикл с шагом

В предыдущий цикл добавлен оператор Step со значением 3, а результаты записываем во второй столбец:

Sub test2()

Dim i As Long

  For i = 1 To 10 Step 3

    Cells(i, 2) = i

  Next

End Sub

Цикл с отрицательными аргументами

Этот цикл заполняет десять первых ячеек третьего столбца в обратной последовательности:

Sub test3()

Dim i As Long

  For i = 0 To -9 Step -1

    Cells(i + 10, 3) = i + 10

  Next

End Sub

Увеличиваем размер шага до -3 и записываем результаты в четвертый столбец активного листа Excel:

Sub test4()

Dim i As Long

  For i = 0 To -9 Step -3

    Cells(i + 10, 4) = i + 10

  Next

End Sub

Вложенный цикл

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

Sub test5()

Dim i1 As Long, i2 As Long

  For i1 = 1 To 10

‘Пятой ячейке в строке i1 присваиваем 0

    Cells(i1, 5) = 0

      For i2 = 1 To 4

        Cells(i1, 5) = Cells(i1, 5) + Cells(i1, i2)

      Next

  Next

End Sub

Выход из цикла

В шестой столбец активного листа запишем названия десяти животных, конечно же, с помощью цикла For… Next:

Sub test6()

Dim i As Long

  For i = 1 To 10

    Cells(i, 6) = Choose(i, «Медведь», «Слон», «Жираф», «Антилопа», _

    «Крокодил», «Зебра», «Тигр», «Ящерица», «Лев», «Бегемот»)

  Next

End Sub

Следующий цикл будет искать в шестом столбце крокодила, который съел галоши. В ячейку седьмого столбца цикл, пока не встретит крокодила, будет записывать строку «Здесь был цикл», а когда обнаружит крокодила, запишет «Он съел галоши» и прекратит работу, выполнив команду Exit For. Это будет видно по ячейкам рядом с названиями животных ниже крокодила, в которых не будет текста «Здесь был цикл».

Sub test7()

Dim i As Long

  For i = 1 To 10

    If Cells(i, 6) = «Крокодил» Then

      Cells(i, 7) = «Он съел галоши»

      Exit For

        Else

      Cells(i, 7) = «Здесь был цикл»

    End If

  Next

End Sub


Результат работы циклов For… Next из примеров:

Результат работы циклов For… Next

Такие данные на активном листе Excel вы получите, если последовательно запустите на выполнение в редакторе VBA все семь подпрограмм из примеров, демонстрирующих работу циклов For… Next.

Цикл с дробными аргументами

Атрибуты start, end и step могут быть представлены числом, переменной или числовым выражением:

For i = 1 To 20 Step 2

For i = a To b Step c

For i = a — 3 To 2b + 1 Step c/2  

В результате вычисления значения переменной вне цикла или выражения внутри его может получиться дробный результат. VBA Excel округлит его до целого числа, используя бухгалтерское округление:

‘Значения атрибутов до округления

For i = 1.5 To 10.5 Step 2.51

‘Округленные значения атрибутов

For i = 2 To 10 Step 3  

Старайтесь не допускать попадания в тело цикла For… Next неокругленных значений аргументов, чтобы не получить непредсказуемые результаты его выполнения. Если без дробных чисел не обойтись, а необходимо использовать обычное округление, применяйте в коде VBA функцию рабочего листа WorksheetFunction.Round для округления числа перед использованием его в цикле For… Next.

для цикла — cppreference.com

Выполняет цикл.

Используется как более короткий эквивалент цикла while.

[править] Синтаксис

attr-spec-seq (начиная с C23) (необязательно) для ( init-clause ; cond-expression ; итерация-выражение ) оператор цикла

[править] Объяснение

ведет себя следующим образом:

  • Предложение init может быть выражением или объявлением (начиная с C99).
  • Предложение init, которое является выражением, оценивается один раз, прежде чем первая оценка cond-expression и его результат будут отброшены.
  • Предложение init, которое является объявлением, находится в области видимости всего тела цикла, включая оставшуюся часть предложения init, все выражение cond, все выражение-итерации и весь оператор цикла. Только auto и register спецификаторы класса хранения разрешены для переменных, объявленных в этом объявлении.
(начиная с C99)
  • cond-выражение оценивается перед телом цикла. Если результат выражения равен нулю, оператор цикла немедленно завершается.
  • выражение-итерация вычисляется после тела цикла, и его результат отбрасывается. После вычисления выражения-итерации управление передается на выражение-выражение.

Предложение init, выражение-условие и выражение-итерации являются необязательными. Если cond-expression опущено, оно заменяется ненулевой целочисленной константой, что делает цикл бесконечным:

 для (;;) {
   printf («бесконечный цикл!»);
} 

Оператор цикла

не является необязательным, но может быть пустым оператором:

 для (int n = 0; n <10; ++ n, printf ("% d \ n", n))
    ; // пустой оператор 

Если выполнение цикла необходимо прервать в какой-то момент, оператор break можно использовать в любом месте внутри оператора цикла.

Оператор continue, используемый в любом месте оператора цикла, передает управление выражению-итерации.

Программа с бесконечным циклом имеет неопределенное поведение, если цикл не имеет наблюдаемого поведения (ввод-вывод, изменчивый доступ, атомарная операция или операция синхронизации) в любой части своего выражения cond, выражения итерации или оператора цикла. Это позволяет компиляторам оптимизировать все ненаблюдаемые циклы, не доказывая, что они завершаются. Единственным исключением являются петли, в которых
cond-expression опущено или является постоянным выражением; for (;;) всегда бесконечный цикл.

Как и все другие операторы выбора и итерации, оператор for устанавливает область действия блока: любой идентификатор, введенный в предложении инициализации, выражении условия или выражении итерации, выходит за пределы области действия после оператора цикла.

(начиная с C99)

attr-spec-seq - это необязательный список атрибутов, применяемый к оператору for .

(начиная с C23)

[править] Ключевые слова

для

[править] Примечания

Оператор выражения, используемый как оператор цикла, устанавливает свою собственную область действия блока, отличную от области действия предложения init, в отличие от C ++:

 для (int i = 0;;) {
    длинный я = 1; // правильный C, недопустимый C ++
    //...
} 

Можно войти в тело цикла с помощью goto. При входе в цикл таким способом предложения init и выражение cond не выполняются. (Если затем элемент управления достигает конца тела цикла, может произойти повторение, включая выполнение выражения cond.)

[править] Пример

 #include 
#include 
перечисление {РАЗМЕР = 8};
int main (пусто)
{
    int массив [РАЗМЕР];
    для (size_t i = 0; i 

Возможный выход:

 Массив заполнен!
1 0 1 1 1 1 0 0 

[править] Ссылки

  • Стандарт C17 (ISO / IEC 9899: 2018):
  • 6.8.5.3 Оператор for (стр: 110)
  • Стандарт C11 (ISO / IEC 9899: 2011):
  • 6.8.5.3 Оператор for (стр: 151)
  • Стандарт C99 (ISO / IEC 9899: 1999):
  • 6.8.5.3 Оператор for (стр: 136)
  • Стандарт C89 / C90 (ISO / IEC 9899: 1990):
  • 3.6.5.3 Оператор for

[править] См. Также

для вывода цикла поиска программ C

Дом "
Язык программирования C

Найти вывод программ C (цикла for) в C : Здесь вы найдете некоторые из программ C, основанных на цикле for, с выводами и пояснениями .

Программа-1

 #include 

int main ()
{
    int i;
    для (я = 1; я <= 10; я ++)
        printf ("я =% d \ n", я);
возврат 0;
}
 

Выход

 я = 1
    я = 2
    я = 3
    я = 4
    я = 5
    я = 6
    я = 7
    я = 8
    я = 9
    я = 10
 

Пояснение

Это простой формат цикла, который выводит значение от 1 до 10.


Программа-2

 #include 

int main ()
{
    int i;
    для (я = 1; я <= 10; я ++);
    printf ("я =% d \ n", я);
возврат 0;
}
 

Выход

 я = 11
 

Пояснение

См. Точку с запятой после оператора цикла for (цикл завершается без кого-либо), оператор printf не является телом цикла for.

Цикл будет выполнен, и когда значение i будет равно 11, выполнение программы перейдет к оператору printf.Таким образом, на выходе будет i = 11.


Программа-3

 #include 

int main ()
{
    int i;
    для (я = 65; я <(65 + 26); я ++)
        printf ("% c", i);
возврат 0;
}
 

Выход

 А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
 

Пояснение

См. Инструкцию printf, здесь мы печатаем значение в символьном формате (используя спецификатор формата "% c"), а значение i составляет от 65 до 90, которые представляют собой коды ASCII прописных букв от A до Z .Таким образом, на выходе будет «A B C ... Z» .


Программа-4

 #include 

int main ()
{
    int i;
    для (я = 1; -1; я ++)
        printf ("% c", i);
возврат 0;
}
 

Выход

 1 2 3 4 ... бесконечное количество раз
 

Пояснение

См. Условную часть оператора цикла, это "-1", , которое является ненулевым значением , , а в языке программирования C - ненулевым значением , рассматривается как "истина", , поэтому это бесконечное петля.


TOP Проблемы / вызовы по кодированию интервью!

ОБЪЯВЛЕНИЕ

ОБЪЯВЛЕНИЕ

Лучший учебник по C ++ For Loop с синтаксисом и примерами

C ++ - это объектно-ориентированный язык программирования общего назначения. Это также популярный язык программирования, поскольку в индексе TIOBE он занимает 4-е место, и в этой статье вы узнаете об очень важной концепции, то есть о C ++ For Loop.

Что такое C ++ For Loop?

Цикл for - это оператор потока управления, который используется для выполнения фрагмента кода на основе допустимости некоторых условий.Это заставляет код выполняться многократно.

Синтаксис цикла for:

Курс веб-разработчика Full Stack

Чтобы стать экспертом в курсе MEAN StackView

Синтаксис:

для (Начальное состояние; Состояние; Обновление)

{

Тело петли

}

Пример:

Рис. Пример цикла для C ++

В приведенном выше примере целью было напечатать первые 10 натуральных чисел.Было задано условие - i меньше 10, что означает, что числа будут печататься одно за другим, пока i не достигнет 10.

Ниже вы можете увидеть вывод кода.

Рис: C ++ для вывода цикла

Макет цикла For

Цикл for состоит из трех частей. Первое - это инициализация или начальное состояние, второе - это условие и, наконец, обновление. Итак, давайте разберемся с этими тремя частями или выражениями.

Инициализация: Инициализация или начальное состояние инициализирует начальное значение.В этой части цикла вы объявляете и инициализируете переменные цикла. Он выполняется только один раз при запуске цикла for.

Условие: для каждой итерации цикла for проверяется условие. Если условие истинно, цикл будет продолжен, и выполнение перейдет к тем операторам, которые находятся после тела цикла. В противном случае цикл закончится.

Обновление: этап обновления используется для обновления переменной цикла. Этот шаг увеличивает или уменьшает счетчик цикла.

Когда вы получили базовое представление о цикле for, теперь пора понять, как работает цикл for в C ++.

Работа цикла For

Рис: Блок-схема цикла for

  • Когда начинается выполнение цикла for, он сначала выполняет секцию инициализации. Здесь выполняются все переменные, которые вы хотите инициализировать. Он будет выполнен только один раз; например, если вы инициализируете переменную с 0 или 1, вам не нужно делать это каждый раз.

  • После инициализации следующая задача - проверить условие и проверить, истинно или ложно условие.Если условие приводит к истинному результату, то код внутри раздела тела будет выполнен, что приведет к разделу обновления. Но если условие приводит к ложному результату, код внутри раздела body не будет выполнен.

  • После завершения выполнения тела вы перейдете к части обновления, где происходит увеличение или уменьшение переменных цикла.

  • После выполнения раздела обновления, условие снова проверяется.Если он возвращает истину, то весь процесс повторяется для обновленной переменной. В противном случае цикл for завершается.

Теперь вы узнаете об исключении выражений в C ++ для цикла

.

Добавьте еще одну звезду к своей оценке эффективности

Получите знания от отраслевых экспертов для FREEStart Learning

Исключение выражений в цикле for

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

для (;;)

{

кузов

}

Как видите, в цикле for нет выражений, поэтому цикл будет бесконечным. Однако его мало используют.

Вот еще один пример, в котором вы не будете включать начальное выражение и выражение обновления внутри оператора цикла.

Рис. Исключение выражения цикла For

Как видите, вы не инициализировали и не обновили переменную цикла.Вы инициализируете «i» значением 0 до начала цикла и увеличиваете цикл с помощью оператора приращения с «i» внутри тела цикла.

Результат программы показан ниже:

Рис. Выходные данные цикла For

Вложенные для циклов

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

Синтаксис:

Рис. Синтаксис вложенного цикла For

Пример:

Рис: Пример вложенного цикла For

Как видите, в этой демонстрации используются два цикла for, то есть x и y. Итак, когда x = 0, каждое значение y оценивается при условии y <3. Если оно оценивается как истинное, то для этого конкретного значения x каждое значение y, т. Е. 0, 1 и 2, равно печатается до тех пор, пока условие не станет ложным.

Аналогично, поток повторяется для x, равного 1 и 2.

Он показывает вывод приведенного выше кода ниже:

Выход

Рис: Вложенный для выхода цикла

Заключение

Из этой статьи вы узнали одну из фундаментальных концепций программирования, то есть цикл for. Вы рассмотрели, как работает цикл for, и различные выражения цикла for на некоторых примерах. Хотите узнать больше о циклах в C ++? Ознакомьтесь с нашим следующим руководством по циклу C ++ While.

Вы хотите продолжить обучение и освоить самые популярные на сегодняшний день языки программирования, используемые компаниями по всему миру? Если да, то вам подойдет программа последипломного образования Simplilearn по полной веб-разработке. Этот 9-месячный учебный курс мирового уровня проводится в сотрудничестве с Caltech CTME и охватывает более 30 востребованных инструментов и навыков, а также делает вас готовыми к работе и подготовленными для выполнения ведущих должностей в области разработки программного обеспечения.

У вас есть вопросы относительно этой статьи о C ++ For Loops? Если да, то разместите их в разделе комментариев.Мы поможем вам решить ваши вопросы. Чтобы узнать больше о C ++ For Loops, щелкните следующую ссылку: For Loops in C ++.

Преобразовать For в while, While в Do-While, Do-while в цикл for

Циклы в C

Язык программирования C поддерживает три типа операторов цикла: цикл for, цикл while и цикл do-while. Каждая структура петли была разработана для разных целей. Давайте посмотрим на синтаксисы и их графические схемы.

Для петли

для (

<исходное сообщение (и)>;

<выражение условия>;

<Повторить шаг (и)>

)

{

<Операторы цикла>;

}

Блок-схема цикла

Синтаксис цикла while

, а (<выражение условия>)

{

<Операторы цикла>;

}

Блок-схема цикла while

Синтаксис цикла Do-While

до

{

<Операторы цикла>;

} , а (<выражение условия>);

Синтаксис цикла Do-While

Конверсии петель

Цикл For был разработан для выполнения для определенного количества итераций, и в нем есть секция операторов инициализации для инициализации счетчика итераций.В цикле while или do while нет раздела инициализации. Пользователь должен написать оператор инициализации перед запуском цикла.
Циклы Do и while отличаются тем, как они проверяют условие. Цикл while сначала проверяет условие перед входом в цикл. Однако do-while не проверяет условие и входит в цикл для первой итерации.

Преобразования цикла For в цикл while

Чтобы преобразовать цикл for в цикл while, нам нужно просто добавить оператор инициализации перед циклом while.

/ * Для цикла * /

внутр i;

для (i = 0; i <10; i ++)
{

}

/ * Цикл For преобразован в цикл while * /

int i = 0; / *

, а (i <10)
{

i ++;

}

Преобразования цикла "пока" в "цикл"

Чтобы преобразовать цикл while в цикл for, нам нужно опустить оператор инициализации.

/ * цикл while * /

, а (* str ++! = NULL)

{

длина ++;

}

/ * Цикл while преобразован в цикл for * /

для (; * str! = NULL; str ++)

{

длина ++;

}

Выполнить "пока" для преобразования цикла "пока" / "пока"

Цикл Do while очень хорош, когда вам нужно один раз войти в итерацию, а затем проверить условие выхода.Цикл For и while сначала проверяет условие, а затем входит. Поэтому нам нужно добавить оператор, чтобы условие стало истинным перед запуском цикла.
Таким образом, цикл for и while войдет в первую итерацию, как цикл do while.

/ * Выполнить цикл while * /

до

{

статус = check_connection ();

} , а (статус == TIMEOUT);

/ * Цикл Do While преобразован в цикл for * /

status = TIMEOUT; / * Условие верно * /

для (; status == TIMEOUT; str ++)

{

статус = check_connection ();

}

/ * Цикл Do While преобразован в цикл for * /

status = TIMEOUT; / * Условие верно * /

, а (статус == TIMEOUT)

{

статус = check_connection ();

}

Цикл For / While, выполняемый в процессе преобразования

Цикл Do while входит в итерацию один раз, а затем проверяется условие выхода.В то время как цикл for и while всегда проверяет условие перед.
Это причина того, почему циклы While / For и циклы do-while не очень совместимы.
Не пытайтесь преобразовать цикл for / while в цикл do-while. Это добавит ненужный дополнительный код.

/ * Для цикла * /

внутр i;

для (i = 0; i <10; i ++)
{

}

/ * цикл while * /

int i = 0;

, а (i <10)
{

i ++;

}

/ * For / While преобразовано в цикл Do while (не рекомендуется) * /

int i = 0;

до

{

, если (i> = 10) перерыв;

i ++;

} , а (ИСТИНА);

Похожие темы

Как писать повторяющиеся операторы на C? [пока, пока, пример, блок-схема]

Написать синтаксис для цикла for, while и do while?

Когда цикл do-while предпочтительнее цикла while, Приведите пример?

Написать операторы бесконечного цикла для while, do-while и for?

О наших авторах : Team EQA

Вы просмотрели 1 страницу из 248.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *