Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи алгоритмізації.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
83.83 Кб
Скачать

29

  1. Поняття програми. Програмування як процес розробки алгоритмів. Загальні підходи програмування.

Мова, на якій записується алгоритм для виконання на ЕОМ, називається мовою програмування. Програма - це алгоритм, записаний на мові програмування. Мова програмування належить до формальних мов.

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

Програма записується у вигляді послідовності символів із алфавіту своєї мови програмування. Звичайно, що не будь - який текст, який створений із символів алфавіту, буде являтися правильною програмою. Правильність побудови програми із символів алфавіту можна провірити, використовуючи синтаксис мови програмування. Синтаксис мови програмування - це набір правил, які визначають методи побудови правильних програм із символів алфавіту. Знаючи синтаксис мови, можна побудувати алгоритм, який визначає, являється даний текст правильним, чи ні. Цей алгоритм дозволяє комп'ютеру перевіряти синтаксичну правильність введених в нього програм.

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

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

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

І компілятор, і інтерпретатор самі являються програмами на мові машини. Використання кожної із них має свої переваги і недоліки. Компілятор переводить програму на машинну мову як одне ціле, перевіряючи не тільки правильність окремих операторів, але і взаємодію їх між собою. Інтерпретатор набагато кращий у використанні. Він дозволяє почати виконання навіть не повністю закінченої програми. Але інтерпретатор не може перевірити взаємодію всіх частин програми. Зазвичай, у режимі інтерпретації виконуються програми на мові Бейсік, а для більшості інших мов програмування використовується компіляція програм.

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

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

Приклад:

Алгоритмічна мова

Паскаль

алг піраміда дійсн x, k, r, m, f, s1, s2, s3, s4, пл поч ввести x, k, r, m, f площа (x, k, r, s1) площа (x, r, m, s2) площа (x, m, f, s3) площа (x, f, k, s4) пл:=s1+s2+s3+s4+ x*x вивести пл кін

Program Piramida; var X, K, R, M, F, S1, S2, S3, S4: Real; procedure pl(A, B, C: Real; var S:Real;); var P:Real; begin P:=(A+B+C)/2; S:=Sqrt(P*(P-A)*(P-B)*(P-C));end; Begin Read(X, K, R, M, F); Pl(X, K, R, M, F); Pl(X, K, R, S1); Pl(X, R, M, S2); Pl(X, M, F, S3); Pl(X, F, K, S4); Write(S1+S2+S3+S4+X*X); end.