рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Технологія програмування

Технологія програмування - раздел Образование, CТРУКТУРИ ДАНИХ ТА АЛГОРИТМИ R   Процес Створення Програми Для Рішення Будь-Якої Практичної За...

 

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

Ø формалізація та створення технічного завдання на розробку;

Ø розробка алгоритму рішення задачі;

Ø написання, тестування, налагодження програми та розробка документації;

Ø отримання рішення при виконанні закінченої програми.

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

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

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

Висхідне проектування ґрунтується на даних. Програмування для будь-якої прикладної області - це обробка даних. У програмах можна винаходити які завгодно мудрі і витончені алгоритми, але в реального програмного виробу завжди є Замовник. У Замовника є вхідні дані, і він хоче, щоб за ними були отримані вихідні дані, а якими засобами це забезпечується – його не цікавить. Таким чином, задачею будь-якого програмного виробу є перетворення вхідних даних у вихідні. Інструментальні засоби програмування надають набір базових типів даних і операції над ними. Інтегруючи базові типи, створюються більш складні типи даних і визначаються нові операції над складними типами. Отримані на першому кроці композиції типи даних використовуються як базовий набір для наступного кроку, результатом якого будуть ще більш складні конструкції даних і ще більш потужніші операції над ними і т.д. В ідеалі останній крок композиції дає типи даних, що відповідають вхідним і вихідним даним задачі, а операції над цими типами реалізують у повному обсязі задачу проекту. Не можна протиставляти одне проектування іншому, дотримуючись тільки одного обраного підходу (висхідного чи спадного). Реалізація будь-якого реального проекту завжди ведеться зустрічними шляхами, причому, з постійною корекцією алгоритмів за результатами розробки структур даних і навпаки.

Ще одним надзвичайно продуктивним технологічним прийомом, пов'язаним зі структуризацією даних, є інкапсуляція. Суть її полягає в тому, що сконструйований новий тип даних оформляється таким чином, що його внутрішня структура стає недоступною для програміста – користувача цього типу. Програміст, що використовує цей тип даних у своїй програмі (у модулі більш високого рівня), може оперувати з даними цього типу тільки через виклики процедур, визначених для цього типу даних. Новий тип даних представляється для нього у вигляді "чорного ящика", для якого відомі входи та виходи, але вміст – невідомий і недоступний. Інкапсуляція надзвичайно корисна і як засіб подолання складності, і як засіб захисту від помилок. Перша мета досягається за рахунок того, що складність внутрішньої структури нового типу даних і алгоритмів виконання операцій над ним виключається з поля зору програміста-користувача. Друга мета досягається тим, що можливості доступу користувача обмежуються лише свідомо коректними вхідними точками, отже, знижується й імовірність помилок.

Мови програмування блокового типу (Pascal, C) мають досить розвинуті можливості складання програм з модульною структурою і керування доступом модулів до даних та процедур. Розширення ж мов додатковими можливостями конструювання типів і їхньої інкапсуляції робить мову об¢єктно-орієнтованою. Сконструйовані і цілком закриті типи даних представляють собою об'єкти, а процедури, що працюють з їхньою внутрішньою структурою – методи роботи з об'єктами. При цьому в значній мірі змінюється і сама концепція програмування. Програміст, який оперує об'єктами, вказує в програмі, що потрібно зробити з об'єктом, а не ЯК це треба робити.

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

 

– Конец работы –

Эта тема принадлежит разделу:

CТРУКТУРИ ДАНИХ ТА АЛГОРИТМИ R

CТРУКТУРИ ДАНИХ ТА АЛГОРИТМИ R... Поняття структур даних та алгоритмів P Збереження інформації P...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Технологія програмування

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

CТРУКТУРИ ДАНИХ ТА АЛГОРИТМИ
  Без розуміння структур даних та алгоритмів неможливо створити будь-який серйозний програмний продукт. Тому головна задача дисципліни “Обчислювальні алгоритми та структури даних"

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

Збереження інформації
У цифрових обчислювальних машинах можна виділити три основних види запам'ятовуючих пристроїв: Ø pегістрова; Ø oперативна; Ø зовнішня пам'ять.

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

Класифікація структур даних
  Класифікація структур даних виконується за декількома ознаками. 1). За способом представлення: фізична та логічна. Поняття "фізична ст

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги