Як унормувати вектор.

З самого моменту появи комп'ютер вважався в першу чергу обчислювальною машиною і зараз все ще залишається такою. Будь-яка команда, що віддається користувачем, перекладається в набір нулів, одиниць і операцій з ними. Саме з цієї причини на початкових етапах навчання програмісти постійно моделюють способи вирішення різних математичних задач, наприклад - нормировки вектора .
Інструкція
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 (); щоб консоль не закривалася після виконання завдання.