Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lutay_A.P._Informatsiyni_tehnologiyi_ta_sistemi...doc
Скачиваний:
28
Добавлен:
16.11.2019
Размер:
46.89 Mб
Скачать

5.3.4 Складні алгоритми

Складні алгоритми можуть містити сукупності перелічених вище циклів.

Наприклад, визначити суму чисел натурального ряду доти, доки остаточне значення суми не перевищить 1000.

Вивести значення отриманої суми і кількість ітерацій (повторень циклу).

Основний цикл буде складатися з трьох типів: цикл з накопиченням (накопичується значення суми), цикл по вхідному значенню (перше значення натурального ряду є одиницею, а кожне наступне значення більше від попереднього на один) і цикл по вихідному значенню (ітераційний цикл про- довжується, доки отримане значення суми не перевищить 1000). Переважаючим є тип циклу по вихідному значенню тому, що саме за вихідним значенням цикл або продовжується, або ні.

Етапи розв’язання задачі:

  1. Задається початкове значення накопичувача суми S (0).

  2. Задається початкове значення числа натурального ря- ду n (1).

  3. Проводиться накопичення суми (S + n).

  4. Проводиться перевірка значення накопиченої суми.

  5. Якщо отримане значення суми менше або дорівнює 1000, збільшується значення числа натурального ряду (n + 1) і цикл повторюється з блоку № 3.

  6. Якщо отримане значення суми більше за 1000, цикл припиняється.

  7. Виводиться значення суми S.

  8. Виводиться кількість повторень (n).

Нижче показана блок-схема алгоритму розв’язання задачі: рисунок 5.3.4.1.

Рисунок 5.3.4.1 - Блок-схема алгоритму розв’язання задачі

Таким чином, перш ніж починати розв’язання будь-яку задачу, треба:

  • задачу формалізувати,

  • розбити на кроки,

  • кожному кроку дати відповідно розроблений модуль (або розробити його),

  • скласти повний алгоритм,

  • перевірити його функціональність,

  • приступати до виконання.

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

Контрольні запитання:

1. Що має включати в себе формалізована схема процесу задачі?

2. Що називається алгоритмом?

3. Назвіть властивості алгоритму.

4. Які можуть бути способи опису алгоритмів?

5. Які існують базові структури алгоритмів?

6. Наведіть приклади алгоритмів.

5.4 Основи програмування на мові високого рівня Visual Basic (vb)

5.4.1 Історія розвитку мов программування: класифікація мов, мови високого рівня

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

Мовою програмування пишеться програма, що дозволяє при її виконанні комп'ютером (обчислювальною системою) одержати конкретні результати.

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

Перехід від язикових конструкцій до машинних команд здійснює транслятор мови.

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

Мови програмування мають різні класифікації.

Мови програмування розділяються на мови високого й низького рівня відповідно до тем, у яких термінах слід описувати завдання. Якщо мова близька до природнього, він називається мовою високого рівня, якщо ближче до машинних команд — мовою низького рівня. Наприклад, мови Си, Бейсик, Паскаль, Пролог — мови високого рівня, а мова асемблера — мова низького рівня.

Мови високого рівня можуть бути декларативними (наприклад, Пролог, ЛИСП) і процедурно-орієнтованими (наприклад, Си, Бейсик, Паскаль, Ада). Процедурні мови розвиваються в об'єктно-орієнтовані.

Той самий мова програмування може бути реалізований у вигляді компілятора або інтерпретатора, наприклад, Quick Basic — компілятор, MSX Basic — інтерпретатор. Останнім часом з'явилися: мови змішаного типу. Вони можуть бути як компіляторами, так і інтерпретаторами залежно від бажання користувача, наприклад мова програмування в СУБД Foxpro.

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

Можна спостерігати тенденцію розвитку мов програмування убік більшої описовості: від принципу « як робити» до принципу «що робити». Мови також стають усе більш незалежними від типів комп'ютерів.

Мови як і комп'ютери розділяють по поколіннях.

Мови першого покоління: машинно-орієнтовані з ручним керуванням пам'яті на комп'ютерах першого покоління.

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

Мови третього покоління: загального призначення, використовувані для створення прикладних програм будь-якого типу. Наприклад, Бейсик, Кобол,' Си й Паскаль.

Мови четвертого покоління: удосконалені, розроблені для створення спеціальних прикладних програм, для керування базами даних. Наприклад, мови програмування, сумісні з dbase, SQL.

Мови програмування п'ятого покоління: мови декларативні, об'єктно-орієнтовані й візуальні . Наприклад, Пролог, ЛИСП, C++, С#, Visual Basic, Delphi.

З появою мережі Internet зв'язана розробка спеціалізованих мов програмування, які є інтерпритуємими. Інтерпретатори для них вбудовані в браузери. Це мови HTML, Javascript, Perl.

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

Якщо в традиційних мовах програмування (Фортран, Паскаль та ін.) програма намагається відповістити на запитання: як розв'язати завдання?, то програма, написана на Пролозі, відповідає на запитання: що ви прагнете одержати від рішення даного завдання?

Мова вважається основним для рішення завдань штучного інтелекту.

Перша реалізація мови здійснена А. Калмерое (A. Colme-rauer) і Ф. Росселем (P. Roussel) (Франція) в 1972 р.

Фірма Borland розробила гарну реалізацію мови для персональних комп'ютерів — Turbo-Prolog.

Широкого поширення мова поки не одержала.

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

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

Наприклад, мова Фортран розроблявся як мова для наукових розрахунків, Паскаль — для навчання, Си — для розробки системних програм, Кобол — для рішення економічних завдань, ЛИСП - для рішення завдань штучного інтелекту, Фокс — для завдань, пов'язаних із СУБД, і т.д.

Універсальна мова програмування процедурного типу; успішно застосовується при рішенні самих різних завдань: планування, написання трансляторів, керування реальними об'єктами. '

Мова ефективна, оскільки в ній сполучаються гідності мов високого й низького рівнів. Си — структурована мова програмування.

Особливо вдала реалізація мови фірмою Borland - Турбо Си.

Мова розроблена в 1972 р. Д. Ричи (Dennis M. Ritche) і опублікований фірмою Bell Laboratories в 1974 р.

У цей час використовується версія C++; являє собою об'єктно-орієнтована мова.

C++ розроблений Бьорном Страуструпом (Bjarne Stroustrup) на початку 800х рр. у тієї ж самій фірмі.

В 2001 р. представлений до сертифікації язик С#; являє собою подальший розвиток мови C++.

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

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

Мова SQL звичайно використовується разом з універсальними мовами програмування З, Pascal і ін. або мовами керування базами даних Foxpro, dbase IV і ін.

По англ. Structured Query Language (SQL).

Процедурно-орієнтована мова програмування це мова програмування високого рівня, в основу якої покладений принцип дій: «що треба зробити, щоб розв'язати завдання».

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

Процедурні мови можна розділити на прості (типу Бейсик, Фортран, Кобол) і блокові (модульні) (типу Паскаль, Модула-2 і Си).

Процедурні мови називають також операторними, або імперативними ( від лат. imperativus — наказовий)

Бейсик це універсальна процедурно-орієнтована мова програмування. Перша версія розроблена Томасом Курцем і Джоном Кемени в 1964 р. у Дартмутському коледжі (США). Своя назва мова одержала по перших буквах словосполучення Beginner's All-purpose Simbolic Instruction Code (BASIC) — універсальна мова символічного кодування для початківців.

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

Існує багато версій мови, транслятори з яких реалізовані як у вигляді компіляторів (Quick Basic, Turbo Basic), так і інтерпретаторів (Msx-basic, Gw-basic). У цей час ця мова одержала новий розвиток за рахунок реалізації ідей об'єктно-орієнтованого програмування у версії Visual Basic.

Розглянемо одну з найпоширеніших мов з програмування серед сучасних мов високого рівня, що використовуються в ПК, мову Visual BASIC.