Уяви, що тобі потрібно записати оцінки 30 учнів класу. Можна створити 30 окремих змінних (a1, a2, a3...), але це незручно. Набагато простіше використати масив.
Масив — це іменована група однотипних елементів, що зберігаються в пам'яті комп'ютера один за одним.
Як це працює (на простих прикладах):
Масив як потяг: Кожен вагон — це окремий елемент. У вагоні лежить якесь значення (число, текст), а на самому вагоні написаний його номер.
Масив як готель: Назва готелю — це назва масиву. Номери кімнат — це індекси, а люди, що там живуть — це значення.
Основні характеристики:
Ім’я: У всього масиву одна спільна назва (наприклад, marks або names).
Індекс (номер): Це порядковий номер елемента в масиві. Важливо: у більшості мов програмування (Python, C++, Java) нумерація починається з 0, а не з 1.
Значення: Те, що саме зберігається в конкретній «комірці» масиву.
Зміна значень елементів масиву — це база програмування. Це як перекладати речі в коробках або змінювати цінники в магазині. Оскільки ти просив на «ти», давай розберемо три прості, але реальні задачі, які допоможуть закріпити цю тему.
Ми будемо використовувати мову Python, бо вона найпопулярніша у 9 класі, але логіка однакова для всіх мов.
Задача 1. Акція в магазині (Зменшення значень)
Умова: Маємо масив цін на товари. Сьогодні чорна п'ятниця, і на всі товари діє знижка 50%. Потрібно оновити ціни в масиві.
Код:
Python
prices = [100, 250, 40, 500, 120]
# Проходимо по кожному індексу масиву
for i in range(len(prices)):
prices[i] = prices[i] / 2 # Змінюємо значення: ділимо на 2
print("Нові ціни зі знижкою:", prices)
Задача 2. Калібрування датчика (Збільшення значень)
Умова: Термометр показує температуру в кімнаті, але він збився і показує на 2 градуси менше, ніж є насправді. Потрібно додати 2 до кожного вимірювання в масиві.
Код:
Python
temps = [18, 19, 21, 17, 20]
for i in range(len(temps)):
temps[i] = temps[i] + 2 # Збільшуємо кожен елемент на 2
print("Коректні показники температури:", temps)
Задача 3. Обнулення помилок (Заміна за умовою)
Умова: В масиві зберігаються результати тестів. Якщо значення від’ємне (це помилка системи), його треба замінити на 0.
Код:
Python
results = [85, -5, 92, -10, 78]
for i in range(len(results)):
if results[i] < 0:
results[i] = 0 # Замінюємо тільки ті значення, що менше нуля
print("Очищені результати:", results)
Що важливо запам'ятати:
Індекс (i) — це «адреса» елемента в масиві. Щоб змінити значення, ми звертаємось до нього саме через індекс: масив[i] = нове_значення.
Цикл for — ідеальний інструмент для перебору всіх елементів масиву по черзі.
Умова if — дозволяє змінювати не всі елементи, а тільки ті, що нам потрібні.
Для розв'язання обох задач нам потрібно переглянути кожен елемент масиву. Це робиться за допомогою циклу (зазвичай for). В середині циклу ми перевіряємо умову (за допомогою if).
Ключові змінні:
Для суми: створюємо змінну (наприклад, S), якій спочатку присвоюємо 0.
Для кількості: створюємо змінну-лічильник (наприклад, K), якій також спочатку присвоюємо 0.
2. Алгоритм знаходження суми
Ми «пробігаємо» масивом і, якщо елемент нам підходить, додаємо його значення до загальної скарбнички.
Логіка (псевдокод):
Надати S = 0.
Для кожного елемента A[i] у масиві:
Якщо A[i] задовольняє умову (наприклад, A[i] > 0):
Збільшити S на значення елемента: S = S + A[i].
Вивести S.
3. Алгоритм знаходження кількості
Тут нас не цікавить, наскільки велике число в елементі. Нам важливо лише те, що він "існує" і підходить під умову. Кожен такий елемент додає до лічильника одиницю.
Логіка (псевдокод):
Надати K = 0.
Для кожного елемента A[i] у масиві:
Якщо A[i] задовольняє умову:
Збільшити K на одиницю: K = K + 1.
Вивести K.
4. Практичне завдання (Python)
Умова: Маємо список оцінок учня за семестр: [8, 12, 5, 10, 11, 4, 9]. Потрібно знайти:
Суму оцінок, які вищі за 9 балів.
Кількість таких оцінок.
Розв'язок:
Python
# Наш масив (список)
grades = [8, 12, 5, 10, 11, 4, 9]
# Початкові значення
total_sum = 0
count = 0
# Цикл для перебору елементів
for x in grades:
if x > 9: # Умова: оцінка вища за 9
total_sum += x # Додаємо саме число до суми
count += 1 # Додаємо 1 до лічильника
# Вивід результатів
print("Сума оцінок (>9):", total_sum)
print("Кількість оцінок (>9):", count)
Результат роботи програми:
Сума оцінок (>9): 33 (це 12 + 10 + 11) Кількість оцінок (>9): 3
Що важливо пам'ятати:
Обнулення: Якщо ти забудеш на початку присвоїти змінним 0, програма може видати помилку або додати результат до старого значення, що залишилося в пам'яті.
Умова: Умова в if може бути будь-якою: парні числа (x % 2 == 0), від'ємні (x < 0) або числа в діапазоні.
Трасування об'єктів. Маскування. «Живі» переходи. Спотворення і деформація. Застосування до виділених об’єктів різних художних ефектів. Використання “перетікання” об’єктів. Заливка об'єктів. Робота з градієнтами. Прозорість. Градієнтна сітка.
Ось три прості практичні задачі на тему одновимірних масивів (списків у Python), які ти можеш легко скопіювати та перевірити в Google Colab.
У Python ролі масивів виконують списки (lists).
Задача 1: Обчислення суми та середньої ваги
Умова: Маємо список, що містить вагу 5 учнів. Потрібно знайти загальну вагу всієї групи та їхню середню вагу.
Python
# Створюємо масив (список) із вагою учнів
weights = [54.5, 60.2, 48.0, 72.1, 55.4]
# Знаходимо суму за допомогою вбудованої функції sum()
total_weight = sum(weights)
# Обчислюємо середнє арифметичне
average_weight = total_weight / len(weights)
print(f"Загальна вага: {total_weight} кг")
print(f"Середня вага: {average_weight:.2f} кг")
Задача 2: Пошук максимального та мінімального значення
Умова: Програма отримує дані про температуру повітря за тиждень (7 днів). Потрібно визначити найвищу та найнижчу температуру.
Python
# Масив температур за тиждень
temperatures = [12, 15, 14, 18, 20, 19, 17]
# Використовуємо функції max() та min()
max_t = max(temperatures)
min_t = min(temperatures)
print(f"Найтепліший день: {max_t}°C")
print(f"Найхолодніший день: {min_t}°C")
Задача 3: Фільтрація списку (Оцінки)
Умова: Є список оцінок учня. Потрібно створити новий список, у який потраплять лише "високі" оцінки (від 10 до 12 балів), та вивести їхню кількість.
Python
# Список оцінок
grades = [7, 10, 12, 8, 11, 6, 9, 12]
# Створюємо порожній список для високих оцінок
high_grades = []
# Проходимо циклом по масиву
for g in grades:
if g >= 10:
high_grades.append(g)
print(f"Високі оцінки: {high_grades}")
print(f"Кількість високих оцінок: {len(high_grades)}")
33. Тема 4. Векторна графіка Векторний графічний редактор як інструмент для дизайну. Основні інструменти для малювання. Робота з векторними контурами. Створення об’єктів, що складаються з кількох базових геометричних фігур. Редагування кривих й ламаних та створення з них нових об’єктів
Трасування об'єктів. Маскування. «Живі» переходи. Спотворення і деформація. Застосування до виділених об’єктів різних художних ефектів. Використання “перетікання” об’єктів. Заливка об'єктів. Робота з градієнтами. Прозорість. Градієнтна сітка.
Сучасний графічний дизайн зараз проходить етап трансформації: класичні інструменти векторних редакторів (як-от Adobe Illustrator чи Inkscape) усе частіше доповнюються або замінюються алгоритмами ШІ.
Нижче я підготував для тебе таблицю, де порівняв традиційні методи роботи у векторному редакторі з можливостями сучасного штучного інтелекту (наприклад, Adobe Firefly, Midjourney, Recraft.ai або спеціальні плагіни).
Порівняння класичних інструментів дизайну та можливостей ШІ
Тема / Інструмент у редакторі
Традиційний метод
Як це замінює або спрощує ШІ (Prompt-based)
Створення об’єктів з фігур
Комбінування еліпсів, прямокутників через Pathfinder.
Промпт: "Minimalist logo of a fox made of geometric shapes". ШІ одразу генерує композицію.
Трасування об'єктів
Функція Image Trace (перетворення растру у вектор).
Промпт: "Vectorize this image with clean lines" або пряма генерація у форматі SVG.
Редагування кривих (Pen Tool)
Ручне виставлення точок та маніпулювання вузлами.
ШІ-інструменти (наприклад, Adobe Illustrator "Text to Vector") автоматично будують ідеальні криві за описом.
Заливка та Градієнтна сітка
Складне ручне розставлення колірних точок для об'єму.
Промпт: "3D isometric cube with holographic mesh gradient". ШІ генерує складні переходи миттєво.
Маскування (Clipping Mask)
Накладання контуру поверх зображення.
Промпт: "Apply a floral pattern inside the silhouette of a cat". ШІ сам визначає межі та заповнює їх.
"Живі" переходи та Перетікання
Створення проміжних етапів між об'єктами (Blend Tool).
Промпт: "Create a smooth morphing transition between a circle and a star".
Спотворення і деформація
Використання інструментів Warp, Envelop Distort.
Промпт: "Make the text look like it's melting" або "Fish-eye distortion effect on the logo".
Художні ефекти
Накладання фільтрів, тіней, текстур вручну.
Промпт: "Add a vintage 80s synthwave style to this illustration". ШІ перестилізовує весь об'єкт.
Що важливо розуміти 11-класнику:
Вектор залишається вектором: Навіть якщо ШІ згенерував картинку, для професійного дизайну (друк, масштабування) нам все одно потрібні чисті вузли (anchor points). Сучасні нейромережі вже вміють видавати файли у форматі .svg, а не просто картинки.
Контроль: Інструмент "Перо" (Pen Tool) дає 100% контроль, тоді як ШІ — це певна частка випадковості. Дизайнер сьогодні — це людина, яка вміє і "руками" підправити вузол, і грамотно написати промпт.
Економія часу: Те, що раніше займало 2 години (малювання складної градієнтної сітки), зараз ШІ робить за 30 секунд.
Примітка: Якщо хочеш спробувати це на практиці, раджу глянути на Adobe Firefly (інтегрований в Illustrator) або сервіс Recraft.ai, який спеціалізується саме на векторному ШІ.
Vectr — це чудовий безкоштовний інструмент для створення векторної графіки, який ідеально підходить для початківців. Оскільки він працює з векторами, твій логотип не втрачатиме якості при масштабуванні (від візитки до величезного банера).
Ось покрокова інструкція, як створити свій перший логотип:
Ці завдання вчать бачити складні об'єкти як сукупність простих форм.
Створення іконки "Хмара" (Boolean Operations): Використовуючи лише кола різного розміру та один прямокутник, створи силует хмари. Використай функцію Union (Об’єднання), щоб перетворити окремі фігури на цілісний контур.
Геометричний логотип (Subtract/Intersect): Створи логотип, схожий на півмісяць або логотип компанії Apple (надкушене яблуко), використовуючи операцію Subtract (Віднімання) одного кола з іншого.
Емблема у стилі мінімалізму: Намалюй щит або герб, розрізавши основну фігуру навпіл за допомогою лінії та операції Divide/Flatten, щоб розфарбувати праву та ліву частини різними відтінками одного кольору.
Блок 2: Робота з контурами та кривими Безьє
Тут фокус на точності та вмінні керувати вузлами.
Малювання за зразком (Трасування вручну): Завантаж фотографію простого об'єкта (наприклад, листок дерева або гітара). Використовуючи інструмент Pen (Перо), обведи його контур, намагаючись використовувати мінімальну кількість опорних точок.
Шрифтова композиція (Перетворення у криві): Напиши своє ім’я великим шрифтом. Перетвори текст у криві (Outline Stroke / Convert to Outlines). Зміни форму літер, витягуючи окремі вузли, щоб створити унікальний "дизайнерський" шрифт.
Відтворення S-подібної кривої: Створи ідеально плавну хвилю або знак "інь-ян". Це завдання на перевірку вміння працювати з напрямними важелями (handles) опорних точок.
Блок 3: Складні об'єкти та стилізація
Завдання на комбінування всіх отриманих навичок.
Створення персонажа з примітивів: Намалюй робота або тварину (наприклад, сову), де тулуб, очі та вуха — це змінені еліпси та багатокутники. Використовуй групування об'єктів для зручності.
Інфографіка "Смартфон": Створи реалістичну іконку смартфона. Використовуй прямокутник із закругленими кутами, додай градієнтну заливку для екрана та відблиски (вузькі білі фігури з низькою прозорістю).
Дизайн лінійної іконки (Stroke settings): Намалюй набір з 3-х іконок (Дім, Повідомлення, Налаштування), використовуючи тільки лінії (без заповнення). Налаштуй товщину ліній та заокруглення кінців (Cap/Join).
Абстрактний паттерн: Створи один складний об'єкт (наприклад, геометричну зірку), розмнож його та вирівняй за допомогою інструментів Align та Distribute, щоб отримати рівномірний орнамент для фону.
Порада для навчання
При роботі з кривими Безьє (інструмент Pen), пам'ятай правило: "Менше точок — плавніша лінія". Став точки лише в місцях найбільшого вигину контуру.
Чи хотів би ти, щоб я детальніше розписав інструкцію до одного з цих завдань (наприклад, як саме працювати з інструментом "Перо")?
Нанотехнології — це майбутнє, яке створюється вже сьогодні.
Доповідь: Нанороботи — маленькі велетні майбутнього
Що таке нанороботи?
Нанороботи (або наноботи) — це машини, розмір яких порівнянний з розміром молекули (від 0,1 до 100 нанометрів). Щоб ти розумів масштаб: людська волосина приблизно в 50 000 разів товща за нанобота.
Галузі майбутнього використання
Медицина (Наномедицина):
Адресна доставка ліків: Роботи доставлятимуть ліки безпосередньо до хворої клітини, не зачіпаючи здорові.
Мікрохірургія: Проведення операцій всередині судин або навіть редагування ДНК.
Боротьба з вірусами: Наноботи, що імітують імунні клітини для знищення бактерій.
Екологія:
Очищення океанів від мікропластику.
Фільтрація питної води на молекулярному рівні.
Електроніка:
Створення надпотужних процесорів розміром з порошинку.
Самоочисні та самовідновлювальні матеріали (наприклад, екран смартфона, що сам «затягує» подряпини).
Дослідження та візуалізація
Щоб твоє дослідження виглядало професійно, використай Google Таблиці для аналізу даних.
Приклад структури таблиці в Google Sheets:
Ти можеш створити таблицю "Порівняння можливостей сучасної медицини та наномедицини":
Критерій
Сучасна медицина
Наномедицина (майбутнє)
Доставка ліків
Поширюються по всьому тілу
Точково в уражену ділянку
Швидкість одужання
Тижні/місяці
Години/дні
Травматичність
Хірургічні розрізи
Без розрізів (введення через кров)
Інфографіка:
Для презентації варто створити інфографіку (наприклад, у ГуглТаблицях), де центром буде наноробот, а навколо нього — іконки галузей (серце — медицина, дерево — екологія, чип — техніка).
Таблиця 1: Порівняння розмірів (для інфографіки)
Ці дані допоможуть візуалізувати, наскільки малими є нанороботи.
Об'єкт
Розмір (у нанометрах)
Порівняння
Людська волосина (товщина)
80 000 – 100 000 нм
У 1000 разів більша за нанобота
Еритроцит (клітина крові)
7 000 – 8 000 нм
"Гігант" порівняно з роботом
Бактерія
1 000 – 3 000 нм
Розмір мікроробота
Наноробот (середній)
10 – 100 нм
Розмір вірусу
Молекула ДНК (ширина)
2.5 нм
Робот може "ремонтувати" її
Таблиця 2: Прогноз розвитку ринку нанотехнологій (2024–2030)
Ці дані показують, які галузі отримають найбільше грошей, а отже, і робочих місць у майбутньому.
Галузь
Частка ринку (2024 р.)
Прогноз росту (CAGR)
Чому це важливо?
Медицина
28.1%
19.9%
Лікування раку та діагностика
Електроніка
24.5%
17.4%
Гнучкі екрани, швидкі чипи
Енергетика
15.2%
16.1%
Надпотужні батареї
Матеріалознавство
18.0%
12.9%
Самоочисні тканини, міцний бетон
Як використати ці дані в Google Таблицях для дослідження:
Створення діаграми: Встав Таблицю 2 у Google Sheets. Виділи її та натисни Вставити > Діаграма. Обери "Кругову діаграму", щоб показати частку ринку, або "Стовпчасту", щоб показати темпи росту.
Обчислення: Використай формулу, щоб порахувати, скільки наноботів поміститься на зрізі однієї волосини: =100000 / 100. (Результат тебе вразить — близько 1000 штук в ряд!).
Порівняльна ефективність: Можеш додати дані про те, що нанороботи (наприклад, "респіроцити") можуть переносити у 236 разів більше кисню, ніж звичайні клітини крові.
Твоє міні-дослідження (ідея для висновку)
"Згідно з прогнозами, до 2030 року ринок наномедицини зросте майже у 5 разів. Це означає, що коли ми закінчимо університети, професія 'оператор медичних нанороботів' може стати такою ж звичною, як зараз стоматолог."