Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота 1-5 (1 чт. СА-10).doc
Скачиваний:
3
Добавлен:
03.11.2018
Размер:
443.39 Кб
Скачать

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

4.4.1. Як відкрити новий файл програми?

4.4.2. Як прочитати файл програми з диска?

4.4.3. Як записати файл програми на диск?

4.4.4. Як записати файл програми на диск з новим ім’ям?

4.4.5. Як змінити поточний активний каталог для зчитування та запис програм?

4.4.6. За натисканням яких “гарячих клавіш” програма відправляється на компіляцію?

      1. За натисканням яких “гарячих клавіш” програма відправляється на виконання?

      2. За натиском яких “гарячих клавіш” завершується робота з інтегрованим середовищем TURBO PASCAL 7.0?

      3. Після вибору яких пунктів меню відправляється на компіляцію?

4.4.10. Після вибору яких пунктів меню програма відправляється на виконання?

4.4.11. Після вибору яких пунктів меню завершується робота з інтегрованим середовищем TURBO PASCAL 7.0?

4.4.12. Як виділити весь текст програми при редагуванні?

4.4.13. Як виділити частину тексту при редагуванні?

4.4.14. Як скопіювати виділений текст у нове місце програми?

4.4.15. Як перенести виділений текст нове місце програми?

4.4.16. Як перейти з “вікна тесту програми” в інтегрованому середовищі TURBO PASCAL 7.0 у “вікно виводу результатів”?

      1. Як перейти з “вікна виводу результатів” у “вікно тесту програми” інтегрованого середовища TURBO PASCAL 7.0?

      2. Як перервати виконання програм і перейти в IС?

Як запустити програму на покрокове виконання?

      1. Як запустити програму на покрокове виконання?

      2. Як запустити програму на виконання до місця розташування курсора?

      3. Як викликати вікно допомоги при написанні програми?

4.5. Зміст звіту.

4.5.1. Назва та мета роботи.

4.5.2. Перелік меню та опцій, їх зміст інтегрованого середовища TURBO PASCAL 7.0.

4.5.3. Програми LR1.1 та LR1.2, результати їх роботи.

4.5.4. Висновки по роботі.

Лабораторна робота № 2 Тема: Програмування лінійних обчислювальних процесів.

5.1. Мета роботи. Набуття практичних навичок по програмуванню послідовних лінійних обчислювальних процесів, послідовності виконання операцій та програмування вводу-виводу інформації.

5.2. Загальні положення.

5.1.1. Математичні операції та їх порядок виконання.

Мова Паскаль підтримує виконання чотирьох основних арифметичних, означених символами:

” + ” – додавання; ” * ”- множення;

” – ” – віднімання; ” / ” – ділення;

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

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

  1. – дії в дужках;

  2. – виконання функцій;

  3. – арифметичні дії в прийнятому порядку;

  4. – операції рівного пріоритету виконують зліва направо.

Наприклад:

X : = 3 + а *( в – 2 * а ) – ехр ( а + 1 )

Порядок виконання ( дію, що виконують підкреслено ):

  1. 2 * а ;

  2. в 2 * а ;

  3. ( а + 1 ) ;

  4. ехр ( а + 1 ) ;

  1. а * ( в – 2 – а )

  2. 3 + а * ( в – 2 - * а )

  3. 3 + а * ( в – 2 * а ) ехр ( а + 1 )

5.2.2. Типи даних та їх використання. Мова TURBO PASCAL 7.0 використовує такі:

- стандартні типи даних (type):

- цілі типи даних:

Тип

Діапазон значень

Shortint

-128...+127

Byte

0...255

Integer

-32768...+32767

Word

0...65535

Longint

-2147483648...+2147483647

- дійсні типи даних

Тип

Діапазон значень

Значимі цифри мантиси

Real

2.9*10-39...1.7*1038

11...12

Single

1.5*10-45...3.4*1038

7...8

Типи даних

використовуючи математич.

сопроцесор

Double

5.0*10-324...1.7*10308

15...16

Extended

3.4*10-4932...1.1*104932

19...20

Comp

-263+1...263-1

19...20

5.2.3. Приклад програми.

Обчислити вираз та вивести на екран монітору результати:

с = а ( в + 2 ) – е а+1, якщо а = 1, в = 2

Program_LabWork 5; { ім’я програми }

Var_a,b,c: real; { зміни, що використовуються у програмі }

Веgin { початок тіла програми }

А : = 1 ; { задаються значення змінних }

В : = 2 ;

С : = а * ( в + 2 ) – ехр ( а + 1 ) ; { обчислення виразу }

WriteLn ( 6 c = 6, с : 10 : 4 ) ; { виведення результату }

Еnd { закінчення програми }

5.3. Ввід та вивід інформації.

5.3.1. У мові PASKAL ввід та вивід, інформації забезпечується спеціальними процедурами:

- для вводу даних з клавіатури:

Read ( c1, с2, ..., сn ) ;

ReadLn ( c1, с2, ..., сn ) ;

Де с1, с2, ..., сn - список параметрів ( змінних );

  • для виводу даних на екран дисплея:

Write ( a1, a2, ..., an ) ;

WriteLn ( a1, a2, ...., an ) ;

Де а1, а2, ..., аn - список параметрів ( змінних ).

5.3.2. Список змінних у процедурах „вводу – виводу” може бути довільної довжини, в тому числі і пустим, без жодної змінної, константи чи виразу. Дані різних типів можуть виводитись та вводитись одним оператором.

За допомогою процедур Read, Read ln можна вводити тільки змінні числового ( як цілі, так і дійсні ), рядкового ( String ), символьного (Char ) типів.

Процедури виводу Write, Writeln додатково до вказаних вище типів можуть виводити дані логічного ( вооlean ) типу у вигляді рядкових повідомлень TRUE, FALSE.

Цілі числа, символи та рядки виводяться процедурами виводу в звичайному вигляді, згідно з їх значеннями. Дані дійсних типів виводяться в експоненційній формі.

Наприклад:

WriteLn (- 332,5)

Виведе на екран дисплея:

-3,3250000000 Е + 02

При використанні кількох параметрів процедури виводу не розмежують інформацію, що виводяться. Оператор WriteLn ( 5, ‘АВС ’, 78,5 ) виведе на екран дисплея рядок:

5 АВС 7,8500000000 Е + 01.

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

Наприклад:

WriteLn ( 2 + 3 : - 4 , ‘ АВС ’ : 4,78.5 : 6 : 2, 1 < 0,8 );

Буде виведено:

5 _ _ _ АВС _ _ 78.50 _ _ FALSE

Процедура ReadLn, при вводі з клавіатури від процедури Read; тим, що при вводі символьної ( типи Char і String ) інформації сприймає натискання на клавішу Enter як сигнал закінчення вводу змінної, а не ввід символу з кодом 13 ( символ кінця рядка ). В більшості випадків використання процедур Read; ReadLn; при організації в програмах вводу з клавіатури є рівноцінним.

Крім вводу даних процедура ReadLn використовується також для призупинення виконання програми до натискання клавіші Enter. В цьому випадку ReadLn використовується в програмі без списку параметрів. Зверніть увагу на те, що коли в програмі останньою процедурою для вводу була використана Read, то для призупинення програми знадобиться дві послідовні процедури ReadLn.

Різниця між процедурами Write WriteLn полягає в тому, що процедура WriteLn після виводу даних зі списку переводить курсор на початок наступного.

5.3.3. Приклад програми „вводу-виводу”.

Приведена програма виконує наступні операції „вводу – виводу”:

  • виводить на екран дисплею текстову строку – повідомлення;

  • зчитує з клавіатури значення двозмінної цілого типу та змінної дійсного типу;

  • виводить значення цілої змінної;

  • виводить значення дійсної змінної спочатку в звичайному, а потім в експоненційному форматі;

  • виводить результат порівняння змінних;

  • виводить зірочки на екрані;

  • виводить пустий рядок на екран.

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

Текст програми

Ввід – вивід на екрані дисплея

Program ln _ Out;

Uses CRT;

Var s:integer; z : real;

Begin

ClrScr;

WriteLn (‘ Введіть ціле та дійсне числа’);

ReadLn (s,z);

WriteLn ( ’S=’,s:4);

WriteLn (‘Z=’,z:-8,‘Z=’,z);

WriteLn (‘S>Z=’,s>z);

WriteLn (‘*_ _*’);

WriteLn (‘*_*’);

WriteLn (‘_’);

ReadLn;

End.

Введіть ціле та дійсне числа

17_49.25

S = _ _17

Z = 49,25_ _ _ Z = 4,9250000000 Е 01

S >Z = FALSE

*_ _*

*_*

{ вивід пустого рядка}

{призупиняє роботу програми до натискання клавішу ENTER}

5.6. Завдання.

5.6.1. По заданому виразу розробити програму його обчислення та вирішити по варіанту

вихідних даних.

5.6.2. Описати процес відладки програми.

5.6.3. Розробити блок-схему алгоритму вирішення задачі (детальну).

5.6.4. Ввід-вивід обов’язково супроводжувати коментаріями та вказівками.

5.6.5. Привести ввід даних та вивід результатів у всіх можливих варіантах.

Ввід: в один рядок; кожне число з нового рядка.

Вивід: у експоненційній формі; у зазначеному форматі, з зазначенням самої

змінної.

5.7. Варіанти завдань:

Варіант

Вираз для обчислення

Змінні

1.

c=b2-(b+a)cos(a-b);

a=2; b=1;

2.

c=ln(a2-(b+5)*cos2(a-1);

a=2; b=1;

3.

c=e2+a-(cos(b))+2)sin(a-1);

a=2; b=1;

4.

c=a1/2-(b+2)*sin(ea-1);

a=2; b=1;

5.

c=a2-ln(b+2)*sin2(a-1);

a=2; b=1;

6.

c=ln2(a2)-cos(b+2)*sin(a+1);

a=2; b=1;

7.

c=a2-e(b+2)*ln(a-1);

a=2; b=1;

8.

c=cos(a2 + b2) – e(b+2)+1;

a=2; b=1;

9.

с=b2/a2–(b+a)sin(ea);

a=2; b=1;

10.

с=аb2-(b+2)sin2(a);

a=2; b=1;

11.

с=b/a2-(b+2)/sin(a-1);

a=2; b=1;

12.

c=a2/((b+2)sin(a-1));

a=2; b=1;

13.

c=ex/sin2(y-cos(x-1));

x=1;y=3;

14.

c=exsin2(x1/3+y)+y-cos(x1/2);

x=1;y=3;

15.

c=lnx(x+y1/3)/sin2y-cos(x-1);

x=1;y=3;

16.

c=ex/sin2/5y+cos(1/x-1);

x=1;y=3;

17.

c=xexsin2y+ecos(x-1);

x=1;y=3;

18.

c=ln(sin(y-cos2(x-1)));

x=1;y=3;

19.

c=e(x+2y)/ln(xy-1);

x=1;y=3;

20.

c=ex/sin2(y-cos(x-1));

x=1;y=3;

21.

c=(ex-ey)2/sin(y)-cos(x);

x=1;y=3;

22.

c=((x2+1/x3)2+1)2-y-1;

x=1;y=3;

23.

c=exsin(y2-cos(x2-1));

x=1;y=3;

24.

c=cos(ex)sin2(y-x-1);

x=1;y=3;

25.

c=sin(ex/sin2y)-cos(x-1);

x=1;y=3;

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

5.4.1. На що вказує тип даних (type)? Перелікуйте стандартні типии.

5.4.2. Які дійсні типи даних знаєте?

5.4.3. Які цілочислові типи даних ви знаєте?

5.4.4. Як значення можуть приймати дані логічного типу?

5.4.5. Яка максимальна довжина строкових даних мови Pascal?

5.4.6. Яка кількість символів складає символьний тип даних?

5.4.7. Чим відрізняються дані типів Word та Integer?

5.4.8.Які процедури мови Pascal призначені для вводу даних з клавіатури?

5.4.9. Які процедури мови Раscal призначені для виводу даних на дисплей?

5.4.10. Дані якого стандартного типу можна виводити на дисплей, але не можна вводити з клавіатури процедурами вводу-виводу?

5.4.10. Якої довжини може бути список параметрів в процедурах вводу-виводу?

5.4.11. Яка різниця між процедурами Read та ReadLn?

5.4.12. Яка різниця між процедурами Write та WriteLn?

5.4.13. Як відреагує комп'ютер на процедуру ReadLn без параметрів, поміщену в програму?

5.4.14. Як відреагує комп'ютер на процедуру WriteLn без параметрів, поміщену в програму?

5.4.15. Як відреагує комп'ютер на процедуру Write без параметрів, поміщену в програму?

5.4.16. В якому випадку процедура ReadLn без параметрів не приводить до призупинення виконання програм?

      1. В чому різниця при виводі цілих та дійсних змінних з однаковими значеннями?

      2. Як можна відвести задане число позицій під вивід даних довільних типів?

      3. Як можна відвести задане число позицій під вивід дрібної частини даних дійсних типів?

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

      5. В якому вигляді – звичайному чи експоненційному – буде виведе дійсне число якому задано тільки розмір поля виводу, але не задано число позицій під дробову частину?

      6. Як поведе себе комп'ютер, коли задане під вивід рядкової змінної поле виводу менше довжини рядка?

      7. Як поведе себе комп'ютер, коли задане під вивід числа цілого типу поле виводу менше розміру цього числа?

      8. Які математичні операції виконуються в Turbo Pascal 7.0?

      9. Порядок використання математичних операцій в Turbo Pascal 7.0?

      10. Яке значення має знак = у мові Turbo Pascal 7.0?

      11. Яке значення має набір символів = в Turbo Pascal 7.0?

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

      13. Які операції використовуються в Turbo Pascal 7.0 для знаходження цілої частки та остачі під час ділення?

      14. Перерахуйте загальні математичні функції Turbo Pascal 7.0 та вкажіть їх призначення?

      15. Наведіть функції математичних перетворень для таких операцій, як піднесення в довільний ступінь, одержання десяткового логарифму?

      16. Який порядок обчислення виразів мови Turbo Pascal 7.0, які вміщують математичні функції?

    1. Зміст звіту.

5.5.1. Назва та мета роботи.

5.5.2. Завдання роботи.

5.5.3. Детальна блок-схема алгоритму вирішення задачі.

5.5.4. Привести у звіті (письмово) усі можливі варіанти „вводу-виводу” по завданню.

5.5.5. Програма вирішення завдання, та результати її роботи.

5.5.6. Висновки по роботі.

Лабораторна робота № 3

Тема: Програмування розгалуженого обчислювального процесу.

6.1. Мета роботи. Набуття практичних навичок по складанню алгоритмів та розробці програм розгалуженого обчислювального процесу.

6.2. загальні положення.

6.2.1. Операції порівняння.

Для порівняння в Turbo Pascal 7.0 використовують шість операцій, які ще називають операціями відношення.

Операції відношення

Найменування

Запис

Приклад

Значення операцій

Більше

>

5 > 2

0 > 4

TRUE

FALSE

Менше

<

1 < 2

2 > 2

TRUE

FALSE

Дорівнює

=

5 = 5

4 = 5

TRUE

FALSE

Більше чи дорівнює

>=

2 >= 2

2 >= 1

TRUE

FALSE

Менше чи дорівнює

<=

2 <= 3

2 <= 1

TRUE

FALSE

Не дорівнює

<>

2<> 3

2 <> 2

TRUE

FALSE

При обчисленні складних виразів операції відношення виконуються в останню чергу, наприклад:

5 – 2 * 2 > 5 mod 2 – 1 має значення TRUE, бо:

1) 5 mod 2 = 1;

2) 2 * 2 = 4;

3) 5 – 4 = 1;

4) 1 – 1 = 0;

5) 1 > 0 = TRUE

6.2.2. Логічні операції

Для побудови складних умов можуть бути використані логічні операції:

NOT – заперечення;

AND – логічне I OR – логічне АБО

XOR – виключне АБО

Результати використання логічних операцій при обчисленні логічних виразів із однією чи двома змінними А, В типу doolean наведено в таблиці:

Логічні операції

Таблиця 6.2.

А

В

Not А

А and В

А or В

А xor В

1

True

True

False

True

True

False

2

True

False

False

False

True

True

3

False

True

Frue

False

True

True

4

False

False

Frue

False

False

False

При обчисленні складних логічних виразів разом з операціями порівняння та арифметичними операціями слід враховувати їх пріоритети: