информатика методичка
.pdfПроцедура Readln производит считывание данных, представленных списком ввода, с указанием признака конца строки. Если ввод данных выполняется процедурой Read, признак конца строки не читается.
Список ввода представляет собой перечисленные через запятую |
||
|
|
У |
имена переменных, которым присваиваются введенные значения, |
||
например, x1, x2, a, b, c. |
Т |
|
Вывод информации осуществляется при помощи процедур: |
|
Write(<список вывода>); Writeln(<список вывода>).
После вывода информации процедура Writeln осуществляет переход на новую строку, процедура Write переход на новую строку не выполняет.
При выводе данных можно использовать систему форматов язы- |
||||
ка Паскаль: |
|
|
Н |
|
|
|
|
й |
|
Write(<Выражение>:F1:F2), где F1, F2 – форматы вывода. |
||||
Первый формат (F1) определяет размер поляБдля вывода инфор- |
||||
и определяет число знаков после |
десятичной точки (число представ- |
|||
мации, т.е. число позиций для вывода данных, включая знак «ми- |
||||
нус» для отрицательных чисел и точку для чисел с дробной частью. |
||||
Второй формат (F2) используется только |
вещественными числами |
|||
строки – число поз ц й, равноедлине строки; целого числа – число |
||||
ляется в форме с фиксир ванн й т чкой). |
|
|||
Для вывода списка о в ди сярк личество позиций, равное размеру |
||||
|
|
и |
|
|
выводимой информации: при выв де одного символа – одна позиция; |
||||
позиций, равное ч слутзначащих цифр плюс одна позиция под знак, |
||||
|
число |
|
|
|
если число отр цательное. При недостатке количества позиций для |
||||
вывода |
или текст выводятся полностью, а формат игнорирует- |
|||
полностью |
|
|
|
|
ся, кр ме ф рматазвывода дробной части числа. Если формат вывода |
||||
не задавать, то значения целых и строковых переменных выводятся |
||||
е |
, а вещественных – в экспоненциальной форме с количе- |
|||
|
||||
ством цифр, соответствующих типу переменной. |
||||
Р |
|
|
|
|
Например, значение переменной x типа Real (допустим, число 57,25) будет представлено на экране процедурой Write(‘X=’,x) в виде Х=5.7250000000E+01. То же значение x при использовании процедуры Write(‘X=’,x:5:2) отобразится на экране как 57.25.
Пример. Составить программу вычисления выражения y(x) e1/(2x 1) для любых целочисленных значений аргумента. Вы-
60
вод результата вычислений осуществлять на экран, предусмотрев 5 позиций для дробной части числа.
Решение
|
|
|
|
|
|
|
|
|
|
У |
|
Program Y_X2; {Заголовок программы, необязательный элемент} |
|||||||||
|
Var X:Integer; {Раздел объявления переменных} |
|
|
|
||||||
|
Y:Real; |
|
|
|
|
|
|
|
|
|
|
Begin {Начало тела программы} |
|
|
Н |
|
|||||
|
|
|
|
|
|
|
|
|
||
|
Write(‘X=’); {Вывод на экран сообщения ‘X=’} |
|
Т |
|||||||
|
Readln(X); {Ввод значения аргумента с клавиатуры} |
|||||||||
|
Y:=Exp(1/(2*x-1)); {Вычисление выражения} |
|
||||||||
|
|
|
|
|
|
|
Б |
|
|
|
|
Writeln(‘Y=’,Y:0:5);{Вывод на экран результата вычислений} |
|||||||||
|
End. {Конец тела программы} |
|
й |
|
|
|
||||
|
|
|
|
|
|
|
|
|
||
|
|
Задание для самостоятельной работы |
|
|
||||||
|
|
|
|
|
и |
|
|
|
|
|
|
Составить программу для ввода данных о студентах учебной |
|||||||||
группы (фамилия, номер группы, номер варианта) и вывода этой |
||||||||||
|
|
|
|
р |
|
|
|
|
|
|
информации на экран в формати ованном (табличном) виде. |
|
|||||||||
|
|
|
о |
|
|
|
|
|
|
|
|
|
Лаборат |
ная абота №10 |
|
|
|
||||
|
|
и |
|
|
|
|
|
|
|
|
|
ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ: |
|
||||||||
|
УСЛОВНЫЙ И БЕЗУСЛОВНЫЙ ПЕРЕХОД |
|
||||||||
|
Цель |
: уч ть порядок организации разветвляющихся |
||||||||
вычислительных процессов с использованием операторов условно- |
||||||||||
|
п |
|
|
|
|
|
|
|
|
|
го и безусл внзго перехода. |
|
|
|
|
|
|
|
|||
|
О ерат р безусловного перехода позволяет изменить стандарт- |
|||||||||
разделе |
|
|
|
|
|
|
|
|
|
|
ный оследовательныйработы |
порядок выполнения операторов и сразу пе- |
|||||||||
р йти к вы олнению того оператора, перед которым записан пара- |
||||||||||
Р |
|
|
|
|
|
|
|
|
|
|
м тр программы, называемый «меткой». Этот параметр объявляется |
||||||||||
в |
|
описания меток той программы (процедуры или функ- |
ции), в которой он используется (начинается со слова Label). При этом нельзя перейти из одной процедуры или функции в другую. После «метки» ставится двоеточие.
Формат оператора безусловного перехода:
61
GOTO <метка>.
Пример. Составить программу непрекращающегося вывода текстового сообщения на экран (бесконечный цикл).
|
|
|
|
|
|
Решение |
|
|
|
У |
||
|
Program Y_X3; |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
|
Label m1; |
|
|
|
|
|
|
|
|
Т |
||
|
Begin |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m1: Writeln(‘Бесконечный вывод этого сообщения на экран’); |
|||||||||||
|
Goto m1; |
|
|
|
|
|
|
|
|
Н |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End. |
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Оператор условного перехода определяет порядок выполнения |
|||||||||||
тех операторов, которые находятся после зарезервированных слов |
||||||||||||
Then или Else в зависимости от истинности или ложности логиче- |
||||||||||||
ского выражения (<условия>), записанного после зарезервирован- |
||||||||||||
ного слова If. |
|
|
|
|
|
и |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
Формат оператора условного перехода: |
|
|
|
||||||||
|
|
|
|
|
|
|
р |
й |
|
|
||
|
If <условие> then <оператор>; |
|
|
|
||||||||
|
либо |
|
|
|
о |
|
|
|
|
|
||
|
If <условие> then <операт 1> else <оператор2>; |
|
|
|||||||||
|
|
|
|
операт |
|
|
|
|
|
|
||
|
В первом случае < |
|
|
> выполняется, если истинным ока- |
||||||||
жется <условие> (в пр |
ивн м случае будет выполняться оператор, |
|||||||||||
|
|
условие |
|
|
|
|
|
|
|
|||
следующий за If < |
|
|
|
> then <оператор>). |
|
|
|
|||||
|
Во втором случае, если ис инным окажется <условие>, то вы- |
|||||||||||
|
|
з |
|
|
|
|
|
|
|
|
|
|
полняться будет <оператор1>, если ложным – <оператор2>. |
|
|||||||||||
|
Синтаксис я ыка допускает запись только одного оператора по- |
|||||||||||
сле сл в then и else, поэтому, если требуется выполнить группу опе- |
||||||||||||
|
п |
|
|
|
|
|
|
|
|
|
|
|
ратор в, их |
|
бъединить в составной оператор (окаймить опе- |
||||||||||
раторными ск бками begin … end). В противном случае будет сде- |
||||||||||||
е |
|
|
|
|
|
|
|
|
|
|
|
|
лана логическаянадоошибка программы. |
|
|
|
|
||||||||
Р |
Прим р. Составить программу вычисления минимального зна- |
ч ний функции y(x) = x2 – 2x + 3, аргумент x которой задан интервалом целых значений отрезка [–10;10].
Решение
Program Y_X4;
62
|
Label M; |
|
|
|
|
|
|
|
||
|
Var X:Integer; |
|
|
|
|
|
|
|||
|
Y, Min: Real; |
|
|
|
|
|
|
|
||
|
Begin |
|
|
|
|
|
|
|
|
|
|
X:=-10; |
|
|
|
|
|
|
У |
||
|
Min:=Sqr(X)-2*X+3; |
|
|
|
|
|||||
|
M: Y:= Sqr(X)-2*X+3; |
|
|
|
|
|||||
|
If Y<Min then Min:=Y; |
|
|
|
|
|||||
|
X:=X+1; |
|
|
|
|
|
|
|||
|
|
|
|
|
|
Т |
||||
|
if X<=10 Then GOTO M; |
|
|
|||||||
|
Writeln (‘Min=’, Min); |
|
|
|
||||||
|
|
|
Н |
|
||||||
|
End. |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Условный оператор выбора |
|
|
||||
|
|
|
|
|
|
|
|
Б |
|
|
|
При решении задач, когда необход мо осуществлять выбор од- |
|||||||||
ного из нескольких альтернативных |
|
выполнения программы |
||||||||
|
|
|
|
|
|
|
путей |
|
|
|
можно использовать условный опе атор выбора CASE. Несмотря на |
||||||||||
то, что такой выбор |
|
о ганизовать |
с помощью оператора |
|||||||
условного перехода if … then, уд бнее всего воспользоваться спе- |
||||||||||
циальным оператором выб рар. Его формат позволяет реализовать |
||||||||||
алгоритм выбора (опера |
р в) в зависимости от значений выраже- |
|||||||||
ний порядкового т па. |
можно |
|
|
|
|
|||||
|
Формат операторат: |
|
|
|
|
|||||
|
Case S of |
и |
|
|
|
|
|
|||
|
c1: < |
|
|
|
|
|
|
|
||
|
|
перат р1>; |
|
|
|
|
|
|
||
|
c2: < |
|
ператзр2>; |
|
|
|
|
|
|
|
|
........................... |
|
|
|
|
|
|
|||
|
cn: <о |
|
n>; |
|
|
|
|
|
|
|
|
|
ератор |
|
|
|
|
|
|
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
п |
|
|
|
|
|
|
|
||
е |
|
|
|
|
|
|
|
|
|
|
Р |
|
|
|
|
|
|
|
|
|
|
либо
Case S of
c1: <оператор1>; c2: <оператор2>;
...........................
cn: <оператор n> else <оператор> end;
63
где S – выражение порядкового типа, значение которого вычисляется;
сi (с1,с2,...cn) – константы, с которыми сравнивается выраже-
ние S.
Выражение S, которое записывается после зарезервированного слова Case, называется селектором, оно может быть любого поряд-
кового типа, сi состоит из одной или более констант или диапазо- |
|||||||||
нов, разделенных запятыми. Они должны принадлежать к тому же |
|||||||||
типу, что и селектор, причем недопустимо более одного упоминания |
|||||||||
|
|
|
|
|
|
|
|
|
У |
сi в записи оператора Case. Из перечисленного множества |
|||||||||
операторов будет выбран только тот, перед которым записан сi, |
|||||||||
|
|
|
|
|
|
|
|
|
Т |
совпадающий со значением селектора. Если такого сi нет, выполня- |
|||||||||
ется оператор, следующий за словом else (если оно есть). |
|
||||||||
|
Пример. Составить программу вычисления значенийНфункции |
||||||||
y(x) для произвольно задаваемых значений аргумента х целого типа: |
|||||||||
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
x |
, если 0 x 2 |
|
|||
|
|
|
|
|
|
|
й |
|
|
|
|
|
|
|
|
|
|
||
|
|
y(x)= x2 |
, если 5 x 8 |
|
|||||
|
|
|
|
|
|
и |
12 |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
x , если10 x |
|
||||
|
|
|
|
|
р |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Решение |
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
Program Y X5; |
т |
|
|
|
|
|
||
|
Var X,Y:integer; |
|
|
|
|
|
|
|
|
|
Begin |
и |
|
|
|
|
|
|
|
|
Write(‘X=’); |
|
|
|
|
|
|
|
|
|
|
з |
|
|
|
|
|
|
|
|
Readln(X); |
|
|
|
|
|
|
|
|
|
Case Xоof |
|
|
|
|
|
|
|
|
|
0..2: |
Y:=X; |
|
|
|
|
|
|
|
|
п |
Y:=Sqr(X); |
|
|
|
|
|
||
|
5..8: |
|
|
|
|
|
|||
|
10..12: |
Y:=-X; |
|
|
|
|
|
|
|
е |
|
|
|
|
|
|
|
|
|
Р |
end; |
|
|
|
|
|
|
|
|
Writeln(‘Y=’,Y);
End.
64
Задание для самостоятельной работы
Составить программу вычисления функции y(x) в соответствии с
заданным вариантом (табл. 11) с использованием операторов безусловного и условного перехода. Ввод значений аргумента x осуществляется произвольно, с клавиатуры.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аблица 11 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т |
|
|
|
№ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вари- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y(x) |
|
|
|
|
|
вари- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y(x) |
|
|
|
||||
|
анта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
анта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Н |
|
|
||
|
|
|
e5 x |
tg |
|
x |
|
|
|
|
x |
|
, если 1 x 0 |
|
|
|
|
|
|
x |
|
, если 1 x 0 |
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1/ 3Б |
|
|
|
||||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|||||||||||||||
|
|
1, если x 0 |
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
, если 1 x 2 |
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
2 |
(x) sin |
2 |
(x), если x 2 |
|
|
|
|2 x| |
, если 3 x 5 |
|
|
|||||||||||||||||||||||||||||||
|
|
|
cos |
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
й |
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
x |
|
, если 1 x 0 |
|
|
|
|
3 |
cos(x), если |
2π x 0 |
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
р7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
2 |
|
|
|
1/ 3 |
|
, если 1 x 2 |
|
|
|
|
e |
x |
|
, если 0 x |
|
|
|||||||||||||||||||||||||||||||||
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
e2 x , если |
3 x 5 |
|
о |
|
|
|
|
|
x |
|
, |
|
|
если |
x |
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
т |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
10 x π |
|
|||||||||||
|
|
|
|
|
|
|
|
x, если 10 x |
π |
|
|
|
|
|
|
x, если |
|
|||||||||||||||||||||||||||||||||
|
3 |
|
|
|
|
|
|
x, если π x 10 |
|
|
8 |
|
|
|
x, если π x 10 |
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
ctg(x / 2), если |
|
|
|
||||||||||||||||||||||
|
|
|
tg(2x), если |
|
|
x |
π |
|
|
π x π |
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
з |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
3 |
cos(x), если 2π x 0 |
|
|
|
cos(x), если |
2π x 0 |
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
4 |
|
|
|
ex , если |
0 x 2π |
|
|
9 |
|
2ex , если 0 x 2π |
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
е |
п |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
x |
|
, если x 2π |
|
|
|
|
|
|
|
x 2 |
|
, если x 2π |
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Р |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65
|
|
|
|
|
x / 2 |
|
|
x |
|
, если 1 x 0 |
|
|
|
|
|
x 2 |
|
, если 1 x 0 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
2e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
5 |
|
|
|
|
|
x 1 |
|
|
10 |
|
1/ 3 |
, если 1 |
x 2 |
|
|
|||||||
|
1, если 0 |
|
|
x |
|
|
|
|
|||||||||||||||
|
|
|
cos0,2 |
(x), |
если x 2 |
|
|
|
e2 x 1 , если 3 x 5 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Б |
Т |
|||||
|
|
|
|
|
|
|
|
Лабораторная работа № 11 Н |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
й |
|
|
|
||||||
|
|
|
ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ: |
|
|
||||||||||||||||||
|
|
|
ЗАПИСЬ ЦИКЛИЧЕСКИХ ВЫРАЖЕНИЙ |
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
р |
|
|
|
|
|
|
|
|
|
|
||
|
|
Цель работы: изучить по ядок о ган зации циклических выра- |
|||||||||||||||||||||
|
жений. |
|
|
|
|
|
|
|
о |
и |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
For <переменная-счетчк> : = <значение N1> To <значение N2>. |
|||||||||||||||||||||
|
|
|
|
Циклы со сче чик м (арифметические циклы) |
|
|
|||||||||||||||||
|
|
Формат: |
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Do <оператор;> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
For <переменная-счетчик> : = <значение N2> Downto <значение |
|||||||||||||||||||||
|
|
п |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
N1> Do < ператзр>; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
О ерат р For вызывает <оператор>, находящийся после слова Do, |
|||||||||||||||||||||
е |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
по одномуоразу для каждого значения в диапазоне от <значения N1> |
||||||||||||||||||||||
|
до <знач ния N2> (N1<N2). Переменная-счетчик цикла, начальное |
||||||||||||||||||||||
Р |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
N1и кон чное значение N2 должны иметь порядковый тип. Со словом To значение переменной-счетчика цикла увеличивается на 1 при каждом выполнении цикла. Со словом Downto значение переменной цикла уменьшается на 1 при каждом выполнении цикла. Не следует изменять значение управляющей переменной-счетчика внутри цикла.
66
Следует помнить, что синтаксис языка допускает запись только одного оператора после ключевого слова do, поэтому, если в цикле необходимо выполнить группу операторов, надо объединить их в составной оператор (окаймить операторными скобками begin … end). В противном случае будет сделана логическая ошибка программы.
|
|
|
|
Циклы с предисловием |
У |
|||||
Формат: |
|
|
|
|
|
|
|
|
||
While <выражение> Do <оператор>; |
|
|||||||||
|
|
|||||||||
<Оператор>, записанный после Do, будет выполняться до тех |
||||||||||
|
|
|
|
|
|
|
|
|
|
Т |
пор, пока <выражение> принимает истинное значение (True). Логи- |
||||||||||
ческое <выражение> является условием возобновления цикла. Его |
||||||||||
истинность проверяется каждый раз перед очереднымНповторением |
||||||||||
<оператора> цикла, который будет выполнятся лишь до тех пор, |
||||||||||
пока логическое <выражение> |
|
. КакБтолько логическое |
||||||||
<выражение> принимает значен е «ложь» (False), осуществляется |
||||||||||
переход к оператору, следующему за while. |
|
|||||||||
|
|
|
|
|
|
|
|
й |
|
|
<Выражение> оценивается до выполнен я <оператора>, так что |
||||||||||
если оно с самого начала |
|
|
ложным (False), то <оператор> не |
|||||||
|
|
|
|
|
|
|
|
истинно |
|
|
будет выполнен ни разу. Здесь также следует помнить, что позволя- |
||||||||||
ется использовать только |
дин |
|
после слова Do. Если необ- |
|||||||
|
|
|
|
|
|
|
ператор |
|
|
|
ходимо выполнить группу |
перат ров, |
то нужно использовать со- |
||||||||
ставной оператор. |
|
было |
|
|
||||||
|
|
|
|
т |
|
|
|
|
||
|
|
|
|
Ц клы с постусловием |
|
|||||
|
|
|
и |
|
|
|
|
|
|
|
Формат: |
з |
|
|
|
|
|
|
|
||
Repeat |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||
< |
|
>; |
|
|
|
|
|
|
|
|
… |
ератор |
|
|
|
|
|
|
|
|
|
<опратор>; |
|
|
|
|
|
|
|
|
||
<оп ратор> |
|
|
|
|
|
|
|
|
||
е |
|
|
|
|
|
|
|
|
|
|
Until <выражание>; |
|
|
|
|
|
|
||||
<Операторы> между словами repeat и until повторяются, пока логи- |
||||||||||
Рческое <выражение> является ложным (False). Как только логическое |
<выражение> становится истинным (True), происходит выход из цик-
67
ла. Так как <выражение> оценивается после выполнения <операторов>, то в любом случае <операторы> выполнятся хотя бы один раз.
Операторы принудительного завершения цикла
ла Break и Continue.
Для всех операторов цикла выход из цикла осуществляется вследУ- ствие естественного окончания оператора цикла, но может быть организован с помощью операторов принудительного завершенияТцик-
Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации
цикла. Заметим, что хотя и существует возможность выхода из |
||||||
цикла с помощью оператора безусловного перехода Goto, делать это |
||||||
не желательно. Во всех случаях можно воспользоватьсяНспециально |
||||||
|
|
|
|
|
|
й |
предназначенными для этого процедурами Break и Continue. |
||||||
При организации вложенных (сложных) цикловБнеобходимо учи- |
||||||
тывать: |
|
|
|
|
|
|
– имена параметров для циклов, вложенных один в один, долж- |
||||||
ны быть различны; |
|
должен |
||||
|
|
|
|
|
||
– внутренний цикл |
|
полностьюивходить в тело внешнего |
||||
цикла, пересечение цикл в нед пустимо. |
||||||
|
|
|
|
т |
||
Пример. Состави ь пр |
граммувычисления суммы значений |
|||||
|
|
|
и |
|
||
функции F(x) = e3/5x, вычисленн й для всех целых значений аргу- |
||||||
мента x из интервала [a, b]. a = 5, b = 10. |
||||||
|
|
з |
|
|
|
|
|
о |
|
|
|
Решение |
|
|
|
|
|
|
||
Program Y X6; |
|
|
|
|||
Var |
X:Integer; Y,S:real; |
|||||
е |
|
|
|
|
|
|
begin |
|
|
|
|
|
|
X:=5; |
|
|
|
|
|
|
S:=0;п |
|
|
|
|
|
|
While X<=10 do begin |
|
|||||
S:=S+exp(3/5*X); |
|
|
|
|||
X:= X+1; |
|
|
|
|
|
|
Рend; |
|
|
|
|
|
|
Writeln ( Summa= ,S:0:5);
End.
68
Задание для самостоятельной работы |
|
1. Составить алгоритм и программу вычисления значений функ- |
|
ции F1, аргумент (x) которой задан интервалом целых значений от- |
|
|
У |
резка [a1, b1]. Шаг изменений значений аргумента принять равным |
|
1. Данные для решения задачи см. в табл. 8. |
Т |
2. Написать алгоритм и программу вычисления минимального и |
|
максимального значений функции F2, аргумент (x) которой задан ин- |
тервалом целых значений отрезка [a2, b2]. Шаг изменений значений |
||||||||||||||||||||
аргумента принять равным 1. Данные для решения задачи см. в табл. 8. |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Б |
|
|
|
||
3. |
Написать алгоритм |
и программу |
вычисления |
функции |
||||||||||||||||
Z = F3(x) . Значения аргумента x функции F3 заданы интервалом це- |
||||||||||||||||||||
лых значений отрезка [a3, b3]. Шаг изменений значенийНаргумента при- |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
й |
|
|
|
|
|
|||
нять равным 1. Данные для решения задачи представлены в табл. 12. |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 12 |
||
|
|
№ |
|
|
|
|
|
|
|
р |
|
|
|
|
|
|
|
|
|
|
|
варианта |
F1(x) |
F2(x) |
F3(x) |
|
a1 |
|
b1 |
|
a2 |
b2 |
|
a3 |
b3 |
||||||
|
|
|
|
|
|
|
|
|
о |
|
и–1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
Tg(x) |
Ln(x) |
|
x5 |
|
|
1 |
|
2 |
5 |
|
10 |
12 |
||||
|
|
|
|
|
|
|
т |
x1/3 |
|
|
|
|
|
|
|
|
|
|
||
|
|
2 |
|
Lg(x) |
Sin(x) |
|
|
1 |
|
9 |
|
10 |
12 |
|
15 |
20 |
||||
|
|
3 |
|
e5x |
|
Cos(x) |
|
x3 |
|
–2 |
|
3 |
|
5 |
10 |
|
12 |
18 |
||
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
4 |
|
1/x10 |
|
|
ex |
|
|
x2/3 |
|
–15 |
|
5 |
|
6 |
8 |
|
10 |
14 |
|
|
|
|
з |
x3/5 |
|
|
esin(x) |
|
|
|
|
|
|
|
|
|
|
||
|
|
5 |
|
Ctg(x) |
|
|
|
|
–10 |
|
1 |
|
2 |
10 |
|
12 |
19 |
|||
|
|
6 |
|
Ln(x) Cos(x) |
|
x3/5 |
|
2 |
|
10 |
|
12 |
18 |
|
19 |
22 |
||||
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
x3 |
|
|
1/x |
|
Tg(x) |
|
–6 |
|
5 |
|
6 |
10 |
|
11 |
20 |
|
|
|
п |
|
|
|
|
|
|
x3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
Sin(2x) |
1/(x – 1) |
|
|
–7 |
|
9 |
|
10 |
11 |
|
17 |
23 |
||||
|
|
9 |
|
Cos(x) |
x – 3x2 |
|
e2x |
|
–3 |
|
5 |
|
7 |
12 |
|
14 |
25 |
|||
|
е |
|
|
x2 – ex |
|
x/x |
|
|
|
|
|
|
|
|
|
|
||||
|
|
10 |
|
Lg(|2x|) |
|
|
–1 |
|
8 |
|
12 |
19 |
|
21 |
29 |
|||||
Р |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. Составить алгоритм и программу вычисления значений функ- |
ции F3(x) для всех х из отрезка [a1, b3] с шагом изменений значений аргумента 0,5: а) используя оператор цикла FOR; б) используя оператор цикла WHILE; в) используя оператор цикла REPEAT. Данные для решения задачи см. в табл. 12.
69