План
уроку.
1.Особливості ділення
цілих чисел (class Arithmetics_1).
2.Тип даних double. Особливості
присвоєння змінній типу double результату ділення цілих чисел (class Arithmetics_2). Два
типи арифметико-логічних пристроїв в процесорах (для цілих та дробових
операндів).
3. Взаємні
перетворення (casting) типів int та double (class Arithmetics_3, тест [task-mughal] – № 3.5).
4.Операція ділення за модулем (class Modules_1).
Призначення операції ділення за модулем: 1)доповнення до цілого ділення в
цілочисельній арифметиці, 2)визначення парності чисел.
5.Особливості ділення за модулем від’ємних чисел: знак залишку завжди дорівнює знаку діленого
(class Modules_2)
Операція ділення по модулю визначається так:
а % b = а - (а / b) * b;
наприклад, 5%2 дасть в результаті 1, а 5% (-3) дасть 2, тому що 5 = (-3) * (-1) + 2, але (-5)%3 дасть -2, оскільки -5 = 3 * (-1) - 2.
Програми:
public class Arithmetics_1 {
public
static void main(String args[]) {
//ділення цілих змінних
int x = 75;
int y = 10;
System.out.println(x/y); //результат 7 замість 7.5
}
}
******************************************************************
public class Arithmetics_2 {
public
static void main(String args[]) {
//тип даних double
int x = 75;
int y = 10;
double z = x/y;
System.out.println(z); //результат 7.0 замість
7.5
}
}
******************************************************************
public class Arithmetics_3 {
public
static void main(String args[]) {
//casting даних типів int
та double
int x = 75, y = 10;
System.out.println((double)x/y); // результат 7.5
double z = x; // еквівалентно double z = (double)x; неявне
// перетворення (implicity casting)
// int
a = z; // не компілюється, потрібне явне перетворення
int a = (int)z; // explicity casting (явне перетворення)
System.out.println(y+z); // результат додавання змінних типів int та
// double має тип double: 85.0
}
}
******************************************************************
public class Modules_1 {
public
static void main(String args[]) {
//ділення за модулем
int x = 75, y = 8;
int a = x/y;
int b = x%y;
System.out.println(a + “ ” + b);
System.out.println(a*y + b); // 75 = 9*8 + 3 – при
діленні можна обійтись
//без
дробових чисел, інформація не
//втрачається за рахунок
використання
//залишку
System.out.println(x%2); //1 – залишок ділення на 2 непарних чисел
System.out.println(y%2); // 0 – залишок ділення на 2 парних чисел
}
}
******************************************************************
public class Modules_2 {
public
static void main(String args[]) {
//ділення за модулем
int x = 75, y = 8, a = -74, b = -7;
System.out.println(x/y + “ ” + x%y);
System.out.println(x/b + “ ” + x%b);
System.out.println(a/y + “ ” + a%y);
System.out.println(a/b + “ ” + a%b);
}
}
Література
для класної роботи:
Тести
для класної роботи
Література
для домашньої роботи:
Тести для домашньої роботи