какие данные необходимы для организации цикла

Организация циклов

Циклом называется многократно повторяющаяся последовательность действий (операторов). Цикл – типичная структура, характерная для программ, реализуемых на компьютере. Средства языка C# для организации циклов приводятся в п. 1.7.2, 1.7.3, 1.7.4.

2.1.1. Циклы по счетчику

Рассмотрим вначале циклы по счетчику, т.е. когда количество повторений цикла известно до начала его выполнения.

При организации цикла по счетчику необходимо:

1) выделить повторяющиеся действия и записать их в общем виде;

2) выбрать управляющую переменную цикла. Это может быть какая-либо величина, имеющаяся в постановке задачи, либо используемая специально в качестве счетчика;

3) определить параметры цикла, т.е. начальное и конечное значения управляющей переменной и шаг ее изменения.

Пример 2.1. Пусть требуется вычислить сумму

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

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

Тогда программа будет иметь следующий вид:

static void Main(string[] args)

for (int a = 5; a p, необходимо выйти из цикла.

Далее приводится программа для решения задачи при a = 2, h = 3, p = 41. В программе текущее значение номера члена суммы обозначено через n. Значение этой переменной, при котором впервые оказалась s > p, и будет результатом.

const int a = 2, h = 3, p = 41;

Console.WriteLine(«Сумма равна <0:f4>«, s);

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

При программной реализации метода итераций нет необходимости в использовании переменных с индексами. Для организации вычислительного процесса необходимо одновременно иметь в памяти значения лишь двух последовательных приближений (обозначим их х0 и х1). Следующее приближение х1 получается из предыдущего х0. Если условие достижения точности аbs(х1–х0)£ какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации циклане выполняется, то следует переслать значение х1 в переменную х0 (х0=х1) и получить в х1 следующее приближение.

При организации цикла проверку условия удобно осуществлять после первого прохождения цикла, т.е. использовать цикл do … while.

const double eps = 0.0001;

Console.WriteLine(«Корень равен <0:f4>«, x1);

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Пример 2.11. Вычислить частное p и остаток q от деления двух натуральных чисел r и t, не используя операцию деления. Число r можно представить в виде какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла. Будем последовательно вычитать t из r и подсчитывать количество вычитаний в переменной p. Значение q — результат последнего вычитания, когда в первый раз будет выполнено условие какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла.

Console.WriteLine(«Частное <0:d>Остаток <1:d>«, p, q);

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Здесь используется цикл с проверкой условия до первого выполнения тела цикла (что важно), так как возможен случай, когда r = eps);

y = Math.Cos(x) + x * Math.Sin(x);

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Вопросы для самопроверки

1. Что такое цикл? Операторы цикла for, while, do … while. Различия между ними.

2. Какие данные необходимы для организации цикла for? Что такое управляющая переменная цикла?

3. Циклы по условию и их организация.

4. Операторы break и continue. В каких случаях они используются?

5. Типовые алгоритмы циклической структуры: вычисление суммы n слагаемых, вычисление произведения n сомножителей, вычисление факториала, табулирование функции.

6. Вычисление суммы с использованием рекуррентных соотношений.

Источник

Организация циклов

Цикл — это фрагмент программы, повторяемый многократно. В Паскале три оператора цикла — while, repeat и for. В принципе, без них можно обойтись, поскольку любой цикл можно реализовать с помощью условного оператора if и оператора перехода goto, но операторы цикла гораздо удобнее и нагляднее. У каждого из них есть предпочтительная область применения.

Все циклы имеют схожую структуру (рис. 2.1). Операторы, ради многократного выполнения которых организуется цикл, называются телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла. Один проход цикла называется итерацией.

На этапе начальных установок (до входа в цикл) задаются значения переменных, которые в нем используются. Эти значения могут задаваться явно или неявно.

Цикл завершается, если условие его продолжения не выполняется. Возможно принудительное завершение как текущей итерации (для этого применяется процедура continue), так и цикла в целом (процедура break и оператор goto). Передавать управление извне внутрь цикла не рекомендуется, потому что при этом не выполнятся начальные установки. Иными словами, выйти из цикла можно в любой момент, а войти — только в начало (примерно как в самолете).

2.1 Цикл с предусловием while

В цикле с предусловием проверка условия продолжения цикла выполняется перед телом цикла (рис. 2.1,а). Если при входе в цикл условие не выполняется, он не будет выполнен ни разу.

Оператор цикла имеет вид

while выражениеоператор

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Рис. 2.1. Структурная схема операторов цикла:

а — цикл с предусловием; б — цикл с постусловием

2.2 Цикл с постусловием repeat

Оператор цикла с постусловием реализует структурную схему, приведенную на рис. 2.1,б, и имеет вид

В отличие от цикла while, этот цикл будет выполняться, пока ложно логическое выражение, указанное после слова until. Как только результат выражения станет истинным, произойдет выход из цикла. Вычисление выражения выполняется в конце каждой итерации цикла. Тело цикла заключено между служебными словами repeat и until, поэтому дополнительно заключать его между ключевыми словами begin и end не требуется.

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

2.3 Цикл с параметром for

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

for параметр := выражение_1 to выражение_2 do оператор

for параметр : = выражение_2 downto выражение_1 do оператор

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

Выражения должны быть совместимы по присваиванию с переменной цикла. Они вычисляются один раз до входа в цикл. Оператор for реализован в Паскале как цикл с предусловием. Таким образом, если в первой форме выражение_1 будет больше, чем выражение_2, а во второй — меньше, тело такого цикла не будет выполнено ни разу.

Дата добавления: 2015-08-08 ; просмотров: 2402 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источник

Циклические алгоритмические процессы

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Циклическими называются алгоритмы, содержащие циклы.

Цикл – управляющая структура, организующая многократное выполнение какого-либо действия(действий).

Значения входящих в цикл величин изменяется по мере его повторения. Такие переменные называются параметрами цикла.

Для организации цикла необходимо:

1. задание начальных значений параметров цикла;

2. предусмотреть изменение параметров цикла перед каждым его повторением;

3. проверить условие повторения и завершения цикла;

4. предусмотреть переход в начало цикла, если он не закончен или выход из цикла в противном случае.

Все циклы можно разделить на детерминированные и недетерминированные.

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

В детерминированном цикле для управления циклом вводится некоторая переменная какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикладля которой задаются начальное значение какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации циклаи конечное значение какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла, а также шаг какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла– величина на которую изменяется переменная ( какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла) за каждый цикл. Величины какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации циклазаписываются в блок «подготовка».

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

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации циклакакие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Число повторений цикла, определяемое как отношение разности конечного (Хk) и начального ( какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла) значений переменной цикла к шагу ( какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла) плюс один.

В циклах с неизвестным заранее числом повторений различают алгоритмы с предусловием и постусловием.

Для цикла с постусловием тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла, данному типу циклов соответствует фраза «выполнять действия пока условие истинно (ложно)». В случае цикла с предусловием тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода данный тип циклов можно описать фразой: «Пока условие истинно (ложно) выполнять действия».

После выхода из цикла алгоритм переходит на этап продолжения программы.

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

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

На определенных участках программы в ней объявляются переменные (в нашем случае Y), для хранения значений этих переменных компьютер выделяет какое-то количество ячеек оперативной памяти, каждая из которых имеет свой уникальный адрес. При обращении программы к переменной компьютер берет ее значение именно из тех ячеек, в которые она была записана. Если на входе выполнения программы переменная меняет свое значение, то из ячеек памяти стирается текущее значение и в них записывается новое. То есть выражение какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации циклаозначает, что «новое» значение переменной Y получается путем прибавления к «прошлому» значению переменной Y единицы.

Рассмотрим примеры задач, в решении которых используются циклические структуры.

Пример 1. Найти сумму ряда какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

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

Пример 2. Определить через, сколько лет размер банковского вклада увеличится в два раза, если начальный вклад составлял K, руб., а процентная ставка N%.

Решение данной задачи возможно двумя способами (рис. 8), вариант а) использует цикл с предусловием, вариант б) цикл с пост условием.

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

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

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

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Пример: Найти сумму элементов двумерного массива

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

Строки обозначим индексом i столбцы индексом j.

Источник

Организация циклов

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла

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

· выполнение заданной команды для всех элементов указанного множества;

· выполнение заданной команды для всех подходящих имен файлов;

· выполнение заданной команды для всех подходящих имен каталогов;

· выполнение заданной команды для определенного каталога, а также всех его подкаталогов;

· получение последовательности чисел с заданными началом, концом и шагом приращения;

· чтение и обработка строк из текстового файла;

· обработка строк вывода определенной команды.

Цикл FOR … IN … DO …

Самый простой вариант синтаксиса команды FOR для командных файлов имеет следующий вид:

FOR %%переменная IN (множество) DO команда [параметры]

Перед названием переменной должны стоять именно два знака процента (%%), а не один, как это было при использовании команды FOR непосредственно из командной строки.

Сразу приведем пример. Если в командном файле заданы строки

@ECHO OFFFOR %%i IN (Раз,Два,Три) DO ECHO %%i

то в результате его выполнения на экране будет напечатано следующее:

Параметр множество в команде FOR задает одну или более текстовых строк, разделенных запятыми, которые вы хотите обработать с помощью заданной команды. Скобки здесь обязательны. Параметр команда [параметры] задает команду, выполняемую для каждого элемента множества, при этом вложенность команд FOR на одной строке не допускается. Если в строке, входящей во множество, используется запятая, то значение этой строки нужно заключить в кавычки. Например, в результате выполнения файла с командами

@ECHO OFFFOR %%i IN («Раз,Два»,Три) DO ECHO %%i

на экран будет выведено

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

Чтобы избежать путаницы с параметрами командного файла %0 — %9, для переменных следует использовать любые символы кроме 0 – 9.

Параметр множество в команде FOR может также представлять одну или несколько групп файлов. Например, чтобы вывести в файл список всех файлов с расширениями txt и prn, находящихся в каталоге C:\TEXT, без использования команды DIR, можно использовать командный файл следующего содержания:

@ECHO OFFFOR %%f IN (C:\TEXT\*.txt C:\TEXT\*.prn) DO ECHO %%f >> list.txt

При таком использовании команды FOR процесс обработки продолжается, пока не обработаются все файлы (или группы файлов), указанные во множестве.

Цикл FOR /D … IN … DO …

Следующий вариант команды FOR реализуется с помощью ключа /D:

FOR /D %%переменная IN (набор) DO команда [параметры]

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

@ECHO OFFCLSFOR /D %%f IN (C:\*.*) DO ECHO %%f

мы получим список всех каталогов на диске C:, например:

Цикл FOR /R … IN … DO …

С помощью ключа /R можно задать рекурсию в команде: FOR:

FOR /R [[диск:]путь] %%переменная IN (набор) DO команда [параметры]

В этом случае заданная команда выполняется для каталога [диск:]путь, а также для всех подкаталогов этого пути. Если после ключа R не указано имя каталога, то выполнение команды начинается с текущего каталога. Например, для распечатки всех файлов с расширением txt в текущем каталоге и всех его подкаталогах можно использовать следующий пакетный файл:

@ECHO OFFCLSFOR /R %%f IN (*.txt) DO PRINT %%f

Если вместо набора указана только точка (.), то команда проверяет все подкаталоги текущего каталога. Например, если мы находимся в каталоге C:\TEXT с двумя подкаталогами BOOKS и ARTICLES, то в результате выполнения файла:

@ECHO OFFCLSFOR /R %%f IN (.) DO ECHO %%fна экран выведутся три строки:C:\TEXT\.C:\TEXT\BOOKS\.C:\TEXT\ARTICLES\.

Цикл FOR /L … IN … DO …

Ключ /L позволяет реализовать с помощью команды FOR арифметический цикл, в этом случае синтаксис имеет следующий: вид:

FOR /L %%переменная IN (начало,шаг,конец) DO команда [параметры]

Здесь заданная после ключевого слова IN тройка (начало,шаг,конец) раскрывается в последовательность чисел с заданными началом, концом и шагом приращения. Так, набор (1,1,5) раскрывается в (1 2 3 4 5), а набор (5,-1,1) заменяется на (5 4 3 2 1). Например, в результате выполнения следующего командного файла:

какие данные необходимы для организации цикла. Смотреть фото какие данные необходимы для организации цикла. Смотреть картинку какие данные необходимы для организации цикла. Картинка про какие данные необходимы для организации цикла. Фото какие данные необходимы для организации цикла
@ECHO OFFCLSFOR /L %%f IN (1,1,5) DO ECHO %%f

переменная цикла %%f пробежит значения от 1 до 5, и на экране напечатаются пять чисел:

Числа, получаемые в результате выполнения цикла FOR /L, можно использовать в арифметических вычислениях. Рассмотрим командный файл my.bat следующего содержания:

@ECHO OFFCLSFOR /L %%f IN (1,1,5) DO CALL :2 %%fGOTO :EOF:2SET /A M=10*%1ECHO 10*%1=%M%

В третьей строке в цикле происходит вызов нового контекста файла my.bat с текущим значением переменной цикла %%f в качестве параметра командной строки, причем управление передается на метку :2 (см. описание CALL в разделе «Изменения в командах перехода»). В шестой строке переменная цикла умножается на десять, и результат записывается в переменную M. Таким образом, в результате выполнения этого файла выведется следующая информация:

Цикл FOR /F … IN … DO …

Самые мощные возможности (и одновременно самый запутанный синтаксис) имеет команда: FOR с ключом /F:

FOR /F [«ключи»] %%переменная IN (набор) DO команда [параметры]

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

По умолчанию ключ /F выделяет из каждой строки файла первое слово, очищенное от окружающих его пробелов. Пустые строки в файле пропускаются. Необязательный параметр «ключи» служит для переопределения заданных по умолчанию правил обработки строк. Ключи представляют собой заключенную в кавычки строку, содержащую приведенные в табл. 3.3 ключевые слова:

Таблица 3.3. Ключи в команде FOR /F
КлючОписание
EOL=CОпределение символа комментариев в начале строки (допускается задание только одного символа)
SKIP=NЧисло пропускаемых при обработке строк в начале файла
DELIMS=XXXОпределение набора разделителей для замены заданных по умолчанию пробела и знака табуляции
TOKENS=X,Y,M-NОпределение номеров подстрок, выделяемых из каждой строки файла и передаваемых для выполнения в тело цикла

При использовании ключа TOKENS=X,Y,M-N создаются дополнительные переменные. Формат M-N представляет собой диапазон подстрок с номерами от M до N. Если последний символ в строке TOKENS= является звездочкой, то создается дополнительная переменная, значением которой будет весь текст, оставшийся в строке после обработки последней подстроки.

Разберем применение этой команды на примере пакетного файла parser.bat, который производит разбор файла myfile.txt:

@ECHO OFFIF NOT EXIST myfile.txt GOTO :NoFileFOR /F «EOL=; TOKENS=2,3* DELIMS=, » %%i IN (myfile.txt) DO @ECHO %%i %%j %%kGOTO :EOF:NoFileECHO Не найден файл myfile.txt!

Здесь во второй строке производится проверка наличия файла myfile.txt; в случае отсутствия этого файла выводится предупреждающее сообщение. Команда FOR в третьей строке обрабатывает файл myfile.txt следующим образом:

Пропускаются все строки, которые начинаются с символа точки с запятой ( EOL=; ).

Вторая и третья подстроки из каждой строки передаются в тело цикла, причем подстроки разделяются пробелами (по умолчанию) и/или запятыми ( DELIMS=,).

В теле цикла переменная %%i используется для второй подстроки, %%j — для третьей, а %%k получает все оставшиеся подстроки после третьей.

В нашем примере переменная %%i явно описана в инструкции FOR, а переменные %%j и %%k описываются неявно с помощью ключа TOKENS=. Например, если в файле myfile.txt были записаны следующие три строки:

ААА ББББ ВВВВ,ГГГГГ ДДДДЕЕЕЕЕ,ЖЖЖЖ ЗЗЗЗ;КККК ЛЛЛЛЛ МММММ

то в результате выполнения пакетного файла parser.bat на экран выведется следующее:

ББББ ВВВВ ГГГГГ ДДДДЖЖЖЖ ЗЗЗЗ

Ключ TOKENS= позволяет извлечь из одной строки файла до 26 подстрок, поэтому запрещено использовать имена переменных, начинающиеся не с букв английского алфавита (a–z). Следует помнить, что имена переменных FOR являются глобальными, поэтому одновременно не может быть активно более 26 переменных.

Команда FOR /F также позволяет обработать отдельную строку. Для этого следует ввести нужную строку в кавычках вместо набора имен файлов в скобках. Строка будет обработана так, как будто она взята из файла. Например, файл следующего содержания:

@ECHO OFFFOR /F «EOL=; TOKENS=2,3* DELIMS=, » %%i IN («ААА ББББ ВВВВ,ГГГГГ ДДДД») DO @ECHO %%i %%j %%k

при своем выполнении напечатает

ББББ ВВВВ ГГГГГ ДДДД

Вместо явного задания строки для разбора можно пользоваться переменными среды, например:

@ECHO OFFSET M=ААА ББББ ВВВВ,ГГГГГ ДДДДFOR /F «EOL=; TOKENS=2,3* DELIMS=, » %%i IN («%M%») DO @ECHO %%i %%j %%k

Наконец, команда FOR /F позволяет обработать строку вывода другой команды. Для этого следует вместо набора имен файлов в скобках ввести строку вызова команды в апострофах (не в кавычках!). Строка передается для выполнения интерпретатору команд cmd.exe, а вывод этой команды записывается в память и обрабатывается так, как будто строка вывода взята из файла. Например, следующий командный файл:

@ECHO OFFCLSECHO Имена переменных среды:ECHO.FOR /F «DELIMS==» %%i IN (‘SET’) DO ECHO %%i

выведет перечень имен всех переменных среды, определенных в настоящее время в системе.

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

Таблица 3.4. Операторы для переменных команды FOR
ОператорыОписание
%

Fi

Переменная %i расширяется до полного имени файла
%

Di

Из переменной %i выделяется только имя диска
%

Pi

Из переменной %i выделяется только путь к файлу
%

Ni

Из переменной %i выделяется только имя файла
%

Xi

Из переменной %i выделяется расширение имени файла
%

Si

Значение операторов N и X для переменной %i изменяется так, что они работают с кратким именем файла

Если планируется использовать расширения подстановки значений в команде FOR, то следует внимательно подбирать имена переменных, чтобы они не пересекались с обозначениями формата.

Например, если мы находимся в каталоге C:\Program Files\Far и запустим командный файл следующего содержания:

Источник

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

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