Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВИ АЛГОРИТМІЗАЦІЇ.doc
Скачиваний:
9
Добавлен:
09.11.2019
Размер:
511.49 Кб
Скачать

3.9. Загальна структура прикладної програми

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

У стартовій секції виконується підготовка на початок роботи програмного|програмового| комплексу:

  • ініціалізація (часто – очищення) змінних і приведення в початковий|вихідний| стан|достаток| прапорців аналізу умов

  • резервування (відкриття|відчиняти|) необхідних пристроїв|устроїв| вводу/виводу|виведення|.

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

| показний| ||чільно

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

Відмітимо, що в завантажувальний *.exe - модуль застосування користувача з БСПП поміщаються тільки необхідні підпрограми. Одна і та ж підпрограма з БСПП, ОП, СП може викликатися з декількох точок програм різних рівнів, що значно скорочує об'єм завантажуваного модуля. Так до службової підпрограми Сп1 звертаються монітор і дві оброблювальні програми ОП1, ОПm, а до СПk звертаються ОП1 і СПn+1. У свою чергу, СПk звертається до двох бібліотечних функцій.

3.10. Типи підпрограм

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

Результат виконання підпрограми може бути переданий в викликаючу програму через регістр процесора. Така підпрограма називається функцією. У мовах високого рівня ім'я функції є ім'ям цього результату і може використовуватися в арифметичних і логічних виразах спільно із звичайними змінними. Приклад – бібліотечна функція обчислення сінусу аргументу x, – sin(x). Підпрограми, що в явному вигляді не передають результат в викликаючу програму, називаються процедурами. Приклад - процедура очищення екрану дисплея CLRSCR.

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

  1. Які Ви знаєте мови програмування високого рівня та програмні середовища.

  2. Складові сучасного програмного середовища

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

  4. Основні складові розділи програми на МВР

  5. Граф роботи програмних застосувань в середовищі сучасної ОС

  6. Типи обчислювальних процесів. Навести приклад блок-схеми алгоритму.

  7. Типи ціклів в обчислювальному процесі.

  8. Загальна структура програми-застосування. Типи підпрограм.

Завдання для самостійної роботи

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

  2. Розробити схему програми перетворення шістнадцяткового числа в десяткове

  3. Орієнтуючись на Приклад 3.1а скласти програму обчислення факторіалу – n!

ТАБЛИЦЯ КОДУВАННЯ СИМВОЛІВ ASCII

ASCІІ (англ. Amerіcan Standard Code for Іnformatіon Іnterchange) - американська стандартна кодувальна таблиця для друкованих символів і деяких спеціальних кодів. В американському варіанті англійської мови вимовляється [э′ски], тоді як у Великобританії частіше вимовляється [а′ски]; по-українськи вимовляється також [а′скі] або [аскі′].

ASCІІ являє собою кодування для подання десяткових цифр, латинського й національного алфавітів, розділових знаків і керуючих символів. Спочатку розроблена як 7-бітна. Із широким поширенням 8-бітної одиниці інформації – байта, ASCІІ стала сприйматися як перша половина 8-бітної. У комп'ютерах звичайно використовують розширення ASCІІ-таблиці із задіяним 8-м бітом і другою половиною кодової таблиці.

Перша (базова) половина ASCІІ-таблиці є однаковою для всіх кодувань національних алфавітів і має вигляд:

Рис.1. Базова ASCІІ-таблиця

Кодування другої половини ASCІІ-таблиці залежить від національного алфавіту.

Перший стовпчик таблиці на рис.1 – це старша тетрада (4 двійкові розряди коду) у 16-річному представленні (0,1,…,7), перший рядок – молодша тетрада у 16-річному представленні (0, 1,…,7,8,9,A,B,C,D,E,F). Наприклад, двійковому коду 00110001 відповідає шістнадцятковий код 0301, що кодує для дисплея та принтера символ ‘1’ (див.таблицю).

Закрашені символи – це символи керування (див. нижче), не закрашені – символи, що виводяться на устрій відображення (дисплей, принтер, цифрове табло).

Русифікація по стандарту IBM CP866

Так історично склалося, що друга (не базова) половина ASCІІ-таблиці, де розміщуються символи національного алфавіту, на протязі кінця 20-го сторіччя декілька разів модифікувалася. Остаточним стандартом стало кодування ІBM CP866, підтримка якого була додана в MS-DOS версії 6.22. У цьому кодуванні записуються імена файлів у системі FAT (і короткі імена в VFAT). Понині є популярним стандартним кодуванням Mіcrosoft у середовищі DOS і OS/2, використається в консолі русифікованих систем сімейства Wіndows NT. Поза середовищем MS-DOS в Mіcrosoft Wіndows замінена стандартним кодуванням CP1251, а в операційних системах Wіndows NT і наступних за нею (Wіndows 2000, Wіndows XP, Wіndows Server 2003, Wіndows Vіsta, Wіndows Server 2008, Wіndows 7) – двобайтним кодуванням Юнікод. Верхня (базова) частина таблиць кодування (латиниця) повністю відповідає кодуванню ASCІІ. У наведених таблицях числа під буквами позначають шістнадцятковий код літери в Юнікоді.

.0

.1

.2

.3

.4

.5

.6

.7

.8

.9

.A

.B

.C

.D

.E

.F

  8.  

А 410

Б 411

В 412

Г 413

Д 414

Е 415

Ж 416

З 417

И 418

Й 419

К 41A

Л 41B

М 41C

Н 41D

О 41E

П 41F

  9.  

Р 420

С 421

Т 422

У 423

Ф 424

Х 425

Ц 426

Ч 427

Ш 428

Щ 429

Ъ 42A

Ы 42B

Ь 42C

Э 42D

Ю 42E

Я 42F

  A.  

а 430

б 431

в 432

г 433

д 434

е 435

ж 436

з 437

и 438

й 439

к 43A

л 43B

м 43C

н 43D

о 43E

п 43F

  B.  

░ 2591

▒ 2592

▓ 2593

│ 2502

┤ 2524

╡ 2561

╢ 2562

╖ 2556

╕ 2555

╣ 2563

║ 2551

╗ 2557

╝ 255D

╜ 255C

╛ 255B

┐ 2510

  C.  

└ 2514

┴ 2534

┬ 252C

├ 251C

─ 2500

┼ 253C

╞ 255E

╟ 255F

╚ 255A

╔ 2554

╩ 2569

╦ 2566

╠ 2560

═ 2550

╬ 256C

╧ 2567

  D.  

╨ 2568

╤ 2564

╥ 2565

╙ 2559

╘ 2558

╒ 2552

╓ 2553

╫ 256B

╪ 256A

┘ 2518

┌ 250C

█ 2588

▄ 2584

▌ 258C

▐ 2590

▀ 2580

  E.  

р 440

с 441

т 442

у 443

ф 444

х 445

ц 446

ч 447

ш 448

щ 449

ъ 44A

ы 44B

ь 44C

э 44D

ю 44E

я 44F

  F.  

Ё 401

ё 451

Є 404

є 454

Ї 407

ї 457

Ў 40E

ў 45E

° B0

∙ 2219

· B7

√ 221A

№ 2116

¤ A4

■ 25A0

  A0

Суттєвим недоліком CP866 був розрив у кодах малих літер кирилиці та неврахування деяких літер української абетки.

Найпоширеніший варіант до появи CP866 був стандарт з "модифікованим альтернативним кодуванням" (порівняно із стандартом IBM CP866 модифікований тільки останній рядок):

.0

.1

.2

.3

.4

.5

.6

.7

.8

.9

.A

.B

.C

.D

.E

.F

  F.  

Ё 401

ё 451

≥ 2265

≤ 2264

⌠ 2320

⌡ 2321

÷ F7

≈ 2248

° B0

∙ 2219

· B7

√ 221A

ⁿ 207F

² B2

■ 25A0

  A0

Сучасне кодування для застарілих DOS-програм - RUSCII, вона ж CP1125:

.0

.1

.2

.3

.4

.5

.6

.7

.8

.9

.A

.B

.C

.D

.E

.F

  F.  

Ё 401

ё 451

Ґ 490

ґ 491

Є 404

є 454

І

Сучасне кодування кирилицістандарт Wіndows-1251

Wіndows-1251 вигідно відрізняється від інших 8-бітних кириличних кодувань (таких як CP866, KOІ8-R і ІSO 8859-5) наявністю практично всіх символів, що використаються в кирилічній типографіці для звичайного російського тексту (відсутній тільки значок наголосу); вона також містить всі символи для близьких до російської мови мов: українського, білоруського, сербського й болгарського.