- •1. Загальна характеристика поглибленого курсу інформатики. Особливості вивчення основ алгоритмізації та програмування.
- •3. Особливості вивчення ікт в поглибленому курсі інформатики. Особливості організації занять.
- •5. Особливості ознайомлення з ефективністю алгоритмів, жадібними алгоритмами.
- •7. Особливості вивчення алгоритмів обчислювальної геометрії.
- •9. Особливості вивчення теорії графів.
- •10. Особливості академічно обдарованих дітей. Стратегії навчання академічно обдарованих дітей.
- •8. Особливості вивчення динамічного програмування.
- •6. Особливості вивчення «довгої арифметики».
- •4. Ознайомлення зі структурами даних в поглибленому курсі інформатики.
- •2. Особливості поглибленого курсу інформатики.
- •11. Мала академія наук. Загальна структура.
- •13. Міжнародний конкурс з інформатики та комп’ютерної грамотності “Бобер”.
- •15. Всеукраїнський турнір з інформатики
- •17. Особливості змісту олімпіад з інформатики та їх організації
- •19. Особливості підготовки учнів до олімпіад з інформатики. Формування стилю програмування, робота над технікою програмування.
- •18. Особливості підготовки учнів до олімпіад з інформатики. Класичні алгоритми та їх вивчення
- •16. Конкурс “Intel-еко Україна”
- •14. Міжнародний конкурс informatrix.
- •12. Особливості проведення конкурсів-захистів учнів-членів Малої академії наук. Секції з інформатики.
6. Особливості вивчення «довгої арифметики».
Іноді в програмі необхідно використовувати числа, які виходять за межі діапазону, що представляється стандартними типами даних. У таких випадках програміст сам повинен потурбуватися про подання таких чисел і виконання операцій над ними.
Числа, для представлення яких в стандартних комп'ютерних типах даних не вистачає кількості двійкових розрядів, називаються «довгими». Реалізація арифметичних операцій над такими «довгими» числами отримала назва «довгої арифметики».
Одним із найпростіших способів подання довгих чисел є масив, значенням кожного елементу якого є відповідна цифра числа. Такий спосіб подання є нераціональним з точки зору використовуваної пам’яті, але найбільш легким для розуміння. Кількість цифр у числі можна зберігати в окремій змінній або як однин з елементів масиву (наприклад, елемент з індексом -1, якщо нумерація цифр починається з 0).
При виконанні арифметичних операцій над числами, поданими за допомогою масиву, використовують відомі з початкової школи алгоритми додавання, віднімання, множення в стовпчик. Розглянемо, наприклад, додавання довгих чисел.
Нехай маємо два числа і , необхідно знайти При додаванні чисел в стовпчик процес розпочинається з найменшого (нульового) розряду. Спочатку додаються цифри і ; при цьому, у випадку, коли сума є одноцифровим числом, це число є останньою цифрою результату. Якщо сума є двоцифровим числом, то остання цифра результату дорівнює останній цифрі суми, а перша цифра суми переноситься у наступний розряд. При обчисленні передостанньої цифри додаються , і цифра переносу з попереднього розряду і т.д.
Таким чином, на кожній ітерації алгоритму слід:
Знайти , де — цифра переносу з попереднього розряду;
Покласти (остання цифра суми цифр — залишок від ділення на 10);
Покласти (цифра переносу в наступний розряд є першою цифрою суми цифр — неповна частка від ділення на 10).
Вказані дії повторюються для всіх значень від 0 до . Після завершення циклу необхідно записати значення цифри переносу в найстарший розряд суми.
4. Ознайомлення зі структурами даних в поглибленому курсі інформатики.
Відомий спеціаліст з мови програмування Н. Вірт говорив, що «Алгоритм+Структури даних=Програми». Використання структури даних дозволяє будувати ефективніше алгоритм. Ознайомлення зі структурами даних дає учням можливість міркувати загальнішими категоріями, швидше реалізовувати алгоритм.
Основні структури даних, що вивчаються в поглибленому курсі:
1) Стек – структура даних, у якій всі додавання і знищення елементів відбуваються з одного кінця.
2) Черга – структура даних, у якій елементи додаються з одного кінця, а знищуються з іншого.
3) Зв’язний список – кожний елемент списку містить не лише значення, але й позицію наступного елемента.
4) Дерево – бінарне дерево – містить позицію не одного, а двох наступних елементів.