![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операторы организации циклов
Циклические операторы используются для многократного повторения некоторого фрагмента программы, который называется телом цикла. Количество повторений может быть заранее заданным или определяться выполнением некоторого условия. В языке Паскаль имеется три вида операторов цикла: – оператор цикла с предварительным условием; – оператор цикла с последующим условием; – оператор цикла с параметром. Оператор цикла с параметром. Оператор цикла с параметром используется в тех случаях, когда заранее известно, сколько раз должна повториться циклическая часть программы. Оператор цикла имеет вид: for i:= m1 to m2 do Begin операторы циклической части программы end;
Здесь for, to, do – служебные слова; i – счетчик цикла (или управляющая переменная); m1, m2 – начальное и конечное значения параметра цикла. Если в цикле выполняется один оператор, то операторные скобки begin и end не пишутся. for i:= m1 to m2 do оператор;
Циклическая часть программы выполняется повторно для каждого значения параметра цикла i от его начального значения m1 до конечного значения m2 включительно. В качестве параметра цикла может быть использована только простая переменная, относящаяся к целому, символьному, логическому, перечисляемому и диапазонному типам. Возможные значения управляющей переменной определяются перед первым выполнением цикла. Если параметр цикла имеет целый тип, то он автоматически увеличивается на +1 от значения m1 до значения m2. Если параметр цикла должен уменьшаться на –1, то вместо служебного слова to используют downto. В качестве m1 и m2 могут использоваться выражения, при этом их тип должен совпадать с типом i. В теле цикла запрещается явное изменение управляющей переменной (например, оператором присваивания). После завершения цикла управляющая переменная сохраняет свое последнее значение. Если используется конструкция to и m1 больше m2 (downto и m1 меньше m2), то цикл не работает ни разу. Пример 1. Параметр цикла возрастает от 1 до 5. Var s: real; i: integer; Begin s:=0; for i:= 1 to 5 do s:= s+1; End. Пример 2. Параметр цикла убывает от 5 до 1. Var s: real; i: integer; Begin s:=0; for i:= 5 downto 1 do s:= s+1; End. Пример 3. Параметр цикла является символьной переменной и принимает значения ‘A’, ‘B’, ‘C’, ‘D’.
Var m: char; s: real; Begin s:=0; for m:= ’a’ to ‘d’ do s:=s+1; End. Ввод-вывод числовых одномерных массивов. Элементы одномерного массива можно вводить по одному (ввод каждого элемента заканчивается нажатием клавиши Enter) или все сразу (элементы вводятся друг за другом через пробел и в конце нажимают клавишу Enter).
(*Ввод по одному элементу с комментарием*) for i:= 1 to 10 do Begin Write(‘Введите b[ ’,i,’ ] =’); ReadLn(b[i]); end; При выполнении данной группы операторов на экран будет выведено Введите b[ 1 ]= Следует с помощью клавиатуры набрать значение b[1], например 4 Enter. Теперь на экран будет выведено Введите b[ 2 ]= Следует с помощью клавиатуры набрать значение b[2], например 24 Enter и т.д. Вывод элементов одномерного массива можно осуществить всех элементов в одну строку или вывести в каждой строке по одному элементу массива. (*Вывод всех элементов А в одной строке*) WriteLn(‘Массив A’); for i:= 1 to 5 do Write(a[i]:5:1,’ ‘); WriteLn; На экране, например, может быть выведено следующее: -12.5 3.4 67.0 –8.6 3.2 Оператор цикла с предварительным условием Используется, как правило, в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи оператора цикла с предусловием следующая: while условие do Begin операторы циклической части программы (тело цикла) end; Здесь while, do – зарезервированные слова; условие - выражение логического типа. Если в циклической части стоит всего один оператор, то операторные скобки begin и end можно не указывать и оператор цикла примет вид: while условие do оператор; Оператор цикла действует следующим образом. Предварительно проверяется логическое выражение – условие. Если оно истинно, то выполняются операторы циклической части программы. Если логическое выражение ложно, то происходит выход из цикла. Если с самого начала значение логического выражения ложно, то операторы циклической части не выполняются ни разу. Логическое выражение должно меняться в теле цикла, иначе цикл будет бесконечным.
Пример. Вычислить значения функции y при изменении х от с до d с шагом h.
Var x, a, y, c, d, h: real; Begin (*Ввод исходных данных*)
WriteLn(‘Введите с,d,h,a’); ReadLn(c, d, h, a); (*присвоение х нижней границы интервала*) x:= c; (*сравнение х с верхней границей интервала*) while x <= d do Begin (*Вычисление y*) if x > a then y:= x * cos(a*x) else y:= sin(x) + a * x; (*Вывод y и х*) WriteLn(‘y= ’, y:10:2,’ x= ’,x:6:2) (*Увеличение х на шаг и переход на оператор while*) x:= x + h; end; End.
|
|||||||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 496; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.250.153 (0.009 с.) |