Історія створення монітора
Основні параметри, що визначають якість LCD-моніторів та екрану. Роздільна здатність дисплея телевізора або монітора персонального комп’ютера. АРІ–програмування в ОС Windows. Опис API функцій які використовуються в програмі для визначення параметрів.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 15.09.2020 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Опис предметної області
1.1 Історія створення монітора
До 50-х років комп'ютери виводили інформацію тільки на друкуючі пристрої. Досить часто комп'ютери тих років оснащувалися осцилографами, які, однак, використовувалися не для виведення інформації, а всього лише для перевірки електронних ланцюгів обчислювальної машини.
Вперше в 1950 році в Кембриджському університеті (Англія) електронно-променева трубка осцилографа була використана для виведення графічної інформації на комп'ютері EDSAC (Electronic DelayStorage Automatic Computer).
Приблизно півтора роки по тому англійський учений Крістофер Стретчи написав для комп'ютера "Марк 1" програму, яка грала в шашки і який виводив інформацію на екран. Однак це були лише окремі приклади, які не мали серйозного системного характеру.
Рисунок 1.1 - комп'ютер «Марк 1»
Реальний прорив у поданні графічної інформації на екрані дисплею стався в Америці в рамках військового проекту на базі комп'ютера «Вихор». Комп'ютер використовувався для фіксації інформації про вторгнення літаків в повітряний простір США.
Перша демонстрація «Вихора» відбулася 20 квітня 1951 року - радіолокатор посилав інформацію про положення літака комп'ютера, і той передавав на екран положення літака-цілі, яка відображалася в вигляді рухомої точки і букви T (Target). Це був перший великий проект, в якому електронно-променева трубка використовувалася для відображення графічної інформації.
1.1.1 Сучасні моделі моніторів
Перші монітори були векторними (рисунок 1.2) - в моніторах цього типу електронний пучок створює лінії на екрані, переміщаючись безпосередньо від одного набору координат до іншої
.
Рисунок 1.2 - електрона трубка
Відповідно немає необхідності розбивати в подібних моніторах екран на пікселі. Пізніше з'явилися монітори з растровим скануванням. У моніторах подібного типу електронний пучок сканує екран зліва направо і зверху вниз, пробігаючи кожен раз всю поверхню екрану.
Наступною сходинкою розвитку моніторів стало кольорове зображення, для отримання якого потрібно вже не один, а три пучка, кожен з яких висвічує певні точки на поверхні дисплею. Детальніше про цей тип моніторів ми поговоримо при розгляді принципу роботи сучасних кольорових CRT-моніторів. Згодом крім CRT-моніторів з'явилися і інші технології, які дозволили створювати більш компактні і легкі екранні панелі.
Сьогодні, незважаючи на велику кількість нових технологій, CRT (ЕПТ) монітори все ще залишаються найпоширенішими і зовсім не поспішають йти з ринку, навпаки - вони як і раніше є найбільш доступними за ціною, розмір їх екранів стає дедалі більше, неухильно вдосконалюється якість зображення - при зменшенні габаритів і ваги. Тому огляд моніторів слід почати саме з CRT-дисплеїв. Реальну конкуренцію моніторам з урахуванням електронно-променевих трубок поки можуть скласти тільки LCD-дисплеї.
1.2 CRT (ЕПТ) монітори
Монітор отримує сигнал від комп'ютера і передає його на електронно-променеву гармату, яка формує промінь, що передає сукупність сигналів: червоний, зелений, синій (RGB) на передню панель трубки.
Промінь прямує відхиляє системою проходить через отвори в тіньовій масці, тіньова маска направляє промінь на флуоресціюючий матеріал; зіткнення променя з фосфоресцирующим екраном і викликає світіння, видиме оку (рисунок 1.3).
Рисунок 1.3 - зіткнення променя з фосфоресцирующим екраном
Рисунок 1.4 - точкова тіньова маска
На рисунку 1.4 показана точкова тіньова маска, яка використовується в більшості моніторів. Крім точкової маски, застосовуються також смугові маски і апертурні решітки.
Апертурна решітка забезпечує підвищену чіткість зображення завдяки технології, відповідно до якої (для горизонтальної ізоляції пікселів) використовуються тонкі вертикальні зволікання. Зокрема, апертурна решітка використовується в моніторах Sony Trinitron.
Найбільш істотна відмінність між тіньовою маскою і апертурною гратами полягає в помітному збільшенні яскравості при використанні останньої. Це відбувається тому, що на червоний, зелений або блакитний люмінофор через вертикальні смуги апертурних ґрат потрапляє промінь більшої інтенсивності, так як решітка обмежує промені тільки по горизонталі. При цьому не можна однозначно стверджувати, що технологія, яка використовує апертурну грати, краще - оскільки відповідь на це питання залежить від того, чи вимагають додатки, з якими ви працюєте, більш чіткої картинки або більш насичених кольорів.
Справа в тому, що використання апертурних ґрат дозволяє отримати пікселі більшого розміру і менше загальне дозвіл, але яскравість в цілому збільшується, а при використанні решітки з тіньовою маскою пікселі зменшеного розміру дозвіл більше, але при цьому знижується яскравість.
У будь-якому випадку якість маски визначається тим, наскільки тісно на ній розташовані отвори або щілини, і вимірюється так званим кроком (dot pitch) тіньової маски і кроком апертурних ґрат.
Відстань між сусідніми отворами тіньової маски впливає на величину зерна зображення.
Зазвичай у моніторів хорошої якості крок не перевищує 0,28 мм в моделях з тіньовою маскою і 0,3 мм - в моніторах з апертурною гратами. Найменші значення кроку - 0,25 мм - використовує компанія Sony (зокрема, в моделі Multiscan 20seII).
Діагональ трубки і видима діагональ
Одним з основних параметрів CRT-монітора є розмір діагоналі трубки. Розрізняють безпосередньо розмір діагоналі трубки і видимий розмір, який зазвичай приблизно на 1 дюйм менше, ніж діагональ трубки, частково закривається корпусом монітора.
Коефіцієнт світло передачі визначається як відношення корисної світлової енергії, випромінюваної зовні, до енергії, випромінюваної внутрішнім фосфоресцирующим шаром. Зазвичай цей коефіцієнт лежить в межах 50-60%. Чим вище коефіцієнт світло передачі, тим менший потрібен рівень відеосигналу для забезпечення необхідної яскравості. Однак при цьому знижується контрастність зображення в силу зниження перепаду між випромінюючими і не випромінюючі ділянками поверхні екрану. При низькому коефіцієнті світло передачі поліпшуються фокусування зображення, проте потрібно більш потужний відеосигнал і відповідно ускладнюється схема монітора. Конкретне значення коефіцієнта світло передачі можна знайти в документації виробника. Зазвичай 15-дюймові монітори мають коефіцієнт світло передачі в межах 56-58%, а 17-дюймові - 52-53%.
Періодом горизонтальної розгортки називають час, за яке промінь проходить відстань від лівого до правого краю екрану. Відповідно величина, зворотна даної, називається частотою горизонтальної розгортки і вимірюється в кілогерцах. При збільшенні частоти кадрів частота горизонтальної розгортки повинна бути також збільшена.
Вертикальною розгорткою називається кількість оновлень зображення на екрані в секунду, цей параметр також називають частотою кадрів. Горизонтальна і вертикальна розгортка пов'язані між собою співвідношенням: горизонтальна розгортка = (число рядків) x (верт. розв.) x 1,05
Чим вище величина вертикальної розгортки, тим менше відповідно помітний для ока ефект зміни кадру, який проявляється в мерехтінні екрану. Вважається, що при частоті 75 Гц мерехтіння практично непомітно для ока, проте стандарт VESA рекомендує роботу на частоті 85 Гц.
Роздільна здатність характеризується числом пікселів і числом рядків. Наприклад, дозвіл монітора 1024 x 768 вказує на кількість точок в рядку - 1024 і на кількість рядків - 768.
Рівномірність визначається постійністю яскравості по всій поверхні екрану монітора. Розрізняють "рівномірність яскравості" і "рівномірність білого". Зазвичай монітори мають різну яскравість в різних ділянках екрану. Відносини яскравості в областях з максимальним і мінімальним значенням яскравості називають рівномірністю розподілу яскравості. Рівномірність білого визначається як різниця яскравості білого кольору (при виведенні зображення білого кольору).
Термін "не зведення променів" означає відхилення червоного і синього від центрує зеленого. Подібне відхилення перешкоджає отриманню чистих кольорів і чіткого зображення. Розрізняють статичну і динамічну не зведення. Під першим розуміється не зведення трьох кольорів по всій поверхні екрану, яке зазвичай пов'язане з похибками при складанні електронно-променевої трубки. Динамічне не зведення характеризується похибками на краях при чіткому зображенні в центрі.
Оптимальною чистоти і чіткості зображення можна домогтися, коли кожен з RGB-променів досягає поверхні в точно встановленої точці, що забезпечується при суворої взаємозв'язку між електронною гарматою, отворами тіньової маски і точками люмінофора. Зсув променя, зміщення центру гармати вперед або назад, а також відхилення променя, викликане впливом зовнішніх магнітних полів, - все це може впливати на погіршення чистоти і чіткості зображення.
Муар - це вид дефекту, який сприймається оком як хвилеподібні розлучення зображення, пов'язані з неправильним взаємодією тіньової маски і скануючого променя. Фокус і муар є пов'язаними параметрами для CRT-моніторів, тому невеликий муар допускається при хорошому фокусі.
Під тремтінням зазвичай розуміють коливальні зміни зображення з частотою вище 30 Гц. Вони можуть бути викликані вібрацією отворів маски монітора, що, зокрема, може бути обумовлено неправильною організацією заземлення. При частотах менше 30 Гц вживається термін "плавання", а нижче 1 Гц - "дрейф". Незначне тремтіння притаманне всім моніторів. Відповідно до стандарту ISO допускається діагональне відхилення точки не більше ніж на 0,1 мм.
Всі монітори з тіньовою маскою в тій чи іншій мірі схильні до спотворень, пов'язаних з термічною деформацією маски. Термічне розширення матеріалу, з якого виконана маска, призводить до її деформації і відповідно до зміщення отворів маски.
Кращим матеріалом для маски є інвар - сплав, який має малий коефіцієнт лінійного розширення.
Екрани CRT-монітора можуть мати різні покриття, що поліпшують якість зображення і споживчі властивості монітора:
- антистатичне покриття являє собою тонкий шар спеціального хімічного складу, який запобігає накопиченню електростатичного заряду.
- полірована панель має максимальну яскравість і мінімальні проти відблискуючі властивості.
- кварцове покриття - недороге покриття, яке зменшує відблиски на екрані, але обмежує різкість зображення.
- багатошарове антиблікове покриття забезпечує високу різкість при відсутності відблисків, але має високу ціну. Крім покриття антивідблиску використовують також проти відблискуючі панелі, які мінімізують відображають властивості екрану і зменшують електромагнітне випромінювання екрану, не погіршуючи якості зображення. В силу своєї високої вартості проти відблискуючі панелі використовуються тільки в дорогих моніторах, зокрема в 21-дюймових моніторах з великим дозволом
У всьому світі зберігається тенденція до зростання екранів CRT-моніторів. Так, в країнах з розвиненим комп'ютерним ринком лідером продажів останнім часом став монітор з 17-дюймовою діагоналлю. У Росії ринок 17-дюймових моніторів тільки починає формуватися. Як і раніше найбільша кількість продажів доводиться на 14- і 15-дюймові моделі.
1.3 LCD - монітори
Перші рідкокристалічні матеріали були відкриті більш 100 років тому австрійським вченим Ф. Ренітцером. Згодом було виявлено велику кількість матеріалів, які можна використовувати в якості рідкокристалічних модуляторів, проте практичне використання технології почалося порівняно недавно.
Технологія LCD-дисплеїв заснована на унікальних властивостях рідких кристалів, які одночасно володіють певними властивостями як рідини (наприклад, плинністю), так і твердих кристалів (зокрема, анізотропією). У LCD-панелях використовують так звані нематичні кристали, молекули яких мають форму довгастих пластин, об'єднаних в скручені спіралі. LCD-елемент, крім кристалів, включає в себе прозорі електроди і поляризатори. При додатку напруги до електродів спіралі розпрямляються. Використовуючи на вході і виході поляризатори, можна використовувати такий ефект розкручування спіралі, як електрично керований вентиль, який то пропускає, то не пропускає світло.
Екран LCD-дисплея складається з матриці LCD-елементів. Для того щоб отримати зображення, потрібно адресувати окремі LCD-елементи.
Розрізняють два основні методи адресації і відповідно два види матриць: пасивну та активну. В пасивній матриці точка зображення активується подачею напруги на провідники-електроди рядка і стовпця. При цьому електричне поле виникає не тільки в точці перетину адресних провідників, але і на всьому шляху поширення струму, що перешкоджає досягненню високого контрасту.
В активній матриці кожною точкою зображення управляє свій електронний перемикач, що забезпечує високий рівень контрастності.
Зазвичай активні матриці реалізовані на основі тонко плівкових польових транзисторів (Thin Film Transistor, TFT). TFT-екрани, інакше звані екранами з активною матрицею, мають найвищий серед плоскопанельних пристроїв дозволом, широко використовуються в ноутбуках, автомобільних навігаційних пристроях і різноманітних цифрових приставках.
LCD-дисплей не випромінює, а працює як оптичний затвор. Тому для відтворення зображення йому потрібно джерело світла, який розташовується позаду LCD-панелі. Час життя внутрішнього джерела світла TFT LCD-монітора залежить від його типу. Як правило, джерела світла для 15-дюймових моніторів втрачають близько 50% початкової яскравості за 20 000 годин.
1.3.1 Основні параметри, що визначають якість LCD-моніторів
Відносний отвір - відношення площі зображення до загальної площі матриці LCD-дисплея. Чим це відношення більше, тим більша площа зайнята колірними елементами і відповідно тим яскравіше дисплей.
Пропускна здатність рідкого кристала залежить від кута нахилу падаючого світла. Тому якщо дивитися на LCD-дисплей не строго перпендикулярно, а збоку, то відбувається затемнення зображення або спотворення кольору. Деякі фірми пропонують різні технології для усунення цього ефекту.
В Apple Studio Display, наприклад, використовують особливу плівкове покриття, яке збільшує якість зображення при "бічному" читанні.
Існують і інші технології, проте в цілому ряді випадків прийоми, що збільшують кут огляду, знижують динамічні параметри відображення інформації. Невеликий кут огляду - це серйозна проблема, і коштує вона тим гостріше, чим більше розмір екрана. За свідченням основних виробників, сьогоднішня технологія дозволяє збільшити цей кут до 120-130 градусів в горизонтальній і 80 ° - у вертикальній площині.
Інтерференція проявляється за рахунок впливу активізованих пікселів на сусідні пасивні. Це явище в меншій мірі проявляється в моніторах з активною матрицею і в більшій - в моніторах з пасивною матрицею.
Яскравість дисплея визначається яскравістю заднього освітлення і пропускною спроможністю панелі. Пропускна здатність рідкого кристала мала, тому для збільшення яскравості зображення застосовують апертурну грати з великим відносним отвором і колірні фільтри з високою пропускною здатністю.
1.3.2 Порівняння характеристик моніторів LCD над CRT
Переваги моніторів LCD над CRT:
- LCD-дисплеї займають на столі приблизно в 3 рази менше місця і важать на 3/4 менше, ніж CRT-моделі. Економія ваги і простору критична для цілого ряду додатків.
- НА відміну від CRT-моніторів LCD-дисплеї абсолютно не генерують магнітні поля.
- LCD-дисплей не схильні до впливу магнітних полів і, отже, можуть використовуватися на об'єктах, де такі поля генеруються. Це робить їх використання найкращим на ряді об'єктів (наприклад, на підводних човнах).
- LCD-монітори володіють меншою крихкістю і відповідно краще підходять для роботи в польових умовах.
- LCD-монітори споживають приблизно на 60% менше електроенергії в порівнянні з CRT-моніторами і виділяють відповідно менше теплоти.
- висока чіткість зображення дозволяє працювати з більш високою роздільною здатністю, ніж при використанні порівнянних по діагоналі CRT-моделей.
- LCD-дисплеї мають меншу схильність до такого дефекту зображення, як поява муару.
Переваги моніторів CRT над LCD:
- LCD-дисплеї оптимізовані для раб Оти тільки з одним дозволом. Наприклад, для 15-дюймового монітора оптимальне здатність - 1024 x 768 пікселів. Якщо у вашій роботі потрібно переналаштування монітора на різні дозволи, що актуально в CAD-додатках, то такий дисплей не може вважатися оптимальним рішенням.
- LCD-дисплеї погано переносять екстремальні температури. При температурі нижче -32 ° вони кристалізуються і руйнуються, а при високих температурах зображення розпливається.
- LCD-панелі мають обмежений кут огляду.
- LCD-монітори менш придатні для передачі безперервного відеозображення.
- LCD-монітори поки мають більш високі ціни. Для прикладу - сьогодні середня роздрібна ціна 15-дюймового LCD-монітора складає близько 1100 дол., В той час як 17-дюймовий CRT-монітор (діагональ видимої частини якого приблизно така ж, як у 15-дюймового LCD-монітора) коштує приблизно вдвічі дешевше. Це суттєвий момент, особливо для російських покупців.
- LCD-монітори мають велику схильність до тремтіння, ніж CRT-дисплеї.
- виготовлення LCD-моніторів з діагоналлю більше 21 дюйма економічно невигідно; їх будуть виробляти за іншими технологіями.
Хоча CRT-монітори не можуть конкурувати за розмірами з LCD-моніторами, вони не збираються йти зі сцени. У перспективі вони будуть займати все менше місця на робочому місці за рахунок укорочення електронних гармат і збільшення кута відхилення променів.
1.4 Основні параметри екрану
1.4.1 Роздільна здатність дисплея телевізора або монітора ПК
Одна з найважливіших характеристик, що впливають на якість зображення. Спробуємо розібратися, що вона нам дає і чим же вона так важлива.
Найочевидніше думку щодо зображення на екранах моніторів - що картинка являє собою суцільний малюнок, але насправді зображення складається з точок. Велика кількість цих щільно розташованих точок і складають цілісне зображення, яке нам здається єдиним, а не фрагментованим і зернистим. Ці точки називаються пікселями. Якщо придивитися, то можна помітити ці оточуючі «лампочки» на екрані домашнього ПК або телевізора (на останньому це буде зробити простіше). На екрані моніторів пікселі розташовані у вигляді сітки, і кожен з них має таку властивість, як колір і його інтенсивність.
Роздільна здатність екрану - це щільність пікселів на вашому моніторі або їх кількість на одиницю площі. Чим воно більше, ніж чіткіше картинка, тим детальніше виходить зображення. Дозвіл вимірюється за двома параметрами - висота і ширина. Наприклад, дозвіл 1280x1024 говорить про те, що від лівої і до правої межі монітора розташовано 1280 пікселів, а по висоті - 1024.
Разом зі збільшенням максимального дозволу та діагоналлю монітора змінюється і сама форма монітора - вони стають широкоформатними. Ще недавно співвідношення сторін екрану було 4х3, зараз же активно набрав обертів і впевнено зайняв свою позицію інший формат - 16x9. На даний момент існують матриці і більшої ширини. Широкоформатні матриці з'явилися в першу чергу в зв'язку з тенденцією випуску широкоформатного відео. Людина краще сприймає інформацію з боків екрану, ніж зверху і знизу. Вибір розміру екрану при покупці монітора - справа суто особиста. Одним подобається великий робочий простір, а для інших робота стає навпаки незручною.
Можливі розширення екрану:
- QVGA -- 320Ч240 (4:3) -- 76,8 кпікс,
- SIF (MPEG1 SIF) -- 352Ч240 (22:15) -- 84,48 кпікс,
- CIF (MPEG1 VideoCD) -- 352Ч288 (11:9) -- 101,37 кпікс,
- WQVGA -- 400Ч240 (5:3) -- 96 кпікс,
- [MPEG2 SV-CD] -- 480Ч576 (5:6) -- 276,48 кпікс,
- HVGA -- 640Ч240 (8:3) или 320Ч480 (2:3) -- 153,6 кпікс,
- nHD -- 640Ч360 (16:9) -- 230,4 кпікс,
- VGA -- 640Ч480 (4:3) -- 307,2 кпікс,
- WVGA -- 800Ч480 (5:3) -- 384 кпікс,
- SVGA -- 800Ч600 (4:3) -- 480 кпікс,
- FWVGA -- 854Ч480 (16:9) -- 409,92 кпікс,
- qHD -- 960x540 (16:9) -- 518,4 кпікс,
- WSVGA -- 1024Ч600 (128:75) -- 614,4 кпікс,
- XGA -- 1024Ч768 (4:3) -- 786,432 кпікс,
- XGA+ -- 1152Ч864 (4:3) -- 995,3 кпікс,
- WXVGA -- 1200Ч600 (2:1) -- 720 кпікс,
- HD 720p -- 1280Ч720 (16:9) -- 921,6 кпікс,
- WXGA -- 1280Ч768 (5:3) -- 983,04 кпікс,
- SXGA -- 1280Ч1024 (5:4) -- 1,31 Мпікс,
- WXGA+ -- 1440Ч900 (8:5) -- 1,296 Мпікс,
- SXGA+ -- 1400Ч1050 (4:3) -- 1,47 Мпікс,
- XJXGA -- 1536Ч960 (8:5) -- 1,475 Мпікс,
- WSXGA (?) -- 1536Ч1024 (3:2) -- 1,57 Мпікс,
- WXGA++ -- 1600Ч900 (16:9) -- 1,44 Мпікс,
- WSXGA -- 1600Ч1024 (25:16) -- 1,64 Мпікс,
- UXGA -- 1600Ч1200 (4:3) -- 1,92 Мпікс,
- WSXGA+ -- 1680Ч1050 (8:5) -- 1,76 Мпікс,
- Full HD 1080p -- 1920Ч1080 (16:9) -- 2,07 Мпікс,
- WUXGA -- 1920Ч1200 (16:10) -- 2,3 Мпікс,
- 2K -- 2048x1080 (256:135) -- 2,2 Мпікс,
- QWXGA -- 2048Ч1152 (16:9) -- 2,36 Мпікс,
- QXGA -- 2048Ч1536 (4:3) -- 3,15 Мпікс,
- QHD -- 2560Ч1440 (16:9) -- 3,68 Мпікс,
- WQXGA -- 2560Ч1600 (8:5) -- 4,09 Мпікс,
- QSXGA -- 2560Ч2048 (5:4) -- 5,24 Мпікс,
- WQSXGA -- 3200Ч2048 (25:16) -- 6,55 Мпікс,
- QUXGA -- 3200Ч2400 (4:3) -- 7,68 Мпікс,
- WQUXGA -- 3840Ч2400 (8:5) -- 9,2 Мпікс,
- Ultra-HD -- 4096Ч2160 (256:135)[1] -- 8,8 Мпікс,
- HSXGA -- 5120Ч4096 (5:4) -- 20,97 Мпікс,
- WHSXGA -- 6400Ч4096 (25:16) -- 26,2 Мпікс,
- HUXGA -- 6400Ч4800 (4:3) -- 30,72 Мпікс,
- Super Hi-Vision -- 7680Ч4320 (16:9) -- 33,17 Мпікс,
- WHUXGA -- 7680Ч4800 (8:5) -- 36,86 Мпікс.
1.4.2 Глибина кольору
Це характеристика, що визначає якість відтворення кольору, кількість відтінків, які можуть відображати елементи матриці пікселей. Кожен елемент масиву даних (матриці) являє собою число в двійковій системі числення. Його розмірність визначається в бітах. Глибина кольору - це кількість біт на піксель зображення. Наприклад, піксель з колірною глибиною, рівній чотирьом, може відображати 24 = 16 кольорів, а піксель з колірною глибиною, рівній восьми, має 28 = 256 рівнів. Інші типові значення колірної глибини становлять 216 = 65536 кольорів, 224 = 16,7 мільйонів кольорів, 32-х бітний колір формально включає близько 4 мільярди квітів, але фактично часто це 24-бітний колір з додатковим 8-бітовим альфа-каналом. 24-х бітний колір називають природним кольором, остільки таку кількість квітів цілком достатньо для подання практичних всіх видимих ??відтінків. Вважається, що 8-ми бітний колір представляє мінімальні набір квітів для створення відносно природний зображень і на підставі цього кольору створюються індексні кольору.
1.4.3 Частота оновлення екрану - це величина, що позначає, скільки разів ваш монітор оновлюється новими зображеннями за одну секунду часу. Наприклад, частота оновлення «60 Гц» означає, що дисплей оновлюється шістдесят разів в секунду. Більш висока частота оновлення призводить до більш чіткому і плавному зображенню.
2. АРІ-програмування в ОС Windows
API (application programming interface) - інтерфейс прикладного програмування (іноді інтерфейс програмування додатків). Іншими словами, це ті можливості (функції, змінні, константи, класи), які надає додаток для використання прикладними програмами.
API визначає функціональність, яку надає програма (модуль, бібліотека), при цьому API дозволяє абстрагуватися від того, як саме ця функціональність реалізована. Більшість функцій доступні для програм користувача, які написані для Windows на будь-якій мові програмування (у тому числі і на асемблері). Множина цих функцій розширюється при переході до наступної версії Windows, таким чином, забезпечується сумісність розроблених раніше програм із новими версіями операційної системи. Існують і функції, які не відображені в документації, або для свого застосування вимагають від програми спеціальних прав доступу до пам'яті.
Суть функцій API зрозуміти значно легше, якщо уявити, з яких файлів вони викликаються і на які групи ці функції поділяються. Асемблер - це як раз той зручний і простий засіб, який дозволить вам звертатись безпосередньо до будь-якої функції API, що знаходиться у DLL-файлі.
Програмні компоненти взаємодіють один з одним за допомогою API. При цьому зазвичай компоненти утворюють ієрархію - високорівневі компоненти використовують API низькорівневих компонентів, а ті, в свою чергу, використовують API ще більш низькорівневих компонентів.
Секрет пізнання операційної системи через програмування на асемблері полягає у тому, що сам асемблер не накладає жодних обмежень на програму та дані, з якими вона працює. Це повинен робити сам програміст з метою захисту операційної системи від своїх некоректних дій. Таким чином, основною метою системного програмування є написання коректних програм з необмеженими можливостями (в рамках операційної системи).
2.1 АРІ операційної системи Windows
Практично всі операційні системи (Unix, Windows, Mac OS, і т. Д.) мають API, за допомогою якого програмісти можуть створювати додатки для цієї операційної системи. Головний API операційних систем - це безліч системних викликів.
В індустрії програмного забезпечення загальні стандартні API для стандартної функціональності відіграють важливу роль, так як вони гарантують, що всі програми, що використовують загальний API, будуть працювати однаково добре чи, принаймні, типовим звичним чином. У разі API графічних інтерфейсів це означає, що програми будуть мати схожий інтерфейс користувача, що полегшує процес освоєння нових програмних продуктів.
Windows API - загальне найменування цілого набору базових функцій інтерфейсів програмування додатків операційних систем сімейств Windows (від Windows 3.11 до Windows 98) і Windows NT корпорації «Microsoft». Є найбільшим прямим способом взаємодії додатків з Windows.
Робота через Windows API - це найбільш близький до системи спосіб взаємодії з нею з прикладних програм.
Win32 - 32х розрядний API для сучасних версій Windows. Найпопулярніша нині версія. Win32 з'явився разом з Windows NT і потім був перенесений (у кілька обмеженому вигляді) в системи серії Windows 9x.
Процесори стандарту Intel можуть працювати в трьох основних режимах: реальному, віртуальному і захищеному. При включенні комп'ютера його процесор працює в реальному режимі. Після завантаження операційної системи (ОС) процесор може бути переключений програмами ОС в інші режими. В реальному та віртуальному режимах використовується 16-бітна адресація з фіксованими сегментами по 64К. У захищеному режимі використовується 32х-бітна адресація з необмеженими сегментами, і адреса до пам'яті формується (на апаратному рівні) за допомогою дескрипторних таблиць, в яких задаються початкові адреси сегментів, їх довжина, та права доступу до пам'яті і до портів для процесів, які їх використовують. Крім того, в захищеному режимі реалізоване апаратне переключення між задачами за допомогою спеціальних таблиць.
2.2 Структура API-програм
Головним поняттям програмування в середовищі Windows є повідомлення. Система посилає повідомлення додатком, а те, в свою чергу, повинно правильно відреагувати на нього. Одержувачами повідомлень є функції вікон програми, на програмування яких і йде велика частина часу при розробці API-додатків.
Класична структура API-програми визначається чотирма компонентами: ініціалізація; цикл очікування, або цикл обробки повідомлень; функція головного вікна; інші функції. У найпростішому випадку останній компонент може бути відсутнім. Два перших компонента розташовуються у функції WinMain, решта реалізуються окремими функціями.
Функція WinMain:
int WINAPI WinMain
(
HISTANCE hInstance,
HINSTANCE hPrevInctance,
LPSTR lpCmdLine,
int nCmdShow
)
Функція WinMain викликається системою, в яку передаються чотири параметри:
-hInstance - дескриптор поточного екземпляру додатку;
-hPrevInctance - завжди дорівнює NULL;
-lpCmdLine - покажчик на командний рядок програми, що запускається;
-nCmdShow - спосіб візуалізації вікна.
При ініціалізації відбувається реєстрація класу вікна, його створення і виведення на екран.
ATOM RegisterClass (CONST WNDCLASS * lpwcx)
Єдиний параметр функції - покажчик на структуру WNDCLASS. Розберемо тепер структуру WNDCLASS:
typedef struct _WNDCLASS
{
UNIT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDClASS
У структурі немає нічого складного. Якщо реєстрація пройшла успішно, про що можна дізнатися по нульовому поверненню значення, значить можна створювати вікно.
Деякі типові значення членів структури:
Стиль вікна визначається комбінацією кількох зумовлених констант. Досить часто він дорівнює нулю, що означає "стиль за замовчуванням".
Дескриптор іконки вікна визначається за допомогою функції LoadIcon. Першим параметром цієї функції є дескриптор додатку, другий - рядок, що визначає ім'я іконки в ресурсах. Для того щоб задати одну зі стандартних іконок, перший параметр повинен мати значення NULL, а другий значення однієї з наступних констант:
-IDI_APLICATION - стандартна іконка програми;
-IDI_ASTERISK - іконка "інформація";
-IDI_EXCLAMATION - "знак оклику";
-IDI_HAND - "знак Стоп";
-IDI_QUESTION - "знак питання".
Для визначення дескриптора курсору використовується API-функція LoadCursor. Функція схожа на функцію LoadIcon.
Назва класу - це просто рядок, який потім використовується при створенні вікна. Вікно створюється функцією CreаteWindow. Ось прототип цієї функції:
HWND CreateWindow
(LPCTSTR lpClassName, // вказує на ім'я зарєестрованих вікна
LPCTSTR lpWindowName, // назва вікна
DWORD dwStyle, // стиль вікна
int x, // горизонтальна координата
int y, // вертикальна координата
int nWidth, // ширина вікна
int nHeight, // висота вікна
HWND hWndParent, // дискриптор батьків або власника вікна
HMENU hMenu, // дискриптор меню вікна
HANDLE hINSTANCE, // дискриптор додатки
LPVOID lpParam // покажчик на додаткову інформацію
)
Функція повертає дескриптор створеного вікна, при помилці - 0. Для того щоб коректно відобразити вікно на екрані, слід виконати ще дві функції.
BOOL ShowWindow (HWND hWnd, int nCmdShow) - ця функція відображає вікно на екрані. Перший параметр - дескриптор вікна, другий - режим відображення. В якості цього параметра зазвичай використовують параметр nWinMode функції WinMain. Можна також використовувати зумовлені константи:
-SW_HIDE - приховати вікно;
-SW_MAXIMIZE - максимізувати вікно;
-SW_MINIMIZE - мінімізувати вікно і активувати саме верхнє вікно;
-SW_RESTORE - відобразити вікно в нормальному стані;
-SW_SHOW - активізувати вікно з поточними розмірами;
-SW_SHOWMAXIMIZED - максимізувати вікно і зробити його активним;
-SW_SHOWMINIMIZED - мінімізувати вікно;
-SW_SHOWNA - відобразити вікно в його поточному стані. При цьому активування вікна залишити активним;
-SW_SHOWNOACTIVATE - повертає вікно в його попередній стан. При цьому активне вікно залишається активним;
-SW_SHOWNORMAL - активізувати і встановити вікно в колишніх розмірах.
BOOL UpdateWindow (HWND hWnd) - виклик даної функції приводить до зміни графічної частини вікна і посилці функції вікна повідомлення WM_PAINT.
У циклі обробки повідомлень присутні три функції. Ці функції є там завжди, але крім них у циклі можуть бути й інші. Функція GetMessage вибирає з черги повідомлень додатку черговий додаток. Замість цієї функції використовують так само функції PostMessage і PeekMessage.
У всіх трьох функціях присутній покажчик на рядок MSG. Розберемо її:
typedef struct tagMSG
{
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
hwnd - дескриптор вікна.
message - код повідомлення.
wParam - додатковий параметр.
lParam - додатковий параметр.
time - час посилки повідомлення.
pt - положення курсору миші.
Прототип функції MessageBox.
BOOL GetMessageBox
(
PMSG lpMsg;
HWND hWnd;
UINT wMsgFilterMin,
UINT wMsgFilterMax
)
Перший параметр функції - покажчик на рядок MSG, куди і буде поміщена отримана інформація. Другим параметром є дескриптор вікна, якому призначено повідомлення. Якщо параметр дорівнює NULL, то "відштовхуються" всі повідомлення, одержувані додатком. Два останніх параметра визначають діапазон повідомлень. Для того щоб отримувати повідомлення з усього діапазону, ці параметри повинні бути рівні 0.
Функція TransleteMessage перетворює повідомлення WM_KEYDOWN і WM_KEYUP в WM_CHAR. Функція DispatchMessage просто переправляє повідомлення віконної процедури.
2.3 Консольні та графічні додатки
Windows підтримує роботу двох типів додатків - віконних, де повною мірою використовуються всі переваги графічного інтерфейсу, і консольних, що працюють виключно в текстовому режимі.
Віконний додаток - будується на базі спеціального набору функцій (API), що складають графічний інтерфейс користувача (ГІП, графічний інтерфейс користувача). Віконний додаток являє собою програму, яка весь висновок на екран виробляє в графічному вигляді. Першим результатом роботи віконного програми є відображення на екрані спеціального об'єкта - вікна. Після того як вікно відображено на екрані, вся робота програми спрямована на те, щоб підтримувати його в робочому стані.
Будь-який віконний Windows-додаток має типову структуру, основу якої становить так званий каркасний додаток. Цей додаток містить необхідний мінімальний програмний код для забезпечення повноцінного функціонування Windows-додатку. Не випадково у всіх джерелах в якості першого для Windows-програми рекомендується вивчати і досліджувати роботу деякого каркасного додатку, так як саме воно відображає основні особливості взаємодії програми з операційною системою Windows.
Мінімальний додаток для Windows складається з трьох частин:
-головної функції;
-циклу обробки повідомлень;
-віконної функції.
Виконання будь-якого віконного вікна-додатку починається з головної функції. Вона містить код, який здійснює настройку (ініціалізацію) додатку в середовищі операційної системи Windows. Видимим для користувача результатом роботи головної функції є поява на екрані графічного об'єкта у вигляді вікна. Останньою дією коду головної функції є створення циклу обробки повідомлень. Обробка надходить з додатком повідомлень, здійснюється спеціальною функцією - віконною.
Мінімальний вид віконної функції представлений нижче.
LONG WINAPI WndProc (HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
switch (Message)
{
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (hwnd, Message, wparam, lparam);
}
return 0;
}
Чотири аргументи віконної функції ідентичні першим чотирьом полям структури повідомлення MSG. У прикладі обробляється тільки один тип повідомлення WM_DESTROY, яке передається віконної функції при закритті вікна.
Виклик функції DefWindowProc () обробляє за замовчуванням всі повідомлення, які не обробляє віконна процедура.
Функція PostQuitMessage () повідомляє Windows, що даний потік посилає запит на завершення. Аргументом є цілочисельне значення, яке функція поверне операційній системі.
Операційна система Windows забезпечує вбудовану підтримку консолей, які, за визначенням, є інтерфейсами введення-виведення для додатків, що працюють в текстовому режимі. Поняття «консоль» існує в обчислювальній техніці давно. Під «консоллю» мають на увазі текстовий термінал для управління комп'ютером. Видима частина такого терміналу - клавіатура (для введення управляючих впливів) і монітор (як засіб відображення-реакції обчислювальної системи).
У Windows консоль являє собою додаток, що дозволяє взаємодіяти з операційною системою за допомогою введення текстових команд. Такий спосіб управління комп'ютером дозволяє вирішувати в основному адміністративні завдання. Додаток, за допомогою якого підтримується цей режим, називається консольним. Видима частина консольних додатків називається вікном консольного застосування.
Написання консольних додатків на асемблері - завдання більш актуальне, ніж написання віконних. Причина проста - малими витратами нам стають доступні практично всі можливості Win32 API. Програміст може запустити одночасно декількох консольних додатків і при цьому працювати з мишею і клавіатурою в стилі Windows.
API Win32 надає два різних рівня роботи з консоллю - високий і низький. Вибір потрібного рівня залежить від того, яка ступінь гнучкості і повноти контролю потрібна додаткам для забезпечення своєї роботи з консоллю. Функції високого рівня забезпечують простоту процесу введення-виведення за рахунок використання стандартних дескрипторів введення-виведення, але при цьому неможливий доступ до вхідного і екранного буферів консолі. Функції низького рівня вимагають обліку більшої кількості деталей і написання більшого обсягу коду, але це компенсується більшою гнучкістю. Консоль складається з одного вхідного і декількох екранних буферів. Вхідний буфер являє собою чергу, кожен запис якої містить інформацію щодо окремої вхідної події консолі. Екранний буфер - двомірний масив, що містить символи, що виводяться у вікні консолі, і дані про їх кольори.
З кожною консоллю пов'язані дві кодові таблиці - по одній для вводу і виводу. Консоль використовує вхідну кодову таблицю для трансляції введення з клавіатури у відповідні символьні значення. Аналогічним чином використовується кодова таблиця виводу - для трансляції символьних значень, формованих різними функціями виводу, в символи, які відображаються у вікні консолі. Для роботи з кодовими таблицями додаток може задіяти пари функцій: SetConsoleCP і GetConsoleCP - для вхідних кодових таблиць SetConsoleOutputCP і GetConsoleOutputCP - для вихідних кодових таблиць. Ідентифікатори кодових таблиць, доступні на даному комп'ютері, зберігаються в системному реєстрі наступним ключем:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
Для підтримки консольних додатків Win32 API містить більше сорока функцій, призначених для інтеграції в середовище Windows програм, що працюють в текстовому режимі. Дані функції забезпечують підтримку зазначених раніше двох рівнів доступу до консолі - високого і низького. Консольні функції введення високого рівня дозволяють додаткам витягти дані, отримані при введенні з клавіатури та збережені у вхідному буфері консолі. Консольні функції виведення високого рівня дозволяють додаткам записати дані в пристрій стандартного виводу або в пристрій помилки з тим, щоб відобразити цей текст в екранному буфері консолі. Функції високого рівня також підтримують перепризначення стандартних дескрипторів вводу-виводу і управління режимами роботи консолі. Консольні функції низького рівня дозволяють додаткам отримати детальну інформацію про введення з клавіатури, події натискання і відпускання кнопок миші і при маніпуляції користувача з вікном консолі. Все це забезпечує високу ступінь контролю над виведенням даних на екран. Високорівневий і низькорівневий консольний ввід-вивід не є взаємовиключними, і додаток може використовувати будь-яку комбінацію цих функцій.
2.4 Опис API функцій які використовуються в моїй програмі для визначення параметрів
Для визначення параметрів екрану (або підтримуваних режимів відеоадаптера) існують такі API функції:
1) EnumDisplaySettings - функція EnumDisplaySettings витягує інформацію про один з графічних режимах для пристрою відображення. Щоб витягти інформацію про всіх графічних режимах пристрої відображення, зробіть серію викликів цієї функції.
3. Розробка програми
3.1 Вибір середовища програмування
Розглянемо деякі середовища програмування для мови асемблеру.
Masm32 Macro Assembler (MASM) - асемблер для процесорів сімейства x86. Спочатку був зроблений компанією Microsoft для написання програм в операційній системі MS- DOS і був протягом деякого часу найпопулярнішим асемблером, доступним для неї. Це підтримувало широке розмаїття макрозасобів і структурованість програмних ідіом, включаючи конструкції високого рівня для повторів, викликів процедур і чергувань (тому MASM - асемблер високого рівня). Пізніше була додана можливість написання програм для Windows. MASM - один з небагатьох інструментів розробки Microsoft, для яких не було окремих 16 - і 32 - бітових версій.
GSS Visual Assembler - середовище розробки програмного забезпечення для ОС Windows, призначена для розробки програм мовою асемблера.
Зручна візуальна оболонка з легко налаштованим інтерфейсом нагадує інтерфейс Borland Delphi або Microsoft Visual Studio.
Спочатку створювалася під такі асемблерні пакети як TASM і MASM32 але є можливість адаптувати IDE і під інші пакети.
Основні характеристики:
- можливість налаштувати IDE практично для будь-якого ассемблерного пакета ( MASM32, TASM та інших);
- підтримується інтегрований відладчик під MASM32, що дозволяє налагоджувати програми прямо по вихідного коду (без дизасемблювання );
- налаштування будь-якої схеми підсвічування тексту;
- відображення повної структури коду (процедури, макроси, структури, константи і т.д.);
- автоматичний пошук декларації змінних;
- додавання ресурсів до проекту;
- максимальна простота управління проектом;
- інтерфейс користувача максимально копіює звичний інтерфейс Microsoft Visual Studio або Borland Delphi;
- підтримка всіх версій платформи Windows;
GSS Visual Assembler розроблений з урахуванням потреб, як професійних розробників, так і починаючих.Embercadero Rad studio C + + Builder / Delphi XE 6.
Embarcadero Technologies - американська компанія, що займається розробкою програмного забезпечення для створення засобів управління базами даних і самих баз даних. Компанія була заснована в жовтні 1993 року Стефаном Вонгом і Стюартом Браунінгом з єдиним на той момент продуктом для адміністрування СУБД Sybase. Зараз компанія виробляє засоби для адміністрування, створення баз даних і додатків працюють з базами даних для наступних платформ: Oracle, Microsoft SQL Server, IBM DB2, Sybase і MySQL.
RadASM - безкоштовна середовище розробки програмного забезпечення для ОС Windows і не тільки, спочатку призначена для написання програм мовою асемблера.
Має гнучку систему файлів налаштувань, завдяки чому може бути використана як середовище розробки програмного забезпечення на високорівневих мовах, а також документів, заснованих на мовах розмітки. Створена програмістом Ketil Olsen (KetilO).
AsmEdit - це програма, розроблена спеціально для полегшення програмування в Асемблері. Проффессіоналів, що постійно програмують в Асемблері швидше за все вже звикли використовувати якесь редактори, наприклад MultiEdit, або використовують щось своє, а от тим хто тільки починають освоєння цієї мови AsmEdit може чимало допомогти.
Середовища розробки з asm вставками:
- Embarcadero® RAD Studio XE6 являє собою повномасштабне рішення для розробки дійсно «нативних» додатків для для Windows, Mac, Android і iOS на основі єдиної бази вихідних кодів. Ви можете створювати високопродуктивні «нативні» компілюють програми для різних пристроїв з найвищим рівнем користувальницького взаємодії. Розширте ваші Windows-проекти до мобільних додатків, взаємодіючих з даними масштабу підприємства і сервісами BaaS;
Visual Studio 2013 Експрес C + + Visual Studio Express 2013 для Windows Desktop забезпечує створення класичних додатків на мовах C #, Visual Basic, C + + і, підтримуючи Windows Presentation Foundation (WPF), Windows Forms і Win32;
Eclipse є модульним інтегрованим середовищем розробки програмного забезпечення. Розробляється і підтримується Eclipse Foundation і включає проекти, такі як платформа Eclipse, набір інструментів для розробників на мові Java, засоби для управління сирцевими кодами, візуальні побудовники GUI тощо. Написаний в основному на Java, може бути використаний для розробки застосунків на Java і, за допомогою різних плаґінів, на інших мовах програмування, включаючи Ada, C, C++, COBOL, Fortran, Perl, PHP, Python, R, Ruby (включно з каркасом Ruby on Rails), Scala, Clojure та Scheme. Середовища розробки зокрема включають Eclipse ADT (Ada Development Toolkit) для Ada, Eclipse CDT для C/C++, Eclipse JDT для Java, Eclipse PDT для PHP.
Початок коду йде від IBM VisualAge, він був розрахований на розробників Java, складаючи Java Development Tools (JDT). Але користувачі могли розширяти можливості, встановлюючи написані для програмного каркасу Eclipse плагіни, такі як інструменти розробки під інші мови програмування, і могли писати і вносити свої власні плагіни і модулі.
Випущена на умовах Eclipse Public License, Eclipse є вільним програмним забезпеченням. Він став одним з перших IDE під GNU Classpath і без проблем працює під IcedTea.
MonoDevelop - відкрите інтегроване середовище розробки для платформ Linux, Mac OS X та Microsoft Windows, передусім націлене на розробку програм, які використовують і Mono, і Microsoft.NET framework. На даний момент підтримуються мови C#, Java, Boo, Visual Basic.NET, CIL, Python, Vala, C та C++. Також MonoDevelop підтримує такі технології, як Gtk#, ASP.NET MVC, Silverlight, MonoMac и MonoTouch.
MonoDevelop включає можливості подібні до NetBeans та Microsoft Visual Studio, такі як автоматичне доповнення, інтеграція контролю коду, графічний користувацький інтерфейс і веб-дизайнер. В MonoDevelop інтегрований Gtk# GUI дизайнер під назвою Stetic.
3.2 Алгоритм додатку
Алгоритм додатку складається з 3 блок-схем:
– блок-схема загальна (Рисунок 3.2);
– блок-схема функції WinMain (Рисунок 3.3);
– блок-схема функції WndProc (Рисунок 3.4).
Рисунок 3.1 - блок-схема загальна
Рисунок 3.2 - блок-схема функції WinMain
Рисунок 3.3 - блок-схема функції WndProc
3.3 Інструкція користувача
На рисунку 3.4 зображене відкрите вікно програми “EnumDisplaySetting”,
яка визначає параметри екрану, які можуть бути встановлені в графічному режимі.
– Color Bit Setting - Налаштування бітності кольору;
– Screen Pixel width - Кількість пікселів в ширину ;
– Screen Pixel Height - Кількість пікселів в висоту;
– Screen Display Freq - Частота екрану;
– Graphics Mode Index - Графічний Індекс;
Рисунок 3.4 - запущена програма у вікні
А також, на самому першому рядку вказується назва та серія відеоадаптеру.
Використовувати програму легко, для початку потрібно запустити саму програму EnumDisplay.exe (Рисунок 3.5).
Рисунок 3.5- папка з програмою
Потім, за допомогою кнопки ЛКМ, комп'ютерної миші ми переключаемся між графічними індексами доки сама програма не зупиниться і виведе на екран вікно, з повідомленням про те що «Це всі підтримувані графічні режими» (Рисунок 3.6).
Рисунок 3.6 - завершення програми
4. Розрахунок собівартості проекту
4.1 Визначення трудомісткості розробки програмного забезпечення
Нормування праці в процесі створення ПЗ істотно ускладнено в силу творчого характеру праці програміста. Тому трудомісткість розробки ПЗ може бути розрахована на основі системи моделей з різною точністю оцінки.
Трудомісткість розробки ПЗ можна розрахувати за формулою:
, людино-годин, (4.1)
де to - витрати праці на підготовку й опис поставленої задачі (приймається 50);
tи - витрати праці на дослідження алгоритму рішення задачі;
tа - витрати праці на розробку блок-схеми алгоритму;
tп - витрати праці на програмування по готовій блок-схемі;
tотл - витрати праці на налагодження програми на ЕОМ;
tд - витрати праці на підготовку документації.
56,58
Складові витрати праці визначаються через умовне число операторів у ПЗ, яке розробляється.
Умовне число операторів (підпрограм):
,(4.2)
де q - передбачуване число операторів;
c - коефіцієнт складності програми;
p - коефіцієнт кореляції програми в ході її розробки.
Витрати праці на вивчення опису задачі tи визначається з урахуванням уточнення опису і кваліфікації програміста:
, людино-годин, (4.3)
де B - коефіцієнт збільшення витрат праці внаслідок недостатнього опису задачі;
k - коефіцієнт кваліфікації програміста, обумовлений від стажу роботи з даної спеціальності.
=0,72
Витрати праці на розробку алгоритму рішення задачі:
, людино-годин.(4.4)
Витрати на складання програми по готовій блок-схемі:
, людино-годин.(4.5)
Витрати праці на налагодження програми на ЕОМ:
за умови автономного налагодження одного завдання:
, людино-годин.(4.6)
за умови комплексного налагодження завдання:
, людино-годин.(4.7)
Витрати праці на підготовку документації:
, людино-годин,(4.8)
де tдр - трудомісткість підготовки матеріалів і рукопису.
, людино-годин.(4.9)
tдо - трудомісткість редагування, печатки й оформлення документації
, людино-годин.(4.10)
4.2 Витрати на створення програмного забезпечення
Витрати на створення ПЗ Кпо включають витрати на заробітну плату виконавця програми Зз/п і витрат машинного часу, необхідного на налагодження програми на ЕОМ
, грн.(4.11)
Заробітна плата виконавців визначається за формулою:
, грн,(4.12)
де: t - загальна трудомісткість, людино-годин;
Спр - середня годинна заробітна плата програміста, грн/година
16974 грн
Вартість машинного часу, необхідного для налагодження програми на ЕОМ:
, грн,(4.13)
де tотл - трудомісткість налагодження програми на ЕОМ, год.
Смч - вартість машино-години ЕОМ, грн/год.
Визначені в такий спосіб витрати на створення програмного забезпечення є частиною одноразових капітальних витрат на створення АСУП.
Очікуваний період створення ПЗ:
, міс,(4.14)
де Bk - число виконавців;
Fp - місячний фонд робочого часу (при 40 годинному робочому тижні Fp=176 годин).
грн
Висновки
В даній курсовій роботі було застосовано всі практичні і теоретичні навички для створення програми на мові програмування Assembler яка визначає параметри екрану в операційній системі Windows.
В першому розділі були вписані деякі теоретичні відомості, такі як історія розвитку моніторів і основні параметри моніторів, які в подальшій роботі були застосовані для створення програми.
В другому розділі, були описані деякі стандартні функції, які використовуються в програмі.
В третьому розділі, були розглянуті програмні середовища для мови програмування Assembler. Після наведенні блок-схеми, до коду програми і також наведена інструкція користувачу, в якій поясняється як використовувати програму.
Четвертий розділ, це розділ в якому були виконані розрахунки собівартості програми.
С приводу використання мови програмування Assembler, що на даний час є не компетентним, бо для створення таких простих програм, уходить багато часу і сил, коли уже на іншому язиці програмування, більш високого рівня, все значно простіше і більш компетентно.
Список використаних джерел
1. Абашев А.А., Жуков И.Ю., Иванов М.А., Метлицкий Ю.В., Тетерин И.И. Ассемблер в задачах защиты информации - М.: КУДИЦ-ОБРАЗ, 2004.
2. Голубь Н.Г. Искусство программирования на Ассемблере. Лекции и упражнения: - 2-е изд., испр. и доп. - СПб.: ООО «ДиаСофтЮП». 2002.
3. Иврин, Кип. Язык ассемблера для процессоров Intel, 4-е издание.: Пер. с англ. - М.: Издательский дом «Вильямс», 2005.
...Подобные документы
Основні блоки персонального комп'ютера та їх значення. Варіанти організації внутрішньомашиного інтерфейсу. Функціональна схема мікропроцесору. Види запам'ятовуючих пристроїв. Послідовність роботи блоків комп'ютера. Основні зовнішні та внутрішні пристрої.
курсовая работа [346,8 K], добавлен 05.01.2014Поняття та призначення технології скрінкастінгу. Огляд програм та сервісів для запису відео з екрану монітора. Основні концепції створення додатків у середовищі Wіndows. Особливості написання програм у середовищі Delphі. Програмна реалізація системи.
дипломная работа [8,5 M], добавлен 22.10.2012Системний блок як корпус, який містить основні компоненти персонального комп’ютера. Коротка характеристика головних зовнішніх та внутрішніх пристроїв персонального комп’ютера. Послідовність операцій при обтиску та обробленні роз'єму "витої пари".
лабораторная работа [1,7 M], добавлен 02.06.2011Загальна характеристика катодно-променевих моніторів, типи масок, принципи управління електронно-променевою трубкою. Історія розвитку рідкокристалічних моніторів та особливості їх роботи. Технологія виробництва плазмових екранів та їх параметри.
реферат [31,1 K], добавлен 31.01.2011Поняття комп'ютеру як універсальної технічної системи, спроможної виконувати визначену послідовність операцій певної програми. Програмні засоби, за допомогою яких визначають основні характеристики ПК. Утіліта EVEREST Home Edition 1.51, її призначення.
контрольная работа [403,0 K], добавлен 01.12.2009Постановка задачі: створення списку співробітників інституту. Аналіз мов програмування та вибір мови PascalABC.Net - 32-розрядної програми, яка може працювати на сучасних версіях Windows. Опис функцій та процедур, реалізації інтерфейсу користувача.
курсовая работа [277,8 K], добавлен 25.06.2015Синтез на основі поведінкового опису, виконаний розробниками на мові програмування класу HDL, як перспективний напрямок проектування цифрових пристроїв. Опис RISC-архітектури комп'ютерів. VHDL-модель прототипу RISC-комп'ютера. Основні модулі моделей.
курсовая работа [1,1 M], добавлен 23.01.2014Режими роботи з таблицями в Microsoft Access. Основні способи створення таблиць. Вимоги до технічних характеристик комп'ютера. Створення бази даних. Техніка безпеки та основні правила при виконанні робіт на комп'ютері. Порядок архівування роботи.
реферат [1,5 M], добавлен 23.12.2010Позитивні якості та недоліки плазмових моніторів. Сутність плазмового ефекту. Технологія капсульованого колірного фільтра та інші ноу-хау. Побудова та принцип роботи рідкокристалічного монітора. Функціональні можливості LCD-дисплеїв з активною матрицею.
реферат [22,0 K], добавлен 24.11.2010У наш час Windows ХР є найбільш сучасною настольною операційною системою. Windows ХР, яка займає серед настольних комп’ютерів долю у 84,56 % вимагає досить потужного комп’ютера. Порівняння інтерфейсу операційних систем Windows 98 та Windows ХР.
реферат [4,4 M], добавлен 24.06.2008Види списків, особливості їх створення, застосування та можливості удосконалення роботи користувача персонального комп’ютера. Керування та аналіз груп споріднених даних у середовищі програми MS Excel 2010. Опрацювання спискiв за допомогою форми даних.
дипломная работа [2,7 M], добавлен 18.06.2014Склад сучасного настільного персонального комп'ютера. Системне та прикладне програмне забезпечення. Взаємодія користувача з операційною системою MS DOS. Програмна оболонка Norton Commander. Операційна система Microsoft Windows. Основні поняття та команди.
курсовая работа [1,3 M], добавлен 18.05.2013"Критичні" комплектуючі комп'ютера. Процесор та оперативна пам'ять. Швидкість роботи комп'ютера. Порівняння швидкодії комплектуючих з роботою еталонних моделей. Стратегія і варіанти модернізації. Функціональні особливості побудови материнської плати.
курсовая работа [4,6 M], добавлен 24.06.2013Історія розробки та розвитку комп'ютерного редактора, його основні функції. Порядок запуску Adobe Photoshop 7.0 та роботи з ним, опис його інтерфейсу та інструментів малювання. Алгоритм створення графічних зображень у програмі, формати їх збереження.
курсовая работа [1,1 M], добавлен 06.04.2014Загальні відомості про мову VHDL, яка використовуються для проектування цифрових електронних систем та створення програмного продукту, її елементи. Способи структуризації програми, принципи об’єктно-орієнтованого програмування, засоби налагоджування.
курсовая работа [34,9 K], добавлен 09.06.2010Характеристика предметної області: FTP-server для ОС Windows. Шляхи встановлення FTP-серверу в ОС Windows. Опис мови та середовища програмування, компонентів та функцій програми. Аналіз реалізованої програми FTP-клієнта. Тестовий запуск та опис програми.
курсовая работа [1,7 M], добавлен 22.06.2017Історія появи перших обчислювальних машин. Пам'ять як один із основних елементів комп'ютера, що дозволяє йому нормально функціонувати. Значення внутрішньої пам'яті комп'ютера з позиції зберігання інформації. Аналіз зовнішньої пам’яті та її модернізація.
реферат [24,4 K], добавлен 27.12.2011Розробка служби Win32, яка перевантажує комп’ютер не відразу, а через деякий час для завершення початої роботи. Типи та функції служб Windows, їх встановлення і керування. Створення, видалення та запуск служб. Опис функцій програмної реалізації служби.
курсовая работа [41,4 K], добавлен 29.06.2010Комп'ютерні телекомунікації як перспективна технологічна основа дистанційної освіти. Класифікація засобів створення електронних підручників. Основні етапи розробки мультимедійного комплексу. Опис різних пакетів для створення підручників як веб-сторінок.
курсовая работа [1,4 M], добавлен 26.02.2013Програмування під DOS мовою низького рівня Асемблер (ASM-86). Функції програми: виведення в довільне місце екрану тексту заданого стилю та кольору, змінення шрифту, розміру літер та напрямку їх виводу. Алгоритм програми, системні вимоги до комп'ютера.
курсовая работа [47,4 K], добавлен 03.06.2009