ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Розділ 3. Математика з числами

У цьому розділі ми розглянемо деякі додаткові математичні оператори й функції. Розділ розбитий на чотири частини: 1) нові оператори 2) нові цілі функції 3) нові функції для роботи з числами з плаваючою точкою (дійсні числа), і 4) тригонометричні функції.

Нові оператори

На додаток до базових математичних операцій, які ми використовували з першого розділу книги, є ще три оператора в BASIC-256. Операції, аналогічні цим є в більшості мов програмування. Це операція ділення по модулю, цілочисельного ділення і піднесення до степеня.

Операція Оператор Опис
Ділення по модулю % Повертає залишок від ділення на ціле число
Цілочисельне ділення \ Повертає (ціле) частка від ділення одного цілого на інше
Ступінь ^ Підносить одне (ціле) число в ступінь іншого (цілого)

 

Ділення по модулю

Операція ділення по модулю повертає залишок від ділення без остачі. Коли ви ділите два цілих числа куточком, залишок, отриманий в результаті і є модуль.

Програма 18. Ділення по модулю.

1 # c12_ mod. kbs
2 input "Введіть ціле число", n
3 if n% 2 = 0 then print "ділиться на 2"
4 if n% 3 = 0 then print "ділиться на 3"
5 if n% 5 = 0 then print "ділиться на 5"
6 if n% 7 = 0 then print "ділиться на 7"
7 end

Приклад виведення програми:

Введіть ціле число 10
ділиться на 2
ділиться на 5

 

вираження1% вираження2

Оператор ділення по модулю (%) повертає залишок від ділення числа Вираження1 на число вираження2.

Якщо одне або обидва вирази не цілі, то спочатку вони округлюються до цілого відкиданням дробової частини (як це робить функція int ()) до того, як операція буде проведена.

Ви може і не замислювалися, але операція ділення по модулю використовується програмістами досить часто. Основні два застосування це:
1. перевірити чи ділиться одне число на інше (програма 18)
2. отримати числа з обмеженого діапазону (програма 19)

 

Програма 19. Рухаємо м'яч з використанням ділення по модулю.

1 # moveballmod .kbs
2 # Переписана програма move ball.kbs з використанням оператора
3 # ділення по модулю для обмеження руху м'яча екраном
4
5 print "клавіша i - вгору, j - вліво, k - вправо, m - вниз, q –

закінчити"

6
7 fastgraphics
8 clg
9 ballradius = 20
10
11 # позиція м'яча
12 # починаємо з центру екрана
13 x = graphwidth / 2
14 y = graphheight / 2
15
16 # малюємо м'яч в початковому положенні на екрані
17 gosub drawball
18
19 # цикл очікування введення користувачем натискань на клавіші
20 while true
21 k = key
22 if k = asc ( "I") then
23 # y може стати негативним, + graphheight робить це число

позитивним

24 y = (y - ballradius + graphheight)% graphheight
25 gosub drawball
26 end if
27 if k = asc ( "J") then
28 x = (x - ballradius + graphwidth)% graphwidth
29 gosub drawball
30 end if
31 if k = asc ( "K") then
32 x = (x + ballradius)% graphwidth
33 gosub drawball
34 end if
35 if k = asc ( "M") then
36 y = (y + ballradius)% graphheight
37 gosub drawball ль
38 end if

39 if k = asc ( "Q") then end
40 end while
41
42 drawball:
43 color white
44 rect 0, 0, graphwidth, graphheight
45 color red
46 circle x, y, ballradius
47 refresh
48 return

Целочисленное розподіл

Операція цілочисельного ділення (\) робить традиційне ділення, але працює тільки з цілими числами і повертає ціле число. Наприклад 13 розділити на 4 буде 3 і в залишку 1. Результатом операції цілочисельного ділення буде 3.

 

Програма 20. Перевір, як ти ділиш куточком.

1 # c12_ integerdivision .kbs
2 input "Подільне", dividend
3 input "Дільник", divisor
4 print dividend + "/" + divisor + "= частка ";
5 print dividend \ divisor;
6 print "і залишок (r)";
7 print dividend% divisor;

 


Приклад виведення програми 20. Перевір, як ти ділиш куточком.

ділене 43
дільник 6
43/6 = частка 7 і залишок (r) 1

 

Нові цілочисельні функції

Три нові функції цієї глави пов'язані з перетворенням рядків і чисел з плаваючою точкою (дійсних чисел) в цілі числа. Всі три ці функції по різному обробляють десяткову частину числа.

Функція int() просто відкидає десяткову частину числа, що рівносильно вирахуванню дробової частини від (позитивного) числа або додавання десяткової частини до негативного числа. Це може привести до проблем, якщо ми намагаємося округлити числа менші нуля (0).

Функції ceil() і floor() за своїм вирішують проблему int(). Функція ceil() доповнює дробове число до найближчого цілого, більшого, ніж вихідне число, в той час як floor () завжди зменшує число до найближчого цілого, меншого даного числа.

Всіх нас вчили округляти, додаючи 0.5 і відкидати дробову частину. Якщо ми використовуємо int(), то вона працює з позитивними числами і не працює з негативні ми. У BASIC-256 для округлення ("як звично") слід використовувати формулу типу a = floor(b + 0.5).

 

Нові функції для дробових чисел

Математичні функції, до котрих занурила нас ця глава можуть стати в нагоді при написанні деяких спеціальних програм. У переважній більшості програм вони не потрібні.

Функція Опис
float (вираз) Перетворює вираз (рядок, ціле або десяткову дріб) в дробове число. Зазвичай використовується для перетворення рядків у числа. Якщо рядок не містить числа повертається нуль.
abs(вираз) Повертає беззнакове значення виразу (абсолютне значення)
log(вираз) Повертає натуральний логарифм числа (логарифм за основою e)
log10(вираз) Повертає десятковий логарифм числа (логарифм за основою 10)

 

Тригонометричні функції

Тригонометрія – наука про вимірювання кутів і сторін (і їх співвідношень) в трикутнику. BASIC-256 підтримує основні тригонометричні функції. Кути вимірюються в радіанах (0 - 2π). Якщо ви хочете використовувати градуси (0◦ - 360◦) в своїй програмі, то необхідно значення в градусах попередньо перетворити в радіани, а потім використовувати в тригонометричних функціях.

Функція Опис
cos(вираз) Повертає значення косинуса кута
sin(вираз) Повертає значення синуса кута
tan(вираз) Повертає значення тангенса кута
degrees(вираз) Перетворює число з радіан (0 - 2π) в градуси (0◦ - 360◦)
radians(вираз) Перетворює число градусів (0◦-360◦) в радіани (0 - 2π)
acos(вираз) Функція, зворотна косинусу (арккосинус)
asin (вираз) Функція, зворотна синусу (арксинус)
atan(вираз) Функція, зворотна тангенсу (арктангенс)

 

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти