Автоматизація розрахунків легкового автомобілю
ЗМІСТ
ВСТУП
1. Розробка програми для розрахунку диференціала автомобіля
1.1 Теоретичні відомості
1.2 Умова та формалізація задачі
1.3 Примітки і довідкові дані
1.4 Розробка алгоритмів розв’язання задачі
1.5 Вибір типу та структури оброблюваних даних
1.6 Програмування на мові Pascal 7.0
1.7 Перевірка програми виведення оброблених результатів
2. Розробка програми для розв’язання систем лінійних рівнянь
2.1 Теоретичні відомості
2.2 Умова та формалізація задачі
2.3 Вибір типу та структури оброблюваних даних
2.4 Розробка алгоритмів розв'язання задачі
2.5 Програмування задачі на мові Pascal
2.6 Текст програми розв'язку системи лiнiйних рiвнянь методом Гауса
2.7 Аналіз отриманих результатів
3. Розробка програми для обрахунку та графічного відображення зовнішньої швидкісної характеристики легкового автомобіля
3.1 Теоретичні відомості
3.2 Необхідні початкові дані
3.3 Формалізація задачі
3.4 Розробка алгоритмів розв’язання задачі
3.5 Вибір типу та структури оброблюваних даних
3.6 Програмування задачі на мові програмування pascal 7.0
3.7 Відлагодження програми
ВисновОК
ПЕРЕЛІК ПОСИЛАНЬ
ВСТУП
Невже можливо уявити на сьогоднішній день виробництво продукції високої якості без впровадження електронно-обчислювальної техніки? Хіба доцільно зараз вести мову про вихід українського товару на міжнародний ринок торгівлі, коли на заводах встановлене обладнання за часів СРСР. Тому важливим завданням для інженерів на сьогоднішній день є освоєння повної автоматизації виробництва, що в свою чергу вимагає досконало володіти програмуванням, мати поглибленні знання з точних наук та уміло поєднувати одне з іншим, що і є метою даної курсової роботи. Тільки в такому разі продукція зможе конкурувати з провідними виробниками світу.
Тому я вважаю, що дана робота дасть нам змогу зрозуміти яким вимогам повинен відповідати інженер нашого покоління через наступних п’ять років, а також є одним із важливих етапів підготовки висококваліфікованих спеціалістів в галузі інженерії.
1 Розробка програми для розрахунку ДИФЕРЕНЦІАЛА автомобіля
1.1 Теоретичні відомості
Що таке диференціал. Диференціал - це пристрій, що розподіляє потік потужності від двигуна до інших елементів трансмісії. У автомобілі з приводом на одну вісь використовується тільки один диференціал, міжколісний, в повнопривідному їх цілих три - два міжколісних і міжосьовий. Розглянемо для прикладу класичний диференціал (на відміну від тих, що блокуються, його називають "відкритим" або "вільним"). Він встановлюється в картері головної передачі і отримує момент, що крутить від її веденої шестерні. У коробці диференціала розташовані конічні шестерні-сателіти. Вони входять в зачеплення з шестернями, закріпленими на піввісях, а ті, в свою чергу, обертають ведучі колеса. При русі по рівній і прямій дорозі кутові швидкості коліс однакові, і сателіти не обертаються навколо своєї осі. Під час повороту або руху по нерівностях, коли колеса правого і лівого борта проходять різний шлях, сателіти починають обертатися і перерозподіляти момент, що крутить.
Існує проста формула, що відображає зв'язок між частотами обертання коробки диференціала і напіввісевих шестерень. Якщо через а1 і а2 визначити частоти обертання напіввісевих шестерень, а через а - частоту обертання коробки диференціала, то: а = (а1+а2)/2. Формула показує, що якщо одне з коліс автомобіля нерухомо, то інше колесо обертається з подвоєною частотою. Якщо одне з двох ведучих коліс попадає на слизьку поверхню дороги (мокрий асфальт, масляні плями, лід), опір його обертанню різко падає, меншає і зчеплення з любим, а значить, колесо не спроможний мати необхідну силу тяги. Таке колесо почне швидше обертатися і пробуксовувати. До іншого ведучого колеса, що має достатнє зчеплення з любим, буде підводитися такий же момент, що крутить, як і до того, що буксує. Маючи можливість утворити велику силу тяги, друге колесо не зможе цього зробити тому, що диференціал передасть йому тільки половину моменту, що крутить від головної передачі. Якщо опір руху автомобіля перевищить силу тяги у небуксуючого колеса, то машина не зможе рухатися. Частота обертання буксуючого колеса різко зросте, а друге колесо зупиниться. Виникне буксування автомобіля. Спроба водія підвищити силу тяги на колесах за рахунок збільшення подачі палива приведе тільки до збільшення частоти обертання одного з коліс. У такій ситуації виявляється істотнв вада звичайного диференціала, що знижує проходимість автомобіля як на слизьких дорогах, так і на грунтах, що чинять великий опір каченню коліс (пісок, сніг, бездоріжжя). Примусове блокування На автомобілях, призначених для руху по бездоріжжю, доводиться встановлювати диференціали спеціальних конструкцій. Часто застосовуються диференціали з примусовим блокуванням. У них водій за допомогою спеціального приводу (частіше за все пневматичного) зупиняє на час обертання сателітів, і колеса автомобіля починають обертатися з однаковою швидкістю. Потрібно врахувати, що автомобіль із заблокованим диференціалом на хвилястій дорозі витрачає більше палива і у нього відбувається інтенсивний знос шин. Як тільки взаємний поворот коліс на загальній осі із заблокованим диференціалом буде більше, ніж це допускає пружна деформація шин, станеться буксування коліс, що продовжується доти, доки яке-небудь колесо на нерівності не відірветься від дороги. Це говорить про те, що водій не повинен забувати вимикати блокування диференціала після подолання важкої дільниці. У ряді конструкцій передбачене його автоматичне розблокування або обмеження можливості включення блокування по швидкості. Диференціали, що само блокуються. Для спрощення процесу управління застосовуються так звані диференціали, що самоблокуються. У цей час, в основному, використовують чотири види блокування: дискова (фрикційна, підвищеного тертя, LSD), в’язкостна (вискомуфти) і гвинтова (черв'ячна). У самих сучасних розробках використовуються електронні системи контролю прослизання коліс, засновані на застосуванні датчиків обертання і використанні штатних гальм (як правило, ці системи поєднуються з антиблокувальними і протипробуксовочними). Дискове блокування Існують дві найбільш характерні конструкції диференціалів з фрикційними муфтами. У першому застосовують одну, у другому - дві муфти. У першому випадку фрикційна дискова муфта 1 введена між однією з напіввісей і коробкою диференціала. Бронзові диски встановлені в шліцах гільзи 2, пов'язаної з коробкою диференціала, стальні диски сидять на шліцах напіввісі 3. Диски притискаються один до одного пружинами 4. Коли обидва колеса випробовують однаковий опір, весь диференціал обертається як одне ціле і тертя в муфті 1 відсутнє.
Друга конструкція представляє з себе диференціал підвищеного тертя з подвійними фрикційними муфтами, що набув широкого поширення на американських автомобілях. У цій конструкції хрестовина замінена двома окремими, пересічними під прямим кутом осями сателітів. Вісі мають можливість переміщатися одна відносно іншої як в осьовому, так і в кутовому напрямі, для чого їх кінці мають скоси відповідно А і Б, якими вони спираються на коробку диференціала. Крім того, в диференціал введені проміжні чашки, так само як і напіввісеві шестерні, одягнуті на шліци напіввісей. При необертаючихся сателітах зусилля до напіввісей передається як і в простому диференціалі. При обертанні сателітів останні будуть зсувати кінцеві скоси осей так, що зусилля на фрикційну муфту, що передається через чашку, буде збільшуватися для відстаючої напіввісі і меншати для осі, що обертається швидше. При цьому величина підгальмовуючого моменту не буде постійною, як в диференціалі з однією дисковою муфтою, а буде пропорційна моменту, що передається колесами.
Для нормальної роботи такого диференціала потрібно використання спеціального трансмісійного масла для LSD або відповідних добавок до звичайного масла. Крім того, згодом виникає необхідність регулювання через знос дисків.
В’язкостне блокування. Принцип його дії такий же, як у дискової. Гідравлічна муфта складається з великого числа дисків з липкими робочими поверхнями. Завдяки властивостям особливої в'язкої рідини на силіконовій основі тверднути при нагріві, диски передають момент, що крутить в залежності від різниці частот обертання вхідних і вихідних валів. Нагрів відбувається, коли одна напіввісь починає обертатися швидше за іншу. Характерною особливістю конструкції є те, що у разі тривалого буксування коліс блокуюча муфта з в'язкою рідиною працює спочатку м'яко, а потім відбувається значне зростання ефективності блокування. У затверділому силіконі диски отримують жорстке зачеплення і напіввісі блокуються. Віскомуфти не вимагають обслуговування і вважаються вельми надійними, однак для їх тривалої роботи необхідно збереження повної герметичності пристрою.
Гвинтове блокування Принцип її дії такий: в звичайному режимі гвинти (або черв'яки, як їх називають через характерну форму) вільно обкачуються навколо центральної шестерні. У разі зміни моменту гвинти прослизають в крайнє положення і фіксуються в ексцентричних пазах. Коли момент вирівнюється, гвинти повертаються в початкове положення. Момент спрацювання гвинтового блокування визначається профілем гвинтів. Такі диференціали мало схильні до зносу (термін служби зіставимо з терміном коробки або класичного диференціала), а масло використовується звичайне трансмісійне.
Кулачкове блокування Таке блокування спрацьовує при виникненні різниці в швидкостях обертання коліс. Розглянемо приклад реалізації диференціала від компанії Tractech. У корпусі диференціала між парами корончатих шестерень встановлені поворотні кулачки. У звичайних умовах вони не беруть участь в роботі, але, як тільки одне їх коліс починає пробуксовувати (тобто, обертатися відчутно швидше за інше), кулачки повертаються і пари шестерень входять в зачеплення, забезпечуючи тим самим повне блокування. Блокування вимикається, коли буксуюче колесо припинить прослизання. Цей тип диференціалів також досить довговічний і не вимагає спеціальних масел
Особливості керування Управління автомобілем, обладнаним самоблокуючимся міжколісним диференціалом має деякі особливості. Зокрема, автомобіль в повороті на слизькому покритті може володіти надмірної повертаємістю, при дуже інтенсивному розгоні на змішаному покритті можливе відведення в сторону від передбачуваної траєкторії і т.д. Особливо це стосується розробок, що пропонуються як додаткове обладнання третіми фірмами. Однак грамотне використання властивостей таких диференціалів дозволяє упевнено переміщатися в складних дорожніх умовах, і істотно підвищує проходимість поза дорогами. Міжосьовий диференціал і його блокування При відсутності міжосьового розділення потужності (міжосьового диференціала або механізму, що відключає) необхідно відключити передній міст, щоб стало можливо обертання передніх і задніх коліс з різними кутовими швидкостями. За умовами руху потрібно, щоб колеса як переднього і заднього мостів, так і колеса одного моста могли обертатися з різною частотою і пройти різні шляхи. Особливо характерне це для поворотів: передні колеса при повороті проходять більшу відстань, ніж задні. На зміну шляху коліс впливають різні чинники: ковзання шин, їх кути відведення, тиск повітря, навантаження на колеса, кінематика підвіски. При цьому очевидно, що співвідношення між шляхами, прохідними колесами переднього і заднього мостів, також міняється під час руху. Ця обставина виключає можливість застосування різних передавальних чисел в головних передачах мостів для компенсації різниці прохідних шляхів.
Колеса різних осей автомобіля, кінематичне жорстко пов'язані одне з іншим, мають при обертанні однакові кутові швидкості. На твердій поверхні дороги при русі автомобіля з приводом на всі колеса (при відсутності міжосьового диференціала) можуть виникнути умови, при яких колеса різних осей будуть старатися рухатися з різними лінійними швидкостями, а жорсткий механічний зв'язок між ними стане перешкодою до досягнення цього. При прямолінійному русі описане явище може бути викликане, наприклад, різницею радіусів кочення пов'язаних між собою коліс. Кочення коліс в цьому випадку повинно супроводитися відносним переміщенням точок майданчика контакту шини по поверхні дороги (з ковзанням або буксуванням). Подібне ж можливо і при однакових радіусах кочення, але при русі по дорозі з нерівною поверхнею або на повороті. Виникаюче в цих умовах ковзання або 6yксовaние шин супроводитися збільшеним їх зносом, зносом механізмів трансмісії і непродуктивною витратою енергії двигуна на рух автомобіля. Для того щоб колеса котилися без шкідливих супроводжуючих явищ в трансмісії, крім диференціалів міжколісних встановлюють диференціали міжосьові. Проте, в умовах внедорожнього руху автомобіль може позбавитися рухливості в той момент, коли колеса одного з мостів втратять зчеплення з любим і почнуть буксувати. У такій ситуації диференціал звичайного типу спромогтися не передати необхідну для руху величину моменту, що крутить заднім колесам, що спираються на твердий грунт. Для уникнення цього на внедорожниках встановлюють міжосьові диференціали з примусовим блокуванням. Прикладом подібного конструктивного рішення може служити "Нива" ВА3-2121, оснащена роздаточною коробкою з міжосьовим диференціалом, що примусово блокується. Блокуванням користується водій автомобіля для подолання важкопрохідний дільниці дороги. При поверненні на шосе міжосьовий диференціал необхідно розблокувати. У сучасних конструкціях, крім механічного, застосовуються і інші приводи (пневматичний, гідравлічний, електричний), при цьому сам процес включення зводиться до простого натиснення кнопки на панелі. Наступним кроком стала поява самоблокуючихся міжосьових диференціалів. Принципи їх роботи схожі з міжколісними, але умови і задачі трохи інші. Так, при поворотах машини таким, що забігає відносно корпусу диференціала завжди буде вал, що передає момент на керовану вісь, що визначається кінематикою повороту машини з колісною формулою 4х4. Виходячи з цього, при забіганні привідний вала керованого моста коефіцієнт блокування бажано мати невисоким, а при забіганні (буксуванні) некерованого моста - дещо більшим. Такий диференціал називають самоблокуючимся з несиметричними блокуючими властивостями. У цей час на легкових внедорожниках широко використовуються міжосьові диференціали з автоматичним блокуванням за допомогою гідравлічної муфти з в'язкою рідиною. Вони забезпечують оптимальну силу тяги у всіх умовах руху, в зв'язку з чим відпадає необхідність в примусовому блокуванні. Є у них і інші переваги. Цей вузол оберігає трансмісію від перевантаження, яке може виникнути, наприклад, при раптовому ударі колеса. Диференціал, що автоматично блокується гідравлічною муфтою з в'язкою рідиною, чуйно реагує на стан дорожньої поверхні і забезпечує більш рівномірну швидкість автомобіля, а також зменшує імовірність його заблокування. При гальмуванні міжосьовий диференціал такого типу запобігає блокуванню колеса одного моста відносно колеса іншого, що приводить до втрати стійкість. До того ж перерозподіл надмірної гальмової сили з однієї пари коліс на іншу значно скорочує гальмовий шлях і зберігає повний контроль над машиною. Розглянемо, як працює міжосьовий диференціал фірми, що автоматично блокується GKN з гідравлічною муфтою. Зміна моменту тертя в ній розрахована так, щоб при маневруванні на поверхні з хорошими зчіпними властивостями ( асфальт, бетон і т.д.) був малий момент тертя між вихідними валами. З зростанням різниці частот їх обертання тертя між ланцюгами муфти значно зростає. Блокування за допомогою муфти з в'язкою рідиною відбувається точно відповідно до розподілу моменту, що крутить в міжосьовому диференціалі.
Випробування підтвердили, що розподіл моментів між передніми і задніми колесами забезпечує майже нейтральну повертаємість автомобіля. По легкості водіння і безпеки повнопривідні автомобілі з таким приводом перевершують навіть передньопривідні легкові автомобілі. Однак, при всіх достоїнствах такого роду блокування, необхідно відмітити, що фактичне включення блокування після початку пробуксовки коліс, характерне для віскомуфти, істотно знижує шанси на успішне подолання серйозних внедорожніх перешкод у вигляді в'язкого грунту, бруду або снігів, оскільки колесо, що буксує здатне швидко зариватися. Внаслідок можливостей автомобіля навіть із заблокованим міжосьовим диференціалом може виявитися недостатньо для самостійного виїзду. Передній міст, що Підключається Дуже багато виробників внедорожників використовують схему з переднім мостом, що підключається (так званий part time 4WD). У цьому випадку міжосьовий диференціал, як правило, відсутній, і в режимі повного приводу між мостами встановлюється жорсткий кінематичний зв'язок. Виробники рекомендують підключати передній міст тільки в складних дорожніх умовах, коли колеса схильні до пробуксовки. Тривалий рух в такому режимі по дорогах з твердою поверхнею викликає підвищений знос шин і трансмісії (зокрема, в роздатках з ланцюговою передачею перевантажується ланцюг), підвищену витрату палива, а також погіршує керованість на високих швидкостях. Для уникнення цих негативних наслідків багато які конструкції передбачають не лише відключення переднього моста, але і від'єднування передніх коліс від напіввісей. Для цього застосовуються колісні хаби (муфти вільного ходу), які можуть бути автоматичними і ручними, роз'єднання напіввісей за допомогою електричного або пневматичного приводу і т.д.
1.2 Умова та формалізація задачі
Для розв'язку задачі необхідно визначити:
коефіцієнт довжини зубця λ;
модуль m>n>;
тиск на вісь сателіта σ>1>;
тиск на вісь сателіта в коробці диференціала σ>2>;
тиск на торці півосьової шестерні σ>3>;
порівняти розрахункові значення тисків з допустимими
Для розвязку задачі ми повині слідувати за певною послідовністю формул. Тому для розвязку цеї задачі ми використаємо такі формули:
Модуль:
(1.1)
довжина твірної початкового конуса, мм;
к>6> - коефіцієнт, що враховує блокування диференціала;
- число зубців півосьової шестерні;
q- число сателітів;
у - коефіцієнт форми зубця;
половина кута при вершиш початкового конуса, град;
Тиск на вісь сателіта в шестерні:
(1.2)
r - відстань від площини, що проходить через вершину ділильною конуса, до середині опорної поверхні осі в коробці диференціала, мм
l - довжина посадочної поверхні осі в коробці диференціала, мм
d- діаметр осі сателіта, мм
Тиск на вісь сателіта в коробці:
(1.3)
r-відстань під площини, що проходить через вершину ділильною конуса, до середини довжини зубця сателіта, мм;
d- діаметр опорної поверхні сателіта, мм;
Тиск на торець сателіта:
(1.4)
Тиск на торці сателіта:
(1.5)
d і d- менший і більший діаметри контактних поверхонь півосьової шестірні з корпусом диференціала.
Коефіцієнт форми зубців:
(1.6)
1.3 Примітки і довідкові дані
Коефіцієнт форми зубця у визначається за табл. 5 з використанням еквівалентного числа зубців:
; (1.7)
Де
(1.8)
Для шестерінчастих диференціалів k>б>=0,15.
Для розрахунків прийняти: d>2>≈1,1·r d>3>≈1,15·r>1>
Допустимі напруги і тиски [σ]=550 МПа, a [σ>1>]=[σ>2>]=[σ>3>]=[σ>4>]=70 МПа
Таблиця 1.1 Вихідні дані
№ п/п |
M>e max>, H·м |
L>n>, мм |
b,мм |
z>n> |
z>0> |
q |
r, мм |
r, мм |
l, мм |
l>1>, мм |
d, мм |
d>1>, мм |
u>0> |
u>1> |
u>p> |
u>m> |
2 |
170 |
47,2 |
20 |
16 |
10 |
2 |
35 |
55 |
23 |
15 |
20 |
50 |
4,55 |
3,115 |
- |
0,9 |
1.4 Розробка алгоритмів розв’язання задачі
0100090000032a0200000200a20100000000a201000026060f003a03574d4643010000000000010008410000000001000000180300000000000018030000010000006c0000000000000000000000350000006f0000000000000000000000f9420000f041000020454d4600000100180300001200000002000000000000000000000000000000c0120000131a0000cb0000001b010000000000000000000000000000f818030078510400160000000c000000180000000a0000001000000000000000000000000900000010000000d20f0000940f0000250000000c0000000e000080250000000c0000000e000080120000000c00000001000000520000007001000001000000a4ffffff00000000000000000000000090010000000000cc04400022430061006c006900620072006900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100dc5f11001000000040631100c060110052516032406311003860110010000000a8611100246311002451603240631100386011002000000049642f31386011004063110020000000ffffffffcc32f700d0642f31ffffffffffff0180ffff0180efff0180ffffffff0000000000080000000800004300000001000000000000005802000025000000372e9001cc00020f0502020204030204ef0200a07b20004000000000000000009f00000000000000430061006c00690062007200000000000000000000611100dee32e31e88d0832606411006c6011009c3827310a00000001000000a8601100a8601100e87825310a000000d0601100cc32f7006476000800000000250000000c00000001000000250000000c00000001000000250000000c00000001000000180000000c0000000000000254000000540000000000000000000000350000006f0000000100000055558740a0ab87400000000057000000010000004c000000040000000000000000000000d20f0000940f000050000000200012833600000046000000280000001c0000004744494302000000ffffffffffffffffd30f0000940f0000000000004600000014000000080000004744494303000000250000000c0000000e000080250000000c0000000e0000800e000000140000000000000010000000140000000400000003010800050000000b0200000000050000000c0285028f02040000002e0118001c000000fb020300010000000000bc02000000cc0102022253797374656d0000000000000000000000000000000000000000000000000000040000002d010000040000002d01000004000000020101001c000000fb02f1ff0000000000009001000000cc0440002243616c6962726900000000000000000000000000000000000000000000000000040000002d010100040000002d010100040000002d010100050000000902000000020d000000320a0e00000001000400000000008e028602206f0900040000002d010000040000002d010000030000000000
Рис 1.9 Блок-схема до поставленої задачі
З складеною Блок-схемою була написана програма .
1.5 Вибір типу та структури оброблюваних даних
В процесі розв’язку поставленої задачі оброблюються дані типу, що наводиться у таблиці 2.1.
Таблиця 1.1 – Типи даних, що будуть використовуватись при розробці програми
Тип |
Область значень |
Фізичний формат |
real |
від 2,9×10-39 до 1,7×1038 |
Точність 11-12 розрядів, розмір в байтах – 6 |
integer |
Від -32 768..32 767 (-2..2-1) |
Розмір 2 байта |
1.6 Програмування на мові Pascal 7.0
Program pe4en;
uses crt;
Var M, L,b,z,z0,q,r,r1,ll,l2, d,d1,u,u1,Nm,Mmax,
sig1,
sig2,sig3,sig4,sigx,lamda :Real;
z :integer
{const Mmax=170;L=47.2;b=20;z=16;z0=10;q=2;r=35;r1=55;ll=23;l2=15;d=20;d1=50;
u=4.55;u1=3.115;Nm=0.9;{****Dla nalagodgenna****}
begin
clrscr;
writeln('vedit Mmax');
readln(Mmax);
writeln('dovginy tvirnoi');
readln(L);
writeln('vedit dovginy zybsa');
readln(b);
writeln('4iclo zybsiv satelita');
read(z);
writeln('4iclo zybsiv dicka');
readln(z0);
writeln('4iclo satelitov');
readln(q);
writeln('r --vidstan vid seredini ploshtini do ceredini zyba');
readln(r);
writeln('r1--vidstan do opornoi poverxni');
readln(r1);
writeln('dovgina posado4noi poverxni');
readln(ll);
writeln('dovgina oci v korobsi');
readln(l2);
writeln('daiamtr oci catelita');
readln(d);
writeln('diametr opornoi poverxni');
readLn(d1);
writeln('kofisient U');
readln(u);
writeln('vedit kofisient U1');
readln(u1);
writeln('Nm');
read(Nm);
{Programa}
lamda:=(L-d)/L ;
sig1:=Mmax*u*u1*Nm/(r*q*d*ll);
sig2:=(Mmax*u*u1*Nm)/(r1*q*d*l2) ;
sig3:=((Mmax*u*u1*Nm)/(r*q*3.14*(sqr(d)-sqr(d1))))*1.5*1 ;
sig4:=(2*Mmax*u*u1*Nm)/(r*3.14*(sqr(1.15*r1)-sqr(1.1*r)))*1.5*(z/z0) ;
sigx:=(sig1+sig2+sig3+sig4 )/4 ;
M:=sqrt((3*(1+0.15)*Mmax*u1*u*0.9)/sigx*z*q*L*(1-sqr(lamda)*lamda)*3.14*1) ;
Writeln('modyl=',M:3:3,'MM');
if sigx>550 then
writeln(' *** error ***pomilka peregryska****',sigx);
writeln( 'modul tisku=',sigx:5:2,'Mpa');
{///////////////1//////////////}
if sig1>70 then
writeln ('*** error ***pomilka peregryska****',sig1:5:2,'MPa' );
writeln('tisk na vis satelita v shesterni =',sig1:5:5,'(MPa)');
{//////////////////2//////////////}
if sig2>70 then
writeln ('*** error ***pomilka peregryska****',sig2:5:2,'MPa' );
writeln('tisk na vis satelita v kopobsi =',sig2:5:2,'(MPa)');
{/////////////////3////////////////}
if sig3>70 then
writeln ('*** error ***pomilka peregryska****',sig3:5:2,'MPa' );
writeln('Tisk na torets satelita=',sig3:5:2,'(MPa)');
{///////////////////4////////////////}
if sig4>70 then
writeln ('*** error ***pomilka peregryska****',sig4:5:2,'MPa' );
writeln('tisk na torsi shesterni =',sig4:5:2,'(MPa)');
readln;
end.
1.7 Перевірка програми виведення оброблених результатів Рис1.10
Рис1.10 Вихідні дані
2. Розробка програми для розв’зання систем лінійних рівнянь
2.1 Теоретичні відомості
Одним з основних напрямів використання комп'ютерів є накопичення і обробка даних - різних таблиць, довідників, словників і іншої інформації. Для представлення такої інформації в програмі зручно використовувати масиви. Як правило, обробка таких даних здійснюється поодинці і тому ж закону, для чого зручно використовувати циклічні алгоритми.
Метод Гауса вважається точним методом розв’язання систем лінійних рівнянь. Точність розв’язання залежить у даному випадку тільки від точності виконання математичних операцій
Нехай задано систему
,
, (2.1)
,
або в матричній формі
А*х = b, (2.2)
де
, , , (2.3)
де А – матриця системи,
х – стовпець невідомих,
b – стовпець вільних членів.
Суть методу Гауса полягає в тому, що система (1.1) шляхом послідовного виключення невідомих приводиться до системи з трикутною матрицею, із якої потім визначаються значення невідомих.
В масив ми об'єднуємо кінцеву послідовність компонентів одного типу і даємо їм загальне ім'я. Кожен окремий компонент масиву називається елементом. Кількість елементів називається розміром масиву. Тип елементів визначає тип масиву. Розмір і тип масиву указуються при його описі, причому розмір може бути вказаний або конкретним значенням, або раніше певною константою. Номер елементу називається індексом. Індекси можуть бути цілими позитивними константами або цілими змінними. Щоб звернутися до деякого елементу масиву, потрібно поряд з ідентифікатором масиву в дужках вказати індекс елементу.
Але часто дані можуть бути організовані у вигляді таблиці (матриці), де те, що має в своєму розпорядженні кожну змінну визначається номером рядка і номером стовпця. Наприклад, місце в залі для глядачів задається вказівкою номера ряду і номером місця в цьому ряду. Такі дані зручно описати як двовимірний масив. На відміну від одновимірного масиву кожному елементу двовимірного масиву відповідає пара індексів. Перший індекс - це номер рядка, а другою - номер стовпця, де розташований елемент масиву.
Відмітною особливістю масивів є та обставина, що всі їх компоненти суть дані одного типу (можливо, структурованого); ці компоненти можна легко упорядкувати і забезпечити доступ до будь-якого з них простою вказівкою його порядкового номера.
Для розв’язання систем лінійних алгебраїчних рівнянь можна використати ітераційні методи, які дозволяють визначити вектор невідомих як границю нескінченної послідовності векторів невідомих, що обчислюються за деяким однотипним процесом, який називається процесом ітерації.
Одним із найрозповсюдженіших ітераційних методів, що відрізняється простотою та легкістю програмування, є метод Гауса.
Для збіжності ітераційного процесу достатньо, щоб модулі діагональних коефіцієнтів для кожного рівняння системи були не менше суми модулів решти його коефіцієнтів:
, j=1,2,…n (2.4)
При цьому хоча б для одного рівняння нерівність повинна виконуватись суворо. Ці умови є достатні для збіжності методу, але вони не є необхідними, тобто для деяких систем ітерації збігаються і при порушенні даної умови.
2.2 Умова та формалізація задачі
В результаті виконання програми необхідно розв’язати системи рівнянь
методом Гауса
>>
Задача зводиться до створення масиву методом вводу його з клавіатури та обчислення матриці для знаходження коренів рівнянь.
2.3 Вибір типу та структури оброблюваних даних
В процесі розв’язку поставленої задачі оброблюються дані типу, що наводиться у таблиці 1.1.
Таблиця 2.1 – Типи даних, що будуть використовуватись при розробці програми
Тип |
Область значень |
Фізичний формат |
real |
від 2,910-39 до 1,71038 |
Точність 11-12 розрядів, розмір в байтах – 6 |
З метою збереження і обробки в пам’яті ЕОМ прийняті системи ідентифікаторів, які подані у таблицях 2.1, 2.2 відповідно до методу розв’язання задачі.
Таблиця 2.2 – Прийнята система ідентифікаторів для програмування за методом Гауса
Назва параметра |
Позначення |
|
у формулі |
у програмі |
|
Кількість рядків у системі рівнянь |
n |
N |
Матриця коеф. при невідомих |
А |
A(N, N + 1) |
Вектор вільних членів |
В |
B(N) |
Вектор коренів системи |
Х |
C(i) |
Інші |
– |
i, j, k, Q, s, A1(i) |
2.4 Розробка алгоритмів розв'язання задачі
Рис. 2.1 Варіант блок-схеми №1
Рис. 2.2 Варіант блок-схеми №2
Вибираємо 1-й варіант алгоритму, так як використовуючи цей алгоритм, можна виводити результати роботи у файл, що зручніше для подальшої їх обробки.
2.5 Програмування задачі на мові Pascal
Ведення матриці з файлу
Рис 2.3 Введення з блокноту
2.6 Текст програми розв'язку системи лiнiйних рiвнянь методом Гауса
Program Gaus;
{Програма розв'язку системи лiнiйних рiвнянь методом Гауса}
Const N=5;
Var A:Array[1..N,1..N+1] Of Real;
B:Array[1..N] Of Real;
i,j,k:Integer;
Q:Real;
e,g:Text;
Begin
Assign(e,'gaus.txt');
Reset(e);
For i:=1 To N Do
Begin
For j:=1 To N+1 Do Read(e,A[i,j]);
ReadLn(e);
End;
Close(e);
{Знаходження коренiв}
For i:=1 To N-1 Do
For j:=N DownTo i+1 Do
Begin
Q:=A[j,i]/A[i,i];
For k:=i To N+1 Do
A[j,k]:=A[j,k]-A[i,k]*Q
End;
For i:=N DownTo 1 Do
Begin
B[i]:=A[i,N+1];
For j:=N DownTo i+1 Do
B[i]:=B[i]-A[i,j]*B[j];
B[i]:=B[i]/A[i,i]
End;
assign(g,'rezgauss.txt');
rewrite(g);
{Виведення результатiв}
WriteLn(g,' Програма розв''язку системи лiнiйних рiвнянь методом Гауса');
WriteLn;
WriteLn(g,'Коренi системи:');
For i:=1 To N Do
WriteLn(g,'X',i,'=',B[i]:5:3);
WriteLn;
WriteLn('Для виходу з програми натиснiть ENTER');
ReadLn;
close(g);
End.
2.7 Аналіз отриманих результатів
Рис. 2.4 - Результати розрахунку за методом Гауса:
3 РОЗРОБИТИ ПРОГРАМУ ДЛЯ ОБРАХУНКУ ТА ГРАФІЧНОГО ВІДОБРАЖЕННЯ ЗОВНІШНЬОЇ ШВИДКІСНОЇ ХАРАКТЕРИСТИКИ ЛЕГКОВОГО АВТОМОБІЛЯ
3.1 Теоретичні відомості
Загальновизнаними механічними характеристиками ДВЗ вважаються швидкісна та вантажна.
Швидкісна характеристика – сукупність залежностей N>е> (), М>е> (), g>e> () при сталому органі керування подачі палива. Якщо орган керування доведений до упору, то відповідна характеристика зовнішньою.
Вантажна характеристика – сукупність залежностей годинної та питомої витрати палива від потужності N>е> (при та змінному положенні органу керування подачею палива).
Для аналізу руху АТЗ достатньо швидкісних характеристик. На рис. 1 наведено графіки зміни основних показників енергетики та динаміки АТЗ залежно від частоти обертання маховика при доведеному до упору органі керування, тобто швидкісні зовнішні характеристики, що визначають граничні функціональні якості двигуна включно до кутової швидкості розносу .
Аналіз графіків показує, що у всьому діапазоні зміни частоти обертання маховика годинні витрати палива зростають, а криві питомих витрат палива мають екстремум. Це особливість усіх типів ДВЗ.
Характерною для дизеля є незначна зміна питомих витрат палива у робочому діапазоні частот обертання маховика (близько 5%), у карбюраторного двигуна ця залежність значно більша.
Зазначимо, що початкові ділянки кривих N>е> (), М>е> () для теорії АТЗ істотного інтересу не становлять, оскільки двигун працює тут нестійко.
Робочий діапазон частот обертання:
Діапазон називається зоною перевантаження двигуна, а зоною недовантаження. Фізичне значення таких назв полягає у тому, що зменшення частоти обертання в зоні призводить до збільшення моменту, тобто з'являється деяке перевантаження ДВЗ. У зоні ж спрацьовує обмежник частоти обертання вала, тому двигун працює з недовантаженням.
За характерними точками зовнішньої характеристики визначаються параметри двигуна як джерела енергії. До них належать прямі показники – це максимальні потужність і момент , питомі витрати палива та посередні – ефективний ККД , коефіцієнти пристосування двигуна до зміни опору руху , швидкості та витрат палива k>g> в умовах експлуатації:
k>M> = M>em> / M>eN>
де М>еm>, M>eN> – ефективні моменти, максимальний і такий, що відповідає максимальній потужності;
частоти обертання маховика, що відповідають М>еm> та M>eN>;
– питомі витрати палива при,.
Чим вище значення цих коефіцієнтів, тим більша внутрішня автоматичність саморегулювання двигуна і тим ширший може бути діапазон зміни ефективної швидкості руху. Ці властивості двигуна перш за все треба враховувати під час вибору кількості передач і передаточних чисел трансмісії.
У сучасних двигунах АТЗ коефіцієнти пристосовності неоднакові і залежно від конструкції змінюються:
= 1,06 ... 1,35; = 2,25 ... 1,4.
Для практичних розрахунків та наукових досліджень треба характеристику двигуна виразити математично. Зовнішня швидкісна характеристика з достатньою точністю описується параболами другого або третього порядків:
де й, b, c — емпіричні константи.
Зазначимо, що параметри параболи можна визначати різними методами залежно від потрібної точності. Так, експериментальну криву можна описати перекинутою параболою, або параболою, що проходить по характерним точкам, наприклад по, або просто відрізками прямих ліній з координатами і . Здебільшого використовується перекинута парабола. У такому разі її коефіцієнти визначаються звичайним способом аналітичної геометрії:
3.2 Необхідні початкові дані
– максимальна потужність двигуна , кВт;
– максимальний крутний момент двигуна , Н·м;
– питома витрата палива , г/кВт·год;
– кількість обертів двигуна при максимальній потужності ;
– кількість обертів двигуна при максимальному моменті ;
– табличні дані з графіків зовнішньої швидкісної характеристики.
3.3 Формалізація задачі
Для вирішення даної задачі необхідно за даними графіків зовнішньої швидкісної характеристики двигуна J6R створити математичні моделі його механічних характеристик.
Апроксимування функцій будемо виконувати за допомогою методу найменших квадратів.
Функція на відрізку [а, в] задана системою N точок , , … , .
Потрібно так підібрати коефіцієнти полінома
щоб сума квадратів відхилення полінома від заданих значень функції
була мінімальною.
Використовуючи умову екстремуму функції кількох змінних:
можна скласти систему лінійних алгебраїчних рівнянь, відносно коефіцієнтів .
Якщо в якості апроксимуючого полінома вибрати степеневий поліном виду
та
то система рівнянь буде мати вигляд (3.15).
Ця система рівнянь лінійна відносно коефіцієнта полінома і розв'язується будь-яким відомим методом (методом Гаусса з послідовним включенням, методом Гаусса за схемою Халецького і т.п.).
Таким чином, алгоритм МНК включає три етапи:
1. Формування системи рівнянь.
2. Розв"язання системи лінійних алгебраїчних рівнянь та знаходження коефіцієнтів апроксимуючого полінома
3. Вибір "оптимального" (найкращого) степеня апроксимуючого полінома, за заданою припущеною похибкою метода .
При розробці алгоритма і програми формування системи рівнянь необхідно скористатись тим, що в матриці коефіцієнтів знаходяться суми
від до ;
від до :
3.4 Розробка алгоритмів розв’язання задачі
0100090000032a0200000200a20100000000a201000026060f003a03574d4643010000000000010008410000000001000000180300000000000018030000010000006c0000000000000000000000350000006f0000000000000000000000f9420000f041000020454d4600000100180300001200000002000000000000000000000000000000c0120000131a0000cb0000001b010000000000000000000000000000f818030078510400160000000c000000180000000a0000001000000000000000000000000900000010000000d20f0000940f0000250000000c0000000e000080250000000c0000000e000080120000000c00000001000000520000007001000001000000a4ffffff00000000000000000000000090010000000000cc04400022430061006c006900620072006900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100dc5f11001000000040631100c060110052516032406311003860110010000000a8611100246311002451603240631100386011002000000049642f31386011004063110020000000ffffffffcc32f700d0642f31ffffffffffff0180ffff0180efff0180ffffffff0000000000080000000800004300000001000000000000005802000025000000372e9001cc00020f0502020204030204ef0200a07b20004000000000000000009f00000000000000430061006c00690062007200000000000000000000611100dee32e31e88d0832606411006c6011009c3827310a00000001000000a8601100a8601100e87825310a000000d0601100cc32f7006476000800000000250000000c00000001000000250000000c00000001000000250000000c00000001000000180000000c0000000000000254000000540000000000000000000000350000006f0000000100000055558740a0ab87400000000057000000010000004c000000040000000000000000000000d20f0000940f000050000000200012833600000046000000280000001c0000004744494302000000ffffffffffffffffd30f0000940f0000000000004600000014000000080000004744494303000000250000000c0000000e000080250000000c0000000e0000800e000000140000000000000010000000140000000400000003010800050000000b0200000000050000000c0285028f02040000002e0118001c000000fb020300010000000000bc02000000cc0102022253797374656d0000000000000000000000000000000000000000000000000000040000002d010000040000002d01000004000000020101001c000000fb02f1ff0000000000009001000000cc0440002243616c6962726900000000000000000000000000000000000000000000000000040000002d010100040000002d010100040000002d010100050000000902000000020d000000320a0e00000001000400000000008e028602206f0900040000002d010000040000002d010000030000000000
0100090000032a0200000200a20100000000a201000026060f003a03574d4643010000000000010008410000000001000000180300000000000018030000010000006c0000000000000000000000350000006f0000000000000000000000f9420000f041000020454d4600000100180300001200000002000000000000000000000000000000c0120000131a0000cb0000001b010000000000000000000000000000f818030078510400160000000c000000180000000a0000001000000000000000000000000900000010000000d20f0000940f0000250000000c0000000e000080250000000c0000000e000080120000000c00000001000000520000007001000001000000a4ffffff00000000000000000000000090010000000000cc04400022430061006c006900620072006900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100dc5f11001000000040631100c060110052516032406311003860110010000000a8611100246311002451603240631100386011002000000049642f31386011004063110020000000ffffffffcc32f700d0642f31ffffffffffff0180ffff0180efff0180ffffffff0000000000080000000800004300000001000000000000005802000025000000372e9001cc00020f0502020204030204ef0200a07b20004000000000000000009f00000000000000430061006c00690062007200000000000000000000611100dee32e31e88d0832606411006c6011009c3827310a00000001000000a8601100a8601100e87825310a000000d0601100cc32f7006476000800000000250000000c00000001000000250000000c00000001000000250000000c00000001000000180000000c0000000000000254000000540000000000000000000000350000006f0000000100000055558740a0ab87400000000057000000010000004c000000040000000000000000000000d20f0000940f000050000000200012833600000046000000280000001c0000004744494302000000ffffffffffffffffd30f0000940f0000000000004600000014000000080000004744494303000000250000000c0000000e000080250000000c0000000e0000800e000000140000000000000010000000140000000400000003010800050000000b0200000000050000000c0285028f02040000002e0118001c000000fb020300010000000000bc02000000cc0102022253797374656d0000000000000000000000000000000000000000000000000000040000002d010000040000002d01000004000000020101001c000000fb02f1ff0000000000009001000000cc0440002243616c6962726900000000000000000000000000000000000000000000000000040000002d010100040000002d010100040000002d010100050000000902000000020d000000320a0e00000001000400000000008e028602206f0900040000002d010000040000002d010000030000000000
Рис.10 – схема алгоритму метода найменших квадратів для знаходження коефіцієнтів степеневого апроксимуючого полінома
3.5 Вибір типу та структури оброблюваних даних
В процесі розв’язку поставленої задачі оброблюються дані наступного типу:
Таблиця 3.1
Тип |
Область значень |
Фізичний формат |
Integer |
від –2147483648 до 2147483647 |
32 розряди, зі знаком |
Real |
від 2,910-39 до 1,71038 |
Точність 11-12 розрядів, розмір в байтах – 6 |
З метою збереження і обробки в пам’яті ЕОМ прийнята така система ідентифікаторів:
Таблиця 3.2
Назва параметра |
Позначення |
|
у формулі |
у програмі |
|
Масив даних крутного момента |
с[i] |
|
Масив даних питомої витрати паливаа |
b[i] |
|
Масив даних кількості обертів колінчастого валу |
n[i] |
|
Масив коефіцієнтів полінома |
a[i] |
|
Кількість коефіцієнтів |
m |
|
Інші |
– |
n1, e1, t, h, a1, b1, b2, eps, s, s0, i, j, k, k2, n2, i1, i3, i2, j1, j3, j2, m1, z1, f, e |
3.6 Програмування задачі на мові програмування pascal 7.0
Program Aproksimatsia;
Uses CRT;
Type mas= array[1..25,1..25] of real;
mas1= array[1..25] of real;
Var
a: mas;
c,b,x,x1,y1: mas1;
n,n1,i1,i3,i2,j1,j3,j2,m1: integer;
e1: real;
t,h,a1,b1,b2,eps,s,s0:real;
i,j,k,n2:integer;
Procedure MNK(n1:integer;x1,y1:mas1;var a:mas);
Var
k2:integer; z1,f,e : real;
BEGIN
for k2:=1 to n1 do
begin
z1:=x1[k2]; f:=y1[k2]; e:=1;
for i2:=1 to 2*m1+1 do
begin
c[i2]:=c[i2]+e;
if i2<=m1+1 then b[i2]:=b[i2]+e*f;
e:=e*z1
end;
end;
for i2:=1 to m1+1 do
begin
for j2:=1 to m1+1 do
a[i2,j2]:=c[i2+j2-1];
end;
END;
Procedure Gaus(n:integer;a:mas; b:mas1; var x:mas1);
Var
i,j,k,l:integer; max,z,s,m : real;
BEGIN
writeln('**** Vixidna sistema rivnyan ****');
for i:=1 to n do
begin
for j:=1 to n do write(' ',a[i,j]:5:2); write(' ',b[i]:5:2);
WRITELN;
end;
WRITELN;
for k:=1 to n-1 do
begin
max:=abs(a[k,k]); l:=k;
for i:=k+1 to n do
begin
if abs(a[i,k])>max then
begin l:=i; max:=abs(a[i,k]); end;
end;
if l<>k then begin
for j:=k to n do
begin
z:=a[l,j]; a[l,j]:=a[k,j]; a[k,j]:=z;
end;
z:=b[l]; b[l]:=b[k]; b[k]:=z;
end;
for i:=k+1 to n do
begin
m:=a[i,k]/a[k,k];
for j:=k to n do a[i,j]:=a[i,j]-m*a[k,j];
b[i]:=b[i]-m*b[k];
a[i,k]:=0;
end;
end;
Writeln('*** trikytna sistema rivnayn ***');
for i:=1 to n do
begin
for j:=1 to n do write(' ',a[i,j]:5:2); write(' ',b[i]:5:2);
WRITELN;
end;
writeln;
(*** xod nazad ***)
x[n]:=b[n]/a[n,n];
for i:=n-1 downto 1 do
begin
s:=0;
for j:=i+1 to n do s:=s+x[j]*a[i,j];
x[i]:=(b[i]-s)/a[i,i];
end;
END;
Function q(t:real):real;
BEGIN
q:=x[1]+x[2]*t+x[3]*t*t+x[4]*t*t*t;
END;
procedure simpson(a1,b1:real;n2:integer;var s:real);
var
hs:real;e,i:integer;
begin
hs:=(b1-a1)/(2*n2);
s:=q(a1)+q(b1);
e:=1;
for i:=1 to 2*n2-1 do
begin
s:=s+(3+e)*q(a1+i*hs);
e:=-e;
end;
s:=s*hs/3;
end;
BEGIN
Clrscr;
write('vedit kilkistto4ok tabli4noi fynksi N=');readln(n1);
{ctepin polimena} m1:=3;
writeln('vedit vixidni to4ki');
for i3:=1 to n1 do begin
read(x1[i3]); read(y1[i3]);
WRITELN;
end;
writeln('_________________________');
writeln('vihidni dani');
for i3:=1 to n1 do
begin
write(' ',x1[i3]:5:2); write(' ',y1[i3]:5:2);
WRITELN;
end;
c[1]:=0; b[1]:=0;
MNK (n1,x1,y1,a);
for i2:=1 to m1+1 do n:=n+1;
Gaus(n,a,b,x);
writeln('*** vektor rozvyazky ***');
writeln;
for i1:=1 to n do writeln('x[',i1,']=',x[i1]:7:3);
{kofisienti zapicyutsya a0+a1*x+a2*x^2+a3*x^3+...=const}
write(' q(t)'); write(' y');
writeln;
for i3:=1 to n1 do
begin
e1:=e1+Sqr(q(x1[i3])-y1[i3]);
write(' ',q(x1[i3]):7:3); write(' ',y1[i3]:7:3);
writeln;
end;
writeln('poxibka aproksimasyi',e1:7:5);
write('введіть b2=');read(b2);
a1:=0; b1:=b2/10;
eps:=0.001;
repeat
k:=2;
simpson(a1,b1,k,s);
repeat
s0:=s; k:=k*2;
simpson(a1,b1,k,s);
writeln('b1=',b1:5:2,' s=',s:5:2);
until (abs(s-s0)<=eps)or(k>500);
b1:=b1+b2/10;
until b1>b2;
END.
3.7 Відлагодження програми
Виправлення синтаксичних помилок на підставі повідомлень транслятора. Після написання програми транслятор знайшов ні помилку у 149-му рядку з повідомленням “Error 26: type mismatsh
I, j, k, n2: integer;
Після заміни real на integer, програма була запущена транслятором на виконання.
Таблиця 3.3 – Результати контролю правильності розв’язання задачі
Вихідні дані |
Результати розрахунків |
|||||
ППП MathCad 2000 |
Програма на мові Turbo Pascal |
|||||
400 800 1200 1600 2000 2400 2800 3200 3600 4000 4400 4800 5200 5600 |
36,3 45,5 54,6 56,1 52,5 66,6 67,9 71,3 65,5 66,4 63,3 55,9 52,6 51,3 |
353 342 3541 332 328 325 319 314 324 330 331 346 353 360 |
34.47-0.123x+0.028x2-0.0012x3 |
421.53-2.37x+0.452x2+0.072x3 |
31.71-0.12x+0.027x2-0.001x3 |
417.32-2.41x+0.457x2+0.07x3 |
ВИСНОВОК
В результаті виконаної роботи були розраховані основні параметри диференціала автомобіля, за результатами розрахунків ми дізнались параметри диференціала. Основна мета було Визначити які навантаження може витримати диференціал .
Склавши програму по розрахунку системи лінійних рівнянь методом Гауса розрахували коефіцієнти системи. Знайдені коефіцієнти х=-1,4, х=0,76, х=4,003, х=1,897, х=-2,080, Таким чином у нас є 5 чисел які заміняють невідомі.
Розрахували швидкісну характеристику автомобіля і склали таблицю яку можна роздрукувати. З таблиці видно що з більшання обертів і зростає навантаження.
ПЕРЕЛІК ПОСИЛАНЬ
Смирнов Г.А. Теория движения колесных машин. – М.: Машиностроение, 1981.- 271с.
Кошарний М.Ф. Основи механіки та енергетики автомобіля. – Київ: Вища школа, 1992. – 200с.
Turbo Pascal 7.0 for users. BHV, 1999. – 448p.
Т.А. Павловськая Pascal Издательство «Питер», 2003.-291с.
П.П. Овчинников, Ф.П. Яремчук, В.М. Михайленко Вища математика Частина-1 : Київ «Техніка»2003 -597с.
Савуляк В.І. Навчальний посібник
Кишеніна Н.В., Кишені В.О., «основи інформаційний технологій та програмування « частина-1 Вінниця 2003.