Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
posibnik_paskal.pdf
Скачиваний:
230
Добавлен:
11.02.2016
Размер:
2.43 Mб
Скачать

«Turbo Pascal »

Значенко О.П.

ЛАБОРАТОРНА РОБОТА №9

ТЕМА: Обробка одновимірних масивів у середовищі Турбо Паскалі

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

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

елементів одного типу.

Для опису масивів використовують службові слова array, off .

Var <ім’я масиву> : array [<нижній індекс>..<верхній індекс>] of <тип>;

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

Const n = 10;

Var y : array [ 1.. n ] of real;

Для введення-виведення елементів масиву необхідно організувати цикл з параметром.

For i:=1 To n Do

Begin

Write (‘a[‘ , i , ’]=’); Readln(a[i]);

End;

Для виведення елементів масиву використовується цикл з параметром.

For i:=1 to n do Writeln( a[i] );

Приклад програми знаходження суми елементів масиву

Program Massiv_summ;

Const n = 10;

Var a: array [1..n] of integer; i, S: integer;

Begin S:=0;

For i:=1 To n Do

Begin

Write (‘a[‘ , i ,’] =’); Readln (a[i] ); S:=S+ a[i];

End;

Writeln (‘S=’, S);

Readln;

End.

110

«Turbo Pascal »

 

 

 

 

 

 

 

 

 

Значенко О.П.

 

Завдання для самостійного виконання

 

 

Роб.місце

1

2

3

4

5

6

7

8

9

10

Завдання

 

 

 

 

 

 

 

 

 

 

 

 

1

 

3, 5

2, 4

1, 3

2, 5

3, 4

1, 2

3, 5

2, 4

1, 3

2, 5

2

 

1, 4

2, 5

3, 4

1, 5

2, 4

3, 5

1, 4

2, 5

3, 4

1, 5

3

 

1, 4

3, 2

1, 4

3, 2

1, 4

3, 2

1, 4

3, 2

1, 4

3, 2

Завдання І.

1.Написати програму, яка визначає кількість нульових елементів масиву

2.Написати програму, яка підраховує кількість від’ємних елементів масиву

3.Написати програму, яка підраховує суму парних елементів масиву

4.Написати програму, яка визначає, скільки раз у масиві зустрічається введене з клавіатури число.

5.Написати програму, яка визначає, чи зустрічається у масиві введене з клавіатури число.

Завдання ІІ.

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

2.Написати програму, яка визначає максимальний елемент масиву та його порядковий номер.

3.Написати програму, яка визначає середнє арифметичне непарних елементів масиву

4.Написати програму, яка визначає суму додатніх та добуток від’ємних елементів масиву.

5.Написати програму, яка визначає суму елементів, які мають непарні

порядкові номери.

Завдання ІІІ.

1.Написати програму, яка заміняє всі парні елементи масиву на „0”.

2.Написати програму, яка заміняє всі елементи масиву з парними порядковими номерами на „1”.

3.Написати програму, яка сортує масив у порядку зростання

4.Написати програму, яка сортує масив у порядку спадання

111

«Turbo Pascal »

Значенко О.П.

Додаткові завдання

1.Написати програму, яка визначає кількість учнів у класі чий зріст вище середнього.

2.Написати програму, яка визначає середню температуру повітря за тиждень.

3.Написати програму, яка перевіряє, чи є у введений з клавіатури масиві однакові елементи.

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

1.Який масив називається простим або одновимірним?

2.Які здійснюється опис масиву?

3.Як необхідно звертатися до масиву та до елементу одновимірного масиву?

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

112

«Turbo Pascal »

Значенко О.П.

ЛАБОРАТОРНА РОБОТА № 10 ТЕМА: Обробка багатовимірних масивів у Турбо Паскалі.

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

Двомірний масив отримується при використання іншої форми запису.

Var а : array [ 1..n, 1.. m ] of real;

Для звернення до елементу багатовимірного масиву необхідно вказати його ім’я та два індекси. а [ n, m], де перший індекс n - відповідає номеру рядку, а m – стовпцю Для введення-виведення елементів, багатовимірного масиву необхідно

організувати цикл з параметром.

For i:=1 to n do For j:=1 to m do

Begin

Write (‘a[‘, i , ‘,’ ,j,’]=’);

Readln(a[i, j]);

End;

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

For i:=1 to n do

Begin

For j:=1 to m do

Write( a[i, j], ‘ ‘);

Writeln;

End;

Для заповнення масиву будь якими довільними елементами використовується стандартна процедура Паскаля Randomize та функції Random(n), що генерують випадкові числа. Параметр n у функції Random(n) визначає праву межу інтервалу, в якому будуть визначатися випадкові числа (ліва межа завжди 0). Функція Random може задаватися и без параметра. В цьому випадку вона буде генерувати дійсне число в діапазоні [0;1]. Для того, щоб послідовність числа не була постійною застосовують процедуру Randomize, яка встановить початок підрахунку випадкових чисел залежно

113

«Turbo Pascal »

 

 

 

 

 

 

 

 

 

 

 

 

Значенко О.П.

від поточного стану системного годинника вашого комп’ютера.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад програми знаходження суми елементів масиву

 

 

 

 

 

 

Program MAS;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Const n=2; m=3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Var a: array [ 1..n, 1..m] of integer;

 

 

 

 

 

 

 

 

 

 

 

i,j,s: integer;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s:= 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Randomize;

 

 

 

 

{введення елементів масиву}

 

 

 

 

 

For i:=1 to n do

 

 

 

 

 

 

 

 

 

 

 

 

 

For j:=1 to m do

 

 

 

 

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a[i,j]:=random(20);

 

 

 

 

 

 

 

 

 

 

 

 

s:= s+a[i,j];

 

 

 

 

 

 

 

 

 

 

 

 

 

End;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

For i:=1 to n do

 

{виведення елементів масиву}

 

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

For j:=1 to m do

 

 

 

 

 

 

 

 

 

 

 

 

 

Write (a[i,j], ' ');

 

 

 

 

 

 

 

 

 

 

 

 

 

Writeln;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

End;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Writeln(' s=',s);

 

 

 

 

 

 

 

 

 

 

 

 

 

Readln;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

End.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Завдання для самостійного виконання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Роб.місце

1

 

2

 

3

4

 

5

6

7

8

 

9

10

 

 

Завдання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2, 4

 

3, 5

 

2, 4

1, 3

 

2, 5

3, 4

1, 2

3, 5

 

2, 4

1, 3

 

 

2

 

3, 5

 

1, 4

 

2, 5

3, 4

 

1, 5

2, 4

3, 5

1, 4

 

2, 5

3, 4

 

 

3

 

3, 2

 

1, 4

 

3, 2

1, 4

 

3, 2

1, 4

3, 2

1, 4

 

3, 2

1, 4

 

Завдання І.

1.Написати програму, яка визначає кількість нульових елементів масиву та заміняє їх на 1.

2.Написати програму, яка підраховує кількість від’ємних елементів масиву та заміняє їх на нулі.

3.Написати програму, яка підраховує суму парних елементів масиву, які мають парні індекси (i та j)

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

114

«Turbo Pascal »

Значенко О.П.

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

Завдання ІІ.

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

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

3.Написати програму, яка визначає середнє арифметичне елементів масиву, що знаходяться в непарних стовпчиках.

4.Написати програму, яка визначає кількість ненульових елементів масиву, що знаходяться в парних рядках.

5.Написати програму, яка визначає суму елементів, які мають непарні

порядкові номери ( i або j ).

Завдання ІІІ.

1.Написати програму, яка знаходить суму елементів масиву по стовпчикам.

2.Написати програму, яка знаходить суму елементів масиву по рядкам.

3.Написати програму, яка здійснює заміну елементів першого та останнього стовчика на нулі.

4.Написати програму, яка міняе місцями елементи першого та останнього рядка.

Додаткові завдання

1.Визначити суму елементів головної діагоналі.

2.Написати програму, яка визначає суму елементів над головною та під головною діагоналлю.

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

1.Який масив називається багатовимірним?

2.Які здійснюється опис масиву.?

3.Як необхідно звертатися до масиву та до елементу багатовимірного масиву?

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

115

«Turbo Pascal »

Значенко О.П.

ЛАБОРАТОРНА РОБОТА № 11 ТЕМА: Підпрограми у мові Паскаль.

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

Підпрограма – це поіменована, логічно завершена група операторів мови, яку можна викликати для виконання декілька раз в різних частинах програми.

Процедура – це підпрограма, яка має довільну кількість вхідних та вихідних даних. Процедура може бути описана без параметрів та з параметрами.

В загальному вигляді опис процедури складається із заголовку та тіла процедури.

Procedure <імя> (<параметр1>:<тип1>;< параметр2>:<тип2>); Var { розділ опису внутрішніх змінних процедури}

Begin

{розділ інструкцій процедури}

end;

Розрізняють два види параметрів формальні та фактичні. Параметри, що визначаються при описі процедури чи функції називаються формальними. Параметри, що задаються при виклику процедури чи функції називаються

фактичними.

Кількість, типи та порядок слідування формальних та фактичних параметрів повинні співпадати.

Для звернення до процедури необхідно використати оператор виклику процедури.

< ім’я процедури >(< список фактичних параметрів >)

Можна виділити два основних класи формальних параметрів:

Параметр – значення використовується в якості вхідних даних підпрограми.

Параметри – змінні можуть бути використані як у якості вхідних даних, та і в якості вихідних. В заголовку процедури перед ними необхідно

використовувати службове слово Var.

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

Опис функції:

116

«Turbo Pascal » Значенко О.П.

Function <ім’я>(<список формальних параметрів>):<тип>;

Var {розділ опису внутрішніх змінних функці}

Begin

 

{розділ інструкцій функці}

end;

<ім’я функції>(<список фактичних параметрів>)

Звернення до функції:

Приклад підпрограми обчислення тангенса та котангенса кута.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Program P1;

 

 

 

 

 

 

 

 

 

Program P3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Var x, tg, ctg: real;

 

 

 

 

 

 

 

Var y, x: real;

 

 

 

 

Procedure f (x:real; var tg,ctg:real);

 

 

 

 

Function tan(x:real):real;

 

 

Begin

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

tg:= sin(x)/cos(x);

 

 

 

 

 

 

 

End;

tan:= sin(x)/cos(x);

 

 

 

ctg:= cos(x)/sin(x);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

End;

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

 

 

Writeln (‘ Введіть кут’);

 

Writeln (‘ Введіть кут’);

 

 

 

 

 

 

 

Readln(x);

 

 

 

 

 

Readln(r);

 

 

 

 

 

 

 

 

 

 

 

y:=tan(x);

{виклик функції }

 

f(x,tg,ctg); ); {виклик процедури}

 

 

 

 

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

 

writeln(‘tg(‘,x,’)=’tg, ‘ ctg(‘,x,’)=’,ctg);

 

 

 

 

readln;

 

 

 

 

 

 

readln;

 

 

 

 

 

 

 

 

 

End.

 

 

 

 

 

 

 

End.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Завдання для самостійного виконання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Роб.місце

1

 

2

 

3

4

 

5

 

6

 

7

 

8

 

9

10

 

 

Завдання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1, 4

 

3, 5

 

2, 4

1, 5

 

2, 4

3, 5

 

1, 4

 

2, 3

 

1,5

2, 4

 

 

2

3, 5

 

2, 4

 

1, 3

2, 5

 

3, 4

1,2

 

3, 5

 

2, 4

 

1, 3

2,5

 

Завдання І. (функції)

1.Написати підпрограму, яка визначає максимальне з трьох чисел.

2.Написати підпрограму, яка визначає периметр трикутника.

3.Написати підпрограму, яка визначає об’єм циліндра.

4.Скласти підпрограму, яка перевірятиме введене з клавіатури число на парність.

5.Написати підпрограму виведення імені у стовчик декілька раз.

Завдання ІІ. (процедури)

117

«Turbo Pascal »

Значенко О.П.

1.Написати підпрограму визначення периметру та площі трикутника по трьом сторонам.

2.Написати підпрограму, яка обчислює значення виразу (tg(x)-ctg(y))/(ctg(x) +tg(y)).

3.Написати підпрограму, яка обчислює значення виразу (1-ctg(y))/(1+tg(х)).

4.Написати підпрограму обчислення коренів квадратного рівняння.

5.Написати підпрограму визначення периметру та площі трикутника по координатам вершин.

Додаткові завдання

1.Написати процедуру виведення зірочки у вигляді таблиці.

2.Написати підпрограму створення рамки з довільних символів (символ та розмір рамки вводиться підчас роботи програми)

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

1.Як викликається процедура в тексті основної програми?

2.Що таке формальні та фактичні параметри?

3.Які змінні називаються локальними, а які глобальними?

4.Як описується функція?

118

«Turbo Pascal »

Значенко О.П.

ЛАБОРАТОРНА РОБОТА № 12 ТЕМА: Файли.

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

Файл – це поіменована структура даних, яка представляє собою послідовність елементів одного типа. Кількість елементів файлу практично не обмежена.

Існує три класа файлів – типізовані, безтипові та текстові.

Файл у Паскалі складається з однотипних даних. З даними файла можна проводити дві операції: запис або читання.

1.Опис файла.

Var f:text; a: string;

де а — компонента файла, даного того самого типу, що й записи файла. 2.Встановлення відповідності між логічним та фізичним іменами файла.

assign (логічне ім'я файла, фізичне ім'я);

3.Відкриття файлу для операції «запис».

rewrite (f);

4. Запис даних у файл.

write (f, a);

5. Закриття файлу:

Close (f)

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

Відкриття файлу для читання:

reset (f);

Для читання даних із файлу:

read (f, a);

Аналіз ознаки кінця файлу виконується функцією eof(f, a). Оскільки кількість записів у файлі невідома, то використовувати при читанні даних файлу цикл «перелік» не можна, використовується цикл “з передумовою” (While not EOF

(f) do )

119

«Turbo Pascal »

Значенко О.П.

При роботі з текстовими

файлами користуються процедурою append

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

Запис у текстовий файл та зчитування даних може здійснюватися за допомогою процедур write, writeln, read, readln.

Особливість даних операторів полягає у тоиму, що перед записом даних у текстовий файл за допомогою процедури write відбувається їх перетворення у тип string. Дія оператора writeln відрізняється тим, що він записує у текстовий рядок

символ кінця рядка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад програми запису у файл 5-ти

Приклад програми зчитування

 

 

імен та зчитування даних із файлу.

 

 

елементів масиву із файлу та запис у

Program r1;

 

 

 

 

 

файл середнього

 

арифметичного

 

 

 

 

 

 

 

значення.

 

 

 

 

 

 

 

 

Var f:text;

 

 

 

 

 

Program r2;

 

 

 

 

 

 

 

 

 

a:string;

 

 

 

 

 

const n=5;

 

 

 

 

 

 

 

 

 

i:integer;

 

 

 

 

 

Var f:text;

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

a:array [1..n] of integer;

 

 

 

Assign(f,'d:\name.txt');

 

 

 

 

i,s:integer;

 

 

 

 

 

 

 

Rewrite(f);

 

 

 

 

 

 

sa:real;

 

 

 

 

 

 

 

 

 

For i:=1 to 5 do

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

Assign(f,'d:\name.txt');

 

 

 

 

 

Write('name ->');

 

 

 

 

Reset(f);

 

 

 

 

 

 

 

 

 

Readln(a);

 

 

 

 

 

While not EOF(f) do

 

 

 

 

 

Writeln(f,a);

 

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

End;

 

 

 

 

 

 

 

Readln(f,a[i]);

 

 

 

 

 

Close(f);

 

 

 

 

 

 

 

s:=s+a[i];

 

 

 

 

 

 

 

Reset(f);

 

 

 

 

 

 

 

Write(a[i],' ');

 

 

 

 

 

While not EOF(f) do

 

 

 

 

End;

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

Close(f);

 

 

 

 

 

 

 

 

 

Readln(f,a);

 

 

 

 

 

sa:=s/n;

 

 

 

 

 

 

 

 

 

Writeln(a);

 

 

 

 

 

Append(f);

 

 

 

 

 

 

 

End;

 

 

 

 

 

 

Writeln(f,sa);

 

 

 

 

 

 

 

Close(f);

 

 

 

 

 

 

Close(f);

 

 

 

 

 

 

 

 

 

Readln;

 

 

 

 

 

 

Readln;

 

 

 

 

 

 

 

 

End.

 

 

 

 

 

End.

 

 

 

 

 

 

 

 

 

 

 

Завдання для самостійного виконання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Роб.місце

 

1

2

3

4

 

5

 

6

 

7

 

8

 

9

 

10

 

 

Завдання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2, 4

1, 3

2, 4

1, 3

 

2, 4

 

3, 1

 

4, 2

 

3, 1

 

2, 4

 

1, 3

 

 

2

 

1, 3

2, 4

1, 3

2, 4

 

3, 1

 

4, 2

 

3, 1

 

2, 4

 

1, 3

 

2, 4

 

120

«Turbo Pascal »

Значенко О.П.

Завдання І.

1.Записати у файл всі додатні числа введені з клавіатури. (Кількість чисел вводиться під час роботи програми) .

2.Визначте кількість від’ємних чисел у файлі та допешіть у файл їх к-ть. (попередньо створити файл)

3.Вивести на екран вміст текстового файлу та визначити к-ть компонентів файлу. (попередньо створити файл )

4.Записати у файл числа введені з клавіатури та їх середнє арифметичне. (Кількість чисел вводиться під час роботи програми) .

Завдання ІІ.

1.Написати програму, яка зчитує з файлу елементи одновимірного масиву заміняє нульові елементи масиву на 1 та дописує оновлений масив у файл.

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

3.Написати програму, яка зчитує з файлу елементи двовимірного масиву, визначає мінімальний елемент масиву та його порядковий номер.

4.Написати програму, яка зчитує з файлу елементи двовимірного масиву, визначає порядковий номер максимального елемент масиву.

Додаткові завдання

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

2.Написати програму, яка здійснює заміну елементів першого та останнього стовчика на нулі та записує масив у файл.

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

1.Які типи файлів ви знаєте?

2.Яку максимальну кількість елементів може містити файл?

3.Як описати змінну - файл?

4.Які операції над файлами можна виконати?

121

«Turbo Pascal »

Значенко О.П.

ЛАБОРАТОРНА РОБОТА №13 ТЕМА: Рядки.

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

Змінна типу STRING складається з ланцюжка символів, тобто елементів типу CHAR. Рядки виводяться на екран монітора стандартними процедурами WRITE, WRITELN та вводяться в пам’ять комп’ютера стандартними процедурами READ,

READLN.

Змінна типу STRING можн бути оголошена наступним чином:

Var <змінна> : string [n];

Де в дужках зазначається максимальна довжина рядка, якщо розмір не вказано то розмір рядка береться максимальною 255.

Операції над рядками

Присвоювання. Оператор присвоювання має такий вигляд:

<ім’я змінної>:=<рядковий вираз>

Об’єднання рядків. Ця операція дозволяє з’єднати два рядки в один, приєднавши початок другого рядка до кінця першого. Операція позначається символом „+”.

Порівняння рядків. (=, <>, <=, >=, >, < ). Де (=) „рівність” означає посимвольний збіг рядків, а (<>) „не дорівнює” означає, що рядки не збігаються. При застосуванні решти операторів порівняння рядків відбувається зліва на право до першого не співпадаючого символу.

Процедури та функції обробки рядків

Length (x) - вбудована функція, що дозволяє визначити фактичну довжину рядка, який зберігається у вказаній змінній.

Функція Copy( ) дозволяє копіювати фрагмент рядка.

Copy (<рядок>, <позиція у рядку>, < кількість копіюємих символів>).

За допомогою функції Pos(<фрагмент>, <рядок>). здійснюється пошук фрагменту. Якщо заданий фрагмент у рядку існує, то функція повертає номер позиції в рядку з якої цей фрагмент починається. У випадку якщо фрагмент не знайдено то функція повертає „0”.

Функція Upcase ( ) дозволяє перетворювати символ будь якої літери в прописну.

122

«Turbo Pascal »

Значенко О.П.

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

За допомогою процедури Insert можна вставити фрагмент з вказаної позиції:

Insert (<фрагмент>,< рядок> ,< позиція з якої буде вставлено фрагмент в рядок>)

Процедура Delete знищує у визначеному рядку фрагмент, визначеної довжини починаючи з вказаної позиції:

Delete ( <рядок>, <позиція>, <кількість символів які буде видалено>)

Приклад програми: З двох слів обрати найбільше та обернути його.

Program p7;

Var x, y, n, z : string [30]; i, k, l: integer;

Begin

Writeln (‘введіть перше слово’);

Readln (x);

Writeln (‘введіть друге слово’);

Readln (y); k:=length(x); l:= length(y);

If k>l then n:=x else n:=y;

For i:=1 to length (n) do z:= Copy(n, i, 1)+z;

Writeln (z);

Readln;

End.

Завдання для самостійного виконання

Роб.місце

1

2

3

4

5

6

7

8

9

10

Завдання

 

 

 

 

 

 

 

 

 

 

1

2, 4

3, 5

2, 4

1, 3

2, 5

3, 4

1, 2

3, 5

2, 4

1, 3

2

3, 5

1, 4

2, 5

3, 4

1, 5

2, 4

3, 5

1, 4

2, 5

3, 4

Завдання І.

1. Написати програму, яка визначає кількість літер „а” у рядку.

123

«Turbo Pascal »

Значенко О.П.

2.Написати програму, яка підраховує кількість ком у рядку.

3.Написати програму, яка підраховує кількість слів у рядку.

4.Написати програму, яка визначає, скільки раз у рядку зустрічається літера введена з клавіатури.

5.Написати програму, яка визначає, чи зустрічається у рядку введена з клавіатури літера.

Завдання ІІ.

1.Написати програму, яка знищує всі пробіли.

2.Написати програму, яка заміняє всі літера „а” на „1”.

3.Написати програму, яка заміняє кожен другий символ рядку на „1”.

4.Написати програму, яка визначає кількість літер у речення. (до першої крапки)

5.Написати програму, яка визначає кількість ком у реченні (до першої крапки).

Додаткові завдання

1.Написати програму, яка визначає, чи є введене з клавіатури число паліндромом.

2.Написати програму, яка утворює зі слова „комп’ютеризація” нові слова.

3.Написати програму, яка визначає найдовше слово у рядку.

4.Написати програму, яка підраховує кількість чисел у рядку.

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

1.Яку максимальну кількість символів може містити рядок?

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

3.Які операції над рядками можна виконати?

4.Назвіть процедури та функції обробки рядків.

124

«Turbo Pascal »

Значенко О.П.

ЛАБОРАТОРНА РОБОТА № 14 ТЕМА: Графічні можливості мови Паскаль

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

Засоби мови Паскаль дозволяють будувати зображення на екрані дисплея. Для цього використовується спеціальна бібліотека підпрограм, яка називається

Graph.

Початок координат екрана знаходиться в лівому верхньому куті (точка (0,0)), вісь Ох направлена вправо, Оу — вниз. Цю особливість направленості осі Оу необхідно враховувати при побудові зображень, особливо графіків функцій і діаграм.

Щоб графічні об’єкти могли виводитися на екран, необхідно перевести їх в графічний режим – ініціалізувати.

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

ІnitGraph (<номер драйвера>,<номер режиму>,<шлях до файлу драйвера> )

Закриття графічного режиму CloseGraph

Візуальне представлення всіх об’єктів, крім тексту, визначається двома параметрами контуром та заливкою.

Колір контура: SetColor (< номеркольору>);

Товщина та стиль контура:

SetLineStyle (<стильлінії>,<зразокстиля>,<товщина>),

Заливка: SetFillStyle(<зразокстиля(0-12) >,<колірзаливки(0-15)>) Кольору фона: SetBkColor(<номеркольору>)

Виведення зображень

Точка: PutPixel (<x>,< у>, <номеркольору>);

Лінія: LineTo(<x>,<y>)

LineRel(<горизонтальне зміщення>,<вертикальне зміщення>)

Line (<x1>,<y1>,<x2>,<y2>)

Не зафарбований прямокутник: Rectangle (<x1>,<y1>,<x2>,<y2>) Зафарбований прямокутник: SetFillStyle) Вar (<x1>,<y1>,<x2>,<y2>).

125

«Turbo Pascal »

Значенко О.П.

Паралелепіпед:

Вar3D (<x1>, <y1>, <x2>, <y2>, <глубина>, <виведення верхньої грані>)

(TopOn-виводити TopOff – не виводити).

Коло: Circle (,<x1><y1><r>)

Дуга: Arc (<x1><y1><початковийкут><кінцевийкут><R>)

Сектор дуги: PieSlice (<x1><y1><початковий кут><кінцевий кут><R>)

Зафарбований еліпс: FillEllipse (<x1>,<y1>,< х-R >,<у - R>)

Незафарбований еліпс:

Ellipse (<x1>,<y1>,<початковийкут>,<кінцевийкут>,< х-R >,<у - R>)

Еліптичний сектор:

Sector(<x1>,<y1>,<початковийкут>,<кінцевийкут>< х-R >,<у - R>)

Заливка замкнутих областей: FloodFill (<х>,<у>,<колірконтура>)

Завдання для самостійного виконання

Роб.місце

1

2

3

4

5

6

7

8

9

10

Завдання

 

 

 

 

 

 

 

 

 

 

1

2, 4

3, 5

1, 6

3, 4

2, 6

1, 4

3, 6

2, 5

1, 5

3, 4

2

1

2

3

1

2

3

1

2

3

1

Завдання І. Написати програму побудови зображення

 

 

 

1

 

 

2

 

 

3

 

 

 

 

4

 

5

 

6

 

 

 

 

 

126

«Turbo Pascal »

Значенко О.П.

Завдання ІІ. Написати програму побудови зображення (використовуючи цикл)

1

 

2

 

3

 

 

 

 

 

Додаткові завдання

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

2.Написати програму виведення графіка функції y=sin(x).

3.Написати програму руху зафарбованого кола з ліва на право.

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

1.Як відбувається ініціалізація графічного режиму

2.Які процедури відповідають за встановлення кольору контура та заливки?

3.Які процедури відповідають за виведення ліній та багатокутників?

4.Які особливості заливки замкнутого контура?

127

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]