ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Розробка програмного забезпечення вирішення нелінійних рівнянь
         

     

    Інформатика, програмування

    Зміст

    Завдання на курсовійпроект ................................................. .....................

    ............ 3

    Введення. .................................................. .................< br>..............................................< br>1. Теоретична частина ................................................ .....................

    .....................< br>1. Особливості взаємодії разноязикових модулів ...............................

    1. Проблеми комплексування ................................................ .......

    ...............

    2. Установка середовища ................................................ ..................

    ......................... .

    3. Узгодження типів ................................................ ..................

    .....................

    4. Обмін даними ................................................ ................

    ........................... ...

    5. Інформаційний адаптер ................................................ ................

    .............< br>2. Алгоритмічна частина ................................................ .....................

    ..................< br>1. Математичне рішення задачі ............................................... ....................

    ...
    3. Розробка структури програмногозабезпечення ...........................................< br>3.1. Побудова структури програмногозабезпечення .......................................< br>3.2. Опис діалогу зкористувачем ................................................. ..............< br>...
    Заключний ................................................. ..................< br>..............................................< br>Список використанихджерел ................................................. .................< br>.
    Додаток А. Лістингпрограми ................................................. ..................< br>...
    Додаток Б. Результати роботипрограми ................................................. ...

    ЗАВДАННЯ

    на курсову роботу

    з дисципліни: Основи технології програмування

    Тема: Розробка програмного забезпечення вирішення нелінійнихрівнянь.

    Завдання: Методом ітерацій розв'язати систему рівнянь з точністю (-
    2.Для зображень кривої (X12 + X22) = 2 * (X12-X22) "Лемніската Бернулі",скористатися полярними координатами. X2-sinX1 = 0

    X12 + X22-1 = 0 (X1 (0)
    Студент групи ІС-992: загонів Д.В.
    Перелік питань, що підлягають розробці
    1.Методом ітерацій розв'язати систему рівнянь і побудувати Лемніската Бернулі.

    Об'єм роботи (графічні роботи, розрахунки та інше)

    Курсова робота складається з xxx сторінок, містить 4 ілюстрацій,

    2 додатки, 1 таблицю

    Термін захисту курсової роботи 16 грудня 1998
    Керівник

    Е.І. Воробйов

    підпис, ініціали, прізвище

    Завдання прийняв студент

    Д.В. Загонів

    підпис, ініціали, прізвище

    ВСТУП

    Мова програмування Pascal, розроблений Н. Віртом ще в 1970 р. вданий час отримав досить широке розповсюдження. Цьому сприялийого простота, зручне представлення всіх структурних конструкцій,придатність для використання як у навчальних цілях, так і для написаннясерйозних програм, високий ступінь модульності, що спрощує процеспрограмування, результативність автоматичної перевірки складенихпрограм на їх коректність через розвинений інститут типів даних, високашвидкодію трансляторів, ефективність об'єктних модулів.
    Розглянутий мова програмування добре пристосований для вирішенняширокого кола завдань. Він містить потужні засоби структурування даних.

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

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

    1. ТЕОРЕТИЧНА ЧАСТИНА

    1. Особливості взаємодії разноязикових модулів

    1. Проблеми комплексування

    Розглянемо комплексування модулів, складених на різних мовахпрограмування. Для САПР найбільш вживані універсальні мовиасемблера, ФОРТРАН, ПЛ/1. Особливості операцій з разноязиковимі модулямиможна звести до двох груп:

    1) особливості встановлення програмного середовища і виклику модуля;

    2) розходження в реалізації типів і структур даних, що виявляються приобмін інформацією між модулями.

    1.1.2. Установка середовища

    При передачі управління з модуля, складеного на одній мові, вмодуль, складений на іншій мові, потрібно встановлювати програмнусередовище, що представляє собою сукупність програм обробки переривань іаварійних завершений, установки регістрів, що містять адреси областей,використовуються протягом виконання завдання та ін Тому приорганізації виклику модулів, складених на різних мовах, необхіднокожного разу встановлювати середу викликається модуля. Розглянемо процесвстановлення середовища в мовах асемблера, ФОРТРАН, ПЛ/1.

    У алгоритмічній мові ФОРТРАН середу встановлюється модулем IBCOM,що знаходиться в бібліотеці компілятора. Крім установки середовища цей модульвиконує операції вводу-виводу і ін Для програм, що не містять операційвводу-виводу і переривань, середа може не створюватися. Виклик модуля,складеного мовою ФОРТРАН, і установка середовища цієї мови представляютьсобою різні, самостійні дії.

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

    Для модулів, написаних на мові асемблера, компілятор середовища нестворює. Щоб забезпечити нормальне функціонування програми дляобробки програмних переривань і аварійних ситуацій, користувач повиненсам включити в свою програму відповідні кошти, наприкладдії SPIE, STAE, ABEND та ін Механізм завдання середовища визначаєтьсятакож користувачем, який розташовується в будь-якому місці вихідного модулядії завдання середовища.

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

    Засоби передачі управління алгоритмічних мов проілюстрованів таблиці./1/
    | Алгорітміче-ські | Характеристика засобів передачі управління |
    | мови | |
    | | Засіб | Етап з'єднання | Тип завантаження |
    | ПЛ/1 | CALL | Компіляція | Попередньо |
    | | | Редагування | За запитом |
    | Асемблера | ATACH | | |
    | | LINK | Виконання | |
    | | FETCH | | |
    | | XCTL | | |
    | | CALL | Компіляція | Попередньо |
    | | | Редагування | За запитом |
    | ФОРТРАН | CALL | Компіляція | Попередньо |
    | | Виклик | | |
    | | Функції | Редагування | За запитом |

    1.1.3. Узгодження типів

    Різні мови програмування володіють різними наборами типівданих. Можливі відносини між типами даних наведені нижче.

    До еквівалентним типів даних відносяться типи даних, для якихвнутрішнє уявлення, згенероване компіляторами, ідентично.

    До побічно-еквівалентним типів даних відносяться типи даних, дляяких немає еквівалентного опису, але за допомогою наявних мовнихзасобів їх можна поєднати.

    До нееквівалентним типів даних відносять дані, які неможливозвести один до одного за допомогою наявних мовних засобів.

    Розглянуті алгоритмічні мови розрізняються не тільки типами, атакож завданнями довжини окремих елементів даних. Довжина елеметов данихможе вказуватися явно чи неявно (за замовчуванням). Крім того, необхідновідзначити наступні організаційні особливості кожної мови:

    1) зворотне розташування масивів (в мові ФОРТРАН масиврозташовується в пам'яті по стовпцях, а в мові ПЛ/1 - за строками);

    2) наявність інформаційного вектора для змінних в мові ПЛ/1
    [оскільки в мові ПЛ/1 пам'ять під дані може виділятися динамічно,компілятор генерує інформаційний вектор, який містить відомості прозмінних, рядках і масивах (адреса, довжина, кількість елементів тощо)]і має різний вигляд для різних структур даних;

    3) вирівнювання полів, що визначається тим, що компілятормає в своєму розпорядженні дані у відповідності з описами, вирівнюючи їх, якщонеобхідно, на межі слів і полуслов./1/

    1.1.4. Обмін даними

    Найбільш поширений спосіб обміну даних за допомогою операторів CALLі LINK. При цьому здійснюється формування списку переданих даних ісписку їх адрес. Адреса списку адрес передається викликається програмічерез регістр 1.

    Іншим поширеним способом обміну даними євикористання загальних областей - статично розподіл ділянок пам'яті, дояким може звертатися будь-який модуль незалежно від того, якою мовоювін написаний. Пам'ять під загальну область відводить редактор зв'язків під часстворення завантажувального програми із сукупності загальних областей окремихмодулів. Кожен з розглянутих мов має кошти для опису загальнихобластей: у мові ФОРТРАН - оператор COMMON, у мові ПЛ/1 - оператор STATIC
    EXTERNAL, у мові асемблера - оператор COM./1/

    1.1.5. Інформаційний адаптер

    З урахуванням вешеізложенного для здійснення універсальногоінформаційного інтерфейсу необхідно:

    1) провести контроль наявності вихідних даних для кожного окремогомодуля;

    2) задати відсутні вихідні дані;

    3) перевірити відповідність типів, структур іпослідовності даних аналогічним характеристикам даних, прийнятим увикликається модулі;

    4) перетворити дані у разі невідповідності типів;

    5) забезпечити передачу даних викликається модулю ввідповідно до типу обміну;

    6) організувати середу, що визначається мовою програмуваннямодуля;

    7) перевірити резулбтати;

    8) виконати зворотне преобразоаваніе даних у вигляд,прийнятий для зберігання проміжних результатів;

    9) зберегти результати роботи модуля для подальшоговикористання;

    Реалізація описаних функцій виконується програмою-адаптером.
    Інформаційне забезпечення адаптера (малюнок 1.1) містить у собі таблиціописувачів модулів, наборів даних, область обміну.

    МФ - модулі формування; МВВ - модулі введення; Тондо - таблицяописувачів наборів даних; ТОМ - таблиця описувачів модулів; пус --програма установки середовища; ТОВх - таблиця описувачів входів; МВив - модулівисновку; ОВ - області обміну;

    Малюнок 1.1 - Інформаційне забезпечення програмного адаптера

    Таблиця описувачів модулів містить: ім'я модуля; ідентифікатор мовипрограмування; ознака типу обміну, прийнятий у модулі (параметри, загальніобласті, набори даних); кількість параметрів, а ім'я описувачів входівмодуля, а ім'я сфері обміну, а ім'я описувача набору даних.

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

    Таблиця описувачів наборів даних містить: ім'я набору, а ім'я DD -пропозиції; тип організації; метод доступу; формат і довжина блоку; атрибутизапису.

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

    Для організації області обміну необхідно:

    1) здійснити аналіз даних, які будуть циркулювати в середовищіпрограмного комплексу у складі САПР з метою визначення однакових зазмістом змінних;

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

    3) кожної змінної, що зустрічається лише один раз, присвоїтиунікальне ім'я, що відображає семантику величини (локальні змінні);

    4) кожної глобальної і локальної змінної поставити у відповідністьтип і структуру, що є найбільш інформативними;

    Зазначена сукупність змінних складає галузь обміну, вякій зберігається поточне значення кожної з змінних в найбільшінформативному вигляді.

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

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

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

    2. Алгоритмічна частина

    2.1. Математичне рішення задачі

    Нехай дані два рівняння з двома невідомими

    F1 (x, у) = 0, (1)

    F2 (x, у) = 0 дійсні корені яких потрібно знайти з заданим ступенемточності.

    Ми припустимо, що система (1) допускає лише ізольовані корені.
    Число цих коренів і їх грубо наближені значення можна встановити,побудувавши криві F1 (x, у) = 0; F2 (x, у) = 0 і визначивши їх координати точокперетину.

    Нехай х = x0; у = y0-наближені значення коренів системи (1), отриманіграфічно або яким-небудь іншим способом (наприклад, грубою прикидками).

    Дамо ітераційний процес, що дозволяє за певних умовуточнити дані наближені значення коренів. Для цього представимо систему
    (1) у вигляді x = (1 (x, y), y = (2 (x, y)

    і побудуємо послідовні наближення за наступними формулами:

    x1 = (1 (x0, y0); y1 = (2 (x0, y0);

    x2 = (1 (x1, y1); y1 = (2 (x1, y1);

    (3)

    xn +1 = (1 (xn, yn);yn +1 = (2 (xn, yn)

    Якщо ітераційний процес (3) збігається, тобто існують межі

    (= lim xn і (= lim yn,

    n ((n ((

    те, припускаючи функції (1 (x, y) і (2 (x, y) безперервними і переходячи до межів рівності (3) загального вигляду, отримаємо: lim xn +1 = lim (1 (xn, yn)

    n ((n ((lim xn +1 = lim (2 (xn, yn)

    n ((n ((

    Звідси (= (1 ((,(); (= (2 ((,()

    тобто граничні значення (і (є корінням системи (2), аотже, й системи (1). Тому, взявши достатньо велике числоітерацій (3), ми отримаємо числа xn і yn, які будуть відрізнятися від точнихкоренів x = (і y = (системи (1) як завгодно мало. Поставлена задача, такимчином, виявиться вирішеною. Якщо ітераційний процес (3) розходиться, то їмкористуватися не можна.

    Теорема. Нехай в деякій замкнутій околиці R (a (x (A;b (y (B) (мал.) є одна і тільки одна пара коренів x = (і y = (системи (2).
    Якщо: 1) функції (1 (x, y) і (2 (x, y) визначені і безперервно диференційовних в
    R; 2) початкові наближення x0, y0 і всі наступні наближення xn, yn
    (n = 1,2 ...) належать R; 3) в R виконані нерівності

    (((1/(x (+((( 2/(x ((q1

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status