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

Розділ 3. Загальні|загальні| принципи програмування

3.1. Вимоги до професії

Один із законів Паркінсона наголошує: “У кожній відладженій програмі є, як мінімум, одна помилка. Правило зберігає силу після виправлення цієї помилки”.

Це не жарт - це гірка правда. Але, є різні типи помилок|та|є різні . Відомий анекдот програміста:

- Майкрософт для нової класної версії Windows| випустив документ виявлених помилок. Там їх ціла тисяча!

- А в моїй програмі тільки єдина помилка!

- Ну, і як?

- Та|так|, програма не працює!

Важка|тяжка| ти, доля|доля| програміста! Персональний комп'ютер – його основний ‘робочий інструмент’. Цей інструмент складний і вимагає від майстра певних здібностей і досить|достатньо| обширних|величезних| спільних|загальних| і спеціальних знань. Отже, про професійні здібності і спільні|загальні| знання.

По-перше, програміст повинен мати добру пам'ять. Ця якість необхідна для запам'ятовування імен змінних і ‘одномоментного бачення|видіння|‘ як можна більшого фрагмента |налагоджувати| програми, що відладжується.|зразок|

По-друге, програміст повинен мати чітке логічне мислення, вміти в думках імітувати роботу відладжуваної програми, працювати ‘замість комп'ютера’. Досвідчений програміст, створивши черговий блок програми, в думках відтворює роботу цього блоку, в думці отримує оцінки результатів роботи блоку, а потім запускає на виконання програму із знов створеним блоком і порівнює очікувані результати з фактичними. Швидкість мислення істотної ролі не відіграє. Часто ‘тугодуми’ досягають більших успіхів, ніж ‘скорострільні вундеркінди’, за рахунок своєї методичності, працьовитості і цілеспрямованої завзятості.

По-третє, програміст має бути спостережливим|спостережливим|. Ця якість дуже допомагає тоді, коли не вдається логічно ‘обчислити|вичисляти|’ причину помилки. В цьому випадку програміст варіює вхідними даними або намагається|пробує| використовувати інший варіант програмного|програмового| блоку. Якщо він спостережливий|спостережливий|, то може відмітити|помітити| реакцію, яку він не чекав як відгук на такі варіації. “…Я змінив|зраджував| знак другого операнда, а результат змінився замість очікуваної|сподіваної| одиниці на мінус одиницю! Що б це означало|значило|?.” Далі до аналізу ситуації підключається апарат логічного мислення.

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

І, нарешті|урешті|, по-четверте, висококласний програміст повинен володіти наочною|предметною| галуззю знань, для якої розробляє свої програми:

  • диференціальні рівняння, чисельні методи, моделювання – для фахівців|спеціалістів|-програмістів в області досліджень і проектування процесів і апаратів, льотно-космічної техніки, хімічної технології, енергетики і тому подібне|тощо|

  • теорія ймовірності|ймовірності| і математична статистика – для фахівців|спеціалістів| – програмістів в області зв'язку, транспорту, торгівлі і тому подібне|тощо|

  • теорія теплопередачі, технічна термодинаміка, теорія опору матеріалів, технічне креслення -| для фахівців|спеціалістів|-програмістів в області теплоенергетики, будівництва, машинобудування

  • хімія, процеси і апарати хімічної технології – для фахівців|спеціалістів|-програмістів в області проектування і управління хіміко-технологічними процесами

  • теормеханіка, аеро- і гідродинаміка, – для фахівців|спеціалістів|-програмістів в області авіатехніки, водного транспорту, газотранспорту і т.п.|тощо|

  • економіка і бухгалтерський облік|урахування| – для фахівців|спеціалістів|-програмістів в області менеджменту і т.п.|тощо|

Незалежно від спеціальності по диплому, на всьому протязі професійної кар'єри програміст має бути готовий освоювати все нові і нові галузі знань. Одним словом, “Вік живи - вік навчайся ”!