Данные комплексного типа (complex ) в программе записываются в скобках в виде (x,y), где x и y – выражения (константы, переменные) вещественного типа, представляющие собой вещественную и мнимую части комплексного числа. Если переменная c имеет тип complex, то обратиться к ее вещественной и мнимой частям можно как к полям записи: c.re и c.im.
Например:
const c1 = (0,1);
var c: complex;
...
c.re := 2*c.im;
c := c1*c+(c.im, c.re);
Для работы с переменными типа complex также используются стандартные функции: abs, sin, cos, exp, ln, sqrt . Кроме того применяется функция conj(C), возвращающая значение, комплексно сопряженное к C, и функция carg(C), возвращающая главное значение аргумента комплексного числа C, которое находится в числовом диапазоне (-Pi, Pi).
3.7. Примеры и задания к самостоятельному выполнению
Ниже приводятся три простейшие программы линейной структуры, в которых используются оператор присваивания и процедуры ввода-вывода.
Пример1. Вычислить площадь прямоугольника по размерам сторон А и В. Обозначим площадь переменной S, тогда необходимо найти S = A*B.
Программа набирается в окне редактора и исполняется клавишей [F9]:
Program RECT ; {заголовок программы с именем RECT}
const {заголовок раздела описания констант}
A=2 ; B=3 ; {объявление констант А и В}
var {заголовок раздела описания переменных}
S: integer; {объявление переменной S целого типа}
begin {начало основного блока программы}
S := A*B; {оператор присваивания}
write( ' Площадь прямоугольника = ' , S); {процедура вывода данных}
end . {конец основного блока}
В результате выполнения программы (Ctrl+F9) на экран выводится сообщение: Площадь прямоугольника = 6.
Пример 2. Найти площадь равностороннего треугольника.
Если стороны треугольника имеют размер А,
то его площадь S = A2 sin(π/3)/2.
Схема алгоритма (СА) реализации этой задачи (рис. 4)
выполнена по ГОСТ 19.701-90 (прил. 1).
Текст программы:
Program TREUG ;
var
A, S: real;
Begin
writeln( ' Введите A ' ); {процедура вывода текста}
read(A); {процедура ввода исходных данных}
S: = SQR(A) * sin (PI / 3) / 2;
writeln (' Результат: S= ' , S: 6: 2 , ' для A= ' , A);
E nd .
После выполнения программы на экран выводится сообщение
Результат: S = 10.83 для А = 5.
Предварительно рассчитанный на калькуляторе результат для А = 5 составил S = 10.8253, что подтверждает правильность работы программы.
Пример 3. Вычислить функцию y сначала при х = 0 , а затем при х = 2:
,
где A = 1.2, B = 0.5, C = -0.8 .
Получаем следующий текст программы:
Program Fun ;
Const
A = 2; B = 0.5; C = -0.8;
Var
X : integer; // переменная X целого типа
Y : real; // переменная Y вещественного типа
Begin
writeln( ' Введите Х ' ); {процедура вывода текста}
read( X ); // введите значение переменной X
Y := A*EXP(-C*X) - C*cos(B*X) +1;
writeln( ' X= ' , X :3, ' Y= ' , Y:8:3); // вывод значений X и Y
End .
Задания к самостоятельному выполнению (программа_1_1)
Вычислить значение некоторой функции, зависящей от констант a , b , c и переменной X, два значения x 1 и x 2 для которой заданы в таблице.
№ | x 1 | x 2 | a | b | c | Вычислить |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
1 | 1 | 2 | 1.5 | 2 | -0.7 | |
2 | 1 | 2 | 0.7 | - | 2.1 | |
3 | 0 | 1.5 | 2 | 1.2 | 1 | |
4 | 1 | 2 | 4.1 | -2.3 | - | |
5 | -1 | 1 | 0.5 | 2 | 1.5 | |
6 | 2 | 4 | 0.5 | 1.3 | - | |
7 | 0 | 2 | 0.5 | 1 | - | |
8 | -1 | 1 | 2.7 | 1.7 | - | |
9 | 0 | π/2 | 2 | 0.7 | 0.5 | |
10 | 1 | 0 | 0.5 | 2.9 | 1.5 | |
11 | 1 | 2 | 1.5 | -1.2 | - | |
12 | 1 | 2 | 0.5 | 1.7 | 2 | |
13 | -1 | 1 | 0.5 | 1.2 | - | |
14 | 1 | 2 | 0.5 | 3.1 | - | |
15 | 1 | 2 | 0.5 | 3.2 | - | |
16 | 0 | 1 | 1 | 2 | 4 | |
17 | 0 | 1 | 1 | 3 | - |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
18 | -1 | 2 | 1 | 2 | - | |
19 | 1 | 2 | 2 | 3 | 1 | |
20 | -1 | 1 | 2 | π/6 | 0.5 |
В следующих заданиях необходимо самостоятельно разработать алгоритмы решения и отладить программы (программа_1_2).
1. Идет k секунда суток. Определить, сколько целых часов (h) и целых минут (m) и секунд (s) прошло к этому моменту.
2. Определить площадь трапеции с основаниями а, b, высотой h и объем усеченного конуса, если считать а, b – площадями оснований.
3. Определить координаты центра тяжести трех материальных точек с массами m1, m2, m3 и координатами (x1, y1), (x2, y2), (x3, y3).
4. Вычислить по заданному радиусу R объем шара и площадь круга, найти соотношение между ними.
5. Вычислить медианы треугольника по заданным сторонам a, b, c.
6. Вычислить площадь поверхности и объем конуса по заданным радиусам и высоте h.
7. По заданному радиусу R найти объем шара и площадь его поверхности.
8. Вычислить, какая идет секунда суток при положении стрелок в h часов, m минут и s секунд, а также угол (в градусах) между положением часовой стрелки в начале суток и ее положением в указанный момент.
9. Ввести двузначное целое число х<15. Написать программу перевода его в восьмеричную систему счисления.
10. Ввести координаты двух точек (х1, y1), (x2, y2). Найти расстояние между ними.
Дата: 2019-02-02, просмотров: 231.