У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


рівність, більше. Або менше. Результатом порівняння є значення true, або false.

Приклад Застосування операцій відношення.

// relat.cpp

// застосування операцій відношення

# include <iostream>

using namespace std;

int main ()

{

int numb;

cout << “Введіть число:”;

cin >> numb;

cout << “numb < 10 рівне” << (numb < 10) << endl;

cout << “numb > 10 рівне” << (numb > 10) << endl;

cout << “numb == 10 рівне” << (numb == 10) << endl;

return 0;

}

Результат: Введіть число: 20

numb < 10 рівне 0

numb > 10 рівне 1

numb == 10 рівне 0

Список відношень в С++: > - більше, < - менше, == - рівне, != - не рівне, >= - більше рівне, <= - менше рівне6.

1.1.8 Цикли.

У С++ існує 3 типи циклів: for, while, do.

Цикл for.

Цикл for організовує виконання фрагментів програми фіксовану кількість раз. Цей тип циклу використовується тільки тоду, коли кількість раз повторень виконання коду відома наперед.

Приклад Демонстрація найпростішого циклу for:

// fordemo.cpp

// демонстрація циклу for

# include <iostream>

using namespace std;

int main ()

{

int j; // визначити лічильник циклу

for (j=0l j<15; j++)//лічильник змінюється від 0 до 15

cout << j*j << “”; // вивід величини j2 на екран

cout << endl;

return 0;

}

Рисунок 1.5 – Алгоритм роботи оператора циклу for

Результат:

0 1 4 9 16 25 36 49 64 81 100 121 144 169 196

a)

Ці три вирази містять одну змінну – лічильник циклу.

Ініціалізуючий вираз виконується один раз (j=0), умова циклу (j<15) виконується кожен раз, доки значення порівняння не стане хибним (0), потім керування передається оператору після циклу.

Інкрементуючий вираз призначений для зміни значення лічильника циклу. Модифікація лічильника відбувається після певного виконання тіла циклу.

Декілька операторів у тілі циклу.

Приклад Таблиця кубів чисел від 1 до 10:

// cubelist.cpp

// підрахунок кубів цілих чисел від 1 до 10

# include <iostream>

# include <iomonip>

using namespace std;

int main ()

{

int numb;

for (numb=1; umb<=10; numb++)

{

cout << setw (4) << numb; // вивід 1-го стовпця

int cube=numb*numb*numb;

cout << setw (6) << cube << endl; // вивід 2-го стовпця

}

return 0;

}

Тіло циклу, обмежене дужками {} називається блоком. Важливою особливістю блоку є те, що змінні, означені в середині блоку є невидимі за його межами.

Якщо в прикладі змінній cube присвоїти значення 10 за межами блоку, то компілятор повідомить про помилку (не визначена змінна).

Перевагою такого обмеження області видимості змінних є те, що одне й те саме ім’я може використовувати декілька раз в різних блоках програми.

1.3 Дії над матрицями

Сумою двох матриць А=(aij) і В= (bij) з однаковим числом рядків та стовпців називається матриця С= (сij), елементи якої сij рівні сумі відповідних елементів aij і bij матриць А і В, тобто

сij = aij + bij , (i= 1, 2, … , т j= 1, 2, … , п).

Таким чином, можна записати матрицю С в вигляді

Додавання матриць виконується за наступними законами:

А+(В+С)=(А+B)+С;

А+В=В+А;

А+0=А.

Різниця матриць обчислюється аналогічно сумі, тільки у елементів матриці В знак замінюється на протилежний:

D=A-B; dij = aij - bij.

Добуток матриці А=(aij) на число б (або добуток числа б на матрицю А) називається матриця, елементи якої отримуються в результаті множення всіх елементів матриці А на число б, тобто

Обчислення добутку А?б виконується у відповідності до наступних законів:

1?A=A;

0?A=0;

б?(в?A)=(б?в)?A;

(б+в)?A= б?A + в?A;

б?(A+B)= б?A + б?B,

де А і В – матриці, б і в – числа.

Матриця -А=(-1)?А називається протилежною матриці А. Якщо матриці А і В мають однакове число рядків та стовпців, то для них буде справедливий запис

А – В = А + (–В).

Добутком матриці А=(аij) розміром (тЧп) на матрицю В=(bij) розміром (pЧq) називається матриця С=(сij) розміром (тЧq).

Добуток С вказаних матриць А і В може бути знайдений тільки тоді, коли число стовпців матриці А рівне числу рядків матриці В, тобто п=p.

Для отримання елемента сij, що стоїть в і-ому рядку і j-ому стовпці добутку двох матриць С, необхідно помножити елементи і-го рядка першої матриці А на відповідні елементи j-го стовпця другої матриці В і отримані добутки додати, тобто

сij = аi1?b1j + аi2?b2j +...+ аiп?bпj ,

де і=1, 2,...,т та j=1, 2,..., q.

Таким чином, добутком двох прямокутних матриць А і виду В

знову є прямокутна матриця С, число рядків якої рівна рівне числу рядків першої матриці А, а число стовпців рівне числу стовпців другої матриці В. Отримуємо матрицю виду

Обчислення матричного добутку А?В виконується у відповідності до наступних законів:

A?(B?C)=(A?B) ?C;

б?(A?B)= (б?A)?B;

(A+B)?C=A?C +B?C;

C?(A+B) = C?A + C?B,

де А, В, С – матриці; б- число.

Потрібно мати на увазі, що не можна поміняти матриці-множники, щоб не змінився їх добуток, тобто A?B?B?A. Більше того, якщо поміняти місцями множники, то може виявитися, що множення виконати взагалі не можна.

Про добуток A?B двох матриць кажуть, що матриця В множиться на матрицю А зліва, або що матриця А множиться на матрицю В справа.

Одним з часткових випадків, коли можна міняти матриці-множники, є множення скалярної матриці на будь-яку квадратну матрицю того ж порядку, так як

Дії додавання і множення на число над матрицями-стовпцями і матрицями-рядками здійснюються подібно відповідним діям над квадратними матрицями. Наприклад, сумою двох векторів X=(x1, x2, …, xn) і Y=(y1, y2, …, yn) буде вектор Z=(z1, z2, …, zn) з координатами z1= x1 + y1, z2= x2 + y2, …, zn= xn + yn.

Добуток матриці А, що має вигляд

на вектор В, що складається з одного стовпця і п рядків, виду

в результаті дає вектор


Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12