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

АтаП_пр

.pdf
Скачиваний:
6
Добавлен:
23.02.2016
Размер:
309.22 Кб
Скачать

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

МЕТОДИЧНІ ВКАЗІВКИ

до виконання практичних робіт з дисципліни

"Алгоритмізація та програмування"

для студентів напряму підготовки 6.050101 «Комп'ютерні науки» денної та заочної форм навчання

Затверджено на засіданні кафедри інформаційних технологій проектування, протокол № 6 від 27.01.2011 р., та Методичною радою ЧДТУ, протокол № 54 від 14.02.2011р.

Черкаси

2011

Укладачі: Снитюк Віталій Євгенович, д.т.н., професор, Карапетян Анаіт Радіківна

Рецензент

Рудницький В.М., д.т.н., професор

Методичні вказівки до виконання практичних робіт з дисципліни «Алгоритмізація та програмування» для студентів напряму підготовки 6.050101 "Комп'ютерні науки" денної та заочної форм навчання [Текст] / Укл. : В.Є. Снитюк, А.Р. Карапетян ; М-во освіти і науки України, Черкас. держ. технол. ун-т. – Черкаси : ЧДТУ , 2011. – 32 с.

Методичні вказівки призначені для аудиторної і самостійної роботи студентів при вивченні курсу "Алгоритмізація та програмування". Видання містить основні положення щодо виконання практичних робіт: теоретичні відомості, завдання, контрольні питання та літературу.

Для студентів напряму підготовки 6.050101 "Комп'ютерні науки" денної та заочної форм навчання.

Навчальне видання

МЕТОДИЧНІ ВКАЗІВКИ

до виконання практичних робіт з дисципліни

"Алгоритмізація та програмування"

для студентів напряму підготовки 6.050101 «Комп'ютерні науки» денної та заочної форм навчання

В авторській редакції

Коректура і макетування Кусень Т.В.

-----------------------------------------------------------------------------------------------------------------

Формат 60х84 1/16. Папір офс. Гарн. Times New Roman. Друк оперативний. Ум. друк. арк. 1,86. Обл.-вид. арк. 1,92. Тираж 30 прим. Вид. № 1148. Зам. № 11-0219.

---------------------------------------------------------------------------------------------------------------

Черкаський державний технологічний університет

Свідоцтво про державну реєстрацію ДК № 896 від 16.04.2002 р. Надруковано в редакційно-видавничому центрі ЧДТУ бульвар Шевченка, 460, м. Черкаси, 18006.

2

ЗМІСТ

ПРАКТИЧНЕ ЗАНЯТТЯ № 1

ЧИСЛОВІ ТИПИ. ОПЕРАЦІЇ. ОПЕРАТОР ПРИСВОЄННЯ…………...…………….……4

ПРАКТИЧНЕ ЗАНЯТТЯ № 2

ЛОГІЧНІ ТИПИ. УМОВНИЙ ОПЕРЕАТОР……..………………………..……………..7

ПРАКТИЧНЕ ЗАНЯТТЯ № 3

ЦИКЛІЧНІ ОБЧИСЛЮВАЛЬНІ ПРОЦЕСИ……...………………………….…………10

ПРАКТИЧНЕ ЗАНЯТТЯ № 4

ОБРОБКА ОДНОВИМІРНИХ МАСИВІВ…………………………...…………………..13

ПРАКТИЧНЕ ЗАНЯТТЯ № 5

ОБРОБКА ДВОВИМІРНИХ МАСИВІВ……………………………...………………….16

ПРАКТИЧНЕ ЗАНЯТТЯ № 6

ОПРАЦЮВАННЯ СИМВОЛЬНИХ ВЕЛИЧИН...……………………….………………19

ПРАКТИЧНЕ ЗАНЯТТЯ № 7

ВИКОРИСТАННЯМ ДОПОМІЖНИХ АЛГОРИТМІВ………………………..………….22

ПРАКТИЧНЕ ЗАНЯТТЯ № 8

РОБОТА З ЗАПИСАМИ ТА ФАЙЛОВИМИ ЗМІННИМИ…………………………..……27

ЛІТЕРАТУРА……………………………………………………...………….....32

3

ПРАКТИЧНЕ ЗАНЯТТЯ № 1

ЧИСЛОВІ ТИПИ. ОПЕРАЦІЇ. ОПЕРАТОР ПРИСВОЄННЯ

Мета: сформувати навички роботи з величинами числових типів.

Короткі теоретичні відомості

Типи цілих змінних

Тип

Діапазон

Розмір в байтах

 

 

 

Byte (коротка ціла без знаку)

0…255

1

 

 

 

Shortint (коротка ціла із знаком)

-128..127

1

 

 

 

Word (ціла без знаку)

0…65535

2

 

 

 

Integer (ціла із знаком)

-32768..32767

2

 

 

 

Longint (довга ціла із знаком)

-2147483648..2147483647

4

 

 

 

Типи дійсних змінних

Тип

Діапазон

Кількість

Розмір в

цифр

байтах

 

 

 

 

 

 

 

 

Real (дійсний)

10−39 −1038

11

- 12

6

Single (одинарна точність)

10−45

−1038

7

- 8

4

Double (подвійна точність)

10−324

−10308

15

- 16

8

Extended (розширена точність)

10−4951

−104932

19

- 20

10

Обробка даних виконується в виразах та операторах присвоєння.

Оператор присвоєння має вигляд:

А := В; де А – проста або індексована змінна, В – вираз.

Вираз – це синтаксична одиниця мови, що визначає обчислення деяких значень. Вираз на мові програмування Turbo Pascal формується з констант, змінних, функцій, знаків операцій і круглих дужок.

 

Арифметичні операції в Turbo Pascal в порядку зменшення їх

пріоритету:

*, /

– множення, ділення;

div

– частка від ділення націло двох цілих чисел;

mod

– остача від ділення націло двох цілих чисел;

+, -,

– додавання, віднімання.

4

Стандартні функції в Turbo Pascal:

sin(x)

– синус; (аргумент тригонометричних функції задається в радіанах)

cos(x)

– косинус;

arctan(x)

– арктангенс;

exp(x)

ex ;

ln(x)

lnx;

sqr(x)

x2 ;

sqrt(x)

 

 

 

 

 

;

 

 

 

x

abs(x)

 

x

 

;

 

 

trunc(x)

– ціла частина числа;

frac(x)

– дробова частина числа;

round(x)

– округлення до цілого значення;

pi

– значення числа π .

Завдання до практичного заняття

Завдання 1. Записати мовою Pascal наступні вирази:

 

 

 

 

 

 

 

2

 

 

 

 

5x

 

 

 

ln(

 

+1,2)

 

 

 

 

 

 

 

1)

1,8 + ln

4

tg sin

;

3)

 

x − 2

+

 

 

2

;

 

7

3

 

 

 

 

 

 

 

 

 

 

 

2

+ ex

 

 

 

y

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

 

 

 

 

e1/ 3−x

 

 

 

 

;

 

 

 

 

 

x +

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4)

 

 

 

x

2

+ 4

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 + x4

+ ln

 

x − 3,4

 

 

(1+ y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex−2 +

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3 + 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Завдання 2. Записати в загальноприйнятній формі:

1)(p+q)/(r+s)-p*q/(r*s);

2)(-b+sqrt(sqr(b)-4*a*c))/(2*a);

3)x1+arctan(y2-a)/2*abc(x4-ln(5)*y5)/exp(-1);

4)x*y*z-3.3*abs(x+sgrt(y))/(cos(2*x)+abs(ctg(z))).

Завдання 3. Обчислити значення виразів:

1) trunc(6.9);

6) round(-1.9);

11)

2 mod 5;

2) trunc(6.2);

7)

20 div 6;

12)

2 div 5;

3) trunc(-1.9);

8)

20 div 4;

13)

3*7 div 2 mod 7/3 – trunc(sin(1));

4) round(6.9);

9)

20 mod 6;

14) succ(round(5/2)-pred(3));

5) round(6.2);

10) 20 mod 4;

15)

5*2 mod 3 +pred( 7 div 2).

Завдання 4. Обчислити значення виразу:

1) sqr(x)+sqr(y)<= 4

 

при x=0.3, y=-1.6;

 

2) k mod 7= k div 5-1

 

при k=15;

 

 

3) odd(trunc(10*p))

 

при p=0.182;

 

 

Завдання 5. Вказати порядок виконання операцій при обчисленні виразу:

1)x*sqr(y)/sqr(2);

2)–x* sqr(y)/sqr(sqr(z)).

5

Завдання 6. Є три цілочислові змінні з поточним значенням А=3, В=5, С=7. Які значення матимуть ці змінні в результаті виконання таких

операторів присвоювання:

 

1)

С:=А*В+2; В:=В+1; А:=С-sqr(B);

2) Р:=С; С:=В;

В:=А;

А:=Р;

3) В:=В+А;

С:=С+В;

 

4)

А:=А+1;

В:=В+А;

С:=А+В;

Завдання 7. Задати за допомогою оператора присвоювання такі дії:

1)змінній z присвоїти значення, що дорівнює півсумі значень змінних x та y;

2)подвоїти значення змінної a;

3)значення змінної x збільшити на 0.1;

4)за нове значення змінної a прийняти її поточне значення, піднесене до квадрата;

5)змінити знак у значенні змінної q.

Завдання 8. Скласти програму в результаті виконання якої:

1)значення цілих змінних x та y поміняються місцями. При цьому не будуть використані додаткові змінні;

2)цілій змінній h буде надано значення третьої з кінця цифри додатного цілого числа k;

3)цілій змінній s буде надано значення суми цифр тризначного цілого числа k.

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

1.Типи змінних.

2.Оператор присвоєння та сумісність типів.

3.Старшинство операцій мови Pascal та їх призначення.

4.Стандартні функції мови Pascal.

6

ПРАКТИЧНЕ ЗАНЯТТЯ № 2

ЛОГІЧНІ ТИПИ. УМОВНИЙ ОПЕРЕАТОР

Мета: сформувати навички роботи з величинами логічних типів.

Короткі теоретичні відомості

Тип Boolean (логічний) набуває лише двох значень True та False.

Оператори відношень в Turbo Pascal:

<– менше;

<=

– менше або дорівнює;

>– більше;

>=

– більше або дорівнює;

=– дорівнює;

<>

– не дорівнює.

Логічні операції в Turbo Pascal:

Not

– логічне заперечення;

And

– логічне “І”;

Or

– логічне “АБО”;

Xor

– логічне виключне “АБО”.

Логічним виразом називається такий вираз, внаслідок обчислення якого одержується логічне значення true або false.

Простим логічним виразом називається вираз, який записується за допомогою знаків співвідношень: =, <>,<,>,> =, <=.

Складеним логічним виразом називається вираз, в якому використовуються логічні операції and , or, not (і, або,ні).

Правила за якими обчислюються значення складених логічних виразів:

А

B

A and B

 

А

B

A or B

 

А

not A

0

0

0

 

0

0

0

 

0

1

0

1

0

 

0

1

1

 

1

0

1

0

0

 

1

0

1

 

 

 

1

1

1

 

1

1

1

 

 

 

Умовний оператор використовується, коли виконання програми залежить від виконання деякої умови.

В мові Turbo Pascal розрізняють дві форми умовного оператора: повна і скорочена.

Формат повної форми умовного оператора має вигляд:

IF <логічний вираз> THEN оператор1 ELSE оператор2;

де IF (якщо), THEN (тоді), ELSE (інакше) – службові слова;

оператор1, оператор2 – прості або складені оператори.

7

Формат скороченої форми умовного оператора має вигляд:

IF <логічний вираз> THEN оператор

де IF, THEN, ELSE – службові слова;

оператор – простий або складений оператор

 

 

Завдання до практичного заняття

 

Завдання 1. Обчислити значення виразу:

1) t and (p mod 3=0)

при t=true, p=101010;

2)

(x*y<>0) and (y>x)

при x=2, y=1;

3)

(x*y<>0) or (y>x)

при x=2, y=1;

4) a or b and not a

при a=true, b=false;

5)

(a or b) and not a

при a=true, b=false;

Завдання 2. Записати у вигляді логічних виразів висловлювання:

1)значення x не належить інтервалу (0;1);

2)значення x належить відрізку [-1;0] або відрізку [2;5];

3)точка М(x, y) лежить всередині або на межі одиничного круга з центром у початку координат;

4)точка М(x, y) не лежить на одиничному колі з центром у початку координат.

 

Завдання 3. Вказати порядок виконання операцій при обчисленні виразу:

1) a and b or not c and d;

2) (x>=0) or t and odd(x) or (y*y<>4);

Завдання 4. Поставити у відповідність вирази:

1)

not (x ¹ y)

а) x [0;1]

2) (x < y)or (x = y)

б) x ¹ y

3) (x < 0) or (x > 1)

в) x y

4)

(x ³ 0) and (x £ y)

г) x [0;1].

Завдання 5. Записати оператор присвоювання, в результаті виконання якого логічна змінна t отримає значення true, якщо виконується вказана умова та значення false в іншому випадку:

1)числа x, y, z рівні між собою;

2)серед чисел x, y, z тільки два рівні між собою;

3)x – додатне число;

4)p ділиться націло на q (p, q – натуральні числа);

5)рівняння ax2+bx+c=0, де a, b, c можуть дорівнювати 0, має рівно один корінь;

6)цифра 5 входить в десятковий запис тризначного цілого числа k.

Завдання 6. Записати за допомогою умовного оператора виконання дій:

1)менше з двох дійсних значень x та y (або будь-яке з них, якщо вони рівні) замінити нулем;

2)присвоїти змінній x значення 0, якщо її початкове значення належало інтервалу(0;2);

3)якщо поточне значення змінної a не більше за 10, то значення а збільшити на одиницю, в протилежному випадку продовжити виконання дій алгоритму.

8

Завдання 7. Використовуючи логічні величини, записати за допомогою умовного оператора виконання таких дій:

1)якщо А<C і B<C, то виконується умова A=B;

2)якщо 1< B<3 або -3< B<-1, то виконується умова B2=4;

3)А=B=5 тільки при умові, що С<3<Е;

4)А≠3 тільки при умові, що В≠5 та 6≥С>3.

Завдання 8. Яке значення матиме змінна z в результаті виконання таких операторів

z:=0; if x>0 then if y>0 then z:=1 else z:=2

при значенні x та y:

1) x=y=1; 2) x=1, y=–1; 3) x=–1, y=1;

Завдання 9. Яке значення матиме змінна f після виконання оператора n:=3;

begin

f:=1; i:=2;

1:if i>n then goto 9; f:=f*i; i:=i+1; goto 1;

9:end

Завдання 10. Вказати помилки:

1)if 1<x<2 then x:=x+1; y:=0; else x:=0; y:=y+1;

2)if 1<x and x<2

then begin x:=x+1; y:=0; end; else begin x:=0; y:=y+1; end

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

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

2.Синтаксис повного та скороченого оператора умовного переходу

3.Оператор варіанту: загальний вигляд, принцип роботи.

4.Загальний вигляд та принципи роботи оператора Case.

9

ПРАКТИЧНЕ ЗАНЯТТЯ № 3

ЦИКЛІЧНІ ОБЧИСЛЮВАЛЬНІ ПРОЦЕСИ

Мета: отримати навички з використання операторів циклів.

Короткі теоретичні відомості

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

В мові Turbo Pascal є три спеціальні оператори організації циклів: FOR, WHILE та REPEAT.

Формат оператора циклу з параметром:

For <змінна>:=<поч.вир.> to <кін.вир.> do <оператор>;

For <змінна>:=<поч.вир.> downto <кін.вир.> do <оператор>;

Змінна циклу, початковий та кінцевий вирази повинні бути одного і того самого типу. Під час виконання змінна циклу набуває послідовних значень даного типу в порядку їх збільшення (якщо є слово to) або зменшення (якщо є слово downto). Кількість виконань тіла циклу обчислюється до виконання операторів і дорівнює <кін.вир>-<поч.вир.>+1 (якщо є слово to) або <поч.вир.>- <кін.вир>+1 (якщо є слово downto). Якщо в циклі з словом to (downto) початковий вираз більший (менший) від кінцевого, то тіло циклу не виконується жодного разу. Всередині тіла циклу не слід замінювати значення змінної циклу, хоча така зміна не фіксується як помилка і не впливає на кількість виконань тіла циклу. Після закінчення роботи оператора циклу For значення змінної циклу дорівнює кінцевому значенню. Якщо тіло циклу не виконалося, то значення змінної не визначено.

Формат оператора циклу з передумовою: While <умова> do <оператор>;

де <умова> це вираз логічного типу, який задає умову продовження виконання циклу; <оператор> - виконувані в циклі команди.

Виконання цього циклу здійснюється так. Спочатку обчислюється значення логічного виразу. Якщо це значення False, то тіло циклу не виконується; якщо значення True, то тіло циклу виконується, після чого знову обчислюється вираз. Щоб запобігти "зациклюванню", слід передбачити зміну значення виразу всередині тіла циклу.

Формат оператора циклу з післяумовою: Repeat <оператори> until < умова >;

де <умова> це вираз логічного типу, який задає умову задає умову припинення виконання циклу; <оператор> - виконувані в циклі команди.

Виконання цього циклу відбувається так. Спочатку виконується тіло циклу, а потім визначається значення логічного виразу. Якщо значення Тruе, то виконання циклу припиняється; якщо значення False, то знову відбувається виконання тіла циклу, потім знову обчислюється вираз. Якщо у тілі циклу треба виконати декілька операторів, то операторні дужки begin і end можна опускати, їх роль відіграють слова Repeat і until.

10