- •Методичні рекомендації до виконання лабораторних робіт
- •Для спеціальностей
- •Лабораторна робота № 1 Лінійні програми
- •Теоретичні відомості
- •Вирази, операнди, операції.
- •Аналогічно не можна змішувати літерні та числові типи даних,тобто вираз типу:
- •Введення-виведення інформації.
- •Завдання
- •Лабораторна робота № 2 Використання операторів умовного та безумовного переходів
- •Теоретичні відомості
- •Оператор умови if
- •Завдання
- •Лабораторна робота № 3 Використання операторів циклу
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 4 Обробка табличних елементів
- •Теоретичний матеріал
- •1 Спосіб
- •2 Спосіб
- •Завдання
- •Лабораторна робота № 5 Сортування елементів масиву
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 6 Робота з даними типу String
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 7 Використання множин даних
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 8 Обробка даних типу запис
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 9 Файлові типи даних
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 10 Типизовані файли
- •Теоретичний матеріал
- •Типизовані файли
- •Завдання
- •Лабораторна робота № 11 Організація підпрограм з використанням функцій
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 12 Організація підпрограм з використанням процедур
- •Теоретичний матеріал
- •Параметри-значення
- •2. Параметри-змінні
- •Завдання
- •Лабораторна робота № 13 Модульна організація програм
- •Теоретичний матеріал
- •Завдання
- •Варіант 1. Робота з матрицями
- •Варіант 2. Арифметичні дії з цілими числами, які не визначаються типом Longint
- •Варіант 3. Цілочисельна арифметика
- •Варіант 4. Опрацювання лінійного масиву даних
- •Варіант 5. Аналіз текстового рядка
- •Варіант 6. Трикутник
- •Варіант 7. Опрацювання масиву даних
- •Варіант 8. Опрацювання масиву даних
- •Варіант 9. Опрацювання двовимірних масивів
- •Лабораторна робота № 14 Створення графічних зображень
- •Теоретичний матеріал
- •Завдання
- •Список літератури
Завдання
Скласти програму, за якою:
заповнити масив А(40) випадковим чином цілими числами із діапазону [100, 999];
вивести елементи масиву на екран в рядок;
упорядкувати діапазон елементів масиву за таких умов:
Варіант |
Діапазон елементів масиву |
Метод упорядкування |
Властивості елементів масиву |
|
Перший |
останній |
|||
1 |
5 |
40 |
Вставкою |
Парні |
2 |
3 |
35 |
Обміном |
Непарні |
3 |
1 |
33 |
Вибором |
Кратні 3 |
4 |
7 |
36 |
Вставкою |
Кратні 7 |
5 |
1 |
35 |
Обміном |
Прості |
6 |
8 |
38 |
Вибором |
Кратні 5 |
7 |
3 |
31 |
Вставкою |
Одна з цифр=0 |
8 |
1 |
25 |
Обміном |
Одна з цифр =5 |
9 |
2 |
35 |
Вибором |
Послідовність цифр монотонно зростає |
10 |
6 |
32 |
Вставкою |
Цифра десятків не менша ніж 5 |
11 |
9 |
30 |
Обміном |
Цифра одиниць=3 |
12 |
4 |
37 |
Вибором |
Послідовність цифр монотонно спадає |
13 |
7 |
34 |
Вставкою |
Непарна цифра одиниць |
14 |
3 |
25 |
Обміном |
Непарна цифра десятків |
15 |
7 |
39 |
Вибором |
Парна цифра сотень |
Лабораторна робота № 6 Робота з даними типу String
Мета: навчитися розв’язувати задачі з використанням даних типу String.
Теоретичний матеріал
Рядок – це послідовність символів кодової таблиці ПЕОМ (ASCII таблиця). При використанні у виразах рядок береться в одинарні лапки.
Кількість символів у рядку (довжина рядка) може динамічно змінюватися від 0 до 255. Для опису даних рядкового типу використовується ідентифікатор string, за яким вказується в квадратних дужках значення максимально допустимої довжини даного рядка. Якщо значення не вказується, то вважається довжина рядка 255 байт.
Змінну рядкового типу можна визначити безпосередньо в розділі опису змінних. Рядкові дані можуть використовуватися в програмі також у якості констант.
Опис рядкового типу встановлює максимальну кількість символів, що може вмістити рядок.
Формат опису:
var
<ідентифікатор,...> : string [<максимальна довжина рядка>];
Приклад:
ST : string; {опис рядка довжиною 255 символів (відсутня довжина рядка в описі)}
ST1 : string[50]; {опис рядка довжиною 50 символів}
Вирази, в яких операндами служать рядкові дані, називаються рядковими. Вони складаються із рядкових констант, змінних, покажчиків функцій і знаків операцій. Над рядками дозволяється виконувати операції зчеплення й операції відношення.
Операція зчеплення (+) застосовується для з’єднання декількох рядків в один результуючий рядок. Наприклад,
‘E’+’C’+’ 18’+’10’=‘EC 1810’
Довжина результуючого рядка не повинна перевищувати 255 символів.
Операції відношення (=, <, >, <>, <=, >=) проводять порівняння двох рядкових операндів і мають пріоритет нижчий, ніж операції зчеплення. Порівняння рядків робиться зліва направо до першого не співпадаючого символу. Довжина того рядка вважається більшою, у якого перший не співпадаючий символ буде мати більший номер у кодовій таблиці ASCII. Якщо рядки мають різну довжину, але в загальній частині збігаються, вважається, що той рядок менший, у якого довжина менше. Рядки вважаються рівними, якщо вони рівної довжини і містять однакові символи.
Для присвоєння рядковій змінній значення результата рядкового виразу використовується оператор присвоювання (:=).
Якщо довжина змінної після виконання оператора присвоювання перевищує максимально допустимий при описі розмір, усі зайві символи праворуч відкидаються.
Допускається змішування в одному виразі операндів рядкового і літерного типів. Якщо при цьому літерній змінній присвоюється значення рядкового типу, довжина рядка повинна дорівнювати одиниці, інакше виникає помилка виконання.
До окремих символів у рядку можна звернутися за номером (індексом) даного символу в рядку. Індекс визначається виразом цілого типу, що записується в квадратних дужках за ідентифікатором рядкової змінної або константи.
Для обробки рядкових даних використовуються наведені нижче стандартні процедури та функції.
Процедури для роботи з рядками.
Delete(Str,Poz,N) – вилучення N символів рядка Str, починаючи з позиції Poz. Якщо Poz>255, виникає програмне переривання.
Insert(Str1,Str2,Poz) – вставка рядка Str1 у Str2, починаючи з позиції Poz.
Str(Number,Str) – перетворення числового значення величини Number і занесення результату в рядок Str. Після Number може записуватися формат, аналогічний формату виведення. Якщо у форматі зазначена недостатня кількість розрядів, поле виведення розширюється до потрібної довжини.
Значення Number |
Вираз |
Результат |
1500 |
Str(Number:6,Str) |
‘__1500’ |
4.8E+03 |
Str(Number:10,Str) |
‘______4800’ |
76854 |
Str(-Number:3,Str) |
‘-76854’ |
Val(Str,Number,Cod) – перетворює значення Str у величину цілого або дійсного типу і розміщує результат у Number. Значення Str не повинно містити зайвих проміжків на початку і наприкінці рядка. Cod – ціла змінна, значення якої не дорівнює нулю, якщо під час операції перетворення виявлена помилка. Cod буде містити номер позиції першого помилкового символу, а Number не буде визначено.
Значення Str |
Вираз |
Результат |
‘1450’ |
val(Str,Number,Cod) |
1450 Cod=0 |
‘14.2E+02’ |
val(Str,Number,Cod) |
1420 Cod=0 |
‘14.5A+01 |
val(Str,Number,Cod) |
? Cod=5 |
Функції для роботи з рядками.
Concat(S1, S2,…,Sn) – з’єднує рядки S1, S2,…,Sn в один рядок. Символи, номери яких перевищують 255, не зберігаються.
Lenght(Str) – обчислює поточну довжину в символах рядка Str. Результат має цілий тип.
Copy(Str,Poz,N) – копіює з Str підрядок довжиною N символів, починаючи з позиції Poz. Якщо Poz>Lenght(Str), то результатом буде проміжок; якщо Poz>255, то виникне помилка при виконанні.
Pos(Str1,Str2) – виявляє першу появу в рядку Str2 рядка Str1. Результат має цілий тип і дорівнює номеру тієї позиції, де знаходиться перший символ рядка Str1. Якщо в Str2 рядок Str1 не знайдений, результат дорівнює 0.
UpCase(Ch) – перетворює малу літеру в велику. Параметр і результат мають літерний тип. Обробляються тільки літери латинського алфавіту.