Примеры программирования алгоритмов линейной структуры
Пример 1. Составить программу вычисления выражения:
Согласно условию, в записи выражения описаны 5 величин, имеющих идентификаторы: a, b, c, d и y. Вполне очевидно, что величина y - переменная, а остальные величины могут быть как постоянными, так и переменными. Допустим, что все величины являются переменными вещественного типа.
Среди перечисленных, величины a, b, c и d являются исходными, а y - искомой. Условимся ввод исходных данных описать в программе с помощью оператора присваивания. Результат выведем в форматированном виде: 6 символов для вывода всего числа и 3 - для его дробной части.
Запишем математическую модель процесса обработки данных:
y := (a*SQRT(ABS(SIN(b*c+a)))-EXP(0.5*a))/SQRT(ABS(2+d));
В записи математической модели использовались встроенные функции: SQRT, ABS, SIN, EXP.
Для вывода результата на дисплей будем использовать определенный формат Y : 6 : 3.
Алгоритм решения задачи может быть таким:
1) Очистка экрана.
2) Ввод исходных данных.
3) Запись математической модели.
4) Вывод результата.
Переведем алгоритм в программу.
Program PR1;
{ Подключение модуля CRT }
Uses CRT;
{ Описание переменных y,a,b,c,d с указанием их типа - real }
Var y, a, b, c, d : real;
Begin
{ Очистка экрана }
ClrScr;
{ Ввод исходных данных }
a := 1.2; b := 3.4; c := 0.1; d := 1;
{ Математическая модель процесса вычисления }
y := (a*SQRT(ABS(SIN(b*c+a)))-exp(0.5*a))/SQRT(ABS(2+d));
{ Вывод результата в форматированной форме }
WriteLn('Y=', Y:6:3);
{ Задержка изображения }
ReadLn
End.
Нужно проверить правильность написания всех компонентов выражения, учесть порядок производимых действий. Правильно используйте обозначение математических операций и встроенных математических функций.
В программе для вывода результата используется инструкция WriteLn('Y=', Y:6:3);. Это значит, что результат будет выведен на дисплей в формате: 6 символов для вывода всего числа и 3 - для его дробной части. В данном случае результат будет округлен до тысячных долей. Запустив программу, получим результат: Y=-0.359.
Пример 2. Составить программу вычисления выражения:
Согласно условию, в выражении описаны 4 величины, имеющие идентификаторы: a, b, c и y. Вполне очевидно, что величина y - переменная, а остальные величины могут быть как постоянными, так и переменными. Допустим, что величины a, b и c - являются константами.
Среди перечисленных величин искомой является величина Y - вещественного типа. Результат выведем в форматированном виде: 6 символов для вывода всего числа и 3 - для его дробной части.
Удобно подкоренное выражение описать отдельно и сохранить в промежуточной переменной W вещественного типа.
W := SQR(a) / SQR(b) + SQR(c)
Учтя промежуточные вычисления, запишем математическую модель процесса обработки данных:
Y := EXP(1/6 * Ln(W)) + SIN(a + b);
Программа вычисления выражения может быть такой:
Program PR2;
{ Подключение модуля CRT }
Uses CRT;
Const a = 4; b = 3; c = 2;
{ Описание переменных y и W с указанием их типа }
Var y, W : real;
Begin
{ Очистка экрана }
ClrScr;
{ Вычисление промежуточного результата }
W := SQR(a) / SQR(b) + SQR(c);
{ Математическая модель процесса вычисления }
Y := EXP(1/6 * Ln(W)) + SIN(a + b);
{ Вывод результата в форматированной форме }
WriteLn('Результат Y=', Y:6:3);
{ Задержка изображения }
ReadLn
End.
Результат работы программы:
Результат Y= 1.997
Варианты заданий.
Необходимо разработать программу для вычисления арифметического выражения и вывода полученного результата. Ввод соответствующих исходных данных организовать с помощью оператора присваивания.
Номер варианта | Выражение | Исходные данные |
x, y | ||
c, x, y | ||
x, y | ||
x, y, z | ||
x, y, z | ||
x, y, z | ||
x, y | ||
x, y, z | ||
x, y, z | ||
x, y, z | ||
x, y, z | ||
x, y | ||
x, y | ||
x, y | ||
x, z | ||
z, x | ||
x, y | ||
x, y, z | ||
x, y, z | ||
x, y, z |