You are on page 1of 21

Дизайн програми

2
Анонс

Програмування - це відтворення процесів реального світу в


цифровому просторі. Якщо нам щось здається складним або
магічним, то скоріше за все. ми ще просто не з'ясували як це
працює.
В цьому уроці ми спробуємо знайти відповідь на наступні питання:
● Як почати вивчати програмування швидко та ефективно?
● Що відбувається з кодом після того як програму запущено?
● Коли з'явилась традиція писати першим кодом Hello World ?

2
Три етапи розробки програми:

Розробка програми складається з кроків, які програміст повинен


виконати перед тим, як почати кодувати програму певною мовою.
Ці кроки полегшують роботу з завершеною програмою для інших
програмістів у майбутньому.

Три етапи розробки програми:


1. Розуміння мети, задач і алгоритму програми
2. Використання інструментів дизайну для створення моделі
3. Підготовка тестових даних

3
ПРАКТИКА
Для опису потрібно визначити такі пункти:
1. Назва проекту
2. Мета і потреба
3. Спосіб реалізації
4. Очікувані результати

На прикладі задачі “Hello World!” створіть опис проекту реалізації такої програми
згідно 4 критеріям:
● чіткість
● стислість
● повнота
● достовірність

Завдання зберігайте в новому Google Документі Дизайн програм

4
Три кроки до вивчення нової мови програмування

З чого починати вивчення будь якої мови?

1. Знайти як в цій мові виконується введення і виведення інформації


2. Дізнатись про структуру самої простої програми типу Hello World!
3. Знайти IDE де можна цю програму запустити

5
ПРАКТИКА
Проведіть пошук і знайдіть команди введення- виведення в мовах
програмування

Команди введення- виведення

Мова програмування Команда введення Команда виведення


Ruby print put
C# Console.Write Console.WriteLine

Go go

6
Етапи роботи з даними в програмному коді

Введення, обробка та виведення даних

7
ПРАКТИКА
Вхідні дані

Задача Кількість Тип Формат


За кількістю пошукових запитів потрібно побудувати
рейтинг мов програмування
За даними швидкості автомобіля на ділянках шляху
потрібно розрахувати середню швидкість

Вихідні дані

Задача Кількість Тип Формат


За кількістю пошукових запитів потрібно побудувати
рейтинг мов програмування
За даними швидкості автомобіля на ділянках шляху
потрібно розрахувати середню швидкість
8
Структура програми

Але в межах структурного програмування і 3 основних мов: Python, JavaScript C++ ми можемо розглянути 2 варіанта
можливих структур програму в мовах програмування: більше легку і інтуїтивно зрозумілу як в Python і JavaScript, а також
більш логічну і поділену на блоки як в С++.

Розглянемо приклад задачі додавання двох чисел на 3 мовах

Python JavaScript C++


a = 100 let a = 100; #include <iostream>
b = 200 let b = 200; using namespace std;
print(a+b) print(a+b); int main ()
{
int a=100,b=200;
cout<<a+b;
return 0;
}

9
ПРАКТИКА
Зайдіть за посиланням на сайт ideone.com
1. Виберіть мови програмування
2. Запустіть по черзі кожну програму
3. Змініть код на визначення суми 3 чисел
4. Збережіть коди програм в документі

Python 3 JavaScript (Sun monkey) C++ (c++14)

a = 100 let a = 100; #include <iostream>


b = 200 let b = 200; using namespace std;
print(a+b) print(a+b); int main ()
{
int a=100,b=200;
cout<<a+b;
return 0;
}

10
Вибір IDE

Інтегроване середовище розробки (IDE) – це програма, яка


допомагає програмістам ефективно розробляти програмний
код.

IDE підвищує продуктивність розробників, поєднуючи такі


можливості, як:
● редагування,
● створення,
● тестування
● пакування програмного забезпечення.

11
ПРАКТИКА

Заповніть таблицю різних типів IDE для 3 базових мов програмування:

Мова програмування Десктопні версія Мобільний застосунок ВЕб- сервіс


Python ideone fastAPI

JavaScript ideone fastAPI

C++ ideone fastAPi

12
Hello World це не просто традиція

Хоча походження Hello World залишається дещо неясним, його


використання як тестової фрази, почалося з книги Браяна
Кернігама 1972 року, A Tutorial Introduction to the Language B .

Python JavaScript C++

print(“Hello World!”) print(“Hello World!”); #include <iostream>


using namespace std;
int main ()
{
cout<<“Hello World!”;
return 0;
}

13
ПРАКТИКА
Перевіримо, чи можемо працювати за таким алгоритмом на прикладі мов
програмування, які, скоріше за все поки не знайомі
Мова Введення Виведення Приклад IDE
програми Hello
World
python input print print(“hello pycharm
world”)
c++ cin cout<< #include visual studio
<iostream>
int main(
int a=hello world;
cout<<a;
return 0;
)
js print let let a= hello world; sublime text
print (a);
c# put print visual studoi

14
Що відбувається з програмою?

Транслятор — це процесор мови


програмування, який змінює комп’ютерну
програму з однієї мови на іншу. Він бере
програму, написану у вихідній програмі, і
змінює її на машинну програму. Він може
знайти та виявити помилку під час перекладу.

15
Типи трансляторів:

Компілятор — компілятор — це програма, яка перекладає мову високого рівня (наприклад, C, C++ і Java) на
мову низького рівня (об’єктну або машинну програму).

Асемблер – асемблер є транслятором, який перекладає програму мови асемблера в еквівалентну програму
машинної мови комп’ютера.

Інтерпретатор – Інтерпретатор – це програма, яка безпосередньо виконує код програмування, а не лише


перекладає його в інший формат.

16
Компілятори

Етапи роботи компілятора:


1. Лексичний аналіз
2. Синтаксичний аналіз
3. Семантичний аналіз
4. Генератор проміжного коду
5. Оптимізатор коду
6. Генератор коду

17
ПРАКТИКА

Розташуйте етапи компіляції в правильній послідовності:

1. Лексичний аналіз
2. Синтаксичний аналіз
3. Семантичний аналіз
4. Генератор проміжного коду
5. Оптимізатор коду
6. Генератор коду

18
Інтерпретатори

Програма інтерпретатора виконується безпосередньо рядок за рядком, запускаючи вихідний код.


Таким чином, він бере вихідний код, один рядок за раз, перекладає його та запускає процесором,
потім переходить до наступного рядка, перекладає його та запускає, і повторює, доки програма не
закінчиться.

19
ПРАКТИКА
Порівняльна характеристика компіляторів та інтерпретаторів

Транслятори Переваги Недоліки Приклад мов


програмування
Компілятори
Інтерпретатори Програма повторює, доки
інтерпретатора програма не
виконується закінчиться.
безпосередньо
рядок за рядком,
запускаючи
вихідний код.

20
Підсумуємо
Якщо після цього уроку ви

● визначаєте три кроки до коду


● оцінюєте вхідні та вихідні дані за параметрами: кількість, тип, формат
● знаєте відмінність між роботою компілятора та інтерпретатора
● можете розповісти історію традиції писати першою програмою Hello World
● написали Hello World на декількох мовах

і відправили збережені завдання на перевірку, вітаємо!


Якщо ні - перегляньте тему Дизайн програм ще раз.

І в будь якому разі перегляньте Відео, яка на простих прикладах пояснює роботу
трансляторів.
.

21

You might also like