Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
96
Добавлен:
10.02.2014
Размер:
749.89 Кб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончание

таблицы 1.2

13.

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 4.5

14.

 

 

ln(x

2

1)

 

 

x > 2

 

 

 

2x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y =

1ln

1x2

 

0 ≤ x ≤ 4.5

 

y =

2x3

 

 

 

 

 

 

 

0 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 0

 

 

esin(x)

 

 

 

 

 

 

 

x < 0

 

 

 

e

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15.

 

 

 

 

2x

3

 

 

 

 

 

x > 3.5

16.

 

x +1

 

 

 

 

 

 

 

x > 2.5

 

 

1

 

2

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

1

x

 

 

 

 

 

 

 

1x5

 

 

 

 

 

 

 

0 x 2.5

 

 

 

cos(2x 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y =

0 x 3.5

 

 

 

 

 

 

 

sin(x)

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x +ln

 

 

 

ecos(2x)

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17.

 

 

x 2

 

 

 

 

 

 

x > 2.5

18.

 

1+3x

 

 

 

 

 

 

 

x > 4.5

 

y =

 

 

+ x2

 

 

 

 

 

 

0 x 2.5

 

y =

 

2x

 

 

 

 

 

 

 

1 x 4.5

 

1

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos(x)

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x ln

 

 

 

cos(2x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19.

 

 

 

 

tg (x

2

1)

x > 4

20.

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 1

 

 

 

 

 

 

 

 

 

e ( x + 2 )

 

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

0 x 4

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

-1 x 1

 

2x

 

 

 

 

 

 

 

1 - 2 x

 

 

 

 

 

 

 

 

 

 

cos( x )

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

3

 

 

3

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

x < -1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21.

 

 

1 x 3

 

 

 

 

x > 2

22.

 

1 +

tg ( x) 1

x < -3.14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

 

 

 

 

 

0 x 2

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

-3.14x 3.14

 

y =

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

e cos(

x )

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 3 14

 

 

 

 

 

 

 

 

 

1 + x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23.

 

 

 

 

 

1

 

 

 

 

 

 

 

24.

 

 

2

 

 

 

 

 

 

3

x > 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 4.5

 

 

x( x)3

+

2.5x

 

 

 

 

 

 

 

 

 

 

3

)

 

 

 

 

 

 

 

-1 x 2

 

 

 

ln( x

 

 

 

 

 

 

 

y =

e

 

 

+5 +cos(0.001x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 x 4.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

=

 

2 x + 0 .1

 

 

ln

 

tg(2x)

 

1

 

 

x < -1

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos( 2.3 x 1)

x > 5.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

= 1 3 ln(1 + x )

0 x 5.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

Лабораторная работа № 2

Оператор выбора

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

Теоретический материал

Оператор выбора case – это, по сути, усложненный оператор if. Но в отличие от условного оператора, когда программа может выполняться одним из двух способов в зависимости от выполнения условия, оператор выбора позволяет выполнять программу одним из нескольких способов в зависимости от значения некоторого выражения. В общем виде этот оператор выглядит так:

case Выражение-селектор of Вариант1: Оператор1; Вариант2: Оператор2;

...

ВариантN: ОператорN; [else ОператорN1;]

end;

Пояснение: квадратные скобки означают то, что часть else может отсутствовать.

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

В качестве вариантов можно применять:

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

2.Интервал, например: 1..5, 'a'..'z'.

3.Список значений или интервалов, например: 1, 3, 5..8, 10, 12. Выполняется оператор case следующим образом: вычисляется выражение

после слова case и по порядку проверяется, подходит полученное значение под какой-либо вариант, или нет. Если подходит, то выполняется соответствующий этому варианту оператор, иначе – есть два варианта. Если в операторе case записана часть else, то выполняется оператор после else, если же этой части нет, то не происходит вообще ничего.

11

Пример выполнения лабораторной работы

В качестве примера рассмотрим следующую задачу: пользователь вводит целое число от 1 до 10, программа должна приписать к нему слово «ученик» с необходимым окончанием (нулевое, «а» или «ов»).

Схема алгоритма будет выглядеть следующим образом (рис. 2.1).

начало

Вывод информац.

блока

Вывод ‘Число учеников --> ’

Ввод n

Вывод n, ‘ученик ’

n винтервале

2..4

да Вывод ‘а ’

Автор, номер варианта, назначение программы

нет

n винтервале

нет

5..10

 

да

 

Вывод ‘ов ’

 

конец

 

Рис. 2.1. Блок-схема задачи определения окончания слова «ученик»

Реализуем данный алгоритм в программе. Как и в лабораторной работе № 1, программу начинаем с заголовка и описания переменных. В нашей задаче понадобится всего одна переменная, которая будет принимать значения от 1 до 10. Поэтому целесообразно описать экономичным целочисленным типом byte (принимает значения от 0 до 255, занимает в памяти 1 байт).

program SchoolChildren; var n: byte;

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

12

begin

 

 

writeln;

 

 

writeln(’

Автор –

Иванов И.П., студент гр. ИСЭд-11’);

writeln(’

Вариант

№ 100’);

writeln(’Программа вводит целое число от 1 до 10 и приписывает окончание к слову ученик’);

writeln;

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

write('Число учеников --> '); readln(n);

Далее программа должна вывести на экран введенное число, слово «ученик» и с помощью оператора выбора определить и вывести окончание этого слова.

write(n,' ученик'); case n of

2..4: write('а'); 5..10: write('ов');

end;

Заметим, что нулевое окончание не требует дополнительного вывода, поэтому если пользователь введет число 1, программа выведет слово «ученик», и не выберет никакой из вариантов оператора case.

Но представим ситуацию, если пользователь вводит число, выходящие за границы диапазона от 1 до 10, например, 12. В этом случае программа выдаст некорректный результат. Так как значение 12 не подходит ни под какой вариант оператора выбора, то слово «ученик» будет написано с нулевым окончанием (как в случае со значением 1). На экране появится текст «12 ученик», хотя должно быть «12 учеников».

Для устранения этой «слабости» программы добавим проверку введенного пользователем числа, и если это число входит в допустимый диапазон, тогда нужно будет выполнить предыдущий фрагмент, в противном случае – выдать сообщение об ошибке.

if (n>=1) and (n<=10) then begin

write(n,' ученик'); case n of

2..4: write('а'); 5..10: write('ов');

end; end else

writeln(' ошибка ввода!');

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

13

and (логическое И), и, во-вторых, при выполнении условия должно быть выполнено два оператора (write и case), поэтому они заключаются в оператор-

ные скобки (begin

end).

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

program SchoolChildren;

var n: integer;

 

begin

 

writeln;

 

writeln(’

Автор – Иванов И.П., студент гр. ИСЭд-11’);

writeln(’

Вариант № 100’);

writeln(’Программа вводит целое число от 1 до 10 и приписывает окончание к слову ученик’);

writeln;

write('Число учеников --> '); readln(n); if (n>=1) and (n<=10) then

begin

write(n,' ученик'); case n of

2..4: write('а'); 5..10: write('ов');

end; end else

writeln(' ошибка ввода!'); readln;

end.

Варианты заданий

1.Дан номер месяца (1 – январь, 2 – февраль, ...). Вывести название соответствующего времени года («зима», «весна» и т. д.).

2.Дан номер месяца (1 – январь, 2 – февраль, ...). Вывести число дней в этом месяце для невисокосного года (т. е. в феврале 28 дней).

3.Дано целое число в диапазоне от 0 до 9. Вывести строку – название соответствующей цифры на русском языке (0 – «ноль», 1 – «один», 2 – «два», ...).

4.Дано целое число в диапазоне от 1 до 5. Вывести строку – словесное описание соответствующей оценки (1 – «плохо», 2 – «неудовлетворительно», 3 – «удовлетворительно», 4 – «хорошо», 5 – «отлично»).

5.Арифметические действия над числами пронумерованы следующим образом: 1 – сложение, 2 – вычитание, 3 – умножение, 4 – деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат.

14

6.Единицы длины пронумерованы следующим образом: 1 – дециметр, 2 – километр, 3 – метр, 4 – миллиметр, 5 – сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах.

7.Единицы массы пронумерованы следующим образом: 1 – килограмм, 2 – миллиграмм, 3 – грамм, 4 – тонна, 5 – центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). Вывести массу данного тела в килограммах.

8.Составить программу, которая по возрасту человека (вводится с клавиатуры как целое число) определяет его принадлежность к возрастной группе: от 0 до 13 – мальчик; от 14 до 20 – юноша; от 21 до 70 – мужчина; более 70 – старец.

9.Локатор ориентирован на одну из сторон света («С» – север, «З» – запад, «Ю» – юг, «В» – восток) и может принимать одну из трех цифровых команд: -1 – поворот налево, 1 – поворот направо, 2 – поворот на 180 градусов. Дан символ C – исходнаяориентациялокатораичислоN – посланная ему команда. Вывестиориентациюлокаторапосле выполнения команды.

10.Элементы окружности пронумерованы следующим образом: 1 – радиус (R), 2 – диаметр (D), 3 – длина (L), 4 – площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения π использовать стандартную константу Pi.

11.Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 – катет (a), 2 – гипотенуза (c), 3 – высота, опущенная на гипотенузу (h), 4 – площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

12.Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной (например, дано D=1 M=1, надо вывести D=31 M=12; дано D=1 M=3 надо вывести D=28 M=2; дано D=15 M=12 надо вывести

D=14 M=12)

13.Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной (например, дано D=1 M=1, надо вывести D=2 M=1; дано D=31 M=12 надо вывести D=1 M=1; дано D=28 M=2 надо вывести D=1 M=3)

14.Дано целое число в диапазоне 20 – 69, определяющее возраст (в годах). Вывести строку – словесное описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 – «двадцать лет», 32 – «тридцать два года», 41 – «сорок один год».

15

15.Дано целое число в диапазоне от 100 до 999. Вывести строку – словесное описание данного числа, например: 256 – «двести пятьдесят шесть», 814 – «восемьсот четырнадцать».

16.Составьте программу, которая по введенному вами k – числу грибов печатает фразу «Мы нашли в лесу k грибов», причем согласовывает окончание слова «гриб» с k. (Количество грибов может быть любым целым положительным числом: 1, 3, 34, 127 и т. д. Окончание фразы определяется значением последней цифры.)

17.Составьте программу для определения числа дней в месяце, если даны: номер месяца N – целое число от 1 до 12, целое число А, равное 1 для високосного года и 0 в противном случае.

18.Составить программу, вычисляющую площадь геометрической фигуры. Тип фигуры определяется символом (с): О – окружность, T – равнобедренный прямоугольный треугольник и K – квадрат. Целое число, вводимое вслед за символом определяет соответствующий элемент для вычисления площади (для окружности это радиус, для треугольника – длина катета, для квадрата – длина стороны).

19.Составьте программу, которая определяет к какой группе относится введенный символ (с) – к цифрам, заглавным или прописным буквам. На экран должна выводиться фраза «Символ с – это …», где вместо … пишется соответствующая группа (например, «Символ R – это заглавная буква»).

20.Составить программу, которая по номеру дня в месяце печатает день недели. Считаем, что 1–е число месяца – понедельник.

21.Составить программу, которая по порядковому номеру месяца определяет, к какому времени года он принадлежит.

22.Составить программу, которая по номеру семестра печатает курс, к которому относится введенный семестр (1 и 2 семестр – 1 курс, 3 и 4 семестр – 2 курс и т. д.).

23.Дано целое число n, соответствующее количеству углов геометрической фигуры. Составить программу, которая по введенному числу n печатает название фигуры (например, при n=3 программа напечатает «треугольник», при n=5 – «пятиугольник», при n>8 – «многоугольник»). В случае если вводится число меньше 2, выводится сообщение об ошибке.

24.С клавиатуры вводится два целых числа, обозначающих возраст человека и его пол (1 – мужской, 2 –женский). Составить программу, которая в зависимости от введенных данных определяет принадлежность человека к определенной группе: от 0 до 13 – мальчик (девочка); от 14 до 20 – юноша (девушка); от 21 до 70 – мужчина (женщина); более 70 – старец (старушка).

25.Составить программу, которая печатает номера дней в месяце, если вводится день недели. Считаем, что 1–е число месяца – понедельник, в месяце

16

31 день. Выводить на экран словесное описание дня недели и соответствующие числа месяца (например, вводится число 2, на экране появляется: «Вторник – 2, 9, 16, 23, 30»).

Лабораторная работа № 3

Табулирование составной функции

Задание: Составить блок-схему и программу для заполнения таблицы значений функции y = f(x) на отрезке с указанным шагом изменения аргумента. Вид функции задается в лабораторной работе № 1. Значение функции выводить с точностью до тысячных долей.

Результат вывести в следующем виде:

-----------------------------------------

! X ! y = f(x) !

-----------------------------------------

Теоретический материал

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

В языке Pascal имеется три вида циклических структур: цикл с параметром for, цикл с предусловием while и цикл с постусловием repeat..until.

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

Данный оператор может быть представлен в двух форматах: for <параметр цикла> := <S1> to <S2> do <тело цикла>;

for <параметр цикла> := <S1> downto <S2> do <тело цикла>;

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

Тело цикла может содержать один оператор или несколько операторов, заключенных в операторные скобки begin .. end (составной оператор). Если тело цикла – простой оператор, операторные скобки не пишутся!

При первом обращении к оператору for вначале вычисляются выражения S1, S2 и осуществляется присваивание <параметр цикла>:=S1.

После этого циклически повторяются следующие действия.

1.Проверяется условие <параметр цикла>:<=S2.

2.Если условие выполнено, то оператор for продолжает работу (выполняется оператор в теле цикла), если условие <параметр цикла>:<=S2 не выполнено, то оператор for завершает работу, и управле-

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

3. Значение управляющей переменной изменяется на +1 (to) или -1 (downto) и далее с п. 1. Обратите внимание, что шаг изменения управляющей переменной – единица.

17

На использование управляющей переменной (параметра цикла) в цикле for налагаются следующие ограничения.

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

2.Управляющая переменная должна иметь дискретный тип (как пра-

вило, integer, реже Char, Boolean).

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

4.В теле цикла не рекомендуется явное изменение значения управляющей переменной (например, оператором присваивания), т. к. параметр цикла изменяется автоматически.

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

Формат записи:

while <условие продолжения цикла> do <тело цикла>;

Условие продолжения цикла – булевское (логическое) выражение, тело цикла – простой или составной оператор. Если тело цикла – простой оператор, опе-

раторные скобки не пишутся!

Особенность данного вида цикла состоит в том, что значение выражения условия вычисляется перед каждым выполнением тела цикла. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходят выход из цикла и переход к первому после while оператору.

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

Цикл с постусловием используется в тех случаях, когда заранее известно, что тело цикла повторится, по меньшей мере, один раз. Оператор цикла repeat..until аналогичен оператору while, но отличается от него, во-первых, тем, что условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла, а во-вторых, цикл завершается, когда условие, стоящее после until становится истинным, т. е. значение логического выражение – True (в операторе while цикл завершается, когда условие принимает значение False).

18

Формат записи: repeat

<оператор;>

<оператор>

until <условие окончания цикла>;

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

Следует заметить, что тело цикла в данном случае может содержать как один, так и несколько операторов, однако, операторные скобки здесь не пишутся, т. к. repeat обозначает начало цикла, until – конец цикла.

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

Пример выполнения лабораторной работы

Для примера рассмотрим функцию y = x3+ sinx x , аргумент которой изме-

нятся в интервале [-π; π] с шагом π/5. Составим блок-схему алгоритма (рис. 3.1).

Программную реализацию начинаем с описания переменных. Как видно из блок-схемы алгоритма, в программе понадобятся две переменные: x – для хранения значения аргумента, y – для хранения значения функции. Поскольку обе переменные могут иметь дробные значения, описываем их вещественным типом. Из соображений минимизации времени выполнения программы целесообразно шаг приращения аргумента x задать как величину постоянную, значение которой будет вычисляться единожды при описании константы. Заметим, что в языке Pascal имеется стандартная константа Pi, которую мы используем при вычислении шага.

Const h=Pi/5; Var x,y:real;

Тело программы начинается с уже знакомого информационного блока и оператора, печатающего «шапку» будущей таблицы. Затем задается начальное значение аргумента функции, которое определяется нижней границей изменения x.

x:=-Pi;

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

19

Соседние файлы в папке методические указания для лабораторных работ