Обчислення визначених інтегралів за формулами прямокутників, трапецій та Сімпсона (86421)

Посмотреть архив целиком













Курсова робота

на тему:

Обчислення визначених інтегралів за формулами прямокутників, трапецій та Сімпсона.



Зміст


Вступ

1. Огляд літератури

2. Формулювання задачі

3. Алгоритм розв’язку задач

4. Опис програми на мові Turbo С

5. Інструкція користувачеві програми

6. Контрольні приклади та аналіз їх реалізацій

Висновок

Список використаної літератури

Додатки



Вступ


Обчислювальну техніку останніми разами широко застосовують у всіх сферах діяльності людини. Вона стала каталізатором науково–технічного процесу. Історія розвитку обчислювальної техніки починається з 1945 року, коли американський вчений Фал Нейман та інші визначили основні принципи побудови ПК (так звані основні принципи програми управління).

У 1946 р. в Пенсильванському університеті було побудовано першу машину – “Машину 1-го покоління”. Найхарактернішою ознакою цих машин було використання електричних ламп. Потім з’явилися зовнішні запам’ятовуючі пристрої – пристрої вводу інформації. Лампові машини мали великі габарити, у них була мала ємкість оперативної пам’яті, було слабке математичне забезпечення. Пізніше з’явилися напівпровідникові пристрої. Ці машини були більш надійними, мали менші габарити. На початку 60-тих років була розроблена технологія виробництва інтегральних схем. Це вирішило проблеми надійності і цінноссті машин ПК.

З 1968 р. Починається ІІІ покоління ПК. Використовується постійна пам’ять. Важливим кроком в цьому поколінні є використання дисплея, з’явилась уже клавіатура. З середини 80-тих років поряд з машинами ІІІ-го покоління з’являються машини ІV-го покоління. Характерною особливістю ІV-го покоління є використання інтегральних систем.

Обчислювальні машини можна використовувати ефективно лише за умови глибокого знання чисельних методів математики.

Бурхливий розвиток ПК сприяв широкому процесу математизації науки, техніки і господарства в цілому. Саме розробка і застосування математичних методів розв’язування прикладних задач на базі ПК є предметом сучасної прикладної математики.

Математика – одна з найдавніших наук – виникла з практичних потреб людини.

Застосування швидкодіючих ПК для розв’язування складних прикладних задач сформувало новий спосіб проведення теоретичних досліджень на базі математичних моделей – обчислювальний експеримент.

Виділяють 5 етапів технологічного циклу обчислювального експерименту, побудова математичної моделі задачі, розробка методу розв’язування математичної моделі, програмування, розрахунки на ПК, аналіз результатів розрахунків і застосування.

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

Відомо топологічною задачею є проблема 4-рьох фарб. Ця гіпотеза була підтверджена в 1976 р. американським математиком Аппелем і Хакеном за допомогою ПК. В даний час відбувається швидкий розвиток усіх галузей науки. Людство прагне зрозуміти себе та світ навколо себе. Тому виникають сотні нових задач, які зводяться до використання числових методів. В багатьох випадках для їхнього розв’язання використовується чисельне інтегрування, а саме методи прямокутників, трапецій, Сімпсона. Тому важливим і актуальним є розроблення програмного забезпечення, яке дозволяє виконувати обислення за допомогою цих формул.

Метою даної курсової роботи є практичне закріплення, поглиблення та розширення знань і вмінь, набутих мною при вивченні дисциплін “Основи програмування” та “Проблемно-орієнтовані мови програмування”.

Тема курсової роботи – “ Обчислення визначених інтегралів за формулами прямокутників, трапецій та Сімпсона”.



1. Огляд літератури


Підходячи до реалізації питань курсової роботи , не можливо обійтись без таких апаратних можливостей та структур як масиви, функції, структури, символьні рядки, та файли. Тому давайте ознайомимось із структурними можливостями мови програмування С/С++.

Масиви. Масив – це набір елементів одного і того ж типу. Елементи зберігаються в пам’яті у вигляді послідовності, а доступ до них відбувається з допомогою цілочислового індекса. В мові С перший елемент масиву має індекс 0, звідси випливає , що кінцевий елемент масиву , який зберігає n елементів. Має індекс n-1 . Контроль за правильним використанням індексів покладається на програміста, оскільки ні компілятор , ні виконуюча програма не відстежують за цим процесом. Працюючи з масивами ми стикаємось із великим об’ємом інформації. Досить часто масиви пропонують найкращі способи маніпуляції , зручні та ефективні. Ім’я масиву є адресою його першого елемента. Звертання до елементів масиву відбувається через індексну або вказівникову форми.

Структура оголошення масиву :

<тип > <ім’я >[розмір];

Приклад:

int ar[10][6];

int temp[n][m];

void main (void)

{

int temp[n][m];

temp[0][0]=2;

ar[0][0]=2;

};

Ім’я масиву є адресою його першого елемента.

Функції. Функція – це самостійна одиниця програмного коду,яка розроблена для вирішення конкретної задачі, яка супроводжується обов’язково ( ). Уміло володіючи її можливостями у нас в руках опиняється потужний програмний інструмент.Користуючись аргументами для передачі значень функцій , а для повернення результату реалізації функція використовує ключове слово return . Якщо функція повертає якесь значення , тип якого не int , ми повинні описати тип функції в описі даної функції в розділі оголошень викликаючи функцій. Якщо ми хочемо , щоб функція реагувала на змінні що викликаються функцією , потрібно використовувати адреси і вказівники.

Стандарт ANSI С пропонує прототипні функції , що є потужним покращенням мови С, яке дозволяє компіляторам перевіряти чи правильно вказана кількість типів аргументів при виклику функції. Функція С здатна викликати саму себе , що називається рекурсією. Деякі задачі можна вирішувати мотодом рекурсії, але цей метод бути не ефективним з точки зору використання пам’яті і часу.

Використовуючи функції ми одержуємо деякі переваги такі як :

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

Функції мають наступну структуру:

< тип результату > < ім’я функції >( <оголошення формальних параметрів>)

{ < опис внутрішніх змінних >;

<операції тіла функції>

*******************************

}

<тип результату>;

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

Приклад:

int Min3(int a, int b, int c)

{

int min;

min=a

return min

};

Символьні рядки. Символьні рядки – це один із найкорисніших і важливих типів даних в мові С. Бібліотека функцій в мові С пропонує широкий спектр функцій для читання і запису, копіювання, порівняння, комбінування, пошуку і виконання інших корисних операцій із рядками. Символьний рядок – це один із різновидів масиву типу char, який суттєво вирізняється тим, що в кінці кожного символьного рядка, як такого стоїть ескейп-символ «нуль-символ(\0)». Із символьних рядків можна утворювати складні синтаксичні структури. До елементів рядка можна звертатись двома способами : через індекси або через вказівники. Використовуючи вказівники ми оперуємо чудовим інструментом доступу до елементів, який набагато ефективніший за індексну форму. Використовуючи вказівники ми можемо звертатись до елементів не тільки як до символа, але й як адресу , на яку вказує вказівник.

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

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

Функції gets( ) i puts( ) ,відповідно, читають рядок вводу і показують рядок виводу. Вони являються частиною сімейства stdio.h.

Бібліотека С включає в себе декілька функцій опрацювання рядків. В умовах дії стандарту ANSI C ці функції оголошені в заголовному файлі string.h .Дана бібліотека містить декілька функції опрацювання символів; вони оголошені в заголовному файлі ctype.h . Існують функції перетворення символьного представлення чисел відповідно в тип int , long , double як atoi( ), atol( ), atof( ), і зворотні strtol( ), strtoul( ), strtod( ).

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

Struct <тег > {

<тип 1> <поле1>;

<тип 2 > <поле 2>

…………………….

< тип К > <поле К>

};



де < ТЕГ > --- унікальне поле структури , яке визначає дану структуру .

Поля структур --- це елементи з яких складається структура , кожне поле має свій тип . Тип поля --- довільний , простий або складений допустимий для С.

Розмір структури (обсяг оперативної пам’яті) , яку займає структура буде більший (рівний) за розмір усіх її полів. Тому реальний розмір структури визначають операцією size of(<назва структури>) . Шаблони структур фактично створюють новий користувацький тип, але для них не виділяється місце в оперативній пам’яті. Пам’ять виділяється тільки для структурних змінних, які можна оголошувати разом зі шаблоном , або окремо , посилаючись на шаблон.

Для ідентифікації шаблону і оголошення змінних даного типу можна використовувати дескриптори. Операція приналежності (.) дозволяє получити доступ до окремих елементів структури через використання міток шаблона структури.

Якщо у нас є вказівник на конкретну структуру, для доступу до окремого елемента структури ми можемо використати вказівник і складену операцію приналежності (->) замість імені і операції крапка. Здобути адресу структури можна з допомогою &. На відміну від масивів , ім’я структури не може бути адресою структури.

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

struct book {

char avtor[60];

char name[120] ;

int year ;

} book1,book2;

Файли. Файли являються частиною теперішніх комп’ютерних систем. Вони використовуються для зберігання програм, даних, кореспонденції, форм, графічних даних та багато іншої інформації.Будучи програмістом , ми повинні знати , як писати програми, які створюють, записують та читають файли .

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






Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.