Шановні друзі!
Опрацюйте навчальний матеріал та виконайте практичні завдання.
(завдання у презентаціях)
Склад операторів мови C #, їх синтаксис і семантика успадковані від мови С ++.
1. Об'єктно-орієнтоване програмування (навчальна презентація до уроків)
2. Практикум розв'язування задач лінійної структури. Консольний додаток. (навчальні матеріали для вивчення теми)
Опрацюйте додатково навчальний матеріал "Введення даних в консоль C#" (перейти)
Генерація цілих випадкових чисел
C # має 3 методи:
1. Повертає значення більше нуля. Максимальне число більше 10 мільйонів:
Random x = new Random (); // оголошення змінної для генерації чисел
int n = x.Next ();
2. Повертає значення наявне в проміжку (min, max). При цьому min значення входить в випадкове число, а max не входить:
int n = x.Next (-100,100);
3. Повертає ціле додатне число не більше максимального:
int n = x.Next (10);
При цьому максимальне число також не входить в генерацію випадкових чисел, тобто в даному випадку від 0 до 9.
Генерація дробових випадкових чисел
В мові C # немає методів для генерації дробових чисел. Та якщо нам треба отримати дробові числа, ми можемо зробити це в такий спосіб:
double r = Convert.ToDouble (x.Next (-100, 100) /10.0);
В даному випадку ми маємо числа від -10 до 9.9.
При потребі згенерувати додатні дробові числа:
double r = Convert.ToDouble (x.Next (100) /10.0);
В даному випадку ми маємо генерацію від 0 до 9.9.
Завдання для самостійного опрацювання
1. Ввести з клавіатури довжини сторін. Обчислити периметр трикутника. Випадки існування трикутника розглянемо пізніше
Console.WriteLine("Ввести довжини сторiн трикутника");
Console.Write("a=");
double a = double.Parse(Console.ReadLine());
Console.Write("b=");
double b = double.Parse(Console.ReadLine());
Console.Write("c=");
double c = double.Parse(Console.ReadLine());
Double p = a + b + c;
Console.WriteLine("Bивiд результату");
Console.WriteLine("p={0:f2}", p);
Console.ReadKey();
Серйозна розважалка (за підручником Т.П. Караванової)
Вправа 41. Якщо на одну шальку терезів посадити Наталку, яка важить n кілограмів, і Даринку, яка важить на 5 кг менше, а на іншу - насипати m кілограмів цукерок, то скільки кілограмів цукерок доведеться з'їсти нещасним дівчаткам, щоб шальки терезів зрівноважилися?
Console.Write("Скiльки важить Наталка n=");
double n = double.Parse(Console.ReadLine());
double k = n - 5;
Console.Write("Даринка важить - ");
Console.WriteLine (k);
Console.Write("Скiльки кг цукерок насипали на iншу шальку терезiв m=");
double m = double.Parse(Console.ReadLine());
double x = m - (2 * n - 5);
Console.Write("Дiвчаткам для врiвноваження терезiв доведеться зiсти кг цукерок x=");
Console.WriteLine (x);
Console.ReadKey();
Вправа 42. Невдаха учень Сашко сів виконувати домашнє завдання і просидів за столом 2 години. З них х хвилин він чухав потилицю і дивився у вікно, y хвилин шукав у письмовому столі гумку, щоб стерти у підручнику з англійської мови карикатуру на свого товариша, на малювання якої він потратив перед цим z хвилин. Решту часу Сашко перекладав англійські слова. Скільки слів він устиг перекласти, якщо на переклад одного слова у нього йшло 5 хвилин?
Console.Write("Скiльки хвилин Сашко дивився у вiкно? ");
double x = double.Parse(Console.ReadLine());
Console.Write("Скiльки хвилин Сашко шукав гумку? ");
double y = double.Parse(Console.ReadLine());
Console.Write("Скiльки хвилин Сашко малював карикатуру? ");
double z = double.Parse(Console.ReadLine());
double s = 2*60-x-y-z;
Console.Write("Сашко працював над перекладом хв. ");
Console.WriteLine (s);
double k = s / 5;
Console.Write("Сашко переклав слiв ");
Console.WriteLine("k={0:f0}",k);
Console.ReadKey();
Опрацюйте перелік та призначення функцій у мові C#
Найбільш вживані методи класу Math:
- Abs (x) Обчислює модуль (абсолютне значення) числа x. Перевантажений для всіх числових типів (int, double і т.д.)
- Acos (x) Функція арккосинуса. Значення аргументу повинно знаходитися в діапазоні від -1 до +1
- Asin (x) Функція арксинуса. Значення аргументу повинно знаходитися в діапазоні від -1 до +1
- Atan (x) Функція арктангенса
- Cos (x) Функція косинуса. Аргумент задається в радіанах
- Exp (x) Обчислює значення (експоненціальна функція)
- Log (x) Повертає значення натурального логарифма (ln x)
- Log10 (x) Повертає значення десяткового логарифма ()
- Max (a, b) Повертає максимум з двох чисел a і b
- Min (a, b) Повертає мінімум з двох чисел a і b
- Pow (x, a) Повертає значення, тобто зводить число x в ступінь a
- Sin (x) Функція синуса. Кут задається в радіанах
- Sqrt (x) Повертає позитивне значення квадратного кореня
- Tan (x) Функція тангенса. Кут задається в радіанах
Крім методів, в класі є дві константи:
Math.PI - дорівнює числу = 3,14159265358979
Math.E - дорівнює числу E = 2,71828182845905
При використанні математичних функцій необхідно не забувати вказувати ім'я класу, а аргумент функції укладати в круглі дужки.
Наприклад,
1) y=sin(x+pi/10) y = Math.Sin(x + Math.PI / 10);
2) y = Math.Sqrt(Math.Abs(x + 2))/(Math.Pow(x, 1.0 / 3) + 4);
Вправа 47. Чепуруха Катруся, взявши ножиці в руки, змоделювала собі з маминого круглого капелюшка радіуса R капелюшок нового фасону - з квадратними полями. Якою має бути сторона квадратної коробки для нового капелюшка?
Console.Write("Чому дорiвнював радiус маминого круглого капелюшка? ");
double R = double.Parse(Console.ReadLine());
double a = 2 * R / Math.Sqrt(2);
Console.Write("Сторона квадратноi коробки для капелюшка Катрусi: ");
Console.WriteLine("a={0:f0}",a);
Console.ReadKey();
Вправи для закріплення функцій
Квадрат заданий довжиною сторони. Визначити:
- Довжину вписаного в нього кола
- Довжину описаного навколо нього кола
- Площу вписаного в нього круга
- Площу описаного навколо нього круга
Завдання для практичної роботи
- Опрацювати теоретичний матеріал.
- Скласти алгоритм розв'язування задач
- Cтворити програму та реалізувати її в середовищі мови програмування С#
- Записати програмний код та результати виконання програми в зошит
Вправа 44. Курочка Ряба знесла яєчко, а мишка розбила його. Після цього курочка знесла на k яєчок більше, але мишка знову їх розбила. Ряба піднатужилася і знесла знову на k яєчок більше, ніж попереднього разу, але безсовісна мишка розтрощила й ці. Так продовжувалося 5 разів, поки Ряба гне здалася. Зі скількох яєць Дід і Баба змогли б врешті решт зробити собі яєшню?
Console.Write("На скiльки яець щоразу збiльшилась кiлькiсть знесених курочкою Рябою? ");
int k = int.Parse(Console.ReadLine());
int s = 5 + 10 * k;
Console.Write("Баба з дiдом могли б зробити яечню iз такоi кiлькостi яець ");
Console.Write(s);
Console.ReadLine();
Вправа 57. Дано довжину кола. Визначити площу круга, обмеженого цим колом.
Double l, r, s;
Console.Write("Чому дорiвнює довжина даного кола? ");
l = double.Parse(Console.ReadLine());
r = l / (2 * Math.PI);
s = Math.PI*r*r;
Console.Write("Площа вiдповiдного круга дорiвнюe ");
Console.Write("s={0:f2}",s);
Console.ReadLine();
Вправа. Арифметичну прогресію задано першим членом а, кроком h та загальною кількістю членів n. Знайти: суму арифметичної прогресії та k-тий член арифметичної прогресії.
Double a, h, n, ak, s, k;
Console.Write("Чому дорiвнює перший член прогресii? ");
a = double.Parse(Console.ReadLine());
Console.Write("Чому дорiвнює крок змiни в прогресii? ");
h = double.Parse(Console.ReadLine());
Console.Write("Скiльки членiв в прогресii? ");
n = double.Parse(Console.ReadLine());
Console.Write("Який член прогресii шукатимемо? ");
k = double.Parse(Console.ReadLine());
ak = a+(k-1)*h;
s = (2*a+h*(n-1))/2*n;
Console.Write("k-ий член прогресii дорiвнюe ");
Console.WriteLine ("ak={0:f2}", ak);
Console.Write("Сума членiв прогресii дорiвнюe ");
Console.WriteLine ("s={0:f2}",s);
Console.ReadLine();
Вправа 77-1. Дано значення змінних x, y, z. Обчислити значення змінної t.
Double x, y, z, t;
Console.Write("x=");
x = double.Parse(Console.ReadLine());
Console.Write("y=");
y = double.Parse(Console.ReadLine());
Console.Write("z=");
z = double.Parse(Console.ReadLine());
t = (x + y) / (x - 1 / 2) - (x-z) / (x*y);
Console.WriteLine();
Console.WriteLine ("t={0:f2}", t);
Console.ReadLine();
До всіх задач, що розглянені на цій сторінці, можна застосувати генерування випадкосих чисел для змінних. Спробуйте це зробити.