КАТЕГОРИИ: Архитектура-(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) Алфавіт мови ‘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. На мові Сі: 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. Деякі відомості про систему програмування Турбо Паскаль Мова Паскаль був розроблений в 1971 році Нікласом Віртом спочатку для цілей навчання програмуванню. В даний час він отримав широке розповсюдження по ряду об'єктивних причин. 2. Структура програми на Паскалі Програма на Паскалі в загальному випадку складається з декількох файлів. Один з них містить головну програму, а решта - модулі. Головна програма складається з заголовка, блоку і закінчується крапкою - ознакою кінця програми. У свою чергу, блок містить розділи описів і розділ операторів. У загальному випадку «скелет» програми можна уявити наступним чином:
Дата добавления: 2015-05-24; Просмотров: 476; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |