Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ET / …’ / ОТтаП / Лабораторна робота №10

.doc
Скачиваний:
28
Добавлен:
30.05.2015
Размер:
73.73 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ОДЕСЬКИЙ ДЕРЖАВНИЙ ІНСТИТУТ ВИМІРЮВАЛЬНОЇ ТЕХНІКИ

Білоцерківська філія

Методичні вказівки та завдання

до виконання лабораторної роботи №10

з дисципліни

обчислювальна техніка

та програмування

Спеціальність: 5.0500103 «Механічні вимірювання»

5.0500102 «Електротеплотехнічні вимірювання»

Методичні вказівки розглянуті та рекомендовані у навчальний процес цикловою комісією

Протокол №____ _____ __________ 20_ р.

Голова циклової комісії ________________ ___________________

м. Біла Церква

Тема: Мова програмування високого рівня Турбо Паскаль

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

Теоретичні відомості:

У мові Паскаль програма складається із заголовка, розділів описів і розділу операторів:

program <ім'я програми>;

<розділи описів>

begin

<розділ операторів>

end.

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

Описи в мові Паскаль складаються з окремих розділів:

uses... {опис імен бібліотечних модулів, які будуть використову

ватися в програмі}

label... {oпис міток}

const... {опис констант}

type... {опис типів даних}

var... {опис змінних}

procedure...

function... {опис процедур і функцій}.

У мові Турбо Паскаль розділи описів можуть іти в довільному порядку і навіть повторюватися; головне, щоб імена, які використовуються, були або стандартними, або попередньо описаними. Заголовок у мові Turbo Pascal не обов'язковий, оскільки він не несе жодного смислового навантаження.

Стандартні математичні функції мови програмування Turbo Pascal

  • Abs(X) — обчислення абсолютного значення (модулю) Х.

  • ArcTan(X) — обчислення кута, тангенс якого дорівнює Х (тобто математичний arctg(X)) , значення кута подано в радіанах і може знаходитися в діапазоні від -π/2 до π/2. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/π. Результат має дійсний тип.

  • Cos(X) — обчислення косинуса Х, параметр задає значення кута в радіанах.

  • Exp(x) — обчислення значення експоненти аргументу (ex). Результат завжди має дійсний тип.

  • Frac(X) — знаходження дробової частини Х. Результат має дійсний тип.

  • Int(X) — знаходження цілої частини Х (дробова частина відкидається). Результат має дійсний тип.

  • Ln(x) — обчислюється натуральний логарифм аргументу. Результат має дійсний тип. За допомогою функцій Exp та Ln можна обчислити довільну степінь числа наступним чином: ab=Exp(b*Ln(a)), відповідно корінь можна подати так само a1/b (тобто корінь степіня b з a)=Exp(1/b*Ln(a)).

  • Pi — повертає значення числа p (3.1415926).

  • Sin(X) — обчислення синуса Х. Параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/p. Результат має дійсний тип.

  • Sqr(X) — піднесення до квадрату значення Х. Тип результату збігається з типом параметра.

  • Sqrt(X) — обчислення квадратного кореня з Х. Тип результату дійсний.

Оператори мови Паскаль можна поділити на прості, структуровані та оператори введення-виведення. До простих операторів відносять:

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

  2. оператор присвоювання

<ідентифікатор>:=<вираз>;

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

  1. оператор безумовного переходу

goto <мітка>;

Для формування міток можна використовувати цифри та літери латинського алфавіту. Мітки описуються у розділі label. Перехід на мітку можна робити лише в межах того програмного блоку (тіла програми або підпрограми), в якому вона описана. Наприклад,

label М1, 123;

begin

123:<оператор1>;

goto М1;

goto 123;

М1:<оператор2>;

end.

  1. оператор виклику процедури (стандартної або описаної користувачем) має наступний вигляд:

<ім'я процедури> [(фактичні параметри)];

До структурованих операторів відносять:

  1. складений оператор, який служить для об'єднання деякої кількості операторів:

begin

<оператор1>;

........

<оператор N>;

end;

  1. умовний оператор іf:

if <умова> then <оператор1> else <оператор2>;

  1. оператор вибору case:

case <вираз-селектор вибору> оf

<список міток1>: <оператор1>;

<список міток N>:<оператор N>;

else <оператор>;

end;

Вираз-селектор вибору та мітки розгалужень в операторі case повинні належати до простого упорядкованого типу. Якщо значення виразу збігається з однією з міток певного розгалуження, то виконується оператор з цього розгалуження. Якщо значення виразу не збігається з жодною з міток, то, при його наявності спрацьовує оператор з розгалуження else;

  1. цикл із параметром for:

for <змінна>:=<вираз1> to <вираз2> do <оператор>;

for <змінна>:=<вираз1> downto <вираз2> do <оператор>;

Змінна-параметр циклу, як і вираз1 та вираз2, повинні належати до простого упорядкованого типу. Вираз1 та вираз2 задають діапазон значень, яких набуває змінна при переході від одного кроку циклу до наступного. У першому операторі for змінна набуває значень у зростаючому порядку, а в другому — у спадному;

  1. цикл із передумовою while працює доти, поки умова залишається істинною.

while <умова> do <оператор>;

  1. цикл з післяумовою repeat працює доти, поки умова буде хибою.

repeat

<оператор1>;

<оператор N>

until <умова>;

Введення і виведення даних здійснюється у мові Паскаль за допомогою відповідних процедур:

Read (<список змінних>); —дозволяє ввести значення для вказаних змінних із клавіатури,

Write (<список виведення>); —виводить значення елементів списку виведення на екран монітора.

Процедура Writeln(<список виведення>) після роздрукування елементів списку переводить курсор у наступний рядок на екрані.

Елементами списку виведення можуть бути вирази та константи, змінні, виклики функцій як окремі випадки виразів.

Приклади розв’язування задач

Приклад 1(на мітки і оператор безумовного переходу)

Ввести номер дня тижня і вивести відповідну йому назву на українській і російській мові.

Розв’язання:

Program zadacha;

M: label;

Var i: integer;

Begin

M: write(‘vvod i’);

Readln(i);

Case i of

1: writeln(‘понеділок, понедельник’)

2: writeln(‘вівторок, вторник’)

3: writeln(‘середа, среда’)

4: writeln(‘четвер, четверг’)

5: writeln(‘п’ятниця, пятница’)

6: writeln(‘субота, субота’)

7: writeln(‘неділя, воскрисенье’)

Else i<1 or i>7 then goto M

end;

end.

Приклад 2 (оператори циклу)

Протабелювати функцію y=x2+1 на відрізку x є [-4;4] з кроком 1.

Розв’язання:

Цикл з параметром:

program zadacha2;

var x,y :integer;

begin

for x:=-4 to 4 do

begin

y:=x*x+1;

writeln (‘x=’,x,’y=’,y);

end;

end.

Цикл з передумовою:

program zadacha3;

var x,y:integer;

begin

x:=-4;

while x<=4 do

begin

y:=x*x+1;

writeln (‘x=’,x,’y=’,y);

x:=x+1;

end;

end.

Цикл з пост умовою:

program zadacha 4;

var x,y:integer;

begin

x:=-4;

repeat

y:=x*x+1;

writeln (‘x=’,x);

x:=x+1;

until x>4;

end.

Приклад 3

Скласти програму обчислення функції мовою Turbo Pascal: якщо x=y, то інакше

Розв’язування:

Program zadacha;

var f, y, x:real;

begin

writeln(‘введіть числові дані x y’);

write(‘x:’);

read(x);

write(‘y:’);

read(y);

if x=y then f:=sin(2*y)+(5/(1+cos(3*x))) else f:=(4*x)/(sin(12*y)+5);

writeln(‘результати обчислень’,f:5:3);

end.

Хід виконання роботи:

Завдання 1

Дано катети прямокутного трикутника. Знайти його гіпотенузу.

Завдання 2

З рейтинговою системою оцінка визначається таким чином: якщо сумарний бал учня становить не менше 92% від максимального, то виставляється оцінка 12, якщо не нижче 70% - то оцінка 8, якщо ж не нижче 50%, - то оцінка 5, а в інших випадках оцінка 2. Визначити оцінку учня, ящо він набрав N балів, а максимальне значення сумрного балу становить S.

Завдання 3

Скласти програму для обчислення суми чисел використовуючи мову програмування Turbo Pascal:

Контрольні запитання:

  1. Яка структура Паскаль-програми?

  2. З чоготпочинається і чим закінчується виконавча частина?

  3. Який розділовий знак відокремлює оператори?

  4. Які службові слова використовують при записі оманди розгалуження?

  5. Які оператори циклу ви знаєте?