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

1.3 Алгоритмы линейной структуры и используемые в них операторы

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

Оператор присваивания позволяет изменить текущее значение переменной. Вид оператора приведен в таблице D1. Вычисляется выражение, стоящее справа от знака ":=" ("присвоить"), полученный результат присваивается переменной, стоящей в левой части оператора. При этом старое значение, хранившееся в ней, безвозвратно пропадает. Например, Р:= 5; (в переменную Р запишется число 5).

Для ввода данных и вывода результатов используются процедуры ввода и вывода (таблица D1). Существуют форматный и бесформатный способы вывода.

1.4 Пример алгоритма и программы линейной структуры

Даны переменные a и b. Найти

При составлении алгоритма необходимо выделить однотипные выражения (здесь a2+b2), которые достаточно посчитать один раз, а затем использовать результат вычислений. Желательно разбить сложные вычисления одного выражения на более простые (например, отдельно вычислить числитель и знаменатель дроби) для того, чтобы в алгоритме не было громоздких формул. На рисунке 1.1 представлен вариант блок-схемы алгоритма и программа.

Program Primer1;

Var a,b,c,z:real;

Begin

Write ('Введите a и b');

Read (a, b);

C := sqr(a) + sqr(b);

z := sqrt (sqrt(c)) + sin(c) – 1/с;

Write('Z=', z:10:3)

End.

Рисунок 1.1 - Блок-схема алгоритма и программа линейной структуры

Вычисление значения Z производится в следующей последовательности:

  1. в блоке 2 вводятся исходные данные – значения a и b;

  2. в блоке 3 вычисляется арифметическое выражение a2+b2 и результат запоминается в переменной c;

  3. в блоках 4-6 вычисляются первое слагаемое, числитель и знаменатель второго слагаемого;

  4. в блоке 7 производится окончательный расчет Z;

  5. в блоке 8 выводятся исходные данные и результат.

В программе действия блоков 3-7 записываются операторами присваивания, блоки 2 и 8 реализуются операторами ввода/вывода. Ввод осуществляется с запросом, поэтому сначала записан оператор Write, а затем Read. Вывод осуществляется форматным способом. Все переменные, участвующие в программе, объявляются в разделе Var ее описательной части.

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

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

1)

2)

3)

4)

5)

6)

7)

8)

9)

10)

11)

12)

13)

14)

15)

16)

17)

18)

19)

20)

21)

22)

23)

24)

25)

26)

27)

28)

29)

30)

1.6 Контрольные вопросы

1 Назовите основные этапы подготовки и решения задач на ПК?

2 Что такое алгоритмический язык?

3 Что такое алгоритм? Назовите основные свойства алгоритмов.

4 Что понимается под «блок-схемой»? Назовите элементы блок-схемы.

5 Опишите структуру простейшей Паскаль-программы.

6 Какие типы данных используются в Паскале?

7 Какой алгоритм называется линейным? Опишите оператор присваивания.

8 Каких правил следует придерживаться при составлении арифметических выражений?

9 Подумайте как можно представить в Паскале функции tg x, ctg x, lg x ?

10 Какие операторы используются для ввода и вывода данных в Паскале?

11 Как осуществляется форматный и бесформатный выводы в Паскале?

12 Как осуществляется вывод с комментарием в Паскале?

Лабораторная работа №2. Программирование алгоритмов разветвленной структуры

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

2.1 Алгоритмы разветвленной структуры. Операторы перехода и выбора

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

Оператор условного перехода реализует разветвление алгоритма и применяется, когда в зависимости от условия необходимо выполнить либо одно, либо другое действие. В качестве условий используются логические отношения. Логические отношения представляют собой записи равенств и неравенств: <, >, =, <=, >=,<> (не равно), AND (логическое "и"), OR (логическое "или"). В Паскале оператор условного перехода имеет две конструкции (таблица D1).

В Паскале принят порядок выполнения операторов согласно их следованию в программе. Если необходимо обойти какую-то группу операторов, то используется оператор безусловного перехода, который в блок-схеме отображается в виде стрелки, а не отдельного блока (таблица D1). Метка, используемая в операторе, показывает, что дальнейшая работа должна проводиться в другой части программы, с той строки, на которую она указывает и должна быть предварительно описана в разделе Label (например, Goto NM;). Этот оператор используется только в исключительных ситуациях, поскольку такие переходы разрушают связи между структурой программы и структурой вычислений, что приводит к потере ясности программы и затрудняет задачу верификации (доказательства правильности составления программы).

Кроме оператора безусловного перехода, в Турбо Паскале 7.0 иногда используются четыре безусловные функции:

- Break – позволяет досрочно закончить цикл;

- Continue – позволяет начать новую итерацию цикла, не дожидаясь окончания предыдущей итерации;

- Exit – позволяет завершить работу текущего программного блока (программу, процедуру);

- Halt(n) – позволяет завершить работу программы с кодом завершения n.

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