Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Програми. Програмування





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

Розрізняють такі типи програм:

• текст програми, написаний мовою програмування і призна­чений для компіляції чи інтерпретації;

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

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


• мікропрогра'ми, які вбудовані в пристрої (мікропрограмне
керування пристроєм).

Запис програм

Першим програмістам доводилося писати команди в «машин­них кодах», тобто так, як сприймає їх машина. Наприклад, додавання двох чисел виглядало так: 15 0127 2677 3656. Число 15 -це код операції, яка означає «додати два деяких числа і суму записати в пам'ять». Числа 0127, 2677 і 3656 - це номери комірок пам'яті, в яких зберігаються числа. Зміст команди такий: додати число, яке записане в комірці номер 0127, з числом, записаним в комірці з номером 2677, а результат розташувати в комірку з номером 3656.

Пізніше, щоб полегшити процес запису програм, створили систему умовних позначень (мову програмування) для запису команд і внутрішню програму, яка вже сама «перекладала» команди в машинні коди. Тепер приклад додавання двох чисел виглядає так: с = а + b. Перед виконанням команди машина кожній змінній вкаже номер комірки, де знаходяться дані. Знак «=» означає записати (або присвоїти).

Аналогічно записуються більш складні операції, які повинен виконати комп'ютер. Наприклад, перевірку умови аi > m можна записати англійською: if a[i]>m then m=a[i].

Такий підхід вимагає існування:

• чіткої системи умовних позначень для запису команд зрозумілою людині мовою (мова програмування);

• програми-посередника, яка перекладатиме команди мовою, зрозумілою машині.

Команди, записані мовою програмування називають операто­рами або вказівками. Послідовність таких команд називають текстом програми. Текст програми записують в текстовому файлі.

Програми-посередники

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


Програма-інтерпретатор завжди працює спільно з пер­
винним текстом програми. Вона інтерпретує (тлумачить)
кожну вказівку програми і відразу її виконує (тобто файл на
машинній мові не створюється). '

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

Мови програмування

В наш час машинні коди не використовуються, а кожна програма записується мовою програмування. Існує багато мов програмування, але всі вони, як правило, містять засоби описування даних, арифметичні оператори (подібні с = а + b), засоби керування і організації циклів (подібні if), засоби введення і виведення інформації. Мови програмування подібні принципами організації програм, але різні за синтаксисом. Наприклад, алгоритм пошуку максимального числа, записаний різними мовами:

BASIC PASCAL С

m=0 m=0, m=0;

FOR i=l TO n for i=l to n for(i=0;i<n;i++)

IF a(i)>m THEN if a(i)>m then {if(a[i]>m m=a[i];;}

m=a(i) m:=a(i);

NEXT і

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

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


Слова і синтаксис мов програмування придумуються штучно. Наприклад, програміст володіє мовою С і знає, що складені оператори виділяти треба дужками {...}. В Pascal, наприклад,

такими дужками вже виділяються ремарки, а складені оператори треба писати begin (початок) і end (кінець). Ніяка попередня підготовка і логіка не допоможе програмісту здогадатися, що дужки мають іншу функцію, тому що синтаксис мови, як і взагалі мову Pascal, придумав швейцарський вчений Н. Вірт.

Всі мови програмування можна поділити на:

• алгоритмічні (Basic, Pascal, С та ін.);

• логічні (Prolog);

• об'єктно-орієнтовані (Smalltalk та ін.).

Особливе місце займають мови високого рівня (COBOL, Ada, Smalltalk, Prolog ін.). Кожній команді мови високого рівня відповідають або декілька команд в машинних кодах, або ціла підпрограма в машинних кодах. Раніше вважалося, що та чи інша мова повинна використовуватися в тій галузі, для якої вона була створена (наприклад, FORTRAN - для математичних розрахунків, COBOL - для комерційних розрахунків, С - для системного програ­мування і т. д.). Бурхливий розвиток комп'ютерних технологій призвів до того, що ці мови стали універсальними.

Наприклад, мова програмування BASIC створювалася як універсальна мова для початківців. Перші версії мали невелику кількість найнеобхідніших команд і передбачали лише режим інтерпретації. Але сучасні варіанти мови BASIC не лише не посту­паються можливостями «грандам» (типу С), а й інколи перевер­шують їх. Наприклад, Visual Basic використовується в суперсу­часних системах, які базуються на технології «клієнт-сервер».

Фірма Microsoft використовує Visual Basic® для розширення функцій своїх програмних продуктів. В Microsoft Office передбачена універсальна мова програмування Visual Basic for Applications (VBA - Visual Basic для додатків). За допомогою VBA можна створювати власні програмні модулі та власні програмні інтерфейси для офісних програм Word, Excel, Access.

Середовище програмування

Мова програмування завжди пов'язана з середовищем програ­мування. Середовище програмування (система програмування, СП) - це комплекс програмних засобів,' за допомогою яких створюється програма, наприклад, мовою Basic або мовою С.


Є мова програмування BASIC і є середовище програмування QuickBASIC (на базі мови BASIC); є мова Pascal і є середовище Turbo Pascal. Системи програмування мають, як правило, по декілька версій.

Сучасне програмування

Для створення сучасних програм широко використовуються об'єктно-орієнтовані мови четвертого покоління (4GL - forth-generation language). На відміну від класичних мов третього покоління (Pascal, С), які мають певних авторів і реалізуються в різних системах програмування, мова 4GL невід'ємна від середовища розробки і фірми, яка випускає інструментальні засоби на основі даної мови.

Мови Pascal і С в оригіналі є процедурними мовами. Мова 4GL працює з об'єктами (вікно, командна кнопка, перемикач тощо) і базується на понятті «подія-повідомлення». Об'єкт «чекає» повідомлення; отримавши повідомлення, реагує на нього. Тому мову 4GL ще називають непроцедурною мовою.

Сучасне програмування суттєво відрізняється від технології розробки програм для старих комп'ютерів. Серед відносно нових особливостей і напрямків цієї технології:

• використання об'єктно-орієнтованих мов;

• візуальне програмування (тобто побудова екранної форми за допомогою миші із готових напівфабрикатів);

• швидка розробка додатків (RAD - Rapid Applications Development);

• бази даних для одночасної роботи багатьох користувачів;

• програмування з використанням функцій API Windows (Applications Programming Interface - інтерфейс прикладного програмування) тощо.

Помилки в програмах

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

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


програма не може виявити. Наприклад, якщо дата народження 1982 рік, а користувач увів 1882, то програма попередить користувача, що введено «сумнівний» рік народження. Але якщо користувач увів 1983 рік, то програма не зафіксує це як помилку.

Користувачі і програмісти помиляються частіше, ніж машина. У комп'ютера можуть бути технічні поломки, як у будь-якого технічного апарата, але справний комп'ютер не помиляється.

Основи взаємодії людини і комп'ютера

Основою взаємодії людини і комп'ютера є два принципи:

• принцип угод;

• принцип мовчазних угод.

Угода визначає набір функцій, які будуть виконуватися конкретною програмою, і варіанти виконання кожної функції. Мовчазна згода визначає певний варіант виконання деякої функції, якщо користувач не визначив іншого. Наприклад, збереження документа Word з мовчазної згоди - файл буде мати ім'я, складене із слів, з яких починається документ і запишеться у папку «Мои документы»; збереження за угодою - користувач має змогу надати будь-яке ім'я файлу, але не може використовувати ряд символів (*: / \ " < > |) та літер (і, ї, є, г) і більше ніж 255 літер і символів та зберегти в будь-яку папку, крім «Мой компьютер».

Комп'ютер приймає будь-які угоди, запропоновані їй програ­містом (в межах своїх можливостей), але і порушення угод не допускає. Для зміни угод треба змінювати програму. Користувачеві треба погоджуватися з тим, що програма працює не так, як він би бажав. А для задоволення своїх потреб спробувати знайти інший програмний засіб. Наприклад, за допомогою текстового редактора Блокнот не можна розмістити в тексті таблицю або малюнок, тому що це не передбачено угодами цього текстового редактора.

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

Проблеми розв'язування задач

Існують задачі, для розв'язування яких неможливо використа­ти комп'ютер, а саме через такі проблеми:


• проблема відсутності алгоритму;

• проблема вибору;

• проблема доцільності.

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

З проблемою вибору людина зустрічається продовж всього життя. В дитинстві, наприклад, доводиться вибирати як витратити одержані від мами кошти - купити морозиво чи шоколад або сходити на атракціон. Підлітку доводиться вирішувати проблему: купити відеомагнітофон чи мобільний телефон, а якщо мобільний телефон, то який — Samsung чи Motorola. Дорослі вирішують ще більше проблем: коли і як робити ремонт будинку, де відпочити, яку машину придбати тощо. Складні задачі вибору виникають в науці, виробництві, техніці, торгівлі, - наприклад, як розрізати великий лист фанери для виготовлення ящиків, як оптимізувати мережу магазинів тощо.

При розв'язуванні задач вибору треба чітко сформулювати варіанти, обмеження і мету вибору, тобто критерії оптимальності вибору. Для розв'язування багатьох задач вибору існують чіткі математичні методи. В таких задачах критерієм оптимальності можуть бути мінімум або максимум цільової функції, яка набуває різні значення залежно від варіантів вибору при заданих обмеженнях. Наприклад, мінімум відходів при розрізанні фанери або максимум торгового прибутку при розташуванні мережі магазинів. Але як виміряти «максимум задоволення» від вибору між морозивом, шоколадом і атракціоном або «максимум щастя» при виборі нареченої (нареченого) із декількох варіантів?

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

Комп'ютер - не самоціль, і його використання потребує певних затрат. Людина завжди порівнює користь від застосування комп'ютера і вартість його послуг. Наприклад, невигідно використовувати машину для ведення телефонного довідника, в якому декілька десятків номерів або використовувати лазерний принтер для розмноження порожніх бланків.


 

Date: 2015-07-01; view: 396; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию