Program MINSORT;
Uses CRT;
Const N=10; {кількість елементів масиву}
Var A:array[1..n] of integer; {опис масиву}
і,j:integer; {допоміжні змінні}
Amin :integer; {допоміжна змінна для }
{мінімального елементу масиву}
l:integer; {порядковий номер}
{мінімального елементу масиву}
begin
ClrScr;
writeln('Введіть елементи масиву');
for i:=1 to N do
begin
write('A[',i,']=');
readln(A[i]);
end;
writeln('Масив до сортування:');
writeln;
for i:=1 to N do write(A[i]:5);
writeln;
for i:=1 to N do
begin
Amin:=A[i];
l:=i;
while j<=N do
begin
if Amin>A[j]then
begin
Amin:=A[j];
l:=j;
end;
j:=j+1;
end;
А[l]:=А[i];
A[i]:=Amin;
end;
writeln;
writeln('Масив після сортування:');
writeln;
for i:=1 to N do write(A[i]:5);
writeln;
end.
Завдання
1. Скласти програму, за якою:
a. заповнити масив А(40) випадковим чином цілими числами із діапазону [100, 999];
b. вивести елементи масиву на екран в рядок;
c. упорядкувати діапазон елементів масиву за таких умов:
Варіант
| Діапазон елементів масиву
| Метод упорядкування
| Властивості елементів масиву
|
Перший
| останній
|
|
|
| Вставкою
| Парні
|
|
|
| Обміном
| Непарні
|
|
|
| Вибором
| Кратні 3
|
|
|
| Вставкою
| Кратні 7
|
|
|
| Обміном
| Прості
|
|
|
| Вибором
| Кратні 5
|
|
|
| Вставкою
| Одна з цифр=0
|
|
|
| Обміном
| Одна з цифр =5
|
|
|
| Вибором
| Послідовність цифр монотонно зростає
|
|
|
| Вставкою
| Цифра десятків не менша ніж 5
|
|
|
| Обміном
| Цифра одиниць=3
|
|
|
| Вибором
| Послідовність цифр монотонно спадає
|
|
|
| Вставкою
| Непарна цифра одиниць
|
|
|
| Обміном
| Непарна цифра десятків
|
|
|
| Вибором
| Парна цифра сотень
|
Лабораторна робота № 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. Якщо рядки мають різну довжину, але в загальній частині збігаються, вважається, що той рядок менший, у якого довжина менше. Рядки вважаються рівними, якщо вони рівної довжини і містять однакові символи.
Для присвоєння рядковій змінній значення результата рядкового виразу використовується оператор присвоювання (:=).
Якщо довжина змінної після виконання оператора присвоювання перевищує максимально допустимий при описі розмір, усі зайві символи праворуч відкидаються.
Допускається змішування в одному виразі операндів рядкового і літерного типів. Якщо при цьому літерній змінній присвоюється значення рядкового типу, довжина рядка повинна дорівнювати одиниці, інакше виникає помилка виконання.
До окремих символів у рядку можна звернутися за номером (індексом) даного символу в рядку. Індекс визначається виразом цілого типу, що записується в квадратних дужках за ідентифікатором рядкової змінної або константи.
Для обробки рядкових даних використовуються наведені нижче стандартні процедури та функції.