Курсовая работа: Обчислення визначених інтегралів за формулами прямокутників, трапецій та Сімпсона
Структури. Однією із найважливіших дій при
розробці програми являється вибір підходящого способу подання даних. В багатьох
випадках простих змінних або навіть масивів недостатньо. Мова С дозволяє
розширити можливості представлення даних за допомогою змінних типу структури.
Структура в мові С являється досить гнучким засобом в своїй базовій формі, вона
надає можливість представлення різнотипних даних, при чому дозволяє створювати
нові форми. Структури починаються зарезервованим словом struct і мають таку
структуру :
Struct <тег > {
<тип 1> <поле1>;
<тип 2 > <поле 2>
…………………….
< тип К > <поле К>
};
де < ТЕГ > --- унікальне поле
структури , яке визначає дану структуру .
Поля структур --- це елементи з яких
складається структура , кожне поле має свій тип . Тип поля --- довільний ,
простий або складений допустимий для С.
Розмір структури (обсяг оперативної
пам’яті) , яку займає структура буде більший (рівний) за розмір усіх її полів.
Тому реальний розмір структури визначають операцією size of(<назва
структури>) . Шаблони структур фактично створюють новий користувацький тип,
але для них не виділяється місце в оперативній пам’яті. Пам’ять виділяється
тільки для структурних змінних, які можна оголошувати разом зі шаблоном , або
окремо , посилаючись на шаблон.
Для ідентифікації шаблону і оголошення
змінних даного типу можна використовувати дескриптори. Операція приналежності
(.) дозволяє получити доступ до окремих елементів структури через використання
міток шаблона структури.
Якщо у нас є вказівник на конкретну
структуру, для доступу до окремого елемента структури ми можемо використати
вказівник і складену операцію приналежності (->) замість імені і операції
крапка. Здобути адресу структури можна з допомогою &. На відміну від
масивів , ім’я структури не може бути адресою структури.
Традиційно функція , орієнтована на роботу
зі структурими , використовують вказівники на структури в якості аргументів.
Сучасна версія С допускає передачу структур в якості аргументів, використання
структур в якості повертаючи значень і виконання операції присвоєння над
структурами одного і того ж типу. Подібним синтаксисом володіють об’єднаня. Прикладом
який демонструє структуру може бути :
struct book {
char avtor[60];
char name[120] ;
int year ;
} book1,book2;
Файли. Файли являються частиною теперішніх
комп’ютерних систем. Вони використовуються для зберігання програм, даних,
кореспонденції, форм, графічних даних та багато іншої інформації.Будучи
програмістом , ми повинні знати , як писати програми, які створюють, записують
та читають файли .
Часто у нас виникає необхідність в
програмах , які можуть зчитувати інформацію із файлу або записувати результати
виконання у файл. Однією із таких форм обміну даними між програмою і файлом є
пере адресація файлу.
Мова С пропонує більш потужніший метод
обміну даними з файлами. Він дозволяє відкривати файли із програми , а тоді з
допомогою спеціальних функцій вводу-виводу виконає читання і запис в цей файл.
Файл являє собою іменований розділ пам’яті
, зазвичай розміщений на диску. Однак для операційної системи файл являється
більш складним об’єктом.
С розглядає файл як неперервну
послідовність байтів, кожен з яких може бути прочитаний індивідуально. Це
відповідає структурі файлу в операційній системі Unix, з якої мова С бере свій
початок. Оскільки інші операційні системи не відповідають цій моделі , стандарт
ANSI С пропонує два способи представлення файлів: текстове представлення і
двійкове представлення.
Програма на мові С розглядає ввід як деякий
потік даних. Джерелом цього потоку може бути файл, пристрій вводу(клавіатура)
або навіть вивід в іншу програму . Програма на С трактує вивід як потік байтів
, місцем призначення яких може бути файл, пристрій відображення і тому подібне
. Як С інтерпретує вхідний або вихідний потік байтів, залежить від того , яку
функцію вводу-виводу ми використовуємо. Програма може читати і зберігати
байти без змін , з другої сторони , вона
може інтерпретувати байти як символи , які в свою очередь , можна розглядати як
звичайний текст, або текстове представлення чисел. Аналогічно для двійкового
значення без зміни або перетворення в текст або текстове представлення чисел.
Якщо є числові , які необхідно зберегти , а
потім використати без втрати точності їх представлення , використовують
двійковий режим і функції fread( ) i fwrite( ). Якщо зберігати текстову
інформацію і хочемо створити файл , який легко переглядається з допомогою
звичайних текстових редакторів, скористаємося текстовим режимом і функціями getc(
) i fprint( ).
Щоб отримати доступ до файлу , потрібно
створити вказівник на файл (типу FILE *) і пов’язати його з конкретним ім’ям
файлу.
C підтримує операції введення/виведення
даних через відповідні набори бібліотечних функцій , при чому вони можуть бути
реалізовані на трьох рівнях :
А). високий --- це так звані
потокоорієнтовані операції буферизованого вводу/виводу , їх прототипи містяться
у заголовному файлі «stdio.h», які є дуже мобільні.
Б). низький --- (не підтримуваний
стандартом) базується на операціях MS DOS , прототипи містяться у заголовном
уфайлі <io.h>.
В). консольний --- базується на засобах
BIOS , прототипи в заголовному файлі < conio.h>.
Важливо пам’ятати , що С сприймає поняття кінця
файлу і виконує читання файлу вциклі до тих пір доки не досягне кінця файлу.
Функції вводу у мові С не знаходять кінець файлу до того часу , доки не
попробують читати символи , що йдуть за кінцем файлу.
Ввід і вивід файлів буферезований .
Стандартний пакет вводу-виводу автоматично створює буфер для вводу і виводу, що
прискорює передачу даних. Функція fopen( ) відкриває файл для стандартного
вводу-виводу і створює структури даних , які пизначені для зберігання
інформації про файл і буфер. Повертає вказівник на цю структуру даних , а сам
вказівник використовується іншими функціями. Розрізняють декілька режимів
виконання для функції fopen( ):
“r”—відкриття текстового файлу для читання;
“w”—відкриває текстовий файл для запису,
відрізаючи довжину існуючого файлу до нуля, або створює файл якщо такого не
існує;
“a”--- відкриває текстовий файл для запису,
добавляючи дані в кінець існуючого файлу, або створює файл якщо такого не
існує;
“r+”--- відкриває текстовий файл для
обновлення;
“w+”--- відкриває текстовий файл для
обновлення, виконавши спочатку обтинання файлу до нульової довжини , якщо він
існує , або створює файл , якщо той ще не існує;
“a+”--- відкриває текстовий файл для
обновлення, добавляючи дані в кінець існуючого файлу, або створює файл якщо
такого не існує,але при цьому можна читати весь файл , однак записана
інформація добавляється в кінецьфайла;
Функції feof( ) і ferror( ) повідомляють
про причини невдалого завершення операцій вводу-виводу.
До задач числових методів відносяться
прикладні задачі, розв’язок яких містить числову інформацію. Вони зводяться до
математичрих обчислювальних методів. Виділяють наступні етапи розв’язування
задач числових методів, які наведені [1,2]:
побудова математичних моделей (математичне
формулювання задачі) - охоплює найважливіші для даної задачі сторони, явища;
вибір методу розв’язування – для
найпростіших задач знаходять аналітичний розв’язок, складніші розв’язуються
наближеними методами, зокрема числовими;
алгоритмізація процесу – складання
алгоритму розв’язку задач (якщо задача розвязується на ПК, складається
програма);
виконання обчислення на ПК чи вручну;
аналіз результатів.
Числові методи для розв’язання
різноманітних задач почали широко використовуватися в 50-х рр. ХХ століття,
коли починається розвиток комп’ютерної техніки. Громіздкі обчислення з появою
електронно-обчислювальних машин перестали бути такими складними, адже їх
виконувала машина.
Формула прямокутників.
Ідея формули прямокутників полягає в тому,
що на малому відрізку [x ;x +h] площа криволінійної трапеції
наближено рівна площі прямокутника з основою (x ;x +h) і висотою рівною ординаті
будь-якої точки ,яка належить відрізку [x ;x +h].
(1)
В залежності від вибору точки отримаємо
різновидності формул прямокутників (1).
Розіб’ємо відрізок [a;b] на n рівних частин
точками a=x ;
x ; x , причому x =x +h; x =x +2h; x =x+nh.
(2)
На кожному відрізку [x ;x +h] замінемо відповідну
криволінійну трапецію на прямокутник висоту якого можна визначити по різному.
Страницы: 1, 2, 3, 4, 5 |