- •Програмування та алгоритмічні мови
- •Візуальне проектування програмних засобів.
- •Середовище візуального програмування. Форма. Інспектор об’єктів. Редактор коду. Палітра компонентів.
- •Поняття і структура програми та проекту.
- •Типи даних та їх представлення у комп’ютері.
- •Оператори вибору.
- •Робота з одновимірними та багатовимірними масивами.
- •Алгоритми обробки масивів. Упорядкування і пошук даних.
- •Символьні рядки. Обробка текстових даних.
- •Робота із записами.
- •Файли. Поняття фізичного і логічного файлу. Методи доступу до файлів.
- •Типи файлів.
- •Процедури і функції для роботи з файлами.
- •Поняття підпрограми. Структура підпрограм.
- •Параметри в підпрограмах. Глобальні та локальні змінні.
- •Структура програми, що містить процедури
- •Рекурсивні підпрограми.
- •Динамічні структури даних. Незв’язані динамічні дані. Динамічні структури даних.
- •Змінні-вказівники.
- •Динамічні структури даних. Зв’язані динамічні дані. Списки, стеки, черги, дерева.
- •Об’єктно-зорієнтоване програмування. Класи і об’єкти. Основні поняття.
- •Опис класів і об’єктів.
- •Наслідування
- •Методи. Конструктори і деструктори.
- •Приклад
- •Властивості об’єктів. Характеристики об'єктів
- •Поняття успадкування. Наслідування
- •Принцип успадкування
- •Поліморфізм. Віртуальні та динамічні методи.
- •Характеристики
- •Структура опису класу.
- •Класи загального призначення.
-
Символьні рядки. Обробка текстових даних.
Мова С не має спецiального типу для оголошення символьних рядкiв, а розглядає символьний рядок як особливий вид масиву. Елементи масиву, який називають символьним рядком, мають тип char, їх значеннями є коди символiв, з яких складається цей рядок. Процеси опрацювання символьних рядкiв у С-програмах базуються на двох основних властивостях рядкiв: 1) iм’я символьного рядка є константним вказiвником на його перший символ; 2) кiнець рядка задається нуль-символом ‘\ 0’.
Бiблiотеки мови С мiстять набiр функцій, призначених для введення та виведення одиночних символiв i цiлих символьних рядкiв. Функцiї введення/виведення, прототипи яких оголошено в заголовному файлi <stdio.h>, належать до стандартних функцiй мови - вони є в усiх реалiзацiях С. Цi функції здiйснюють потокоорiєнтоване буферизоване введення/виведення даних. У процесi введення набрана на клавiатурi iнформацiя заноситься у спецiальний внутрiшнiй буфер i одночасно вiдображається на екранi. Додатковi можливостi надають функції консольного введення/виведення, які оголошено в заголовному файлi <conio.h>. Прототипи бiблiотечних функцiй, призначених для роботи з символьними рядками, оголошенi в заголовному файлi <string.h>.
Як уже згадувалось, в мові Pascal є два види текстових даних: символічні (char) та рядкові (string).
Для роботи з символічними даними є функції: Chr та Ord.
Функція Chr за кодом виробляє відповідний символ, наприклад, результатом функції Chr(66) буде символ ‘B’.
Функція Ord виробляє код свого аргументу: значенням функції Ord(‘B’) буде число 66.
Символічні дані можна об’єднувати в масив, наприклад:
Var P: array[1..50] of char;
Фактично P – це рядок з 50 символів. Його можна ввести в циклі.
Спеціальна функція Length(T) повертає ціле число – кількість символів в рядку. Рядок можна ввести з клавіатури за допомогою оператора Readln.
Наприклад:
Readln(Т);
Для рядкових даних допустима операція зчеплення, наприклад:
Q:=’ Великий ‘ + ‘ Дніпро ‘;
Але можливий і такий варіант:
LivePole:=’‘; {це пустий рядок}
For i:=1 to k do LivePole:= LivePole+’ ‘;
Після завершення циклу змінна LivePole буде мати k проміжків.
Для обробки даних типу String використовують спеціальні підпрограми.
Процедура Insert(S1, S2, Npoz) вставляє рядок S1у рядок S2, починаючи з позиції Npoz.
Приклад:
S2:=’ Приватизація ‘;
Insert (‘х’ , S2, 4); {в S2 буде – Прихватизація}
Процедура Delete(S1, Npoz, Kil) вилучає з рядку S1 підрядок із Kil символів, починаючи з позиції Npoz.
Приклад:
S1 := ‘Закріпити’;
Delete (S1,3,3); {в S1буде - запити}
Функція Copy(S1, Npoz,Kil) виконує копіювання послідовності із Kil символів з позиції Npoz рядку S1.
Приклад:
S2:=Copy(‘Металіст’,5,3); {в S2 буде – ліс}
Функція Pos(S1, S2) шукає в S2 (з лівого краю) підрядок S1. Результатом функції є ціле число – номер позиції, починаючи з якої підрядок S1 перший раз входить до S2. Якщо S1 в S2 немає, результат дорівнює нулю.
Приклад:
S2:=’ Влада чи Безвладдя‘;
Nom:=Pos(‘ ‘,S2); {Nom стане рівним 6}
Щоб знайти у тексті місце другого проміжку, треба щось зробити з першим, наприклад, замінити його на ‘*’.
S2[Pos(‘ ‘,S2)]:=’*’;
Функція Concat(S1,S2,…,SN) виконує зчеплення рядків S1, S2,…,SN в один рядок.
Приклад: Підрахувати кількість слів у заданому реченні.
Var s:String;
i,j:Byte;
Begin
Write('Input line : ');
Readln(s);
s:=s+' ';
j:=0;
For i:=2 to Length(s) do
If (s[i]=' ')and(s[i-1]<>' ') Then j:=j+1;
Writeln('Result = ',j);
End.