Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

За конструктивними (геометричними) особливостями




· Дискові (магнітні диски, оптичні диски, магнітооптичні диски)

· Стрічкові (магнітні стрічки, перфострічки)

· Барабанні (магнітні барабани)

· Карткові (банківські картки, перфокарти, флеш-карти, смарт-картки)

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

‘12’

a) ОСНОВНІ БЛОКИ IBM PC

Звичайно, персональні комп'ютери IBM PC складаються з трьох частин (блоків):

# системного блоку;

# клавіатури, що дозволяє вводити символи в комп'ютер;

# монітора (чи дисплея) - для зображення текстової і графічної інформації.

Комп'ютери випускаються й у портативному варіанті - у "наколінному" чи "блокнотом" (ноутбук) виконанні. Тут системний блок, монітор і клавіатура вкладені в один корпус: системний блок захований під клавіатурою, а монітор зроблений як кришка до клавіатури.

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

# електронні схеми, що керують роботою комп'ютера (мікропроцесор, оперативна пам'ять, контролери пристрою і т.д.);

# блок харчування, що перетворить електроживлення мережі в постійний струм низької напруги, подаваний на електронні схеми комп'ютера;

# нагромаджувачі (чи дисководи) для гнучких магнітних дисків, використовувані для читання і запису на гнучкі магнітні диски (дискети);

# накопичувач на жорсткім магнітному диску, призначений для читання і запису на незнімний твердий магнітний диск (вінчестер).

‘13’

a) Інтерфейс — набір, що складається з ліній зв'язку, сигналів, що посилають по цих лініях, технічних засобів, що підтримують ці лінії, і правил обміну. Сучасні накопичувачі можуть мати інтерфейси ATA (AT Attachment, він же IDE — Integrated Drive Electronic, він же Parallel ATA), (EIDE), Serial ATA, SCSI (Small Computer System Interface), SAS, FireWire, USB, SDIO іFibre Channel.

Ємність (англ. capacity) — кількість даних, які можуть зберігатися накопичувачем. Ємність сучасних пристроїв досягає 3072 Гб. На відміну від прийнятої в інформатиці (випадково) системі префіксів, що позначають кратну 1024 величину, виробниками у процесі позначування ємності твердих дисків використовуються кратні 1000 величини. Так, напр., ємність твердого диска, маркованого як «200 Гб», насправді становить 186,2 Гб.

Фізичний розмір (форм-фактор) — майже всі сучасні накопичувачі для персональних комп'ютерів і серверів мають розмір або 3,5, або 2,5 дюйма. Останні частіше застосовують уноутбуках. Інші поширені формати — 1,8 дюйма, 1,3 дюйма і 0,85 дюйма

Час доступу (англ. random access time) — від 3 до 15 мс, як правило, мінімальним часом відрізняються серверні диски (наприклад, у Hitachi Ultrastar 15K147 — 3,7 мс[3]), максимальним із актуальних — диски для портативних пристроїв (Seagate Momentus 5400.3 — 12,5 [4]).

Швидкість обертання диска (англ. spindle speed) — кількість обертів шпинделя за хвилину. Від цього параметра у значній мірі залежать час доступу й швидкість передавання даних. В наш час[ Коли? ] випускаються вінчестери з такими стандартними швидкостями обертання: 4200, 5400 (ноутбуки), 7200 (персональні комп'ютери), 10 000 і 15 000 об./хв. (сервери і високопродуктивні робочі станції).

Надійність (англ. reliability) — визначається як середній час наробітку на відмову (Mean Time Between Failures, MTBF). Див. також Технологія SMART. (S.M.A.R.T. (англ. Self Monitoring Analysing and Reporting Technology) — технологія оцінки стану твердого диска вбудованими апаратурами самодіагностики, а також механізм оцінки часу виходу його з ладу.)

Тверди́й диск, — постійний запам'ятовувальний пристрій ЕОМ. Епітет "постійний" означає, що твердий диск, на відміну від оперативної пам'яті, продовжує зберігати дані після вимкнення струму.

‘14’

Ада́птер (англ. adapter) — пристрій, який з'єднує між собою інші пристрої з різними способами подання даних, узгоджуючи ці способи шляхом використання відповідних програмних і технічних засобів.

‘15’

Контро́лер (controller) — спеціалізований компонент системи, що призначений для управління зовнішніми пристроями комп'ютера: накопичувачами, відеосистемою та дисплеєм,принтерами тощо.

Часто синонімати слова контролер виступають терміни адаптер, плата, карта.

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

· відеоконтролер

· мережева плата

· адаптери зовнішніх інтерфейсів: ATA, SCSI, USB, FireWire, IrDA тощо.

У своїй еволюції контролери проходять шлях від

· простого перетворювача одного (зовнішнього) інтерфейса у другий (внутрішній);

· потім збагачуються новими функціями, що прискорюють робооту, додають сумісності, забезпечують безпеку

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

‘16’

‘20’

a) Номенклатура видів ЕОМ на сьогодні величезна: машини розрізняються за призначенням, потужністю, розмірами, елементною базою, стійкістю до впливу несприятливих умов і т,д. Тому класифікують ЕОМ за різними ознаками. При виборі комп'ютерної техніки для розв'язання економічних і ділових задач найважливішими і продуктивність та габаритні характеристики (розміри, маса). Ця класифікація певною мірою умовна, оскільки розвиток комп'ютерної науки і техніки настільки стрімкий, що, наприклад, сьогоднішня мікро-ЕОМ не поступається за потужністю міні-ЕОМ п'ятирічної давності і навіть суперкомп'ютерам віддаленішого минулого.

Прийняту на сьогодні класифікацію ЕОМ за малогабаритними даними наведено в табл. 1. Клас персональних ЕОМ складається з різноманітних видів машин (табл. 2).

Зарахування машин до певного класу досить умовне як через нечіткість розмежування груп, так і внаслідок впровадження в практику замовного складання машин, коли номенклатуру вузлів ПК і конкретні моделі їх адаптують до вимог замовника. Крім масогабаритних характеристик, на зарахування комп'ютера до певного класу впливають: розрядність та кількість процесорів, розрядність і стандарти інших пристроїв (системної та інтерфейсної шин, контролерів), ємність накопичувачів, технічні характеристики периферійних пристроїв та ін. Проте навіть розрядність ЦП не є сталим критерієм. Так, на початку 80-х років XX ст. 32-розрядними були процесори для міні-ЕОМ та (рідше) робочих станцій, в останні роки процесори для ПК є 32-розрядними і навіть використовують елементи 64—256-розрядної архітектури.

‘21’

//////

‘24’

a) Трансля́тор (англ. translator) — програма або технічний засіб, який виконує перетворення чи іншу обробку текстів програм.

Транслятори поділяються на:

· компілятори — перетворюють текст програми мови високого рівня в об'єктний код чи байт-код.

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

· асемблери — перетворюють текст програми мови асемблера в машинний код.

· дизасемблери — навпаки, намагаються розшифрувати машинний код.

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

· препроцесори — отримують текст програми, і повертають перетворений певним чином текст програми.[ Джерело? ]

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

’27-28’

a) Властивості алгоритмів

Алгоритми мають ряд важливих властивостей:[32]

Скінченність

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

Дискретність

процес, що визначається алгоритмом, можна розчленувати (розділити) на окремі елементарні етапи (кроки), кожен з яких називається кроком алгоритмічного процесу чи алгоритму.[31]

Визначеність

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

Вхідні дані

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

Вихідні дані

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

Ефективність

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

Масовість

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

Детермінованість (determanancy) — властивість алгоритму, яка передбачає, що в ньому усі вказівки повинні бути чіткими й однозначними: значення величин, які отримуються в конкретний момент часу, повинні визначатися значеннями величин, отриманими в попередні моменти часу.

 

Дискретність алгоритму означає розчленованість описаного алгоритмом процесу на окремі кроки (акти), можливість виконання яких не викликає сумніву.

Масовість

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

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

‘29’

Основні елементи схем алгоритму

Найменування Позна Функція
Термінатор Елемент відображає вхід із зовнішнього середовища або вихід з неї (найчастіше застосування - початок і кінець програми). Всередині фігури записується відповідна дія.
Процес Виконання однієї або кількох операцій, обробка даних будь-якого виду (зміна значення даних, форми подання, розташування). Всередині фігури записують безпосередньо самі операції.
Рішення Показує рішення або функцію перемикального типу з одним входом і двома або більше альтернативними виходами, з яких тільки один може бути обраний після обчислення умов, визначених всередині цього елементу. Вхід в елемент позначається лінією, що входить зазвичай у верхню вершину елементу. Якщо виходів два чи три то зазвичай кожен вихід позначається лінією, що виходить з решти вершин (бічних і нижній). Якщо виходів більше трьох, то їх слід показувати однією лінією, що виходить з вершини (частіше нижній) елемента, яка потім розгалужується. Відповідні результати обчислень можуть записуватися поруч з лініями, що відображають ці шляхи.
Зумовлений процес Символ відображає виконання процесу, що складається з однієї або кількох операцій, що визначені в іншому місці програми (у підпрограмі, модулі). Всередині символу записується назва процесу і передані в нього дані.
Дані Перетворенорму, придатну для обробки (введення) або відображення результатів обробки (вивід). Цей символ не визначає носія даних (для вказівки типу носія даних використовуються специфічні символи).
Межа циклу Символ складається з двох частин - відповідно, початок і кінець циклу - операції, що виконуються всередині циклу, розміщуються між ними. Умови циклу і збільшення записуються всередині символу початку або кінця циклу - в залежності від типу організації циклу. Часто для зображення на блок-схемі циклу замість цього символу використовують символ рішення, вказуючи в ньому умову, а одну з ліній виходу замикають вище в блок-схемі (перед операціями циклу).
З'єднувач Символ відображає вихід в частину схеми і вхід з іншої частини цієї схеми. Використовується для обриву лінії та продовження її в іншому місці (приклад: поділ блок-схеми, що не поміщається на листі). Відповідні сполучні символи повинні мати одне (при тому унікальне) позначення.
Коментар Використовується для детальнішої інформації про кроки, процесу або групи процесів. Опис поміщається з боку квадратної дужки і охоплюється нею по всій висоті. Пунктирна лінія йде до описуваного елементу, або групи елементів (при цьому група виділяється замкнутою пунктирною лінією). Також символ коментаря слід використовувати в тих випадках, коли обсяг тексту в будь-якому іншому символі (наприклад, символ процесу, символ даних та ін) перевищує його обсяг.

‘30’

A) Алфавіт мови
Імена у мові Pascal формуються з латинських літер A-Z, a-z, цифр 0-9 та знака «підкреслення» («_»). Також використовуються спеціальні символи: + — * / = < > [ ], (); { } $ ^ #. Будь-яке ім'я повинно починатися з латинської літери, або символу «підкреслення» (від англ. «underscore»), виключення становлять лише імена міток. На відміну від Сі в Паскалі не враховується регістр літер.

‘31’

a) Змі́нна (variable) — об'єкт програми, що має ім’я та значення.

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

‘32’

Стандартні підпрограми і сталі

· Abs(X) — обчислення абсолютного значення (модулю) Х.

· ArcTan(X) — обчислення кута, тангенс якого дорівнює Х (тобто математичний arctg(X)), значення кута подано в радіанах і може знаходитися в діапазоні від -π/2 до π/2. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/π. Результат має дійсний тип.

· Cos(X) — обчислення косинуса Х, параметр задає значення кута в радіанах.

· Exp(x) — обчислення значення експоненти аргументу (ex). Результат завжди має дійсний тип.

· Frac(X) — знаходження дробової частини Х. Результат має дійсний тип.

· Int(X) — знаходження цілої частини Х (дробова частина відкидається). Результат має дійсний тип.

· Ln(x) — обчислюється натуральний логарифм аргументу. Результат має дійсний тип. За допомогою функцій Exp та Ln можна обчислити довільну степінь числа так: ab=Exp(b*Ln(a)), відповідно корінь можна подати так само a1/b (тобто корінь степіня b з a)=Exp(1/b*Ln(a)).

· Pi — повертає значення числа p (3.1415926).

· Sin(X) — обчислення синуса Х. Параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/p. Результат має дійсний тип.

· Sqr(X) — піднесення до квадрата значення Х. Тип результату збігається з типом параметра.

· Sqrt(X) — обчислення квадратного кореня з Х. Тип результату дійсний.

· Random — генерує значення випадкового числа з діапазону від 0 до 0.99. Тип результату дійсний.

· Random(P) — генерує значення випадкового числа з діапазону від 0 до P. Тип результату цілий. Щоб випадкові числа були «більш випадковими», необхідно періодично змінювати базу генерації. Для цього використовується процедура Randomize, що дозволяє при кожному новому запуску програми отримувати різні випадкові числа.

Для величин перелічувальних типів (всі цілі, літерний та булівський) існують також декілька зручних стандартних функцій та процедур, наведених нижче:

· Dec(x, [dx]) — процедура зменшує значення змінної Х на величину DX, а якщо параметр DX не заданий — на 1.

· Inc(x, [dx]) — процедура збільшує значення змінної Х на величину DX, а якщо параметр DX не заданий — на 1.

· Pred(X) — функція, що визначає попереднє значення для даного типа. Наприклад, Pred(5)=4, Pred(True)=False, Pred('B')='A'.

· Succ(X) — функція, що визначає наступне значення для даного типа. Наприклад, Succ(5)=6, Succ(True)=False, Succ('A')='B'.

· Odd(X) — число перевіряється на непарність. Результат дорівнює true, якщо аргумент непарний, і false — в протилежному випадку.

‘33’

Різновиди циклів

[ред.]Безумовні цикли

Іноді в програмах використовуються цикли, вихід з яких непередбачено логікою програми. Такі цикли називаються безумовними або нескінченними. Особливих синтаксичних засобів для створення таких циклів, через їхню нетиповість, мови програмування не передбачають, тому такі цикли створюються за допомогою конструкцій призначених для створення звичайних (або умовних) циклів. Для забезпечення нескінченного повторення перевірка умови в такому циклі відсутня (якщо дозволяє синтаксис, як, наприклад, у циклі LOOP…END LOOP мови Ада), або замінюється константним значенням (while true do … в Паскаль).

[ред.]Цикл з передумовою

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

while <умова> dobegin <тіло циклу> end;

На мові Сі:

while(<умова>){ <тіло циклу>}

[ред.]Цикл з післяумовою

Цикл з післяумовою — цикл, в якому умова перевіряється після виконання тіла циклу. Звідси випливає, що тіло циклу завжди виконується хоча б один раз. У мові Паскаль такий цикл здійснює інструкція repeat..until; у Сі — do…while.
На мові Паскаль цикл з післяумовою має наступний вигляд:

repeat <тіло циклу> until <умова>

На мові Сі:

do{ <тіло циклу>}while(<умова>)


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

[ред.]Цикл з виходом з середини

Цикл з виходом з середини — найзагальніший тип умовного циклу. Синтаксично такий цикл оформляється за допомогою трьох інструкцій: початок циклу, кінець циклу циклу та інструкції (команди) виходу з циклу. Інструкція початку позначає точку програми, з якої починається тіло циклу, інструкція кінця — точку, де тіло закінчується. Всередині тіла має бути присутня команда виходу з циклу, при виконанню якої цикл завершується і керування передається на оператор, наступний після інструкції кінця циклу. Природньо, щоб цикл виконався більш ніж один раз, команда виходу має викликатися не безумовно, а тільки за умови виконання умови виходу.

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

Легко побачити, що за допомогою циклу з виходом з середини легко утворити і цикл з передумовою (розташував команду виходу на початку тіла циклу), і цикл з післяумовою (розташував команду виходу в кінці тіла циклу).

Частина мов програмування містить особливі інструкції для утворення циклу з виходом з середини. Так, у мові Ада для цього використовується конструкція LOOP…END LOOP і команда виходу EXIT або EXIT WHEN:

LOOP... Частина тіла циклу EXIT WHEN <умова виходу>;... Частина тіла циклу IF <умова виходу> THEN EXIT; END;... Частина тіла циклуEND LOOP:

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

У тих мовах, де подібних конструкцій не передбачено, цикл з виходом з середини може бути побудований за допомогою будь-якого умовного циклу та інструкції дострокового виходу з циклу (такого, як break в Сі, exit в Турбо Паскалі т. п.), або інструкції безумовного переходу goto.

[ред.]Цикл з лічильником

Цикл з лічильником — цикл, в якому деяка змінна змінює своє значення від заданого початкового значення до кінцевого значення з деяким кроком, і для кожного значення цієї змінної тіло циклу виконується один раз. В більшості процедурних мов програмування реалізується оператором for, в якому вказується лічильник (так звана «змінна циклу»), потрібна кількість проходів (або межове значення лічильника) і, можливо, крок, з яким змінюється лічильник. Наприклад, в мові Оберон-2 такий цикл має вигляд:

FOR v:= b TO e BY s DO... тіло циклу END

(тут v — лічильник, b — початкове значення лічильника, e — межове значення лічильника, s — крок).

Неоднозначне питання про значення змінної по завершенні циклу, в якому ця змінна використовувалась як лічильник. Наприклад, якщо в програмі на мові Паскаль зустрінеться конструкція виду:

i:= 100; for i:= 0 to 9 dobegin... тіло циклу end;k:= i;

виникає питання: яке значення буде в підсумку присвоєне змінній k: 9, 10, 100, може якесь інше? А якщо цикл завершиться достроково? Відповіді залежать від того, чи збільшується значення лічильника після ітерації і чи не змінює транслятор це значення додатково. Ще одне запитання: що буде, якщо всередині циклу лічильнику буде явно присвоєне нове значення? Різні мови програмування мають різні підходу до цього питання. В деяких поведінка лічильника чітко регламентоване. В інших, наприклад, Паскалі, стандарт мови не визначає ані кінцевого значення лічильника, ані наслідків його явної зміни в циклі, але не радиться змінювати значення лічильника явно і використовувати його після завершення циклу юез повторної ініціалізації. Програма на Паскалі, що ігнорує цю пораду, може давати різні результати при виконанні на різних системах і при використанні різних трансляторах.

Радикально вирішене питання в мові Ада: лічильник вважається описаним в заголовку циклу, і поза циклом він просто не існує. Навіть якщо ім'я лічильника вже використовується в програмі, всередині циклу в якості лічильника використовується окрема змінна. Лічильнику заборонено явно присвоювати будь-які значення, він може змінюватись лиш внутрішнім механізмом опреатора циклу. В результаті конструкція

i:= 100;for i in (0..9) loop... тіло циклуend loop;k:= i;

зовнішньо аналогічна вищенаведеному циклу на Паскалі, трактується однозначно: змінній k буде присвоєно значення 100, оскільки змінна i, використовна поза даного циклу, не має жодного стосунку до лічильника циклу i, який змінюється всередині циклу. Подібне відокремлення лічильника зручно і безпечно: не потрібен окремий опис для нього і мінімальна ймовірність випадкових помилок, пов'язаних із випадковим руйнуванням зовнішніх стосовно циклу змінних. Якщо програмісту потрібно включити в готовий код цикл з лічильником, то його не турбує чи існує змінна з ім'ям яке він обрав для лічильника, і йому не потрібно додавати опис свого лічильника. Він просто пише код зі змінною-лічильником, ім'я якої йому зручне, і може бути впевненим, що ніякої колізії імен не відбудеться.

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

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

for (i = 0; i < 10; ++i){... тіло циклу}

фактично являє собою інший варіант запису конструкції[1]:

i = 0;while (i < 10){... тіло циклу ++i;}

Тобто в конструкції for спочатку пишеться довільне речення ініціалізації циклу, потім — умова продовження і, насамкінець, виконувана після кожного тіла циклу деяка операція (це не обов'язково має бути зміна лічильника; це може бути редагування вказівника або будь-яка зовсім стороння дія). Для мов такого типу вищезазначена проблема розв'язується дуже просто: змінна-лічильник поводиться цілком передбачувано і по завершені циклу зберігає своє останнє значення.

‘39’

Основні поняття мови програмування Турбо Паскаль


План
1. Деякі відомості про систему програмування Турбо Паскаль.
2. Структура програми на Паскалі.
3. Елементи мови Турбо Паскаль.
4. Арифметичні операції і вирази.
5. Стандартні функції.
6. Оператор присвоювання.

 

1. Деякі відомості про систему програмування Турбо Паскаль

Мова Паскаль був розроблений в 1971 році Нікласом Віртом спочатку для цілей навчання програмуванню. В даний час він отримав широке розповсюдження по ряду об'єктивних причин.
По-перше, за своєю ідеологією Паскаль найбільш близький до сучасної методикою та технології програмування. Зокрема, він досить повно відображає ідеї структурного програмування, що досить добре видно навіть з основних керуючих структур мови.
По-друге, Паскаль добре пристосований для застосування технології розробки програм зверху-вниз (покрокової деталізації).
По-третє, Паскаль містить велику різноманітність різних структур даних, що забезпечує простоту алгоритмів, а отже зниження трудомісткості при розробці програм.
Система програмування Turbo Pascal призначена для виконання етапів вирішення задачі на алгоритмічній мові Паскаль і включає в себе три головні компоненти: 1) редактор текстів, 2) компілятор; 3) виконавчу систему.
За допомогою вбудованого в систему текстового редактора можна формувати в пам'яті будь-які тексти, не тільки програми на Паскалі. Зокрема, це можуть бути вихідні дані розв'язуваної задачі в текстовій формі. Текст програми, створений редактором, можна зберегти на диску у вигляді файлу з ім'ям наступного формату <ім'я файлу>. Раs, де pas - це стандартне розширення імені файлу, створеного системним редактором. Ім'я файлу задається користувачем.
Компіляція - це процес перекладу програми на мову машинних команд. Компілятор переводить програму з мови Паскаль на мову машинних команд. При цьому перевіряється відповідність програми правилами мови програмування (синтаксичний і семантичний контроль). При виявленні помилки комп'ютер видає повідомлення про неї користувачеві і припиняє роботу. У результаті компіляції Turbo Pascal створює виконуваний файл з тим же ім'ям, що і файл, що містить програму, але з розширенням ехе. Згодом цей файл може бути виконаний, як будь-який інший виконуваний файл.
Виконання програми залишається під контролем виконавчої системи. Вона, зокрема, допомагає виявити помилку в програмі, якщо при виконанні стався збій. Користувачеві повідомляється причина збою і вказується місце, де він стався в Паскаль-програмі, відбувається автоматичне повернення в режим редагування.
Turbo Pascal дозволяє редагувати, компілювати, компонувати та виконувати Паскаль-програми. При цьому користувачеві надається висока швидкість компіляції, зручність роботи з комп'ютером і потужна бібліотека процедур і функцій.

2. Структура програми на Паскалі

Програма на Паскалі в загальному випадку складається з декількох файлів. Один з них містить головну програму, а решта - модулі. Головна програма складається з заголовка, блоку і закінчується крапкою - ознакою кінця програми. У свою чергу, блок містить розділи описів і розділ операторів. У загальному випадку «скелет» програми можна уявити наступним чином:
{Специфікація програми}
program <ім'я програми> (заголовок програми);
uses (Розділ оголошення модулів);
label (розділ оголошення міток);
const (розділ оголошення констант);
type (розділ оголошення типів);
var (розділ оголошення змінних);
procedure (function) (розділ оголошення підпрограм: процедур або функцій);
begin
<Оператори> (розділ операторів, обов'язкова частина);
end.
Всі зазначені розділи відокремлюються один від одного крапкою з комою.
Розділ операторів повинен обов'язково бути присутнім у будь-якій програмі і є основним. Попередні розділи носять характер описів і не обов'язково міститися в програмі.
Тема програми складається з зарезервованого слова program та імені програми (зі списком параметрів, укладених в круглі дужки). Завершується заголовок крапкою з комою.
У Turbo Pascal є особливості в структурі програми. Так, заголовок програми необов'язковий, і ігнорується компілятором. Порядок розміщення розділів довільний, можна створювати кілька однакових розділів. Єдине правило, яке необхідно витримувати, - у будь-якому місці програми можна використовувати лише елементи (мітки, типи, константи, змінні, підпрограми і т. д.), які були визначені раніше по тексту програми або є зумовленими елементами мови. Винятком з цього правила може бути лише визначення типу-покажчика через невизначений до цього тип. Проте цей тип надалі повинен бути обов'язково визначений.
Оператори в розділі операторів відокремлюються один від одного крапкою з комою. Перед e nd крапка з комою не ставиться, але її наявність не є помилкою, а лише означає присутність між останнім виконуваним оператором і службовим словом end ще одного оператора - порожнього оператора. Закінчується програма словом end, після якого обов'язково ставиться крапка.
На початку програми необхідно розташовувати її специфікацію - коментар у фігурних дужках, що містить призначення програми, дані про програмістові, дату створення програми.
Мова програмування Паскаль є мовою структурного програмування. У ньому є всі необхідні керуючі конструкції для структурної побудови програми. Наочність такій побудові надає структуризація зовнішнього вигляду тексту програми. Основний використовуваний для цього прийом - зрушення рядків, які повинні підкорятися такими правилами:
§ конструкції одного рівня вкладеності записуються на одному вертикальному рівні (починаються з однієї позиції в рядку);
§ вкладена конструкція записується зміщеною по рядку на декілька позицій праворуч щодо зовнішнього для неї конструкції.




Поделиться с друзьями:


Дата добавления: 2015-05-24; Просмотров: 476; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.