Тема: створення програм розрахунку числового значення за заданою формулою, знаходження кореня рівняння.
Мета: навчитися створювати програми розрахунку числового значення за заданою формулою та знаходження кореня.
Після виконання роботи учень повинен:
Обладнання: ПК з встановленими ОС і середовищем програмування Code::Blocks IDE.
Хід уроку
1. Організаційний момент
Привітання з класом. Перевірка домашнього завдання.
2. Актуалізація опорних знань
Означити або описати поняття, розглянуті на попередньому уроці й виділені жирним шрифтом у тексті.
Алгоритм створення нового проекту
(виконувати всі дії у процесі ознайомлення)
Не вдаючись у подробиці, подамо приклад програми, що виводить кирилицю.
#include <iostream> #include <clocale> using namespace std; int main() { setlocale(LC_CTYPE,"rus"); cout << "Перша проба пера\n"; return 0; }
Щоб пересвідчитися у цьому, потрібно:
Сталі — вид даних, величину яких заборонено змінювати протягом виконання програми. Їх описують після зарезервованого слова const.
Змінні — вид даних, величину яких дозволено змінювати протягом виконання програми. Їх описують, вказавши їхню назву після зарезервованих слів — назв типів. Наприклад, int k;.
Властивості змінної: назва, тип і поточна величина.
Запис назви змінної чи сталої може містити лише літери латиниці, цифри або нижнє підкреслення і має задовольняти такі вимоги:
Тип даних характеризує допустимі величини для цих даних і сукупністю операцій над ними.
Числові дані можуть бути двох типів: цілі та дійсні.
Цілі типи
Назва типу | Обсяг, байтів | Діапазон |
---|---|---|
int | 2 або 4 | –32768..32767 або –2147483648..2147483647 |
short int | 2 | –32768..32767 |
unsigned short int | 2 або 4 | 0..65536 або 0..4294967295 |
long int | 4 | –2147483648..2147483647 |
unsigned long int | 4 | 0..4294967295 |
Об'єм пам'яті, виділений під величини типу int та unsigned short int, залежать від розрядності операційної системи: 2 байти в 32-розрядній і 4 байти в 64-розрядній системі.
Дійсні типи
Назва типу | Обсяг, байтів | Діапазон |
---|---|---|
float | 4 | 3.4·10–38..3.4·10+38 |
double | 8 | 1.7·10–308..1.7·10+308 |
long double | 10 | 1.18·10–4932..1.18·10+4932 |
Для дійсних чисел вказано діапазони зміни абсолютнної величини (модуля). Дійсні числа можна записувати у форматі з фіксованою крапкою (2.56, –0.3) або у науковому форматі (з рухомою крапкою: –0.23e3=–230, 1.45e–2=0.0145)
Логічний тип bool. Змінні цього типу можуть набувати лише величин: false (хибність) і true (істина). Вони займають 1 байт у пам'яті.
Символьний тип char. Змінні цього типу можуть набувати лише величин з кодової таблиці комп'ютера ASCII.
Символьна стала — це один символ, узятий в одинарні лапки, або число у 8-, 10- чи 16-й системі числення, яке є кодом символу у таблиці ASCII. Наприклад,
char s='f'; d=102;
Зауважимо: 102 — це десятковий код символу «f». Після такого опису:
char s='f'; int n=s;
змінна n набуде величини 102.
Вказівка надання значення має такий вигляд:
<назва> = <вираз>;
або
<назва1> = <назва2> = … = <назваN> = <вираз>;
і діє так: обчислюють вираз і його величину надають змінній або декільком змінним. Вираз може містити числа (сталі чи змінні) та назви функцій, з'єднані символами операцій. Змінна і вираз не обов'язково мають бути одного типу. У С++ реалізовано автоматичне перетворення (узгодження) типів. Розрізняють явне і неявне узгодження типів. При перетворенні дійсного числа в ціле відкидають дробову частину (це не є округленням!). Наприклад, після виконання такого коду:
int b,a; float c; a=2; c=4.9; b=a*c;
змінна b набуде величини 9 після неявного перетворення дійсного числа 9.8 у ціле.
Явне перетворення типів задають у круглих дужках перед змінною чи виразом.
Явне перетворення типів для поданого вище прикладу опису змінних:
Вказівка | Результат виконання |
---|---|
b = (int) c * a; | b = (int) 4.9 * 2 = 4 * 2 = 8 |
b = (int) (c * a); | b = (int) (4.9 * 2 ) = (int) 9.8 = 9 |
Вираз може містити дані різних числових типів (змішані вирази). Узгодження типів у виразах відбувається з урахуванням пріорітету типів:
Оператор введення (з клавіатури) має такий синтаксис:
cin >> змінна>> змінна;
Оператор виведення (на екран) має такий синтаксис:
cout << вираз чи змінна << вираз чи змінна ;
Cкладний оператор — це послідовність операторів, відділених один від одного крапкою з комою, що починається з відкритої фігурної дужки { і закінчується закритою фігурною дужкою }:
{ оператор1; оператор2; … операторn; };
Компілятор сприйме складений оператор як один оператор.
Умовний оператор призначено для того, щоб задати вибір тієї чи іншої дії залежно від справдження певної умови. Цей оператор має такий синтаксис:
if (<умова>) <оператор1>; else < оператор2>;
Як умову використовують значення логічного виразу, як оператори — довільний простий або складений оператор, у тому числі і сам умовний оператор. Якщо значення логічного виразу true, то буде виконано оператор1, якщо false, то буде виконано оператор2.
Якщо згідно з алгоритмом потрібно виконати декілька операторів, тоді потрібно використовувати складений оператор.
Умовний оператор Switch-Case (оператор вибору) використовують у тих випадках, коли залежно від значень якої-небудь змінної треба виконати ті чи інші оператори. Він має такий синтаксис:
switch (<вираз>)
{
case <значення1> : <оператор1>; break;
case <значення2> : <оператор2>; break;
…
case <значенняn> : <операторn>; break;
default: <операторn + 1>
};
Тут операторn + 1 буде виконано лише у тому випадку, коли значення виразу не збігається ні з одним зі значенняj. Після кожного логічно відокремленого блоку потрібно використовувати оператор break для виходу з оператора вибору.
3. Вивчення нового матеріалу
Кожне із завдань розв'язувати (складати алгоритм і програму) за допомогою конкурсу ідей, після чого порівнювати отримане розв'язання з демонстраційним. Коректність вхідних даних не перевіряти. Файли записувати у вказану вчителем теку з такою назвою:
Ваше прізвище-номер завдання.cpp
Програми на виконання запускати клацанням на зображенні файла.
Завдання 1. Створити програму для розв'язання рівняння ax + b = 0 на множині дійсних чисел.
Алгоритм
Завдання 2. Створити програму для виведення n-ого елемента геометричної прогресії.
Алгоритм
Ввести значення першого елемента прогресії,знаменника та номер шуканого елемента: b1, q, n.
Використвуючи рекурентну формулу: bn = bn − 1 · q і оператор циклу обчислити значення bn.
Вивести обчислене значення на екран.
Порівняти складену програму з демонстраційним розв'язанням.
Завдання 3. Створити програму для наближеного розв'язання рівняння:
на прикладі рівняння: x2 – 2 = 0. Використати таке: якщо f набуває протилежних знаків на кінцях проміжку, то на цьому проміжку є роз'язок рівняння.
Алгоритм
Порада: значення функції обчислювати лише один раз. Для збереження значень використовувати окремі змінні.
Порівняти складену програму з демонстраційним розв'язанням.
4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу
Завантажити інтегроване середовище програмування C++ 3 або скористатися он-лайн середовищем і для кожного з розглянутих завдань 1, 2 і 3 робити таке:
набрати текст програми;
компілювати і виправляти до успішної компіляції;
виконувати програму і вводити всі можливі коректні вхідні дані, для яких шлях виконання алгоритму різний;
у разі помилки виправляти коди або повідомляти вчителя;
про успішну роботу програми повідомити вчителя.
6. Підбиття підсумків уроку
Виставлення оцінок.
7. Домашнє завдання
Скласти алгоритм й написати програму знаходження членів послідовності Фібоначчі: перші два члени дорівнюють 1, а кожний, починаючи з 3-го, дорівнює сумі двох попередніх. Передбачити виведення номера і значення члена послідовності одним рядком і зчитування ознаки припинення обчислень.
Скласти алгоритм й написати програму знаходження суми перших n членів арифметичної прогресії згідно з такою формулою:
де S — сума перших n членів арифметичної прогресії з першим членом a1 і різницею d.
Текст упорядкувала Данилова Алла Євгенівна, вчитель Києво-Печерського ліцею № 171 «Лідер» Печерського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 05.12.2016 по 09.12.2016 року.