Розробка уроку — практичної роботи

Тема: створення програм розрахунку числового значення за заданою формулою, знаходження кореня рівняння.

Мета: навчитися створювати програми розрахунку числового значення за заданою формулою та знаходження кореня.

Після виконання роботи учень повинен:

Обладнання: комп’ютери з встановленими ОС та середовищем програмування мовою C# або стійким доступом до мережі Інтернет для роботи з online-компілятором (наприклад, rextester).

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Закріплення вивченого матеріалу.
  6. Підбиття підсумків уроку.
  7. Домашнє завдання.

Хід уроку

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

2. Актуалізація опорних знань
(відомості щодо програмування мовою С#)

Основна частина програми мовою на C# має такий вигляд:

static main() {тіло програми}

Оператор виведення на екран має такий вигляд:

System.Console.WriteLine(змінна);

Якщо додати на початок програми директиву

using System ;

класи і методи System можна використовувати безпосередньо, не вказуючи їх повні назви. Наприклад, можна писати Console.WriteLine замість System.Console.WriteLine.

Переведення на новий рядок при виведенні даних на екран здійснюють за допомогою виведення символу \n (ознаки кінця рядка), який виводять безпосередньо перед початком нового рядка.

Операції поділяють на унарні і бінарні. До унарних належать ті, в яких використано один операнд (аргумент), до бінарних — ті, в яких використано два операнди.

Бінарні арифметичні оператори

НазваЗапис
Додаванняa + b
Відніманняa - b
Діленняa / b
Множенняa * b
Лишок від
ділення
a % b

Наприклад, 4 — результат операції 9%5.

Унарні арифметичні оператори:

Наприклад, такий фрагмент коду:

static void Main(string[] args)
{ int a = 0, b = 5;
  a++; // a=1;
  b--; // b=4;
  System.Console.WriteLine(a);
  System.Console.WriteLine(b);
}

виведе числа 1 і 4 по одному в рядку.

Примітка. Символи // перетворюють решту частину рядка на коментар, який буде проігноровано компілятором.

Оператори порівняння

НазваЗапис
Більше >
Менше <
Не менше >=
Не перевищує <=
Дорівнює ==
Не дорівнює !=

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

Запис назви змінної або сталої може містити лише літери латиниці, цифри або нижнє підкреслення і має задовольняти такі вимоги:

Вказівка надання значення має такий вигляд: <назва> = <вираз>;
або <назва1> = <назва2> = … = <назваN> = <вираз>;

Наприклад, int a; float b; char d='s'; bool k=true; double a;

Тип даних характеризує допустимі величини для цих даних і сукупністю операцій над ними.

В мові С# розрізнять прості та складні типи даних. До простих відносять числові, логічні та символьні типи даних.

Числові дані поділяють на цілі та дійсні.

Цілі типи

Назва типуОбсяг
(бітів)
Діапазон значень
byte 8 0..255
sbyte 8 –128..127
short 16 –32768..32767
ushort 16 0..65535
int 32 –2147483648..2147483647
uint 32 0..4294967295
long 64–9223372036854775808
..9223372036854775807
ulong 64 0..184467440073709551615

Об'єм пам'яті, яка виділяють під величини певного типу, залежать від розрядності операційної системи: 2 байти в 32-х розрядній і 4 байти в 64-х розрядній системі.

Дійсні типи

Назва
типу
Обсяг
(бітів)
Діапазон значень
decimal 128 1·10–28..7.9·10+28
double 64 5·10–324..1.7·10+308
float 32 1.5·10–45..3.4·10+38

Для дійсних чисел вказано діапазони зміни абсолютнної величини (модуля). Дійсні числа можна записувати у форматі з фіксованою крапкою (2.56, –0.3) або у науковому форматі (з рухомою крапкою: –0.23e3=–230, 1.45e–2=0.0145)

Примітка. В С# запис оператору надання значення (=) не використовують для позначення рівності при порівнянні значень. Для позначення рівності використовують подвійний запис цього самого символу (==).

Умовний оператор if призначено для виконання операції у лише при справдженні певного висловлювання (логічного виразу, умови). Висловлювання записують у круглих дужках після запису if. У фігурних дужках записують вказівки, які потрібно виконати при справдженні висловлювання. Цей оператор має такий синтаксис:

if (умова) оператор1; else оператор2;

Тут оператор — довільний простий або складений оператор, у тому числі й умовний оператор. При справдженні умови (значення логічного виразу true) буде виконано оператор1, інакше (значення логічного виразу false) буде виконано оператор2.

Складну умову записують за допомогою таких операцій:

&& — логічне «і» — результат справджується лише за умови справдження обох висловлювань, між якими записано &&

|| — логічне «або» — результат справджується лише за умови справдження хоча б одного з висловлювань, між якими записано ||;

! — заперечення — результат справджується лише за умови хибності висловлювання, перед яким записано !.

Наприклад, запис 3 < d < 8 записують таким чином:

(3 < d) && (d < 8)

Cкладний операторпослідовність операторів, яку компілятор сприймає один оператор — записують у фігурних дужках, завершуючи кожний з них крапкою з комою:

{ оператор1; оператор2; … операторn; };

Для запису повторення певних послідовностей вказівок зручно використовувати цикл for:

for
(
  дія до початку циклу;
  умова продовження циклу;
  дія в кінці кожної ітерації циклy
)
{
  вказівка1;
  вказівка2;
  …
  вказівкаN;
}

Console.WriteLine("Рядок тексту, який потрібно вивести на екран")

Convert.ToDouble(Console.ReadLine(…)); — оператор зчитування рядка тексту і перетворення (конвертування) його в число дійсного типу double.

Convert.ToInt32(Console.ReadLine(…)); — oператор зчитування рядка тексту і перетворення його у 32-розрядне число цілого типу int (32 біти).

Оператор опрацювання виключень try {…} catch {…}
У блоці try{…} записують умову, у блоці catch{…} описують опрацювання виключення (наприклад, можливість введення помилкових даних). Програма виконує код, записаний у блоці try. Якщо в ньому відбувається виключення типу, вказаному в catch, то керування буде передано блоку catch. При цьому, весь код, що залишився від моменту виявлення виключення до кінця блоку try, не буде виконано. Після виконня блоку catch оператор try-catch закінчує роботу.

3. Вивчення нового матеріалу

Завдання 1

  1. Створити програму для розв'язання рівняння ax + b = 0 на множині дійсних чисел.
  2. Записати програму з назвою Ваше прізвище_1 у вказану вчителем теку.
  3. Порівняти своє розв'язання з демонстраційним розв'язанням.

Алгоритм розв'язання завдання 1

  1. Ввести значення величини a, b.
  2. Якщо a = 0 ≠ b, вивести повідомлення: «Немає розв'язків»,
    інакше якщо a = 0 = b, вивести повідомлення: «Розв'язком є довільне число»,
    інакше вивести повідомлення: «Єдиний розв'язок x=» і значення – b/a.

Завдання 2

  1. Створити програму для виведення n-го елемента геометричної прогресії.
  2. Записати програму з назвою Ваше прізвище_2 у вказану вчителем теку.
  3. Порівняти своє розв'язання з демонстраційним розв'язанням.

Алгоритм розв'язання завдання 2

  1. Ввести значення:
    • b1 — першого елемента прогресії;
    • q — знаменника прогресії;
    • n — номер шуканого елемента.
  2. Використавши в циклі рекурентну формулу: bn = bn − 1 · q, обчислити значення bn.

  3. Вивести обчислене значення на екран.

Завдання 3

  1. Створити програму для наближеного розв'язання рівняння:

    f (x) = 0

    на прикладі рівняння: x2 – 2 = 0. Використати таке: якщо f набуває протилежних знаків на кінцях проміжку, то на цьому проміжку є роз'язок рівняння.
  2. Записати програму з назвою Ваше прізвище_3 у вказану вчителем теку.

  3. Порівняти своє розв'язання з демонстраційним розв'язанням

Алгоритм наближеного розв'язання рівняння: f (x) = 0

  1. Ввести значення величин:
    • a, b — чисел, між якими лежить розв'язок;
    • ε — верхньої межі похибки.
  2. Якщо a = b або ε ≤ 0, вивести повідомлення «Хибно введені дані».
  3. Якщо f (a) = 0, то вивести a.
  4. Якщо f (b) = 0, то вивести b.
  5. Якщо f (a) · f (b) > 0, вивести повідомлення «Можливо немає розв'язку».
  6. Якщо f (a) · f (b) < 0, зробити таке:
    • покласти c = a:
    • поки f (c) ≠ 0 і |ba| ≥ ε, робити таке:
      • обчислити c = (a + b)/2;
      • якщо f (c) · f (a) > 0, надати значення a = c,
        інакше надати значення b = с.
    • вивести значення с.

Вказівка: значення функції обчислювати лише один раз; для збереження значень використовувати окремі змінні.

4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу

Завантажити інтегроване середовище програмування C# або скористатися он-лайн середовищем і для кожного з розглянутих завдань 1, 2 і 3 виконати таке:

Примітка. При роботі з rextester.com (можливо й іншими online-сервісами) для коректної роботи програми значення десяткового числа потрібно вводити з комою, а не з крапкою. Наприклад, 0,01, а не 0.01. При виведенні також буде використано кому, а не крапку.

6. Підбиття підсумків уроку

Виставлення оцінок.

7. Домашнє завдання

  1. Скласти алгоритм й написати програму знаходження членів послідовності Фібоначчі: перші два члени дорівнюють 1, а кожний, починаючи з 3-го, дорівнює сумі двох попередніх. Передбачити виведення номера і значення члена послідовності одним рядком і зчитування ознаки припинення обчислень.

  2. Скласти алгоритм й написати програму знаходження суми перших n членів арифметичної прогресії згідно з такою формулою:

    S = na1 + dn(n − 1)/2,

    де S — сума перших n членів арифметичної прогресії з першим членом a1 і різницею d.

  3. Скласти алгоритм й написати програму розв’язання квадратного рівняння вигляду ax2 + bx + c = 0


Текст упорядкувала Драгунова Ганна Володимирівна, учитель інформатики та технологій гімназії № 179 міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 11.12.2017 по 15.12.2017.


В роботі було використано матеріали випускної роботи Федорченко Ірини Анатоліївни, Войтенко Наталії Анатоліївни та Данилової Алли Євгенівни.