Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
Поняття про орфограму «*рфогр&фія*. У Зв'язку З ЦИМДата добавления: 2015-10-19; просмотров: 1826
ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ имеет два варианта. Вариант 1: FOR i:= н_зн ТО к_зн DO оп-р; где н_зн, к_зн – начальное и конечное значения параметра цикла i или выражения для подсчета этих значений; оп-р – оператор, называемый в программировании телом цикла. Первый вариант оператора цикла For выполняется по шагам следующим образом: 1) на первом шаге параметру цикла i присваивается значение н_зн и проверяется условие i<=к_зн; 2) если условие i <= к_зн принимает значение true (истина), то выполняются действия, записанные в теле циклаоп-р, иначепрограмма выходитза пределы цикла(программа переходит на выполнение следующего оператора, располагающегося после знака «;»); 3) после выполнения действий оп-р программа переходит к следующему шагу, на котором параметру цикла i присваивается следующее по порядку значение(если параметр iв разделе объявлений описан как целое число, то он увеличивается на 1, если параметр i – символьный, то он принимает значение следующего символа в соответствии с кодами символов от 0 до 255, а если параметр i имеет перечислимый тип, то принимает следующее значение в списке объявленных значений) и снова проверяется условие i<=к_зн (см.предыдущий пункт). Таким образом, на каждом шаге параметр i последовательно принимает значения от н_зн до к_зн и тело цикла оп-р выполняется (к_зн - н_зн +1) раз. Очевидно, что для корректности работы данного варианта оператора цикла с параметром должно выполняться условие н_зн < к_зн. Если же начальное и конечное значения параметра цикла вычисляются по некоторому алгоритму и окажется, что н_зн > к_зн, то оператор цикла эквивалентен пустому оператору. Вариант 2: FOR i:= н_зн DOWNТО к_зн DO оп-р; Во втором варианте оператора Forпараметру i, принимающему первоначально значение н_зн, на каждом следующем шаге присваивается предыдущее значение, определяемое порядковым типом параметра (для целого числа это значение на 1 меньше, для символьного типа это предыдущий символ по отношению к символу, выбранному на данном шаге). Для корректности работы второго варианта оператора цикла с параметром должно выполняться условие н_зн > к_зн. Если же начальное и конечное значения параметра цикла вычисляются по некоторому алгоритму и окажется, что н_зн > к_зн, то оператор цикла эквивалентен пустому оператору.
Примечания: 1. Параметр цикла i и, соответственно, н_зн, к_зн могут быть любого порядкового типа (целые – byte, shortint, integer, символьный, булевский, перечислимый,…). 2. Тело цикла, обозначенное здесь как оп-р, может состоять из одного оператора, то естьбыть простым оператором, или из некоторой последовательности операторов, то есть быть составным оператором. Если тело цикла оп-р состоит из двух и более операторов, то они должны быть оформлены как составной оператор, то есть заключаться в алгоритмические скобки BEGIN…END и после слова END, естественно, ставится знак «;». Следовательно, в любом случае оператор цикла заканчивается знаком «точка с запятой». 3. Параметр цикла i меняет свои значения только автоматически, при переходе к следующему шагу цикла. Изменения параметра цикла i в теле цикла запрещены. 4. Значение параметра цикла i при выходе из оператора цикла становится неопределенным. Поэтому переменная i, объявленная в программе, может использоваться в качестве параметров цикла в различныхнезависимыхоператорах цикла, а вне этих операторов - как простая переменная. Например, будет корректным такой фрагмент программы: Var i, sum_int:integer; sum_r:real; Begin … sum_r:=0;sum_int:=0; For i:=1 to 5 do sum_r:=sum_r+1/i;{i – параметр цикла } For i:=1 to 10 do sum_int:=sum_int+sqr(i);{ i – параметр цикла } i:=35;{i - переменная} … Еnd;
Рекомендации по применению. Оператор цикла с параметром следует применять в тех случаях, когда количество выполнений оператора оп-р известно или может быть вычислено до начала выполнения оператора цикла. Ниже приводятся программы, иллюстрирующие применение оператора цикла с параметром. Пример1. Вычислить сумму N элементов арифметической прогрессии а1,а2,а3,…,аN при заданных значениях начального элементе а1 и разности d, позволяющих определить следующий элемент аi+1 из предыдущего ai по формуле аi+1 := ai + d, где i=1,2,…,N: Program sum_ap; var i,N:byte; ai,d,sum: real; begin sum:=0;write(‘Задайте целое N и любые аi,d,: ’); readln(ai,d,N); for i:=1 to N do begin sum:=sum + ai; write(‘Сумма на ’,i,’-м шаге равна ’, sum); ai:=ai+d End; writeln(‘Для выхода из программы нажми Enter’);readln; end.
|