Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovi_informatiki.doc
Скачиваний:
7
Добавлен:
09.09.2019
Размер:
286.72 Кб
Скачать

25. Рядки, процедури та функції обробки рядків у мові програмування Pascal.

Рядок – це структурований тип даних, який складається з елементів типу char, при цьому довжина рядка не можу перевищувати 256 символів (0-255)

Для введення та виведення елементів використовуються стандартні оператори присвоєння, введення, виведення. Опис:

Var

<ім’я змінної>: STRING [n];

N – максимальна довжина рядка. Якщо макс. довжина не вказана, то під рядок виділяється 256 позицій.

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

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

1.Присвєння х:=’рядок’;

2.Об’єднання рядків: початок другого рядка приєднується до кінця першого

А:=’тепло’;

В:=’хід’;

С:=A+B;

3.Порівняння =,>, <, >=, <=, <> abc<abd, abcd>abc

Рівність означає по символьний збіг рядків. Нерівність – рядки не збігаються. При використанні решти операторів порівняння рядків відбувається зліва на право до першого не співпадаючого символу. Довшим вважається той у якого перший не співпадаючий символ має більший номер у таблиці кодів. Якщо рядки різної довжини, то меншим вважається коротший рядок.

Функції обробки рядків

1.Визначення довжини

y:=length(r)

r – змінна рядкового типу, y – змінна цілочислового типу

2.Копіювання

x:=copy(r,n,k);

r – рядок, n – позиція з якої відбувається копіювання, k – кількість символів, що копіюється

3.Пошук фрагменту

y:=pos(f, r)

Дана функція повертає номер позиції з якої починається фрагмент в рядку. Якщо фрагмент не знайдений, функція повертає значення 0. ВРАХОВУЄТЬСЯ РЕГІСТР ЛІТЕР!!!

4.Перетворення літер в прописні UPCASE

y[i]:=upcase(s[i]);

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

Процедури

1.Вставка фрагмента в рядок INSERT(F,R,N)

F - фрагмент, R - рядок ,N – позиція з якої фрагмент вставляється в рядок

2. Видалення DELETE(R,N,K)

R - рядок,N – номер позиції , K – кількість символів, що видаляються

26. Побудова графічних зображень у Pascal.

Засоби мови Паскаль дозволяють будувати зображення на екрані дисплея. Для цього використовується спеціальна бібліотека підпрограм, яка називається Graph. До неї входять графічні процедури і функції для побудови різних за формою фігур і ліній, а також спеціальні засоби організації графічного режиму. Ці засоби призначені для аналізу можливостей використовуваного дисплея, розподілу поля екрана на різну кількість дрібних квадратиків, кожний з яких вважається окремою точкою зображення - пікселем. Для дисплея типу VGA кількість точок може бути 640х480, а кількість використовуваних кольорів – 16. Чкладніші засоби Паскаль дозволяють збільшити кількість кольорів до 256. Початок координат екрана знаходиться в лівому верхньому куті (точка (0,0)), вісь ОХ направлена вправо, ОУ – вниз. Центр екрана – (319, 239), права нижня точка - (639, 479).

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

Щоб графічні об’єкти могли виводитись на екран необхідно перевести їх в графічний режим - ініціалізувати. Тoбтo запустити відповідний драйвер. Ініціалізація граф.режиму відбувається викликом процедури InitGraph.

InitGraph (GraphDriver, GraphMode, GraphPath)

GraphDriver<номер драйвера> - цілочислова змінна, яка має номер необхідного драйвера у таблиці драйверів, якщо в якості змінної задати «0», то драйвер буде визначено автоматично

GraphMode <номер режиму> - цілочислова змінна, яка містить допустимий номер графічного режиму для даного графічного драйвера (у випадку 640-480-16 використовуєть «0»)

GraphPath <шлях до драйверу> - параметр використовується для того щоб вказати розташування файлу драйверу так як графічні драйвери можуть знаходитися у бідь-якому місці файлової системи. Якщо драйвер знаходиться в стандартному каталозі, а ТР встановлено на диск С:\ то C:\BP\BGI. Якщо файл драйвера знаходиться в одному каталозі з програмою, яка розробляється, то в якості параметра використовується пустий рядок ‘ ’.

Приклад ініціалізації графічного режиму:

Program P1;

Uses Graph;

Var GrDriver, GrMode: integer;

Begin

GrDriver:=Detect; {detect – стандартна стала, присвоює «0»}

CrMode:=0;

InitGraph (GrDriver, GrMode, ‘ ‘);

CloseGraph; {закриття графічного та відновлення текстового режиму}

End.

Можна виділити такі групи: точки та лінії; замкнуті багатокутники та ізометричні проекції куба; коло; еліпс; дуга та сектор; текст; складні зображення.

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

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

Контур задається трьома параметрами – товщиною, стилем, кольором.

Колір встановлюється процедурою

SetColor(номер кольору 0-15)

Товщина та стиль

SetLineStyle(Стиль, Зразок, Товщина)

товщина контура(1-тонка, 3-товста), стиль – порядок чередування штрихів (0-4), зразок – для визначення особливих стилів (при ігнорування – «0»)

Заливка характеризується стилем та кольором

SetFillStyle(зразок (0-12), колір заливки (0-15))

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

SetBkColor(Номер кольору).

Базові графічні операції

Точка – процедура PutPixel(x,y,NColor:integer)

Відрізок - процедури Line(x1,y1,x2,y2:integer) – малювання відрізку біжучим кольором.

Переміщення графічного курсору – MoveTo(x,y).

Надпис – OutText(Txt: String),

OutTextXY(x,y:integer;Txt: String).

Деякі інші процедури та функції

Очистка екрану від графіки – ClearDevice.

Прямокутник – Rectangle(x1,y1,x2,y2: integer).

Вивід зафарб прямокутників – Bar (x1,y1,x2,y2).

Паралелепіпед– Bar3D(x1,y1,x2,y2,h,top(on/off)).

Заливка замкнених областей – FloodFill (x1, y1, NColor: integer).

Коло – Circle(x1,y1,r:integer);

Дуга кола – Arc (х1, у1, поч. кут, кінцевий кут, радіус).

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