Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ГОСТу.doc
Скачиваний:
30
Добавлен:
14.11.2019
Размер:
10.65 Mб
Скачать

4.4. Примеры составления программы

При исполнении программы микропроцессор выполняет команды последовательно одну за другой. Точку входа (оператор с которого начинается выполнение программы), в Pascal-программе определяет служебное слово Begin, с которого начинается тело программы. Вычислительный процесс (алгоритм), в котором команды выполняются последовательно, называется линейным.

Как правило, перед разработкой программы составляется алгоритм решения задачи. Способов записи алгоритма достаточно много, однако, наиболее часто используемый способ записи при помощи блочной схемы. При данном способе каждая операция записывается в виде графического блока, изображение которого указывает на характер выполняемой операции. Необходимые параметры записываются внутри блока.

Рис. 4.1 - Блоки "Начало" и "Конец"

Любой алгоритм начинается с блока "Начало", а заканчивается блоком "Конец" рис. 4.1.

Рис. 4.2 - Блоки ввода и вывода

Блоки ввода и вывода информации в общем виде изображаются параллелограммами рис. 4.2.

Рис. 4.3 - Блок выражений

Операция присвоения записывается в виде прямоугольника рис. 4.3.

Каждый из блоков соединяется линиями, показывающими порядок выполнения операций. При направлении выполнения операций снизу вверх и справа налево на концах линий изображают стрелки. В противном случае считается, что направление выполнения операций - сверху вниз и слева направо.

В приведённом примере 1 демонстрируются операции применимые к переменным типа Byte.

Program Example_4_1;

Uses Crt; {Подключаем модуль}

Var

a, b, x : Byte; {Описываем используемые переменные}

Begin

ClrScr; {Производим очистку экрана}

Write ('Введите значения переменных a и b типа Byte');

Read (a,b); {Ввод с клавиатуры два числа через пробел}

x:=a+b; {Сложение}

WriteLn ('a + b =', x); {Вывод сообщения a+b= с значением х}

x:=a-b; {Вычитание}

WriteLn ('a - b =', x); {Вывод сообщения a-b= с значением х}

x:=a*b; {Умножение}

WriteLn ('a * b =', x); {Вывод сообщения a·b= с значением х}

x:=a Div 2; {Деление нацело}

WriteLn ('a Div 2 =', x); {Вывод сообщения a DIV b= с значением х}

x:=a Mod 2; {Выделение остатка от деления нацело}

WriteLn ('a Mod 2 =', x); {Вывод сообщения a Mod b= с значением х}

x:=a Shl 2; {Сдвиг влево на 2 бита}

WriteLn ('a Shl 2 =', x); {Вывод сообщения a Shl b= с значением х}

x:=b Shr 1; {Сдвиг влево на один бит}

WriteLn ('b Shr 1 =', x); {Вывод сообщения bShr 1= с значением х}

End.

Рис. 4.4 - Блок-схема алгоритма линейного процесса

После запуска программы и ввода чисел, например 3 и 4, компьютер выдаст результат.

Введите значения переменных a и b типа Byte

3 4

a + b =7

a - b =255

a * b =12

a Div 2 =1

a Mod 2 =1

a ShL 2 =12

b ShR 1 =2

Пример 2. Составить программу вычисления общей поверхности и объема круглого конуса, имеющего радиус основания R=12,54cм и длину образующей L=24,83см. При вычислениях использовать равенства: , где H - высота конуса, определяемая по формуле .

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

Задание исходных данных может быть осуществлено с помощью оператора присваивания Read, либо с помощью специальных операторов ввода. Вычисления по формулам реализуются в порядке определения числовых значений переменных H, S и V соответственно, после чего S и V выводятся на печать.

При вычислениях будет использоваться зарезервированная константа Pi (=3,1415926).

В качестве имен переменных будем использовать переменные, обозначения которых максимально совпадают с именами самой задачи. Таким образом, выберем следующие имена переменных:

R - радиус основания;

L - длина образующей;

H - высота конуса;

S - полная поверхность конуса

V - объем конуса.

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

(*Программа вычисления поверхности и объема круглого конуса*)

Program Conus;

Uses Crt; (*подключаем модуль очистки экрана*)

Var

R, L, H, S, V : Real; (*описываем переменные*)

Begin

ClrScr; (*очищаем экран*)

R:=3; (*через оператор присваивания ':='*)

L:=5; (*присваиваем значения R:=3 и L:=5*)

S:=Pi*Sqr(R)+R*L; (*производится вычисление S*)

H:=Sqrt(Sqr(L)-Sqr(R)); (*производится вычисление Н*)

V:=(1/3)*Pi*Sqr(R)*H; (*производится вычисление V*)

(*вывод значений R, L, H, V, S*)

Writeln (' Параметры конуса: R=', R:6:3, ' L=', L:6:3, ' H=',H:6:3);

Write ('V=',V:6:3, ' S=',S:6:3);

End.

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

Параметры конуса: R= 3.000 L= 5.000 H= 4.000

V=37.699 S=43.274