1 of 40

Йосиф Ривкінд  /  Тетяна Лисенко

Людмила Чернікова  /  Віктор Шакотько

Алгоритми та програми

КОМП’ЮТЕРНІ ПРОГРАМИ. МОВИ ПРОГРАМУВАННЯ.

ПРОГРАМИ-ТРАНСЛЯТОРИ

2 of 40

На цьому уроці ми вивчатимемо :

  • що таке комп’ютерні програми
  • що таке інтерфейс користувача
  • що таке мови програмування та які їх складові
  • що таке транслятори та які їх види
  • які особливості професії «програміст»

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

​

3 of 40

АЛГОРИТМИ ТА КОМП’ЮТЕРНІ ПРОГРАМИ

Що таке алгоритм?

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Хто або що може бути виконавцем алгоритмів?

Чи були ви виконавцями алгоритмів? Якщо так, то в яких ситуаціях?

Чи складали ви алгоритми? Якщо так, то де і для чого?

4 of 40

АЛГОРИТМИ ТА КОМП’ЮТЕРНІ ПРОГРАМИ

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

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

5 of 40

АЛГОРИТМИ ТА КОМП’ЮТЕРНІ ПРОГРАМИ

Ви вже використовували різноманітні комп’ютерні програми:

  • текстовий процесор,
  • графічний редактор,
  • табличний процесор,
  • редактор комп’ютерних презентацій,
  • навчальні та контролюючі програми,
  • ігрові програми

та багато інших.

Також ви вже створювали власні програми.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

6 of 40

АЛГОРИТМИ ТА КОМП’ЮТЕРНІ ПРОГРАМИ

У сучасних комп’ютерних програмах (проєктах) використовуються:

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

тощо.

​

Сукупність засобів керування та методів взаємодії людини та комп’ютера утворюють графічний інтерфейс користувача.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

7 of 40

АЛГОРИТМИ ТА КОМП’ЮТЕРНІ ПРОГРАМИ

Приклади програм з графічним інтерфейсом користувача:

  • операційна система Windows,
  • текстовий процесор Word,
  • редактор презентацій PowerPoint

та інші.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

8 of 40

АЛГОРИТМИ ТА КОМП’ЮТЕРНІ ПРОГРАМИ

Деякі сучасні комп’ютерні проєкти використовують також текстовий інтерфейс користувача.

​

У такому інтерфейсі використовується тільки вікно введення-виведення, де користувач уводить дані і/або команди у вигляді чисел і текстів, а комп’ютер виводить результати також у вигляді чисел і/або текстів.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Вікно програми Командний рядок з текстовим інтерфейсом

9 of 40

Виберіть відповіді на запитання

Алгоритм, записаний спеціальною мовою та призначений для виконання комп’ютером, це … ?

Комп’ютерна програма

Комп’ютерна модель

Схема алгоритму

Мова програмування

Тільки системна програма

Алгоритмічна модель

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

10 of 40

Виберіть відповіді на запитання

Графічний інтерфейс користувача утворює сукупність методів обміну повідомленнями людини та комп’ютера, а також таких засобів керування

Лічильники

Кнопка увімкнення монітору

Текстове повідомлення

Кнопки

Меню

Перемикачі

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

11 of 40

Виберіть відповіді на запитання

Укажіть програми з графічним інтерфейсом користувача.

Paint

Командний рядок

Word

PowerPoint

Блокнот

ZOOM

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

12 of 40

МОВИ ПРОГРАМУВАННЯ

Що таке система команд виконавця?

Чи довільні команди може виконувати виконавець? Поясніть свою відповідь.

Чи повинні виконавці алгоритмів розуміти команди алгоритмів? Поясніть свою відповідь.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

13 of 40

МОВИ ПРОГРАМУВАННЯ

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

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

14 of 40

МОВИ ПРОГРАМУВАННЯ

У 2024 році найбільше комп’ютерних програм створювалися мовами програмування:

  • JavaScript,
  • TypeScript,
  • Python,
  • Java,
  • C# (C Sharp),
  • PHP.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

За даними сайту https://dou.ua/

15 of 40

МОВИ ПРОГРАМУВАННЯ

Кожна мова програмування має такі складові:

​

1. Алфавіт – множина символів, з яких можна утворювати слова і речення цієї мови.

2. Словник – набір слів, які використовуються в цій мові.

3. Синтаксис – правила складання і запису мовних конструкцій: слів, що не увійшли до словника, і речень.

4. Семантика – установлене однозначне тлумачення мовних конструкцій, правил їх виконання.

Мова

програмування

Алфавіт

Словник

Синтаксис

Семантика

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

16 of 40

МОВА ПРОГРАМУВАННЯ SCRATCH

повторити, перемістити,

якщо,

відбити,

коли…

1,2,3,4…

а, б, в, г…

a, b, c, d, e…

: = + - * >…

​

команда циклу

починається зі слів повторити до і саме в цьому порядку

Алфавіт

​

Словник

Синтаксис

команда перемістити на 10 кроків перемістить виконавця точно на 10 кроків у напрямку його руху

Семантика

Приклади складових мов програмування

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

17 of 40

МОВИ ПРОГРАМУВАННЯ

Порушення синтаксичних правил

Неправильне написання словникових слів

Використання символів, що не входять до алфавіту

Синтаксичні помилки

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Синтаксичні помилки – це порушення в програмному коді, які призводять до неможливості виконання комп’ютером певної команди.

18 of 40

Виберіть відповіді на запитання

Укажіть складові мови програмування

Синтаксис

Команда

Словник

Алфавіт

Семантика

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Виконавець

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

19 of 40

ТРАНСЛЯТОРИ. КОМПІЛЯТОРИ ТА ІНТЕРПРЕТАТОРИ

Що ви робите, якщо вам трапляється незнайоме слово іноземною мовою?

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

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

20 of 40

ТРАНСЛЯТОРИ. КОМПІЛЯТОРИ ТА ІНТЕРПРЕТАТОРИ

Мови програмування низького рівня – середина 40-х років ХХ ст.

Команди – числа, у записі яких лише цифри 0 та 1:

  • код операції, яку потрібно виконати,
  • адреси комірок пам’яті, звідки потрібно взяти дані,
  • адреса комірки пам’яті, куди потрібно помістити результат.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

21 of 40

ТРАНСЛЯТОРИ. КОМПІЛЯТОРИ ТА ІНТЕРПРЕТАТОРИ

Мови програмування низького рівня були орієнтовані на конкретні комп’ютери.

​

Програми, складені для одних комп’ютерів, не можна було виконати на комп’ютерах іншого типу.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Введення даних. Один з перших комп’ютерів – Colossus (Великобританія), 1944 рік

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

22 of 40

ТРАНСЛЯТОРИ. КОМПІЛЯТОРИ ТА ІНТЕРПРЕТАТОРИ

Мови програмування високого рівня – середина 50-х років ХХ ст.

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

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Комп’ютер IBM 704 – комп’ютер, для якого була розроблена перша мова високого рівня, 1957 рік

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

23 of 40

ТРАНСЛЯТОРИ. КОМПІЛЯТОРИ ТА ІНТЕРПРЕТАТОРИ

Одна з перших мов програмування високого рівня – Fortran (англ. The IBM Mathematical Formula Translating System – система перекладу математичних формул фірми IBM).

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Команди мовою Fortran:

read a

read b

x = a + b

write x

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Але комп'ютер не міг виконувати програми, створені мовою програмування високого рівня.

Комп'ютер може виконувати лише ті команди, які входять у набір команд його процесора.

24 of 40

ТРАНСЛЯТОРИ. КОМПІЛЯТОРИ ТА ІНТЕРПРЕТАТОРИ

Для того, щоб перекласти програму, написану мовою програмування високого рівня, на мову команд процесора, створили спеціальні програми – транслятори (англ. translate – перекладати).

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

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

Транслятори

Компілятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

25 of 40

ІНТЕРПРЕТАТОРИ

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

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

Якщо такі помилки виявляються, то інтерпретація програми переривається і виводиться повідомлення про помилку, яку потрібно виправити.

Якщо в команді відсутні синтаксичні помилки, то інтерпретатор перекладає її на мову команд процесора та передає процесору на виконання.

І так далі з кожною командою проєкту.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

26 of 40

ІНТЕРПРЕТАТОР

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Вихідний код мовою високого рівня

Є синтаксичні помилки?

Так

Ні

Редагування

Переклад на мову команд процесора

(мову низького рівня)

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

Виконуваний код

Наступна команда

Одна

команда

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

27 of 40

КОМПІЛЯТОР

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

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

Якщо такі виявляються, то компілятор перериває свою роботу і виводить повідомлення про всі ці помилки.

Якщо в тексті проєкту синтаксичні помилки відсутні, то компілятор перекладає всі команди проєкту на мову команд процесора, створює і записує на носій ехе-файл і передає його процесору на виконання.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

28 of 40

КОМПІЛЯТОР

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Вихідний код мовою високого рівня

Є синтаксичні помилки?

Так

Ні

Редагування

Переклад на мову команд процесора

(мову низького рівня)

Компілятор

Виконуваний

exe-файл

Уся

програма

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

29 of 40

Виберіть відповіді на запитання

Для якого типу мов програмування є істинним твердження?

Мови програмування, орієнтовані на конкретні комп’ютери. Програми, складені для одних комп’ютерів, не могли використовуватися на комп’ютерах іншого типу

Мова програмування Scratch

Мови програмування низького рівня

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Мови програмування високого рівня

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

30 of 40

Виберіть відповіді на запитання

Про який вид програм йде мова?

Для того щоб перекласти програму, написану мовою програмування високого рівня, на мову команд процесора, створили спеціальні програми

Конвертори

Транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Перекладачі

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

31 of 40

ПРОФЕСІЯ «ПРОГРАМІСТ»

Що ви чули про професію «програміст»? Які знання та вміння повинні бути в такої людини?

Чи повинні вміти створювати комп’ютерні програми люди інших професій? Якщо так, то яких саме професій і чому?

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

32 of 40

ПРОФЕСІЯ «ПРОГРАМІСТ»

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Програміст – це професія людини, яка створює комп’ютерні програми (проєкти).

​

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

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

33 of 40

ПРОФЕСІЯ «ПРОГРАМІСТ»

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Системні програмісти створюють операційні системи, під управлінням яких працюють комп’ютери, програми для роботи комп’ютерних мереж, драйвери пристроїв тощо.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

34 of 40

ПРОФЕСІЯ «ПРОГРАМІСТ»

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Прикладні програмісти створюють:

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

тощо.

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

35 of 40

Виберіть відповіді на запитання

Про кого йде мова?

Створює програми для узгодження роботи принтерів певної моделі з операційною системою.

Системний адміністратор

Системний програміст

Прикладний програміст

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

36 of 40

Виберіть відповіді на запитання

Які типи програм створює системний програміст?

Файлові менеджери

Редактори 3D графіки

Драйвери сканерів

Текстовий процесор

Драйвери принтерів

Архіватори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

37 of 40

Виберіть відповіді на запитання

Які типи програм створює прикладний програміст?

Графічні редактори

Компілятори

Драйвери пристроїв

Текстовий процесор

Редактор презентацій

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

38 of 40

Вправа «Складові мови програмування»

Установи відповідність між компонентом мови програмування та описом цього компонента

Виконайте вправу в Інтернеті

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

39 of 40

Вправа «Які програми створюють програмісти?»

Розподіли програми, які створює системний програміст, а які - прикладний програміст.

Виконайте вправу в Інтернеті

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

Алгоритми та програми /  Комп’ютерні програми. Мови програмування. Програми-транслятори

40 of 40

Успіхів вам

у навчанні!

Йосиф Ривкінд  /  Тетяна Лисенко  /  Людмила Чернікова  /  Віктор Шакотько