Инструкция
1
Ознакомьтесь с математической теорией. Вектор имеет два основных параметра, характеризующих его: длину и направление. Задать и то, и другое можно, записав вектор в виде: a=xi+yj+zk, где i, j, k – единичные векторы системы координат, а x, y, z – коэффициенты. Т. е. фактически вектор задается как некоторое количество единичных отрезков. Если длина его не имеет значения, то проводится «нормировка»: процесс, в ходе которого вектор сокращается до стандартной единичной длины, сохраняя лишь информацию о направлении. Математически операция заключается в том, что каждую координату нужно поделить на модуль вектора, равный (x^2+y^2+z^2)^1/2 (корень из суммы квадратов).
2
Алгоритм реализации аналогичен для всех языков программирования, однако, во избежание путаницы, код будет приведен только для языка С.
3
Выведите на экран информацию о запросе. Сделать это можно командой printf(“Введите коэффициенты перед i, j, k:”);. Пользователю понадобится ввести три значения через пробел. В коде они будут сохранены как x, y, z типа float (дробные).
4
Сохраните введенные пользователем данные. Считывание удобнее всего организовать при помощи команды cin, находящейся в библиотеке iostream.h. Строка кода при этом будет выглядеть следующим образом: cin>>x>>y>>z;.
5
Рассчитайте и сохраните значение модуля вектора. Подключите библиотеку math.h, создайте переменную M типа float и введите расчетную формулу: S=sqrt(x*x+y*y+z*z);. Использование функции «квадрата» в данном случае нерационально.
6
Проверьте, не является ли вектор нулевым. Для этого поставьте условие: if (S==0) printf(“Вектор - нулевой”), следующую часть программы запишите под вкладкой else {…}, где троеточие – нижеприведенный код. Таким образом вы реализуете развилку для двух случаев.
7
Нормированные значения сохранять не обязательно, если нужно всего лишь вывести их на экран. Расчет и вывод в этом случае можно совместить в одно действие, записав строку кода: printf (“a(n)=%di+%dy+%dz”, x/s, y/s, z/s).
8
Поставьте команду getch(); чтобы консоль не закрывалась после выполнения задачи.