Основи Програмування⚓︎
Написання комп'ютерних програм (програмування) — напрочуд цінна навичка сьогодення. Без програмування не може існувати жодна велика чи навіть середня компанія, яка щось продає, або надає послуги. А значить програмування буде користуватись попитом і надалі.
Щороку ростуть вимоги до програмістів–початківців. Тому чим раніше почнете, тим більшу фору матимете .
Досвід програмування у дитинстві та юнацькому віці допомагає формувати свідомість майбутнього інженера.
Не всі з вас оберуть професію розробника програм, але досвід отриманий на нашому сайті
розвине навички, які зроблять всіх трішки розумнішими.
Кожне зусилля на шляху саморозвитку окупиться в майбутньому тим чи іншим чином.
-
Визначення
Що таке Мова Програмування?
-
Порівняння Мов
Які ще є мови і де вони кращі?
-
Історія Python
Коротко про те як винайшли мову
-
Редактор Коду
Які інструменти знадобляться?
-
Програмування
Що в основі Програмування?
-
Швидкий Калькулятор?
Комп'ютер — це просто швидкий калькулятор?
-
Вираз та Твердження
Вирази (Значення) та Твердження (Результат)
-
Ввід\Вивід
Звідки та куди?
-
Рішення та Вибір
Так або Ні
-
Повторення, Цикли
Чому потрібно забути неповторність?
Мови (Programming Languages)⚓︎
Визначення
Мова програмування — це набір ключових слів (переважно англійських), символів (дужки, коми, крапки, лапки, арифметичні знаки, спеціальні символи). А також набір правил. Коли символи поєднуються у правильній послідовності вони можуть бути розпізнані інтерпретатором (чи компілятором) відповідної мови. Правильна (без синтаксичних помилок) програма може бути виконана.
Під час виконання програми (навіть правильної) можуть та будуть виникати помилки, що є сигналом програмістам продовжувати вдосконалювати код. Професійні інженери програмного забезпечення ніколи не_нерідко_ допускають помилки. Це частина робочого процесу. Ніхто не очікує, що ваш код із першої ж спроби запрацює.
А хто не робить жодної спроби — точно не помиляться.
...І нічого хорошого теж не станеться з такими нерішучими та занадто обережними людьми.
Робити помилки не лише дозволяється, а всіляко заохочується. Будь–ласка, не робіть одних і тих же помилок частіше ніж раз на хвилину. Бо це вже немудро. Втрата часу.
Порівняння мов (Comparison)⚓︎
Різні мови розроблялись для різних цілей. Деякі мови розроблені для декількох суміжних, сусідніх сфер застосування.
Деякі мови просто історично виникли першими і тому заволоділи увагою людей. Та лише деякі з мов програмування досягли успіху, який хоч приблизно нагадує грандіозний успіх Пайтон.
Були мови до, з'явилось декілька нових мов, та жодна інша мова не ставить під загрозу існування Пайтон.
Навпаки, щороку зростає частка людей, які обирають Пайтон для своїх потреб. Всесвітнє визнання, про яке мріють багато мов (молодих та не дуже) — ось чим може по праву пишатись мова Пайтон, яку ми вивчатимемо в міні–курсі.
Назва | Сфера Застосування |
---|---|
JavaScript | Веб-сайти, Браузерні додатки, Фронтенд |
Java, C# | Сервіси, Банкінг, Бекенд |
C, C++ | Операційні Системи, Драйвери, Комп'ютерні Ігри |
Kotlin | Android |
Swift | iOS (iPhone) |
Bash | Linux скрипти |
Go | Cloud Computing, Бекенд, Сервіси |
Python | Скрипти, Наука, Освіта, Бекенд, Фронтенд, Великі Дані |
Історія Python (History)⚓︎
- Python має цікаву історію, яку не складно знайти в подробицях у інтернеті.
- Основним є те, що спочатку мову програмування написав один програміст.
- Після викладення коду Python в інтернет над його вдосконаленням почали працювати декілька, а згодом — велика кількість цікавих та розумних людей із різних куточків земної кулі.
- Впродовж кількох десятиліть мова вдосконалювалась, якісь частини ставали непотрібними та викидались із мови.
- Відносно недавно вийшла версія мови Python 3 яка продовжує рости та розвиватись. Додаються нові можливості, які відповідають на нові виклики.
- Таким чином мова еволюціонує, стає більш пристосованою до вимог сьогодення.
Текстові редактори (Text Editors)⚓︎
Для редагування коду Python підходять будь–які текстові редактори.
Редактори типу Microsoft Word не підходять, бо нам потрібен лише текст програми і заважатиме
форматування тексту (різні шрифти, розміри, виділення та інші прибамбаси)
Програмування (Basics)⚓︎
Є в нас небагато: Процесор (CPU ), Пам'ять (memory ), пристрої Введення (input ) та Виведення (output ).
Завдяки мовам програмування та елементам математичної логіки
ми стільки всього навчились робити за допомогою обмежених засобів!
Щоб перейти до розбору ідей програмування, давай спершу з'ясуємо що в нас є.
Арифметичні Дії (Arithmetic Operators)⚓︎
Класичний приклад корисності комп'ютерів — математичні обрахунки, складні обчислення
астрономічно великих чи
мікроскопічно малих величин.
Сучасну математику складно уявити без Пайтон, який має набір наукових бібліотек та модулів розширення. Ці бібліотеки містять неймовірно корисні для справжніх науковців функції.
Для початку розглянемо просту арифметику.
— Додавання
— Віднімання
— Множення
— Ділення
— Піднесення до степеня
Операції виконуються в стандартному для математики порядку:
- Степінь
- Дужки
- Множення та Ділення
- Додавання та Віднімання
Це найбільш типові операції, для більш специфічних радимо взнати більше про NumPy.
Вираз та Твердження (Expression and Statement)⚓︎
Терміни
- Деякі терміни, що зустрічаються в книжках з програмування є
універсальними для всіх мов та не міняють свого значення. - Тобто є такими, що кожен програміст приблизно розуміє.
Серед них 2 таких терміни як Вираз та Твердження. - В контексті програмування ці терміни мають своє особливе значення.
Пояснимо на прикладі.
Якщо ми пишемо 2 + 3
то на мові комп'ютера це має вигляд на зразок:
- CPU візьми число 2 і помісти в пам'ять
- CPU візьми число 3 і помісти в пам'ять
-
CPU виконай операцію додавання
В даному алгоритмі (послідовності) не вистачає ще чогось, а саме:
-
CPU Візьми результат та помісти його в пам'ять .
Поміть куди поклав результат за допомогою імені змінної
логічно...
Щоб результат не втратився, нам потрібно його якось назвати.
Дати ім'я змінній, вказавши яке ми потім цим результатом скористаємось.
Вираз (Expression)⚓︎
2 + 3
— це вираз (expression)
Вираз може мати значення.
Значенням виразу 2 + 3
є число 5
Твердження (Statement)⚓︎
result = 2 + 3
— твердження (statement)
Твердження може мати результат, ефект, дію.
Результатом операції присвоєння є:
- обчислення виразу справа від знака (присвоїти)
- присвоєння обчисленому значенню імені
Присвоїти
Звертаємо твою увагу, що знак в мовах програмування нерідко значить присвоїти
(assign), а не , як ми звикли з математикидорівнює
Введення та Виведення (Input and Output aka IO)⚓︎
Пристрої Введення (Input):
- клавіатура
- миша
- контроллер
- веб-камера
- тач-пад
- сенсорний екран
- зчитувач штрих-кодів та QR-кодів
Пристрої Виведення (Output):
- екран
- принтер
- динаміки
- лампочки індикації
- вібро-привід
- проектор
Ми зосередимось на найпростіших з них — клавіатурі та екрані
Підсумок
Найпростішими джерелами вводу та цілями виводу інформації для нас будуть
- Введення символів із клавіатури
- Виведення символів на екран
Розгалуження (Decision)⚓︎
Коли програмі НЕ доводиться робити вибір — в ній відверто немає жодного сенсу.
Тому приймати рішення — це класичний функціонал всіх без виключення мов програмування.
в загальному вигляді прийняття рішень виглядає так:
graph LR
A[Початок] --> B{Продзвенів 🔔?};
B -->|Так| C[Пора на урок 🧑🏻🏫];
C --> D[Вчимось 🧑🏻🎓];
D --> B;
B ---->|Ні| E[Насолоджуюсь! 🏖];
E --> B;
Алгоритм такий:
- Отримуємо вхідні дані
- Формуємо питання Так\Ні
- В залежності від отриманої відповіді виконуємо відповідний набір команд
- Якщо є необхідність — повертаємось до перевірки умови.
Останній пункт дає нам поштовх у напрямку повторень та циклів.
Цикли та Повторення (Loops and Repetition)⚓︎
Якщо програма виконується один раз, то зі швидкістю сучасних
процесорів виконання займало б лічені мілісекунди.
логічно...
Це свідчить про те, що в більшості сучасних програм є частина коду, що виконується багато разів чи навіть без кінця.
Цикли — це конструкції мов програмування, які повторюють команду чи набір команд
- Поки якась умова виконується (напр. "Поки є гроші в гаманці")
- Поки не нарахована кількість повторень ("Рахую до 10")
Підсумки
Ось і все, що стосується Основ програмування. Далі подивимось як саме в Пайтон реалізовані ці ідеї.