П75. Поняття рекурсії. Рекурентні послідовності. Вкладені цикли
Прочитайте!
Вкладені цикли
Вкладені цикли — це конструкція, де один цикл знаходиться всередині іншого. Вкладені цикли часто використовуються для роботи з багатовимірними структурами даних, наприклад, матрицями чи списками списків.
Поняття рекурсії
Рекурсія — це техніка програмування, при якій функція викликає саму себе. Вона використовується для вирішення задач, які можуть бути розділені на підзадачі такого ж типу.
Основні елементи рекурсії:
- Базовий випадок — умова, при виконанні якої рекурсія завершується. Без базового випадку програма зациклиться.
- Рекурсивний виклик — виклик функції самою собою з іншим (зазвичай меншим) набором параметрів.
Рекурсія часто використовується для обчислення:
- Факторіалів;
- Чисел Фібоначчі;
- Розв’язання задач на обходи дерев і графів.
Рекурентні послідовності — це такі послідовності чисел, де кожен наступний елемент визначається через попередні.
Працюємо за ПК!
Задача 1. Використовуючи Алгоритм Евкліда знайдіть НСД двох чисел.
Як працює алгоритм:
- Алгоритм Евкліда базується на наступному принципі:
- НСД двох чисел a і b дорівнює НСД b і залишку від ділення a % b.
- На кожному кроці ми замінюємо a на b, а b на залишок a % b, поки залишок не стане рівним нулю.
- Коли залишок дорівнює нулю, значення a є НСД.
Задача 2 “Транспортна дилема”. Петрик запізнюється на сеанс в кінотеатр, тому хоче вибрати найшвидший шлях до необхідного йому торгового центру.
Оскільки він стоїть прямо поруч зупинок публічного транспорту, то знає, що найближчий автобус приїде через хвилин, дорога на ньому займає хвилин, а дорога пішки від зупинки приїзду до торгового центру хвилин.
Петрику також доступне метро, очікування потягу у якому займає хвилин, поїздка хвилин, а дорога пішки від станції прибуття до торгового центру хвилин.
З врахуванням нагальності поїздки хлопець розглядає і варіант таксі, очікування якого згідно з мобільною програмою займе хвилин, а час поїздки становить хвилин.
Підкажіть, будь ласка, Петрику, який транспорт йому краще використовувати, щоб потрапити у торговий центр як можна скоріше.
Якщо у Петрика є кілька можливих варіантів потрапити у торговий центр як можна скоріше, то він вибере найдешевший варіант. Автобус є дешевшим за метро, а метро є дешевшим за таксі.
Задача 3. Степан збирає речі у відпустку. З собою в літак він може взяти ручну поклажу і багаж. Для ручної поклажі у нього є рюкзак, а для багажу – здоровенна валіза.
За правилами перевезення маса ручної поклажі не повинна перевищувати S кг, а багаж може бути будь-якої маси (за наднормативний багаж Степан готовий доплатити). Зрозуміло, найбільш цінні речі – ноутбук, фотоапарат, документи і т. д. – Степан хоче покласти в ручну поклажу.
Степан розклав усі свої речі в порядку зменшення їх цінності і починає складати найбільш цінні речі в рюкзак. Він діє в такий спосіб – бере найцінніший предмет, і якщо його маса не перевищує S, то кладе його в рюкзак, інакше кладе його до валізи. Потім він бере наступний за цінністю предмет, якщо його можна покласти в рюкзак, тобто якщо його маса разом з масою вже покладених в рюкзак речей не перевищує S, то кладе його в рюкзак, інакше до валізи, і таким же чином процес триває для всіх предметів в порядку спадання їх цінності.
Визначте вагу рюкзака і валізи після того, як Степан складе всі речі.
Розв’язання
В даній задачі необхідно реалізувати принцип, який описаний в умові, а саме: беремо предмет, і якщо його маса не перевищує максимально дозволену масу, то кладемо його в рюкзак, інакше кладемо його до валізи.
Нехай vr – маса рюкзака і vv – маса валізи. Беремо перший предмет з масою r і перевіряємо, якщо vr+r не перевищує s, то збільшуємо vr на r, інакше vv збільшуємо на r.
Розглянемо алгоритм розв’язування задачі:
- ввести значення s та n, присвоїти значення 0 змінним vr і vv;
- за допомогою циклу та команди розгалуження обчислити vr і vv;
- вивести результат.
Задача 4. Напишіть програму, яка буде підсумовувати числа, що вводяться з клавіатури до тих пір, доки вони від’ємні.
-
Тема 1. Інформаційні технології в суспільстві.
- Урок 1. Інформація, повідомлення, дані, інформаційні процеси, інформаційні системи як важливі складники й ознаки сучасного суспільства. Сучасні інформаційні технології та системи. Людина в інформаційному суспільстві.
- Урок 2. Проблеми інформаційної безпеки. Загрози при роботі в Інтернеті і їх уникнення.
- Урок 3. Навчання в Інтернеті. Професії майбутнього – аналіз тенденцій на ринку праці. Роль інформаційних технологій в роботі сучасного працівника.
- Урок 4. Поняття про штучний інтелект, інтернет речей, Smart-технології та технології колективного інтелекту.
- Урок 5. Комп’ютерно-орієнтовані засоби планування, виконання і прогнозування результатів навчальної, дослідницької і практичної діяльності.
- Урок 6. Інтернет-маркетинг та інтернет-банкінг. Системи електронного урядування.
-
Тема 2. Моделі і моделювання. Аналіз та візуалізація даних
- Урок 7. Комп’ютерне моделювання об’єктів і процесів. Комп’ютерний експеримент
- Урок 8. Основи статистичного аналізу даних. Ряди даних. Обчислення основних статистичних характеристик вибірки.
- Урок 9. Консолідація даних. Зведені таблиці. Інструктаж з ТБ. Практична робота №1 «Консолідація даних. Створення зведеної таблиці»
- Урок 10. Пошук та збір наборів даних. Соціальні аспекти масштабного аналізу даних.
- Урок 11. Розв’язування рівнянь. Розв’язування систем рівнянь, оптимізаційних задач.
- Урок 12. Програмні засоби для складних обчислень, аналізу даних та фінансових розрахунків.
- Урок 13. Візуалізація рядів і трендів даних. Інфографіка.
- Урок 14. Розв’язання задач з різних предметних галузей.
- Урок 15. Інструктаж з БЖД. Практична робота №2 «Розв’язання задач з різних предметних галузей. Обчислення статистичних характеристик»
-
Тема 3. Системи керування базами даних
- Урок 16. Поняття бази даних і систем керування базами даних, їх призначення.
- Урок 17. Введення даних у базу. Створення інтерфейсу користувача для введення даних у базу. Імпорт та експорт бази даних. Зв’язки між таблицями.
- Урок 18. Створення та відкриття бази даних. Створення таблиць та звітів. Введення і редагування даних різних типів.
- Урок 19. Створення форм різних типів. Імпорт даних.
- Урок 20. Створення розділеної форми. Створення головної кнопкової форми. Інструктаж з БЖД. Практична робота №4: «Створення форм»
- Урок 21. Створення запитів. Запити на вибірку даних.
- Урок 22. Практична робота «Створення звітів, запитів, форм за кількома таблицями»
-
Тема 4. Мультимедійні та гіпертекстові документи
- Урок 23. Основні тренди у веб-дизайні. Практикум з використання інформаційних технологій
- Урок 24. Практикум з використання інформаційних технологій. Підготовка проєкту до захисту.
- Урок 25. Типи сайтів та їх особливості. Цільова аудиторія. Захист проєкту
- Урок 26. Технології опрацювання мультимедійних даних. Мова гіпертекстової розмітки.
- Урок 27. Гіпертекстовий документ та його елементи. Текстові елементи веб-сторінки, теги та їх атрибути. Гіперпосилання
- Урок 28. Таблиці та списки на веб-сторінках. Інструктаж з БЖД. Практична робота №6 «Створення веб-сторінки за допомогою мови гіпертекстової розмітки»
- Урок 29. Правила ергономічного розміщення відомостей на веб-сторінці. Пошукова оптимізація та стратегії просування веб-сайтів.
- Урок 30. Роль електронних медійних засобів в житті людини. Системи опрацювання аудіо- та відеоінформації. Інструктаж з БЖД. Практична робота №12 «Оцінка сайту. Просування сайту».
- Уроки 31-33. Проектна діяльність. Розбиття на групи. Вибір теми проекту. Розробка плану проекту. Робота над проектом. Захист проекту
- Урок 34. Хостинг сайту. Взаємодія клієнт-сервер.
- Урок 35. Проектування та верстка веб-сторінок. Адаптивна верстка. Кросбраузерна оптимізація сторінок сайту.
- Урок. Позиціювання елементів веб-сторінки за допомогою стилів.
- Урок. Інструктаж з БЖД. Практична робота № 10 «Створення веб-сторінки з використанням каскадних аркушів стилю»
- Урок. Графіка та мультимедіа для веб-середовища. Використання зображень у веб-документах.
- Урок. Розміщення та відтворення на веб-сторінках мультимедійних даних. Формати аудіо- та відеофайлів.
- Урок. Дотримання авторських прав та ліцензій на використання графічних зображень та засобів мультимедіа на веб-сторінках.
- Урок. Інструктаж з БЖД. Практична робота №11 «Використання графічних, анімаційних та мультимедійних елементів на веб-сторінках».
- Урок . Макет інформаційної структури сайту. Інструктаж з БЖД. Практична робота №8 «Проектування структури сайту».
- Урок. Інформаційна структура сайту. Інструменти веб-розробника. План розробки сайту.
-
Тема 5. Основи електронного документообігу
- Урок 54. Поняття документу. Призначення та класифікація документів. Документообіг. Загальні правила оформлення документів. Стиль ділового листування. Логічні елементи тексту та порядок його викладення.
- Урок 55. Шаблони та формуляр-зразки документа. Реквізити документа. Правила оформлення сторінки. Інструктаж з БЖД. Практична робота №13 «Використання шаблону та формуляр-зразка документа»
- Уроки 56-57. Оформлення бібліографічних списків та покажчиків. Правила та вимоги оформлення письмової роботи. Інструктаж з БЖД. Практична робота №14 «Оформлення письмової роботи зі створенням бібліографічних списків та покажчиків»
- Уроки 58-59. Системи управління електронними документами. Класифікація офісної техніки. Засоби створення, зберігання, обробки, копіювання і транспортування документів. Інструктаж з БЖД. Практична робота №15 «Створення та пересилання документів»
- Уроки 60-61. Електронний документ, його ознаки та правовий статус. Електронний документообіг. Електронний цифровий підпис. Передавання електронних документів. Зберігання електронних документів. Забезпечення конфіденційності електронних документів. Електронний офіс.
- Урок 62. Підсумковий урок з теми: “Основи електронного документообігу””
-
Профільний рівень. Електронні таблиці (повторення)
-
Профільний рівень. Сучасні інформаційні технології
- П7. Сучасні інформаційні технології та системи. Людина в інформаційному суспільстві
- П8. Здібності, креативність і знання в галузі інформатики
- П9. Навчання в Інтернеті
- П10. Програмні засоби для планування, структурування роботи, співпраці
- П11. Роль інформаційних технологій в роботі сучасного працівника.
- П12. Професії майбутнього – аналіз тенденцій на ринку праці. Інструктаж з БЖД. Практична робота №1. «Професії майбутнього. Хмарні сервіси»
- П13. Поняття про штучний інтелект
- П14. Системи електронного врядування
- П15. Інформаційна безпека. Рівні та протоколи інформаційної безпеки
- П16. Керування ризиками в інформаційних системах.
- П17. Виконання індивідуальних та колективних проектів.
-
Аналіз і візуалізація даних
- П19. Комп’ютерне моделювання об’єктів і процесів. Комп’ютерний експеримент.
- П20. Програмні засоби для складних обчислень, аналізу даних та фінансових розрахунків. Електронні таблиці.
- П21. Табличний процесор як засіб для виконання розрахунків
- П23. Розв’язання рівнянь та оптимізаційних задач з різних предметних галузей засобами ІТ.
- П24. Інструктаж з БЖД. Практична робота №2. Використання надбудови Розв’язувач для розв’язання задач
- П25. Розв’язування рівнянь засобами табличного процесора
- П26. Розв’язання систем лінійних рівнянь.
- П27. Матричні операції. Розв’язання систем лінійних рівнянь засобами табличного процесора.
- П28. Основи статистичного аналізу даних. Ряди даних. Обчислення основних статистичних характеристик вибірки. Кореляційний аналіз даних.
- П29. Пошук та збір наборів даних .
- П30. Обчислення основних характеристик вибірки засобом табличного процесора
- П31. Інструктаж з БЖД. Практична робота №3. Статистичний аналіз даних. Кореляційний аналіз даних.
- П32. Візуалізація рядів і трендів даних. Вибір типу діаграми
- П33. Інфографіка
- П34. Інтерактивні візуалізації даних
- П35. Інструктаж з БЖД. Практична робота №4. “Інтерактивні візуалізації даних”
- П36. Розв’язування задач з різних предметних галузей .
- П37. Табличний процесор як засіб для фінансових розрахунків.
- П38. Електронна таблиця як засіб подання відомостей про однотипні об’єкти. Операції з однотабличною базою даних.
- П39. Інструктаж з БЖД. Практична робота №5. Операції з однотабличною базою даних
- П40. Створення та редагування зведених таблиць
- П41. Виконання індивідуальних та групових проектів
-
Електронні публікації
- П42. Багатосторінкові текстові документи. Налаштування параметрів сторінок. Розділи документа
- П43. Правила стильового оформлення документів різних типів
- П44. Колонтитули
- П45. Схема документа
- П46. Налаштування параметрів сторінок та колонтитулів, для різних частин документа.
- П47. Інструктаж з БЖД. Практична робота №6. Створення структури документу. Автоматичне створення та опрацювання змісту.
- П48. Основи композиції і архітектоніки багатосторінкового видання
- П49. Використання полів злиття
- П50. Інструктаж з БЖД. Практична робота №7. Створення розсилок у текстовому процесорі.
- П51. Комп’ютерні публікації. Створення публікації на основі шаблону.
- П52. Буклет. Призначення. Принципи композиції. Види буклетів
- П53. Видавничі системи.
- П54. Електронні книги
- П55. Створення навчального проекту
- П56. Комп’ютерна верстка. Програми для комп’ютерної верстки.
- П57. Інструктаж з БЖД. Практична робота №8. Комп’ютерні публікації.
- П58-59. Практикум з використання інформаційних технологій.
-
Структура і способи виконання проектів мовою Python
- П61. Повторення. Мова програмування. Класифікація та складові мов програмування. Особливості середовища розробки.
- П62. Структура програмного проекту. Правила написання читабельного коду. Коментарі у тексті програми. Виконання програмного коду в інтерактивному режимі.
- П63. Практикум з використання інформаційних технологій
- П64. Практикум з використання інформаційних технологій
- П65. Виконання файлів програмного коду Інструктаж з БЖД. Практична робота №9. Створення, збереження, запуск проекту за заданим зразком
- П66. Основні елементи мови програмування Python. Поняття про перетворення типів даних. Змінні.
- П67. Бібліотеки мови програмування. Оператори і вирази. Логічні вирази. Таблиці істинності.
- П68. Модулі, функції і методи для опрацювання числових даних.
- П69. Інструктаж з БЖД. Практична робота №10. Побудова лінійних алгоритмів та їх реалізація у вигляді програм (проєктів)
- П70. Умовний оператор мовою програмування. Повна та скорочена форма оператора розгалуження
- П71. Послідовні та вкладені розгалуження
- П72. Оператори циклу
- П73. Порівняння операторів циклу
- П74. Поєднання повторення і розгалуження
- П75. Поняття рекурсії. Рекурентні послідовності. Вкладені цикли
- П76. Інструктаж з БЖД. Практична робота №11. Побудова алгоритмів з розгалуженнями та повтореннями, їх реалізація у вигляді програм (проєктів)
- П77. Виконання індивідуальних та колективних проектів
-
Вбудовані типи даних та їх опрацювання
- П75. Прості та структуровані типи. Поняття структур даних та їх класифікація. Лінійні структури даних. Списки.
- П76. Способи реалізації структур даних. Стек і черга. Багатовимірні списки
- П77. Кортежі, діапазони, множини
- П78. Інструктаж з БЖД. Практична робота №12. Робота з лінійними структурами даних у Python
- П80. Одновимірні масиви
- П81. Двовимірні масиви
- П82. Вказівники
- П83. Розв’язування практичних завдань з використанням різних структур даних
- П84. Інструктаж з БЖД. Практична робота №13. Алгоритми для роботи з масивами
-
Функції користувача і модулі мови Python
-
Класи, об’єкти, наслідування
-
Поліформізм, перевизначення методів, модулі користувача
-
Основи графічного інтерфейсу користувача
- П99. Елементи об’єктно-орієнтованого програмування. Основи графічного інтерфейсу користувача
- П100. Графічні об’єкти і їх властивості
- П101. Основні графічні об’єкти
- П102. Створення проєктів з використанням основних графічних об’єктів
- П103. Створення проєктів з використанням основних графічних об’єктів
- П104. Додаткові графічні об’єкти
- П106. Інструктаж з БЖД. Практична робота №17. Розробка програми з графічним інтерфейсом
- П107. Опрацювання подій
- П108. Меню
- П109. Діалогові вікна
- П110. Інструктаж з БЖД. Практична робота №18. Проектування об’єктної взаємодії
- П111. Графічні примітиви об’єкта Canvas
- П112. Створення проєктів з використанням основних графічних примітивів
0.00 на основі 0 рейтингів