Програми технології мови програмування Паскаль у прикладній механіці

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ЗМІСТ
Введення
Глава I. Основні логічні конструкції в системі програмування Паскаль
1.1. Коротка історія становлення мови програмування Паскаль
1.2. Основні команди мови програмування Паскаль
1.3. Використання функцій і процедур мови Паскаль
Глава II. Постанова і рішення задач механіки у середовищі системи Паскаль
2.1. Завдання статики, що вирішуються за допомогою мови Паскаль
2.2. Завдання кінематики, які вирішуються за допомогою мови Паскаль
3. Завдання динаміки, які вирішуються в середовищі системи Паскаль
Висновок
Література

ВСТУП
Інформатика - наукова дисципліна, що вивчає структуру і загальні властивості інформації, а також закономірності всіх процесів обміну інформацією при безпосередньому усному та письмовому спілкуванні фахівців до формальних процесів обміну за допомогою різних носіїв інформації. Значну частину цих процесів складає науково-інформаційна діяльність по збору, переробки, зберігання, пошуку та поширення інформації.
Актуальність курсового проекту на тему «Програми технології мови програмування паскаль у прикладній механіці» зумовлена ​​широким впровадженням комп'ютерних технологій в усі сфери діяльності людини.
Об'єктом курсової роботи є процес впровадження нових інформаційних технологій у сферу науки і освіти.
Предметом курсового дослідження є освоєння процесу розв'язання задач прикладної механіки за допомогою мови програмування високого рівня Паскаль.
Метою курсового проектування є вивчення повного спектру функціональних можливостей мови програмування Паскаль для вирішення завдань прикладної механіки.
Гіпотеза курсового проектування полягає в наступному. Оволодіння повним спектром функціональних можливостей мови програмування Паскаль сприяє підвищенню ефективності вирішення завдань прикладної механіки.
Завданнями курсової роботи є:
1) освоєння повного спектра функціональних можливостей мови програмування Паскаль;
2) постановка і вирішення завдань прикладної механіки традиційним способом;
3) рішення задач механіки у середовищі мови програмування Паскаль.
Методами, якими вирішуються завдання курсового дослідження, є:
1) теоретичний аналіз науково-технічної літератури з мови програмування Паскаль;
2) математичне моделювання задач прикладної механіки;
3) комп'ютерне рішення задач прикладної механіки.
Практична значимість виконаної курсової роботи на тему «Програми технології мови програмування паскаль у прикладній механіці» полягає в тому, що кожен користувач комп'ютера, вирішуючи завдання статики, кінематики і динаміки зможе користуватися вільно запропонованими в роботі методиками.

ГЛАВА I. ОСНОВНІ ЛОГІЧНІ КОНСТРУКЦІЇ У СИСТЕМІ ПРОГРАМУВАННЯ ПАСКАЛЬ
1.1. КОРОТКА ІСТОРІЯ СТАНОВЛЕННЯ МОВИ ПРОГРАМУВАННЯ ПАСКАЛЬ
Мова Pascal був створений як навчальний мову програмування в 1968 - 1971 году Никлаусом Віртом. В даний час ця мова має більш широку сферу застосування, ніж передбачалося при його створенні.
Мова програмування Pascal (названий на честь видатного французького математика і філософа Блеза Паскаля (1623 - 1662)), розроблений в 1967 - 1971гг. Ніклаус Віртом, професором, директором інституту інформатики Швейцарської вищої політехнічної школи. Мова Pascal, створений спочатку для навчання програмуванню як систематичній дисципліні, скоро став широко використаний для розробки програмних засобів в професійному програмуванні.
Широкою популярністю Pascal серед програмістів сприяли такі причини:
· Завдяки своїй компактності, вдалому початкового опису Паскаль виявився досить легким для навчання.
· Мова програмування Pascal, відображає фундаментальні і найбільш важливі ідеї алгоритмів у очевидною і легко сприймається формі, що надає програмісту засоби, що допомагають проектувати програми.
· Мова Pascal дозволяє чітко реалізувати ідеї структурного програмування і структурної організації даних.
· Він відіграв велику роль у розвитку методів аналітичного доказу правильності програм і дозволив реально перейти від методів налагодження програм до систем автоматичної перевірки та правильності програм.
· Застосування мови Pascal значно підняло «планку» надійності розроблюваних програм за рахунок вимог Pascal, до опису використовуються у програмі змінних при компіляції без її виконання, використання в Паскалі простих і гнучких структур управління: розгалужень, циклів.
1.2. ОСНОВНІ КОМАНДИ МОВИ ПРОГРАМУВАННЯ
ПАСКАЛЬ
Умовні оператори призначені для вибору до виконання однієї з можливих дій (операторів) залежно від деякого умови (при цьому одна з дій може бути порожнім, тобто не бути) В якості умов вибору використовується значення логічного виразу. У Turbo Pascal є два види умовних операторів: if і case.
Оператор умови if. Оператор умови if є одним з найбільш
популярних засобів, що мають природний порядок виконання операторів програми.
Оператори умови if виконуються таким чином. Спочатку виражається вираз, записане в умові. У результаті його обчислення виходить значення булевского типу. У першому випадку, якщо значення виразу є true (істина), виконується, зазначений після слова t hen (то).
Умовний оператор дозволяє здійснити розгалуження програми тільки по двох напрямках, одна з яких відповідає виконанню перевіряється умови. Якщо для змінної необхідно здійснити ряд дій, які залежать від інших умов, то треба записувати, або вкладені умовні оператори, або кілька операторів поспіль. Для такої операції зручно використовувати оператор варіанту.
Вхід в структуру містить обчислення або раніше отримане значення змінної (індексу варіанту). Це значення може збігтися з міткою, що стоїть перед оператором на одній з гілок переключаються. У такому випадку виконується оператор, позначений цією міткою, і відбувається вихід зі структури. Оператор буває простим або складеним, обмеженим операторними дужками begin ... end; Якщо значення індексу варіанту не збіглося з жодною з міток, то виконується оператор з номером n + 1 з рядка else. Якщо оператор варіанту містить рядок else, то це - повна форма оператора, якщо такого рядка немає, то використовується скорочена форма оператора варіанта. Мітки оператора варіанта можуть бути константами будь-якого типу. Їх тип повинен збігатися зі змінною індексу варіанту. Можливо, щоб індекс варіанта повинен бути як ім'ям змінної, так і вираженням відповідного типу.
Існують завдання у яких по одній з гілки розгалуження потрібно розглянути ще одна умова.
Розглянемо завдання: порівняти 3 цілих числа і вивести на друк максимальне.
Program chisla;
Var a, b, c: integer;
Begin
Writeln ('Введіть три числа');
Read (a, b, c);
If ac then writeln ('максимально число ', a)
Else if b> c then writeln (b максимально число ', b)
Else writeln ('c максимальне число', c);
End.

1.3. ВИКОРИСТАННЯ ФУНКЦІЙ І ПРОЦЕДУР МОВИ ПАСКАЛЬ
1.3.1. Алгоритм.
Слово алгоритм походить від algorithmic - латинської форми написання імені латинського математика IX ст. Аль-Хорезмі, який сформулював правила виконання чотирьох арифметичних дій над багатозадачними числами. Надалі алгоритм стали називати опис будь-якій послідовності дій, яку слід виконати для вирішення заданої завдання.
Алгоритм може бути орієнтований на виконання його людиною або автоматичним пристроєм. Алгоритми, призначені для виконання комп'ютерами, зазвичай називають комп'ютерними програмами або просто програмами.
Алгоритмом називається точне розпорядження, що визначає послідовність дій виконавця, спрямованих на вирішення поставленого завдання. У ролі виконавця алгоритмів можуть виступати люди, роботи, комп'ютери.
Використовуються різні способи запису алгоритмів. Широко поширений словесний спосіб запису: це записи рецептів приготування різних страв у кулінарній книзі, інструкції з використання технічних пристроїв, правила правопису і багато інших. Наочно представляється алгоритм мовою блок-схем.
Властивості алгоритму. При складанні алгоритму необхідно забезпечити, щоб він мав поруч властивостей.
Однозначність алгоритму, під якою розуміється єдиність тлумачення виконавцем правил виконання дій і порядку їх виконання. Щоб алгоритм володів цим властивістю, він повинен бути записаний командами з системи команд виконавця.
Для нашого прикладу виконавець алгоритму повинен розуміти такий запис дій, як складність числа А і В. Кінцівка алгоритму - обов'язковість завершення кожної дії, що становлять алгоритм, і кінець виконання кожного алгоритму в цілому.
Результативність алгоритму, що передбачає, що виконання алгоритму має завершиться отриманням певних результатів.
Масовість, тобто можливість застосування даного алгоритму для вирішення цілого класу задач, що відповідають спільній постановки завдання. Так як алгоритм, показаний на малюнку, дозволяє правильно підрахувати суму не тільки чисел 2 і 3, але будь-який іншої пари цілих чисел, він має властивість масовості.
Для того щоб алгоритм мав властивістю масивності, слід складати алгоритм, використовуючи позначення величин і уникаючи конкретних значень. Правильність алгоритму, під якою розуміється здатність алгоритму давати правильні результати вирішення поставлених завдань. Представлений у прикладі алгоритм має властивість правильності, так як в ньому використана правильна формула складання цілих чисел, і для будь-якої пари цілих чисел результат виконання алгоритму буде дорівнює їх сумі.
Комп'ютерна програма - це план майбутніх робіт, складений з розрахунку на його виконання комп'ютером.
Щоб комп'ютер зміг виконати програму, вона повинна бути записана в спеціальній формі, доступній комп'ютера; повинна бути записана у відповідності зі спеціальним набором правил.
Набір запису комп'ютерної програми називається «алгоритмічною мовою».
Обчислювальний процес називається лінійним (не розгалужуються), якщо напрямок його продовження на будь-якому етапі обчислень є єдиним. Алгоритм лінійного обчислювального процесу описує дії, послідовність виконання яких не залежить від початкових даних і результатів проміжних обчислень, тобто є постійною.
Цей процес є найбільш простим видом обчислень. Лінійний процес (як і інший обчислювальний процес) можна представити у вигляді наступних етапів: перший - завдання вихідних даних, другий реалізація обчислень; третій - висновок результатів рахунки і пояснюючої інформації. Етапи відображаються на блок-схемі, а потім реалізуються в ПК в зазначеній послідовності.
Алгоритм розподілу відрізка АВ навпіл:
1) поставити ніжку циркуля в точку А;
2) встановити розчин циркуля рівним довжині відрізка АВ;
3) провести коло;
4) поставити ніжку циркуля в точку В;
5) провести коло;
6) через точки перетину кіл провести пряму;
7) відзначити точку перетину цієї прямої з відрізком АВ;
Кожне вказівку алгоритму наказує виконавцю виконати одне конкретне значення дій. Виконавець не може перейти наступної операції, не завершивши повністю попередню. Приписи алгоритму треба виконувати послідовно одне за одним, з відповідності з порядком їх запису. Проходження всім приписами гарантує правильне рішення завдання. Даний алгоритм абсолютно ясне виконавцю
Блок-схема - алгоритм, виражений за допомогою логічних блоків. Блок-схема служить для того, щоб наочніше представляти ті чи інші форми організацій дій. Кожна дія алгоритму, крім перевірки умови, будемо розміщувати в прямокутник, а питання про те, чи виконується деяка умова, - в ромб. Ще існують: паралелограм, овал, обірваний листок.
У розглянутих досі алгоритмах і програмах усі команди виконувалися послідовно одна за одною в тому порядку, в якому вони були записані. Проте таким чином може бути побудовано алгоритм для вирішення далеко не всякої завдання. У практиці відомі завдання, подальший хід вирішення яких залежить від виконання будь-яких умов.
Розгалуження - це така форма організацій дій, при якій в залежності від виконання або невиконання деякої умови здійснять або одна, або інша послідовність дій.
1. Процедури введення-виведення. Майже кожна програма повинна спілкуватися з користувачем, тобто виводити результати своєї роботи на екран і запитувати у користувача інформацію з клавіатури. Для того щоб це стало можливим, в Турбо-Паскалі є спеціальні процедури (тобто невеликі допоміжні програми), називаються він процедурами введення-виведення. Для того щоб змусити процедуру працювати в нашій програмі, потрібно написати її ім'я, за яким в дужках, через кому перерахувати параметри, які ми хочемо їй передати. Для процедури виведення інформації на екран параметрами можуть служити числа або текстові повідомлення, які повинна друкувати наша програма на екран.
Опишемо призначення цих процедур:
write (p1, p2, ... pn); - (виводить на екран значення виразів p1, p2, ... pn, кількість яких (n) необмежено. Вирази можуть бути числові, строкові, символьні і логічні. Під виразом будемо розуміти сукупність деяких дій, застосованих до змінних, констант або літералом, наприклад: арифметичні дії та математичні функції для чисел, функції для обробки рядків і окремих символів, логічні вислови й т.п. Можливий форматний висновок, тобто явна вказівка ​​того, скільки виділяти позицій на екрані для виведення значення.
Приклад для дійсних типів:
write (r + s: 10:5); - (вивести значення виразу r + s з виділенням для цього 10 позицій, з них 5 (після коми).
Для інших типів все трохи простіше:
write (p: 10); - (вивести значення виразу p, виділивши під це 10 позицій. Висновок на екран у будь-якому випадку проводиться по правому краю виділеного поля.
Writeln (p1, p2, ... pn); - (аналогічно write, виводить значення p1, p2, ... pn, після чого переводить курсор на новий рядок. Сенс параметрів (той же, зауваження про форматному виведення залишаються в силі.
Існує варіант writeln; (без параметрів), що означає лише переклад курсору на початок нового рядка.
r eadln (v1, v2, ... vn); (введення з клавіатури значень змінних v1, ... vn.
Змінні можуть мати рядковий, символьний або числовий тип. При вводі слід розділяти значення пробілами, символами табуляції або переведення рядка (тобто, натискаючи Enter).
  r ead (v1, v2, ... vn); (за призначенням схоже з readln; відмінність полягає в тому, що символ перекладу рядка (Enter), натиснутий при завершенні введення, не «проковтує», а чекає наступного оператора введення. Якщо ним виявиться оператор введення строкової змінної або просто readln; то строкової змінної буде присвоєно значення порожнього рядка, а readln без параметрів не стане чекати, поки користувач натисне Enter, а зреагує на вже введений.
Приклад. Програма просить користувача ввести з клавіатури два цілих числа і друкує на екрані їх суму:
Program PrintSum;
var a, b: integer;
begin
write ('Введіть два числа:');
readln (a, b);
writeln ('Сума a і b дорівнює', a + b);
readln;
end.

1.3.2. Функції числових параметрів.
Назва
Значення
abs (x)
модуль x
cos (x)
косинус x
frac (x)
дробова частина x
int (x)
ціла частина x (тобто найближче ціле, не перевершує x)
pi
| Число
round (x)
x, округлене до цілого
sin (x)
синус x
sqr (x)
квадрат x
sqrt (x)
квадратний корінь з x
1. Оператор if.
Іноді потрібно, щоб частина програми виконувалася не завжди, а лише при виконанні деякої умови (а при невиконанні цієї умови виконувалася інша частина програми). У цьому випадку користуються оператором умовного виконання, який записується в наступному вигляді:
if then else;
Під оператором розуміється або одиночний оператор (наприклад, привласнення, виклику процедури), або такий складений оператор, що складається з декількох простих операторів, поміщених між словами begin і end. Важливо зауважити, що перед else не ставиться крапка з комою. Частина else може й не бути.
Приклад 1: нехай потрібно знайти число m = max (a, b). Цьому завданню
відповідає наступний фрагмент програми на Паскалі:
if a> b then m: = a else m: = b;
Приклад 2: (без else) нехай дадуть ціле число i. Потрібно залишити його
без зміни, якщо воно ділиться на 2, і відняти з нього 1, якщо це не так.
var i: integer;
if i mod 2 = 1 then i: = i-1; {else - нічого НЕ робити}
Приклад 3: (з використанням складеного оператора). Нехай дано дві змінні типу real. Потрібно поміняти місцями значення цих змінних, якщо a 1> a 2.
var a 1, a 2, buf: real;
if a1> a2 then begin
buf: = a1;
a 1: = a 2;
a 2: = buf;
end;
Приклад при підрахунку суми натуральних чисел від 1 до 100:
Var i, sum: integer;
begin
sum: = 0; i: = 0;
repeat
i: = i +1;
sum: = sum + i;
until i = 100;
writeln ('Сума дорівнює: ', sum);
readln;
end.
Важливо зауважити, що оператори стоять всередині циклу repeat (інакше в тілі циклу) виконується хоча б один раз (тільки після цього перевіряється умова виходу).
Цей цикл записується так: while do. (Поки умова істинна, виконувати оператор). Суть в наступному: поки умова істинна, виконується оператор (у цьому випадку оператор може не виконатися жодного разу, тому що умова перевіряється до виконання).
1. Символьний тип
Тип даних, змінні якого зберігають рівно один символ (букву, цифру, розділовий знак і т.п.) називається символьним, а в Паскалі - char. Оголосити змінну такого типу можна так: var ch: char;. Для того щоб покласти в цю змінну символ, потрібно використовувати оператор присвоєння, а символ записувати в апострофа, наприклад: ch: = 'R';. Для символьних змінних можливо також використання процедури readln, наприклад:
write ('Вийти з гри? (Так / Ні)'); readln (ch);
  if ch = 'Д' then ... {Виходити} ...
  else ... {продовжувати }...;
Символьні змінні в пам'яті комп'ютера зберігаються у вигляді числових кодів, інакше кажучи, у кожного символу є порядковий номер. Наприклад, код пробілу дорівнює 32, код 'A' - 65, 'B' - 66, 'C' - 67, код символу "1" - 48, '2 '- 49,'. ' - 46 і т. п. Деякі символи (з кодами, меншими 32) є керуючими, при виведенні таких символів на екран відбувається будь-яку дію, наприклад, символ з кодом 10 переносить курсор на новий рядок, з кодом 7 - викликає звуковий сигнал , з кодом 8 - зрушує курсор на одну позицію вліво. Під зберігання символу виділяється 1 байт (байт складається з 8 біт, а біт може приймати значення 0 або 1), тому всього можна закодувати 28 = 256 різних символів. Кодування символів, яка використовується Турбо-Паскалі, називається ASCII (American Standard Code for Information Interchange - американський стандартний код для обміну інформацією).
Для того щоб отримати в програмі код символу потрібно використовувати функцію chr, наприклад:
var i: byte; {число, що займає 1 байт, значення - від 0 до 255}
   ch: char;
...
readln (i); writeln ('символ з кодом ', i,' - це ', chr (i));
Якщо в якості коду використовується конкретне число, а не вираз і не змінна, то можна використовувати символ «#», скажімо так: ch: = # 7;. Для того переходу від коду до символу використовується функція ord (від слова ordinal - порядковий). Наявні знання дозволяють нам написати програму, яка видає на екран таблицю з кодами символів:
program ASCII;
var ch: char;
begin
for ch: = # 32 to # 255 do write (ord (ch ),'->', ch, '');
readln;
end.
У цій програмі в якості лічильника циклу була використана символьна змінна, це дозволяється, оскільки цикл for може використовувати в якості лічильника змінні будь-якого типу, значення якого зберігаються у вигляді цілих чисел.
З використанням кодів працюють ще дві функції, значення яких символьні:
1. succ (від succeedent - наступний), вона видає символ з наступним кодом.
2. divd (від divdecessor - попередник), видає символ з попереднім кодом.
Якщо спробувати у програмі отримати succ (# 255) або divd (# 0), то виникне помилка. Користуючись цими функціями можна переписати попередню програму і по-іншому:
ch: = # 32;
while ch <> # 255 do begin
write (ord (ch ),'->', ch, '');
ch: = succ (ch);
end;
Порівняння символів. Також як і числа, символи можна порівнювати на =, <>, <=,> =. У цьому випадку Паскаль порівнює не самі символи, а їх
коди. Таблиця ASCII складена таким чином, що коди букв (латинських і більшості росіян) зростають при русі в алфавітному порядку, а коди цифр розташовані по порядку: ord ('0 ') = 48, ord ("1") = 49, ... ord ('9 ') = 57. Порівняння символів можна використовувати скрізь, де потрібні логічні вирази: в операторі if, в циклах і т.п.
2. Строковий тип
Для зберігання рядків (тобто послідовностей із символів) в Турбо Паскалі є тип string. Значеннями строкових змінних можуть бути послідовності різної довжини (від нуля і більш, довжині 0 відповідає порожній рядок). Оголосити строкову змінну можна двома способами: або var s: string; (максимальна довжина рядка - 255 символів), або var s: string [n]; (максимальна довжина - n символів, n - константа або конкретне число).
Для того щоб покласти значення в строкову змінну використовуються ті ж прийоми, що і при роботі з символами. У разі привласнення конкретної рядки, це рядок повинна записуватися в апострофа (s: = 'Hello, world!'). Наведемо простий приклад з рядками: програма запитує ім'я у користувача, а потім вітає його:
Program Hello;
var s: string;
begin
write ('Як Вас звати:');
readln (s);
write ('Привіт,', s ,'!');
readln;
end.
Зберігання рядків. У пам'яті комп'ютера рядок зберігається у вигляді послідовності з символьних змінних, у них немає індивідуальних імен, але є номери, що починаються з 1). Перед першим символом рядка є ще і нульовий, в якому зберігається символ з кодом, рівним довжині рядка. Нам абсолютно байдуже, які символи зберігаються в байтах, що знаходяться за межами кінця рядка. Розглянемо приклад. Нехай рядок s оголошена як string [9], тоді після присвоювання s: = 'Привіт'; вона буде зберігається в наступному вигляді:
Номер байта
0
1
2
3
4
5
6
7
8
9
Вміст
| # 6
'П'
'Р'
'І'
'В'
'Е'
'Т'
'Ю'
'S'
'%'
Для того щоб у програмі отримати доступ до n-му символу рядка використовується запис s [n]. Якщо поміняти значення s [0] то це відіб'ється на довжині рядка. У наступному прикладі з рядка 'Привіт' ми зробимо 'Привіт!':
s [0]: = # 7; s [7 ]:='!';.
Порівняння рядків. Рядки порівнюються послідовно, по символах. Порівнюються перші символи рядків, якщо вони рівні - то другі, і т. д. Якщо на якомусь етапі з'явилося відмінність у символах, то меншою буде той рядок, в якій менший символ. Якщо рядки не розрізнялися, а потім одна з них закінчилася, то вона і вважається меншою. Приклади: 'ананас' <'кокос', 'свиня'> 'свинина',''<'A', 'hell' <'hello'.
Склеювання (конкатенація) рядків. До рядкам можна застосовувати операцію «+», при цьому результатом буде рядок, що складається з послідовно записаних «доданків». Приклад: після дії s: = 'abc' + 'def' + 'ghi'; мінлива s буде містити 'abcdefghi'.
Процедури і функції для роботи з рядками. Найбільш часто вживається функція length (s: string): integer (після двокрапки записано тип значення, що повертається функцією, в нашому випадку - ціле число). Ця функція повертає довжину рядка s.
3. Перераховується тип
Припустимо, що нам потрібно змінна для зберігання дня тижня. У цьому випадку можна скористатися цілим типом (наприклад byte) і зберігати дні тижня у вигляді чисел 1, 2, ... 7, але це буде не дуже наочно. Турбо Паскаль надає більш зручний варіант, а саме створення перечислимого типу, наприклад, такого:
  type Days = (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
Після цього можна завести змінну цього типу (var day: Days;) і використовувати її. Нижче наведено приклади використання:
day: = Wed;
...
  if day> Fri then writeln ('Сьогодні вихідний');
...
if day = Mon then writeln ('Почалася робочий тиждень');
Як ви вже помітили значення перечислимого типу можна порівнювати, при цьому меншим вважається те, яке оголошено раніше (ліворуч) у визначенні типу.
Для змінних перелічуваних типів можливе застосування функцій succ і divd, наприклад, succ (Wed) дає Thu, Pred (Sun) дає Sat. Якщо спробувати написати Pred (Mon) або Succ (Sun), то вже на етапі перевірки програми компілятором відбудеться помилка.
Зберігання значень перечисляемого типу влаштовано всередині досить просто: зберігаються цілі числа від 0 до n, в нашому випадку n = 6. Існує функція Ord, яка дозволяє отримати те число, у вигляді якого зберігається якесь значення перераховується типу, наприклад Ord (Wed) дає
При необхідності можна отримати значення перераховується типу за його чисельність поданням, наприклад, Days (1) є Tue. Після всього сказаного можна помітити, що при порівнянні величин перечисляемого типу в дійсності порівнюються їх порядкові номери (Ord).
Приклад використання перелічуваних типів:
Нехай корабель може рухатися тільки по чотирьох напрямках: на північ, на захід, на південь і на схід, тобто поточне напрямок руху визначається змінної типу Directions = (North, West, South, East);. Цьому кораблю можна подавати накази наступних типів: вперед, назад, вліво, вправо, тобто будь-який наказ задати змінної типу Orders = (Ahead, Back, Left, Right);. Нехай корабель рухався у напрямку d1, після чого йому дали наказ p. Програма повинна визначити, в якому напрямку корабель буде рухатися після виконання наказу.
Program Ship;
type Courses = (North, West, South, East);
Orders = (Ahead, Back, Left, Right);
var d1, d2: Courses;
p: Orders;
i: integer;
s: string;
begin {запитує у користувача інформацію про курс та наказі}
writeln ('Введіть початковий курс корабля');
write ('(0-північ, 1-захід, 2-південь, 3-схід)');
readln (i);
d1: = Courses (i);
writeln ('Введіть наказ, даний кораблю');
write ('(0-прямо, 1-тому, 2-вліво, 3-вправо)');
readln (i);
p: = Orders (i); {Визначаємо новий курс}
case p of
Ahead: d2: = d1;
Back: d2: = Courses ((ord (d1) +2) mod 4);
Left: d2: = Courses ((ord (d1) +1) mod 4);
Right: d2: = Courses ((ord (d1) +3) mod 4); {-1 - не можна, так як (Ord (North) -1) mod 4 = -1}
end; {Виводимо результат на екран}
case d2 of
North: s: = 'північ';
West: s: = 'захід';
South: s: = 'південь';
East : S: = 'схід';
end;
writeln ('Тепер корабель рухається на' + s);
readln;
end.
4. Обмежений тип
Цей тип також розглянемо на прикладі. Нехай в деякій змінної потрібно зберігати поточне число, тобто номер дня в місяці. У Турбо Паскалі можна задати тип DaysInMonth = 1 .. 31;. Змінні та константи цього типу можуть приймати тільки такі значення, якщо спробувати поставити що-небудь інше, то компілятор видасть помилку. В якості кордонів можуть вживатися і негативні числа, наприклад Temperature = - 60 .. 50;
В якості базового типу (тобто типу, з якого вибирається діапазон значень) можуть використовуватися майже всі порядкові типи, тобто ті, які зберігаються у вигляді цілих чисел. До порядковим типів відносяться: всі цілі типи (byte, integer, і т. п.), char, boolean, що перераховуються типи і обмежені типи. В якості базового типу не можна використовувати лише сам обмежений тип (важко уявити, як це можна зробити). З урахуванням цього правила допустимі такі оголошення типів:
type SmallLatin = 'a' .. 'z'; {малі латинські букви}
MyBoolean = True .. False; {хоча це і безглуздо}
Holidays = Sat .. Sun; {вихідні}
Не можна в якості базового типу вжити будь-якої дійсний тип, наступні реклами призведе до помилки:
type Wrong = -1.25 .. 1.25;
Зауважимо, що функції Ord, Succ і Pred можуть застосовуватися до будь-яких порядковим типами, і, зокрема, до обмеженим.
Для виведення тексту на екран використовуються дві процедури:
1. OutText (s: string). Ця процедура виводить рядок s починаючи з поточної позиції, тобто лівий верхній кут рядка, що виводиться знаходиться в поточній позиції (за умовчанням це так). Поточна позиція задається, наприклад, за допомогою MoveTo.
2. OutTextXY (x, y: integer; s: string). Використовується для виведення рядка в конкретній позиції.
Якщо потрібно вивести які або числа, то попередньо потрібно конвертувати їх в рядок, наприклад, за допомогою процедури Str.
Приклад:
var r: integer;
s: string;
Str (r, s);
OutTextXY (100,200, 'Результат =' + s);
Турбо Паскаль дозволяє використовувати кілька різних шрифтів для виводу тексту. Крім того, можна змінювати напрямок виведення тексту, а також розмір символів. У цих цілях використовується процедура SetTextStyle (Font, Direction, CharSize: word). Перерахуємо можливі константи і значення для параметрів цієї процедури.
Font (шрифт):
DefaultFont (шрифт 8x8 (за замовчуванням)
TriplexFont (напівжирний шрифт);
SmallFont (тонкий шрифт);
SansSerifFont (шрифт без засічок);
GothicFont (готичний шрифт);
Direction (орієнтація і направлення висновку символів):
0 (звичний висновок зліва направо
1 (знизу вгору (напис «покладена на бік»)
2 (зліва направо, але «лежачими» літерами.
Size (розмір шрифту (цілі числа від 0 до 10).
Інша можливість при роботі з текстом (це вирівнювання його відносно задаються координат виводу. Для цього використовується процедура SetTextJustify (horiz, wert: word). Horiz указивет як текст розташований щодо заданої позиції по горизонталі, а vert (по вертикалі. Можливі константи:
для horiz:
LeftText (зазначена позиція є лівим краєм рядка);
CenterText (позиція є серединою рядка, що виводиться);
RightText (правим краєм рядка);
для vert:
BottomText (позиція знаходиться на нижньому краї зображення);
CenterText (по центру);
TopText (позиція є верхнім краєм зображення);
Процедура (послідовність дій (записаних на Паскалі), названа яких-небудь ім'ям. Для того щоб виконати цю послідовність, потрібно у відповідному місці програми вказати її ім'я (так, наприклад, для очищення екрана при роботі з графікою ми вказуємо ClearDevice;). Крім того, що програма стає при використанні процедур коротше і зрозуміліше, процедури можна викликати з різних місць програми (в іншому разі довелося б повторювати в тексті програми однакові послідовності дій кілька разів).
Ті дії, які входять до процедури, записуються до початку основної програми в наступному вигляді:
program ...
const ...
type ...
var ...
procedure MyProc;
  begin {дії}
end;
begin {основна програма}
end.
Розглянемо приклад знаходження максимуму з трьох чисел:
Program Max1;
var a, b, c, m: integer;
begin
write ('Введіть a:'); readln (a);
write ('Введіть b:'); readln (b);
write ('Введіть c:'); readln (c);
if a> b then m: = a else m: = b;
if c> m then m: = c;
writeln ('Максимум =', m);
readln;
end. {Перепишемо його з використанням процедури:}
program Max2;
var a, b, c, m: integer;
procedure FindMax;
begin
if a> b then m: = a else m: = b;
if c> m then m: = c;
end;
begin
write ('Введіть a:'); readln (a);
write ('Введіть b:'); readln (b);
write ('Введіть c:'); readln (c);
FindMax;
writeln ('Максимум =', m);
readln;
end.
Цей варіант можна поліпшити. Поки наша процедура може шукати мінімум тільки серед значень конкретних змінних a, b і c. Змусимо її шукати мінімум серед будь-яких трьох цілих чисел і поміщати результат в потрібну нам змінну, а не завжди в m. Щоб була видна користь від такої процедури, розглянемо приклад програми для пошуку максимуму серед чисел a + b, b + c і a + c:
Program Max3;
var a, b, c, m: integer;
procedure FindMax (n1, n2, n3: integer; var max: integer);
begin
if n1> n2 then max: = n1 else max: = n2;
if n3> max then max: = n3;
end;
begin
write ('Введіть a:'); readln (a);
write ('Введіть b:'); readln (b);
write ('Введіть c:'); readln (c);
FindMax (a + b, b + c, a + c, m);
w riteln ('Максимум з сум =', m);
readln;
end.
У дужках після імені процедури (в її описі) записані так звані параметри. Цей запис означає, що всередині процедури можна використовувати цілі числа, позначені n1, n2 і n3, а також заносити значення в змінну типу integer, яка всередині процедури називається max (а реально під час роботи програми всі дії проводяться над змінної m). Параметри, в яких зберігаються числа (n1, n2, n3) називаються параметрами-значеннями; а ті, які позначають змінні (max) (параметрами-змінними, перед ними в описі ставиться слово var. Параметри, на які є посилання всередині процедури (n1 , n2, n3, max), називаються формальними, а ті, які реально використовуються при виклику (a + b, b + c, a + c, m) - фактичними.
Процедури останнього виду виявляються досить зручними. Можна один раз написати таку процедуру, переконатися в її працездатності і використовувати в інших програмах. Прикладами таких процедур є процедури для роботи з рядками, вбудовані в Турбо Паскаль.
У нашому прикладі можна переписати програму і по-іншому. Максимум з трьох чисел визначається із них однозначно, або, кажучи математичною мовою, є функцією цих трьох чисел. Поняття функції є також і в Паскалі. Розглянемо таку програму:
Program Max4;
var a, b, c, m: integer;
function Max (n1, n2, n3: integer): integer;
var m: integer;
begin
if n1> n2 then m: = n1 else m: = n2;
if n3> m then m: = n3;
Max: = m;
end;
begin
write ('Введіть a:'); readln (a);
write ('Введіть b:'); readln (b);
write ('Введіть c:'); readln (c);
writeln ('Максимум =', Max (a + b, b + c, a + c));
readln;
end.
Нам вже відомо як викликати функцію з програми (наприклад sqrt, sin і т. п.). Розглянемо опис функції. Воно дуже схоже на опис процедур, але є дві відмінності:
1. Після імені функції та списку параметрів (якщо є) через двоеточіезапісивается тип значення функції (можливі не тільки числові типи, але й логічні, рядкові, символьні);
2. Серед операторів у тілі функції найбільш важливими є оператори присвоювання значення функції (у нашому випадку це рядок Max: = m;).
У записаній вище функції використовується так звана локальна змінна m, тобто змінна, яка «видно» тільки нашої функції, а інші процедури і функції, а також головна програма її «не бачать». Крім локальних змінних в Турбо Паскалі можна визначати локальні константи та типи.
Наведемо інші приклади процедур та функцій.
1. Напишемо на Паскалі функцію [pic].
function Cube (x: real): real;
begin
Cube: = x * x * x;
end;
2. Обчислення площі трикутника через довжини сторін. Тут буде
використана формула Герона: [pic], де p (напівпериметр трикутника,
a, b, c (довжини сторін).
function Square (a, b, c: real): real;
var p: real;
begin
p: = (a + b + c) / 2;
Square: = sqrt (p * (pa) * (pb) * (pc));
end;
3. Процедура для вирішення квадратного рівняння. Будемо передавати цій процедурі коефіцієнти рівняння, а результати своєї роботи вона буде видавати в трьох параметрах-змінних. Через першу, логічного типу, процедура повідомить, чи є речові коріння, а ще в двох вона видасть самі ці корені (якщо коріння немає, то на ці дві змінні користувач нашої процедури може не звертати уваги).
Procedure SqEquation (a, b, c: real; var RootsExist: boolean; var x1, x2: real);
var d: real;
begin
d: = sqr (b) -4 * a * c;
if d> = 0 then begin
RootsExist: = true;
x1: = (-b + sqrt (d)) / (2 * a);
x2: = (-b-sqrt (d)) / (2 * a);
end
else RootsExist: = false;
end;
Можна замість процедури написати і функцію, по логічному значенню якої ми визначаємо, чи є коріння, а самі корені передаються також як і в процедурі:
Function EqHasRoots (a, b, c: real; var x1, x2: real): boolean;
var d: real;
begin
d: = sqr (b) -4 * a * c;
if d> = 0 then
begin
EqHasRoots: = true;
x1: = (-b + sqrt (d)) / (2 * a);
x2: = (-b-sqrt (d)) / (2 * a);
end
else EqHasRoots: = false;
end;
Використовувати таку функцію навіть простіше ніж останню процедуру:
if EqHasRoots (1,2,1, r1, r2) then writeln (r1, '', r2) else writeln ('Ні коренів ').
РОЗДІЛ II. ПОСТАНОВА І РІШЕННЯ ЗАДАЧ МЕХАНІКИ В СЕРЕДОВИЩІ СИСТЕМИ ПАСКАЛЬ
Процес розв'язання завдань на комп'ютері - це спільна діяльність людини і ЕОМ. Цей процес можна представити вигляді декількох послідовних етапів. Перед людини припадають етапи, пов'язані з творчою діяльністю - постановкою, алгоритмізацією, програмуванням завдань аналізом результатів, а на частку комп'ютера - етапи обробки інформації з відповідності з розробленим алгоритмом.
Перший етап - постановка задачі. На цьому етапі бере участь людина, добре представляє предметну область завдання. Він повинен чітко визначити мету завдання, дати словесний опис змісту завдання і запропонувати загальний підхід до її вирішення. Для обчислення суми двох цілих чисел людина, яка знає, як складаються числа, може описати завдання наступним чином: ввести два цілих числа, скласти їх і вивести суму в якості результату виконання завдання.
Другий етап - математичне та інформаційне моделювання. Мета цього етапу - створити математичну модель розв'язуваної задачі, яка може бути в комп'ютері. Існує цілий ряд завдань, де математична постановка зводиться до простого перерахування формул та логічних умов. Цей етап тісно пов'язаний з першим етапом, і його можна окремо не розглядати, однак можливо, що для отриманої моделі відомі декілька методів рішення, і тоді доведеться вибрати кращий. Для вищеописаної завдання даний етап зведеться до наступного: введені в комп'ютер числа запам'ятаємо в пам'яті під іменами А і В, потім обчислимо значення цих чисел за формулою А + В, і результат запам'ятаємо в пам'яті під ім'ям Summa.
Третій етап - алгоритмізація задачі. На основі математіческогоопісанія необхідно розробити алгоритм рішення.
Четвертий етап - програмування. Програмою називається план дій, який підлягає виконанню деяким виконавцем, в якості якого може виступати комп'ютер. Складання програми забезпечує можливість виконання алгоритму і відповідно поставленого завдання виконавцем - комп'ютером. У багатьох завданнях при програмування на алгоритмічній мові часто користуються заміною блоку алгоритму на один або кілька операторів, введенням нових блоків, заміна одних блоків на іншими.
П'ятий етап - введення програми і вихідних даних в ЕОМ. Програма та вихідні дані вводяться в ЕОМ з клавіатури за допомогою редакторів текстів, і для постійного зберігання здійснюється їх запис на гнучкий або жорсткий магнітний диск.
Шостий етап - тестування і налагодження програми. На цьому етапі відбувається виконання алгоритму за допомогою ЕОМ, пошук і виключення помилок. При цьому програмісту доводиться виконувати рутинну роботу з перевірки роботи програми, пошуку і виключенню помилок, і тому для складних програм цей етап часто вимагає, набагато більше часу і сил, ніж написання початкового тексту програми.
Налагодження програми - складний і нестандартний процес. Вихідний план налагодження полягає в тому, щоб оттестировать програму на контрольних прикладах.
Контрольні приклади прагнуть вибрати так, щоб при роботі з ними програма пройшла всі основні шляхи блок - схеми алгоритму, оскільки на кожному з шляхів можуть бути свої помилки, а деталізація плану залежить від того, як поведе себе програма на цих прикладах: на одному може зациклитися (тобто нескінченно повторювати одне і те ж дія); на іншому - дати явно невірний або безглуздий результат і т.д. Складні програми відладжуються окремими фрагментами.
Для підвищення якості виконання цього етапу використовуються спеціальні програми - відладчики, які дозволяють виконати програму «по кроках» зі спостереженням за зміною значень змінних, виразів і інших об'єктів програми, з відображенням виконуваних операторів.
Сьомий етап - виконання налагодженої програми та аналіз результатів. На цьому етапі програміст запускає програму і задає вихідні дані, необхідні за умовами задачі.
Отримані в результаті рішення вихідних даних аналізуються постановником завдання, і на основі цього аналізу виробляються відповідні рішення, рекомендації, висновки. Наприклад, якщо при рішення задачі на комп'ютері результат складання двох чисел 2 і 3 буде 4, то слід зробити висновок про те, що треба змінити алгоритм і програму.
Можливо, що за підсумками аналізу результатів буде потрібно перегляд самого підходу до вирішення завдання і повернення до першого етапу для повторного виконання всіх етапів з урахуванням набутого досвіду. Таким чином, в процесі створення програми деякі етапи будуть повторюватися до тих пір, поки ми отримай алгоритм та програму, що задовольняють показаним вище властивостями.

2.1. ЗАВДАННЯ СТАТИКИ, ВИРІШУЮТЬСЯ З ДОПОМОГОЮ МОВИ ПАСКАЛЬ
Основний завданням статики є вивчення методів заміни різних систем сил, що діють на абсолютно тверде тіло, найпростішими системами, що надають на тіло таку ж дію, як і вихідна система.
З'ясування умов взаємної врівноваженості системи сил є однією з основних задач статики.
На основі викладеної в першому розділі курсової роботи алгоритм конструкції мови програмування Паскаль складемо і вирішимо ряд завдань з прикладної механіки.
Сформулюємо задачу по статиці першого розділу прикладної механіки.
Завдання. Знайти центр ваги тонкого круглого однорідного стержня вигнутого по дузі кола. Розміри стрижня вказані на малюнку.
Геометрична модель вирішення задачі по статиці.
Рішення:
Площина, в якій лежить коло радіуса R, є площиною симетрії тіла. Ми приймемо її за координатну площину хОу. Тоді матимемо z c = 0. Крім того того, тіло має вісь симетрії, розташовану в площині і спрямовану по бісектрисі кута 2α.

Рис. 1. Геометрична модель тонкого круглого однорідного стержня вигнутого по дузі кола
Приймаючи цю вісь вісь за вісь абсцис, укладаємо, що y c = 0. Вибравши початок координат у центрі кола радіуса R, обчислимо абсцису центру ваги тіла.
Виділимо елементарний циліндр з довжиною твірної dl. Його обсяг дорівнює
dv = πr 2 dl = π r 2 R вφ,
а абсциса її центра ваги дорівнює
x = Rcosφ
При вирішенні задач на рівновагу твердого тіла при наявності сил тертя слід виконати:
1. Виділити тверде тіло, рівновага якого треба розглянути для відшукання невідомих величин.
2. Зобразити активні сили.
3. Якщо тверде тіло невільно, то застосувавши закон освобождаемості від зв'язків, прикласти до нього відповідні реакції зв'язків.
4. Розглянути рівновагу даного невільного твердого тіла. як тіла вільного, що знаходиться під дією активних сил та реакцій зв'язків.
При цьому слід реакцію шорсткої поверхні представити двома складовими - нормальною реакцією і силою тертя, або ж двома складовими - нормальною реакцією і силою тертя, або ж, не розкладаючи цю реакцію на складові, направити її під кутом тертя до нормалі до поверхні (при максимальній силі тертя).
5. Зіставити кількість невідомих величин і число незалежних рівнянь рівноваги, які повинні бути рівні для статично визначених завдань; при цьому до рівнянь рівноваги твердого тіла слід додати залежність сили тертя від нормального тиску;
6. Вибрати систему координат.
7. Скласти систему рівнянь рівноваги для сил, прикладених до твердого тіла або до системи твердих тіл.
8. Вирішивши систему рівнянь рівноваги, визначити шукані величини.
Таким чином, ми прийшли до результату, вираженого формулою (2). Зіставляючи обидва рішення, ми бачимо, що в першому випадку ми застосували загальний метод складання рівнянь рівноваги для твердого тіла, що знаходиться під дією довільної плоскої системи сил, не враховуючи особливостей даного завдання. Гідність загальних методів і полягає в тому, що вони ведуть до мети, незважаючи на відмінності в умовах задач.
Іноді такий шлях не є найпростішим і коротким. На прикладі другого способу рішення ми бачимо, що при обліку особливостей даного завдання вдалося скласти менше число рівнянь рівноваги, які простіше і швидше призвели до мети.
На основі розробленого алгоритму розв'язання задачі по статиці складемо Паскаль-програму.
Program Statika;
Var
x, y, a, Pmin, Pmax: Real;
R: Integer;
Begin
Writeln ('vvedite ves sterchnya');
Readln (dv);
Writeln ('vvedite dliny sterchnya');
Rreadln (dl);
Writeln ('vvedite ugol');
Readln (φ); {φ = 60}
Pmin: = (R * (((cos (φ) * 3.14/180) / cos (φ) * 3.14/180) + y)); {minimalnaya velichina gruza}
Pmax: = (R * (((cos (a) * 3.14/180) / cos (φ) * 3.14/180)-y)); {maximalnaya velichina gruza}
{Pri cos (φ) <y sila xmax ne suschestvuet}
Begin
If xmax <0 then x: = xmin + xmax;
If xmax> 0 then x: = Pmin-xmax;
End;
Writeln ('xmin =', xmin: 8:6);
Writeln ('xmax =', xmax: 8:6);
Writeln ('x =', x: 8:6);
Readln;
End.
2.2. ЗАВДАННЯ Кінематика, ВИРІШУЮТЬСЯ ЧЕРЕЗ МОВИ ПАСКАЛЬ
Швидкості точок плоскої фігури можуть бути визначені аналітичними, графічними або ж графоаналітичними методами.
Аналітичний метод. При аналітичному методі повинні бути задані рівняння руху плоскої фігури (рис.2)
Хo 1 = f 1 (t), Yо 1 = f 2 (t), φ = f 3 (t). (1 *)
Проекції швидкості точки М на нерухомі осі координат визначається рівностями:
V x = Vо 1 Х-W z (Y-Yo 1) (2 *)
V y = Vо 1 Y + W z (Х-Хo 1) (3 *)
У цих формулах V x, V y - шукані проекції швидкості точки М на нерухомі осі координат; 1 x = Хo 1, 1 y = Yo 1-проекції швидкості полюса, почала рухомої системи координат ХY на нерухомі осі координат; W z = φ-проекція кутової швидкості на вісь Z, перпендикулярну до площини руху; ХУ координати точки М в нерухомій системі координат; Хо 1, 1 - координати полюса О 1 в нерухомій системі осей. Визначення координат Х, Y точки М, за заданим рівнянням руху плоскої фігури (1 *) виконується за формулами:
Х = Хо 1 + Х 1 cosφ - Y 1 sin φ
Y = Y про 1 + Х 1 sin φ + Y 1 cos φ
Проекції швидкості точки М на нерухомі осі координат знаходяться за формулами:
Vx 1 = Vo 1 x cos φ + Vo 1 у sin φ - Wzy 1 (4 *)
1 =-Vo 1 x sin φ + Vo 1 у сos φ - Wz х 1 (5 *)
У цих формулах Vx, Vу - шукані проекції швидкості точки М на осі х, у рухомої системи координат, жорстко пов'язаної з плоскою фігурою; х у - координати точки М в рухомій системі осей, інші величини мають те ж значення, що і в рівняннях ( 2 *), (3 *).
Величини швидкості точки М за відомим проекціям визначаються формулою:
V = √ Vx 2 + Vу 2 = √ Vx 1 2 + Vу 2 січня (6 *)
Напрямні косинуси даються равенствами:
cos (V, X) = Vx / V, cos (V, У) = Vy / V (7 *)
cos (V, X) = Vx / V, cos (V, У) = Vy / V (8 *)
Графоаналітичний метод. Перший графоаналітичний спосіб визначення швидкостей точок плоскої фігури заснований на формулі розподілу швидкостей (рис.2).

Рис. 2. Геометрична модель плоскої фігури

V = Vo 1 + W r, (9 *)
в цій формулі
V - шукана швидкості точки М;
Vo 1 - швидкість полюса О,
W - кутова швидкість плоскої фігури;
r - Радіус-вектор, проведений з полюса О в Рис. 3 точку М.
Таким чином, знаючи швидкість якої-небудь точки плоскої фігури, вибираємо цю точку за полюс. Далі відкладаємо від точки М, швидкість якої підлягає визначенню, вектор, рівний швидкості полюса, і вектор W r 1, спрямований перпендикулярно до r 1, і рівний по величині W r 1. Векторна сума цих складових і дає шукану швидкість точки М, Якщо швидкість точки М відома у напрямку, то можна не зазначити величини обертальної швидкості W r 1, так як і ця швидкість, і шукана швидкість точки М визначається перетином прямий, що збігається з напрямком швидкості точки М, і прямої, перпендикулярної до лінії О М, проведеної з кінця вектора Vо, відкладеного з точки М.
Після того, як трикутник або паралелограм швидкостей виражає рівність (9 *), побудований, завдання може вважатися вирішеною. Величина і напрям швидкості точки М можуть бути знайдені за рис. (2) або отримані з вирішення цього трикутника.
Формула розподілу швидкостей (9 *) записується часто у вигляді:
V b = V a + V ba (9 **)
де V-шукана швидкість точки В, V a-відома швидкість точки А, обраної за полюс, а
V ba = W АВ, V ba = W AB, (9 ***)
- Обертальна швидкість точки В навколо точки А, що дорівнює по модулю, твору миттєвої кутової швидкості плоскої фігури на відстань від точки до полюса і спрямована перпендикулярно до відрізка прямої ВА в бік миттєвого обертання фігури.
Багато задач можуть бути вирішені за допомогою теореми про рівність проекції швидкостей кінців відрізка плоскої фігури на напрям відрізка.
Другий графоаналітичний метод визначення швидкостей плоскої фігури заснований на використанні миттєвого центру швидкостей цієї фігури. При не поступальному русі плоскої фігури (W = 0) в кожен даний момент існує точка тіла, швидкість якої дорівнює нулю. Ця точка називається миттєвим центром швидкостей і зазвичай позначається через P. Єдиним винятком є випадок так званого миттєво поступального руху (W = 0), який буде розглянуто окремо. Вибираючи миттєвий центр за полюс, маємо закон розподілу швидкостей в плоскій фігурі.
V = W r 1, V = W М Р, (10 *)
де V-шукана, швидкість довільної точки М; W-кутова швидкість плоскої фігури, r 1-радіус-вектор, проведений з миттєвого центру швидкостей в точку М, званий миттєвим радіусом. Таким чином, швидкості всіх точок плоскої фігури є в даний момент обертальними швидкостями навколо миттєвого центру швидкостей. Їх величина дорівнює добутку величин кутовий швидкості на модуль миттєвого радіуса, а спрямовані вони перпендикулярно до миттєвого радіусу. Таким чином, величина швидкостей точки плоскої фігури пропорційні величині миттєвих радіусів:
V b / ВР = V a / АР =...= W,               (11 *)
При графоаналітичний методи вирішення задач рекомендується така послідовність дій:
1) Вибрати за полюс ту точку плоскої фігури, напрям швидкості якої відомо;
2) знайти іншу точку плоскої фігури, напрям швидкості якої відомо;
1) користуючись формулою розподілу швидкостей, знайти швидкість цієї точки плоскої фігури;
2) виходячи з формули розподілу швидкостей визначити значення кутової швидкості плоскої фігури в даний момент часу;
3) знаючи кутову швидкість фігури та швидкість полюса, знайти з допомогою формули розподілу швидкостей шукані швидкості інших точок фігури.
При графоаналітичний метод вирішення завдань може бути застосований метод проекції. У цьому випадку може бути рекомендований наступний порядок вирішення завдань:
1. Вибрати за полюс точку плоскої фігури, швидкість якої відома;
2. Користуючись формулою розподілу швидкостей, побудувати швидкість іншої точки плоскої фігури, у якої відомо напрямок її швидкості;
3. Спроектувати отриманий трикутник швидкостей на напрям прямої, що з'єднує обидві точки, і знайти швидкість другої точки;
4. Спроектувати трикутник швидкостей на напрям, перпендикулярний до прямої, що з'єднує обидві точки, і знайти обертальну швидкість другої точки по відношенню до полюса;
5. Розділивши обертальну швидкість на відстань від точки до полюса, знайти миттєву кутову швидкість плоскої фігури;
6. Знаючи миттєву кутову швидкість фігури, можна знайти швидкості будь-яких точок плоскої фігури, користуючись формулою розподілу швидкостей.
Якщо завдання вирішується за допомогою миттєвого центру швидкостей, рекомендується така послідовність:
1) визначити положення миттєвого центру плоскої фігури;
2) знайти величину миттєвого радіусу тієї точки плоскої фігури, швидкість якої відома і визначити кутову швидкість плоскої фігури, розділивши величину швидкості точки на величину миттєвого радіусу;
3) знайти шукані величини швидкостей точок плоскої фігури, множачи кутову швидкість на миттєвий радіус відповідної точки або використовуючи.
Тепер розглянемо конкретну задачу по кінематиці.
Завдання. Для перетворення періодичного зворотно-поступального руху в обертальний рух в двигунах внутрішнього згоряння застосовують шатунно-кривошипний механізм, що складається з кривошипа ОА = r, що обертається навколо нерухомої точки О в площині малюнка, шатуна АВ = l, шарнірно з'єднаний з кривошипом, і поршня У, що рухається по горизонтальних напрямних циліндра, що збігається з прямою ОВ.

Рис. 3. Геометрична модель плоского шатунно-кривошипного механізму
На основі розробленого алгоритму рішення задачі з кінематики складемо Паскаль - програму.
Program Kinematika;
Var t, f0, k, b1, b2, x1, x2, a, b, l, d, f1, f2, a1, a2, w1, w: real;
Begin
Write ('vvedite welichini abdlwt =');
Readln (a, b, d, l, w, t);
x1: = (sqr (d + b)-a * a + l * l) / (2 * l * (d + b));
f1: = (180/pi) * arctan (sqrt (1-sqr (x1)) / x1);
x2: = (sqr (d + b)-a * al * l) / (2 * l * a);
a1: = (180/pi) * arctan (sqrt (1-sqr (x2)) / x2);
x1: =- (l * l + sqr (db)-a * a) / (2 * l * (db));
f2: = (180/pi) * arctan (sqrt (1-sqr (x1)) / x1);
x2: = (l * l-sqr (db) + a * a) / (2 * l * a);
a2: = (180/pi) * arctan (sqrt (1-sqr (x2)) / x2);
f0: = w * t;
k: = sqrt (l * l + b * b-2 * l * b * cos (f0));
x1: = (k * k + d * da * a) / (2 * k * d);
b2: = arctan (sqrt (1-sqr (x1)) / x1);
x2: = (1 / k) * sin (f0);
b1: = arctan (x2/sqrt (1-sqr (x2)));
w1: = (b * k * sin (b1 + b2) * w) / (a * a * sin (b2));
Writeln ('a1 =', a1: 6:3, 'a2 =', a2: 6:3);
Writeln ('f1 =', f1: 6:3, 'f2 =', f2: 6:3);
Writeln ('w1 =', w1: 6:3);
Readln;
End.
2.3. ЗАВДАННЯ ДИНАМІКИ, ВИРІШУЮТЬСЯ В СЕРЕДОВИЩІ СИСТЕМИ ПАСКАЛЬ
Теорема про рух центру мас системи матеріальних точок.
У разі збереження швидкості центру мас. Теорема про рух центру мас системи матеріальних точок. Залежність між швидкістю центру мас і швидкостями точок матеріальної системи має вигляд:
V з = (Σm k * V k) / M, тобто
x c = (Σm k * x k) / M, y c = (Σm k * y k) / M, z c = (Σm k * z k) / M (1 *)
Тут
V з = x c * i + y c * j + z c * k
Залежність між прискоренням центру мас і з прискореннями точок матеріальної системи виражається співвідношенням
W з = (Σm k * W k) / M, тобто
x c = (Σm k * x k) / M, y c = (Σm k * y k) / M, z c = (Σm k * z k) / M, (2 *)
Тут
W з = x c * i + y c * j + z c * k
Нагадаємо формулювання теореми про рух центра мас: центр мас системи матеріальних точок рухається як матеріальна точка, маса якої дорівнює масі матеріальної системи і до якої прикладено всі зовнішні сили, що діють на систему: M * Wc = ΣFk.
Та ж теорема, записана в проекціях на осі декартових координат має вигляд:
Mx c = ΣFkx, My c = ΣFky, Mz c = ΣFkz, (3 *)
Рух центру мас системи матеріальних точок залежить від зовнішніх сил, прикладених до даної системи. Внутрішні сили, які відсутні у формулюванні теореми, безпосередньо на рух центру інерції системи не впливають. Ця обставина значно полегшує вирішення завдань, так як внутрішні сили системи здебільшого бувають невідомі.
Завдання динаміки поступального руху твердого тіла вирішуються за допомогою теореми про рух центра мас системи матеріальних точок.
Дійсно, застосувавши цю теорему, ми визначимо рівняння траєкторії, швидкість і прискорення центра ваги твердого тіла. При поступальному русі твердого тіла траєкторії усіх точок однакові, а швидкості і прискорення їх відповідно рівні.
За допомогою теореми про рух центру мас можна вирішувати прямі і обернені задачі динаміки. Послідовність вирішення завдань:
1. Зобразити на малюнку всі зовнішні сили системи;
2. Вибрати систему осей координат;
3. Записати теорему про рух центру мас (3 *) в проекціях на декартові осі координат;
4. Обчислити суми проекцій всіх зовнішніх сил системи на осі декартових координат і підставити їх в (3 *);
5. У залежності від умови вирішувати пряму, або обернену задачі динаміки.
У деяких прямих завданнях бувають задані всі зовнішні сили, кормі однієї, маси всіх матеріальних точок системи і закони їх руху. Тоді після виконання перших чотирьох пунктів для обчислення лівих частин рівняння (3 *) треба скористатись допоміжними формулами
Mx c = Σm k x k, My c = Σm k y k, Mz c = Σm k z k (4 *)
де m k - маса k-ої точки, а x k, y k, z k - рівняння її руху, ввести ці результати в (3 *) і визначити невідому силу.
У деяких обернених задачах бувають задані всі зовнішні сили, маси всіх точок системи і закони руху всіх точок, крім однієї і потрібно визначити рух цієї точки. Тоді, після виконання перших чотирьох пунктів також слід скористатися формулами (4 *), отримані результати ввести в ліві частини рівнянь (3 *) і потім знайти шуканий закон руху точки.
Якщо до складу системи входять тіла з безперервним розподілом мас, то слід записати координати x k, y k, z k центрів тяжіння цих тіл і потім скористатися формулами (4 *).
Завдання. Епіцікліческій механізм, розташований у вертикальній площині, встановлений на горизонтальній ідеально гладкою площині і прикріплений до неї болтами K і L. Зубчасте колесо 1 радіуса r 1 нерухомо. С 2 - центр тяжіння зубчастого колеса 2 вагою Р 2 і радіусом r 2. З 1 - центр ваги станини А і колеса 1, загальна вага яких дорівнює Р 1. Масою кривошипа З 1 З 2, що обертається з постійною кутовою швидкістю w, знехтувати. У початковий момент кривошип займав праве горизонтальне положення. Визначити:
1) нормальний тиск механізму на площину,
2) кутову швидкість w обертання кривошипа, при якій механізм в умовах відсутності болтів почне підстрибувати над горизонтальною площиною,
3) найбільша горизонтальне зусилля, що діє на болти,
рух центру тяжіння З 1 станини механізму після зрізу болтів K і L.

Рис. 4. Геометрична модель похилій площині.
Рішення. Матеріальна система складається з двох мас: нерухомого колеса 1 із станиною і рухомого колеса 2. Зобразимо зовнішні сили цієї системи: Р 1 - вага станини і нерухомого колеса 1, Р 2 - вага рухомого колеса 2, R y - сумарна нормальна реакція площині, R x - сумарна тангенціальна реакція болтів K та L. Направимо вісь Oy по вертикалі через точку С 1, вісь x - вздовж горизонтальної площини направо.
Запишемо теорему про рух центру мас системи в проекціях на осі x і y:
Mx c = ΣF kx, My c = ΣF ky, Mz c = ΣF kz
У цьому завданню
Σ F kx = R x, Σ F ky = R y - P 1 - P 2, R x = Mx c, (1)
R y = My c + P 1 + P 2 (2)
Для визначення сил R x і R y залишається підрахувати Mx c і My c. Обчислення Mx c і My c ведеться за формулами:
Mx c = Σm k x k, My c = Σm k y k.
У даному випадку
Mx c = m 1 x 1 + m 2 x 2 і My c = m 1 y 1 + m 2 y 2, (3).
Де x 1 і y 1 - координати центру ваги З 1 станини механізму і нерухомого колеса 1, x 2 і y 2 - координати центру ваги З 2 рухомого колеса 2.
Як видно з рис., X 1 = 0, y 1 = ОС 1 - постійна, x 1 = C 1 C 2 cosw t = (r 1 + r 2) cos wt (кут повороту кривошипа З 1 З 2 дорівнює φ = wt , так як за умовою w постійна), y 2 = ОС 1 + З 1 З 2 sinw t = ОС 1 + (r 1 + r 2) sinw t.
Обчисливши другу похідні x 1, y 1, x 2, y 2 по часу t знаходимо x 1 = 0 y 1 = 0, x 2 =- (r 1 + r 2) w 2 cosw t, y 2 =- (r 1 + r 2) w 2 sinw t.
Внісши ці значення у формули (3), отримаємо:
Mx c =-m 2 (r 1 + r 2) w 2 соs wt, (4)
My c =-m 2 (r 1 + r 2) w 2 sin wt (5)
Після підстановки (4) в (1) та (5) в (2) знаходимо:
R x =-P 2 / g * (r 1 + r 2) w 2 зі s wt (6)
R y = P 1 + P 2 - P 2 / g * (r 1 + r 2) w 2 sin wt (7)
Тиск механізму на горизонтальну площину направлено протилежно реакції R y і за модулем одно їй:
N y = P 1 + P 2-P 2 / g * (r 1 + r 2) w 2 sin wt
Найбільший тиск:
N y max = P 1 + P 2 + P 2 / g * (r 1 + r 2) w 2
Найменший тиск:
N y min = Р 1 + P 2 - P 2 / g * (r 1 + r 2) w 2
В умовах відсутності болтів механізм може почати підстрибувати над горизонтальною площиною. Це буде мати місце при R ymin <0, тобто при Р 1 + P 2-P 2 / g * (r 1 + r 2) w 2 <0, звідки випливає, що кутова швидкість w обертання кривошипа C 1 C 2 , при якій відбувається підстрибування механізму, повинна задовольняти нерівності
w> √ g * (P 1 + P 2) / P 2 (r 1 + r 2).
Горизонтальний тиск, що діє на болти, направлено протилежно R ​​х (див. формулу (6)), причому
N x = P 2 / g * (r 1 + r 2) w 2 coswt.
Найбільший тиск одно
N xmax = P 2 / g * (r 1 + r 2) w 2
Припустимо, що під дією, сили N x стався зріз болтів.
Тоді весь механізм почне рухатися по ідеально гладкою горизонтальній площині.
На рис. б зображено механізм в положенні, коли точка З 1 змістилася з осі у направо на х 1. Так як станина механізму знаходиться в русі щодо осі х, то х 1 є функцією часу t.
З креслення видно, що в даному випадку
х 2 = х 1 + З 1 З 2 cos wt = х 1 + (r 1 + r 2) cos wt.
Отже,
M x c = т 1 х 1 + т 2 x 2 = (m 1 + m 2) x 1 - m 2 (R 1 + r 2) w 2 cos wt (8)
Теорема про рух центру мас системи матеріальних точок у проекції на вісь х має вигляд
Мх с = Σ F e kx
Так як після зрізу болтів реакція R x відсутня, а зовнішні сили Р 1 Р 2 і R у перпендикулярні до осі х, то Σ F kx = 0 і Мх з = 0. Підставивши в це рівняння значення Mx з з формули (8), отримаємо
1 + m 2) х 1 - m 2 (r 1 + r 2) w 2 cos wt = 0,
т. е.
x 1 = Р 2 / (Р 1 + Р 2) * (r 1 + r 2) w 2 cos wt, (9)
Це - диференціальне рівняння руху центру ваги З 1 станини механізму по ідеально гладкою горизонтальній площині при відсутності болтів. Для інтегрування рівняння (9) повинні бути відомі початкові умови руху точки З 1. Так як в момент зрізу болтів точка C 1 знаходилася на осі у і була в спокої, то початкові умови руху записуються у вигляді:
при t = 0 x 1 = 0 і y 1 = 0.
Проінтегрувавши диференціальне рівняння (9), отримаємо:
x 1 = Р 2 / Р 1 + Р 2 * (r 1 + r 2) w sin wt + D 1
Після підстановки початкової умови руху t = 0 і x 1 = 0 має D 1 = 0, тобто
x 1 = Р 2 / Р 1 + Р 2 * (r 1 + r 2) w sin wt
Вдруге Проінтегрувавши, знаходимо х 1 = - Р 2 / Р 1 + Р 2 * (г 1 + r 2) cos wt + D 2. Використавши те, що при t = 0, х 1 = 0, маємо:
D 2 = Р 2 / Р 1 + Р 2 * (r 1 + r 2)
тобто x 1 = Р 2 / Р 1 + Р 2 * (r 1 + r 2) (1 - cos wt).
Отже, центр ваги З 1 станини механізму в разі відсутності болтів здійснює гармонійні коливання з амплітудою Р 2 / Р 1 + Р 2 * (r 1 + r 2) та кругової частотою, рівною кутовий швидкості w обертання кривошипа З 1 С 2.
Це завдання можна вирішити також за допомогою рівняння динаміки переносного руху. Як відомо, переносне поступальний рух системи відбувається як рух абсолютна під дією всіх зовнішніх сил системи і сил інерції мас в їх відносному русі, тобто
Mw e = Σ F k + ΣJ rk,
де F k - зовнішні сили, a J rk - сили інерції у відносному русі.
У проекціях на осі декартових координат маємо:
Мх е = Σ F kx e + Σ J rkx Му е = Σ F ky e + Σ J rky,
k = 1
Мz е = Σ F kz e + Σ J rkz
k = 1
У цьому завданню колесо 2, беручи участь в переносному поступальному русі разом з колесом 1 і станиною, здійснює відносне обертальний рух навколо осі, що проходить через центр тяжіння З 1 колеса 1 і станини перпендикулярно до площини ху.
Зобразивши всі зовнішні сили системи Р 1, Р 2, R x і R y (див. рис. в), додаємо відцентрову силу інерції у відносному русі
J r n = - Р 2 / g * w rn. Тому що крапка З 2 у відносному русі описує коло з центром З 1 радіусу З 1 З 2 = r 1 + r 2, то, доцентрове прискорення w rn, спрямоване від С 2 до С 1 і, отже, відцентрова сила інерції у відносному русі J r n спрямована протилежно. По модулю
J r n = - Р 2 / g * w rn = Р 2 / g * (r 1 + r 2) w 2
Обертальна сила інерції у відносному русі J =-Р 2 / g * w r τ дорівнює нулю, так як кривошип обертається рівномірно. Застосувавши диференціальні рівняння переносного поступального руху матеріальної системи в проекціях на осі х і у:
Мх е = Σ F kx e + Σ J rkx , Му е = Σ F ky e + Σ J rky,
k = 1 k = 1 k = 1 k = 1
отримаємо
Mx e = R x + J rn coswt, My e = R e - P 1 - P 2 + J rn sinwt,
Так як х e = х 1, y e = y 1, J rn = P 2 / g * (r 1 + r 2) w 2, то
Мх 1 = R x + P 2 / g (r 1 + r 2) w 2 coswt, (10)
My 1 = R y-P 1 - Р 2 + P 2 / g (r 1 + r 2) w 2 sinwt. (11)
У разі механізму, закріпленого болтами, центр ваги З 1 колеса 1 і станини нерухомий, тобто х 1 = у 1 = 0, і диференціальні рівняння приймають вигляд
R x + P 2 / g (r 1 + r 2) w 2 coswt = 0, (12)
R y--P 1 - Р г + P 2 / g (r 1 + r 2) w 2 sinwt, (13)
звідки випливає, що проекція нормальної реакції площини дорівнює
R y = P 1 - Р г + P 2 / g (r 1 + r 2) w 2 sinwt. (14)
Проекція на вісь х горизонтальної сили реакції болтів дорівнює
R x = P 2 / g (r 1 + r 2) w 2 coswt. (15)
Умова підстрибування визначаємо з (14), вважаючи R у min негативним. Так як
R ymin = P 1 + Р р - P 2 / g * (r 1 + r 2) w 2, а R y min <0, то
P 1 + Р 2 - P 2 / g * (r 1 + r 2) w 2 <0
звідки w> √ g * (P 1 + P 2) / (P 2 (r 1 + r 2))
Для визначення закону руху центру ваги C L колеса 1 і станини механізму після зрізу болтів треба у формулі (10) покласти R x = 0. Тоді
Мх 1 = P 2 / g * (r 1 + r 2) w 2 coswt,
Тобто приходимо до рівняння (9):
x 1 = P 2 / (P 1 + P 2) * (r 1 + r 2) w 2 cos wt,
рішення якого було отримано вище.
На основі розробленого алгоритму рішення задачі з кінематики складемо Паскаль - програму.
Program DINAMIKA;
Var
w, r1, r2, P1, P2, t, NxMax, Ny, x1: Real;
Const
g = 9.8;
Begin
Writeln ('vvedite radius r1');
Readln (r1);
Writeln ('vvedite radius r2');
Readln (r2);
Writeln ('vvedite ves P1');
Readln (P1);
Writeln ('vvedite ves P2');
Readln (P2);
Writeln ('vvedite vremya');
Readln (t);
w: = sqrt ((g * (P1 + P2)) / (P2 * (r1 + r2)));
Ny: = P1 + P2-(P2 / g) * (r1 + r2) * w * w * cos (w) * t;
NxMax: = P2 / g * (r1 + r2) * w * w;
x1: = P2/P1 + P2 * (r1 + r2) * (1-cos (w) * t);
Writeln ('w: =', w);
Writeln ('Ny: =', Ny: 8:6);
Writeln ('NxMax: =', NxMax: 8:6);
Writeln ('x1: =', x1: 8:6);
Readln;
E nd.

ВИСНОВОК
Метою курсової роботи була вивчення повного спектру функціональних можливостей мови програмування Паскаль для вирішення завдань прикладної механіки.
Завданнями даної роботи було:
1. Освоєння повного спектру функціональних можливостей мови програмування Паскаль;
2. Постановка і вирішення завдань прикладної механіки традиційним способом;
3. Рішення задач механіки у середовищі мови програмування Паскаль.
Методами роботи при виконанні поставлених завдань:
1. Теоретичний аналіз науково-технічної літератури з мови програмування Паскаль;
2. Математичне моделювання задач прикладної механіки;
3. Комп'ютерне рішення завдань прикладної механіки.
На основі проведеного курсового дослідження на тему «Програми технології мови програмування паскаль у прикладній механіці» можна сформулювати наступні висновки:
1. Мова програмування високого рівня Паскаль має широкий спектр логічних конструкцій і функцій, необхідних для успішного вирішення завдань прикладної механіки.
2. Інформаційне моделювання механічних явищ засобами логіки і вищої математики дозволяє досить швидко перевести вирішення завдань прикладної механіки на рівень комп'ютерних обчислень за допомогою мови програмування Паскаль.

ЛІТЕРАТУРА
1. Бать М.І., Джанелідзе Г., Кельзон А. С. Теоретична механіка у прикладах і задачах. Т.1. М.: Просвещение, 2000.
2. Бать М.І., Джанелідзе Г., Кельзон А. С. Теоретична механіка у прикладах і задачах. Т.2. М.: Просвещение, 2000.
3. Бочкін А. І. Методика викладання інформатики. - Мінськ: Вища школа, 1998.
4. Блашкін І.І., Буров А. А. Нові можливості Turbo-Pascal 6.0. - Спб.: Изд-во «Макет», 1992.
5. Бородич Ю.С. та ін Паскаль для персональних комп'ютерів: Справ. посібник / Ю. С. Бородич, О. М. Вальвачев, А. І. Кузьмич. - Мн. Обчислюємо. шк.: БФ ГІТМП «НІКА», 1991.
6. Васильєв П. П. Турбо Паскаль - мій друг: М.: Комп'ютер, ЮНИТИ, 1995.
7. Веліков В.П., Нова інформатика в школі / / Інформатика та освіта. - 1986. - № 1.
8. Обчислювальна техніка та програмування. Під редакцією А. В. Петрова М., Вища школа, 1990.
9. Голубєва О. В. Теоретична механіка. Изд-во «Вища школа». М.: 1968.
10. Донцов Д. А. Найпотрібніші програми для Windows. Популярний самовчитель .- Спб.: Пітер, 2006.
11. Джордейн Р. Довідник програміста персональних комп'ютерів типу IBM PC, XT, AT: Пер. з англ. / Предисл. Н. В. айського. - М.: Фінанси і статистика, 1991.
12. Зозуля Ю. Комп'ютер на 100% - Спб.: Пітер, 2006.
13. Зуєв Є. А. Мова програмування Turbo Pascal 6.0. - М.: Унітех, 1992.
14. Інформатика. Базовий курс: Учеб. посіб. для студентів технічних вузів / С.В. Симонович, Г. Євсєєв, В. І. Мухаровський та ін; під ред. Симоновича - Спб.: Питер, 2005.
15. Інформатика: Учеб. посіб. для пед. спец. вузів / А.Р. Есаян, В.І. Єфімов, Л.П. Липецька и др. - М.: Просвещение, 1991.
16. Лапчик М. П. Методика викладання інформатики. М.: посвещенная, 2001.
17. Левін О. Самовчитель корисних програм 3-тє вид .- Спб.: Пітер, 2003.Турбо Паскаль 7.0 - К.: Видавнича група BHV, 1998.
18. Марченко А. І., Марченко Л. І. Програмування в середовищі Turbo-Pascal 7.0-М., Біном Універсал, К.: Юніор, 1997.
19. Мізрохі А.М. Turbo Pascal і об'єктно-орієнтоване програмування. - М.: Фінанси і статистика, 1992.
20. Немнюгин С. А. Turbo Pascal. Програмування на мові високого рівня. Підручник для вузів. 2-е вид .- Спб.: Питер, 2005.
21. Ривкин К. А. Довідник школяра з інформатики. 7-11 кл. - М.: ТОВ Вид. дім «Онікс 21 століття», 2005.
22. Довідник по процедурах і функціям Borland Pascal with Objects 7.0. - Київ: «Діалектика», 1993.
23. Фарафонов В. В. Турбо Паскаль 7.0. Початковий курс: навч. посібник. - М.: КНОРУС, 2006.
24. Федоров А. Особливості програмування на Borland Pascal. - Київ: «Діалектика», 1994.
25. Хершель Р. Турбо Паскаль / 2-е вид., Перераб. - Вологда: МП «МІК», 1991.
26. POWER TOOLS PLUS. Процедури підтримки для Turbo Pascal 4.0.: Довідкове керівництво користувача. Технічна документація.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
173.9кб. | скачати


Схожі роботи:
Елементи та структура програми мови Паскаль
Основні поняття мови програмування Турбо Паскаль
Засоби мови програмування Паскаль для розв`язування математичних задач
Вступ у програмування мовою Паскаль
Основи програмування мовою Паскаль
Розробка комп`ютерної програми на мові Паскаль для проведення простого теплофізичного розрахунку
Цілі та дійсні типи мови Турбо Паскаль
Аналіз програми та підручників з української мови щодо вивчення частин мови в початковій школі
Ази програмування і навчальні програми
© Усі права захищені
написати до нас