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


 

З самого моменту появи комп’ютер вважався в першу чергу обчислювальної машиною і зараз все ще залишається такою. Будь-яка команда, що віддається користувачем, переводиться в набір нулів, одиниць та операцій з ними. Саме з цієї причини на початкових етапах навчання програмісти постійно моделюють способи вирішення різних математичних задач, наприклад — нормування вектора.



Інструкція

  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 (); щоб консоль не закривалася після виконання завдання.