- •Інформація та інформаційні процеси Поняття інформації.
- •Одиниці вимірювання інформації.
- •Подання інформації та типи комп'ютерів.
- •Способи пересилання інформації.
- •Будова комп'ютера
- •Пристрої введення-виведення інформації.
- •Процесор
- •Принципи функціонування комп'ютера Фізичні принципи
- •Програмний принцип
- •Поняття про середовища програмування
- •Загальна характеристика мови паскаль
- •Поняття інтегрованого середовища
- •Команда New
- •Команда Open
- •Основи алгоритмізації Алгоритми та їх властивості
- •Блок-схеми
- •Загальна характеристика Паскаль-програми
- •Структура Паскаль-програми
- •Елементи мови Паскаль
- •Прості типи даних
- •Стандартні типи даних
- •Дійсний тип
- •Логічний тип
- •Символьний тип
- •Конструйовані типи
- •Перелічуваний тип
- •Оператори надання значень змінним Оператор присвоєння
- •Уведення-виведення
- •Порядок виконання операцій
- •Складений оператор
- •Стиль запису програми
- •Структури керування
- •Структура послідовного виконання
- •Структура розгалуження
- •Умовний оператор
- •Оператор варіанта
- •Оператор безумовного переходу
- •Структура повторення
- •Цикл з параметром
- •Цикл з передумовою
- •Цикл з післяумовою
- •Ітераційні цикли
- •Обчислення суми знакозмінного ряду із заданою точністю
- •Процедури і функції
- •Процедури з параметрами. Параметри-значення
- •Одномірні масиви
- •Поняття масиву. Одномірний масив та його опис в програмі
- •Обчислення скалярного добутку двох векторів
- •Знаходження найбільшого (найменшого) значень серед елементів масиву
- •Обчислення суми та добутку елементів масиву
- •Перетворення масиву по заданому закону
- •Впорядкування одномірних масивів
- •Впорядкування шляхом вибору
- •Впорядкування обмінами
- •Впорядкування вставками
- •Зливання впорядкованих масивів
- •Двомірні масиви Поняття двомірного масиву та його опис у програмі
- •Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- •Вивід значень елементів двомірного масиву a[m,n]
- •Рядковий тип (string)
- •Комбіновані типи Організація комбінованих типів у Паскалі
- •Оператор приєднання
- •Множинні типи Організація множин
- •Файлові типи Організація файлів
- •Підготовчі та завершальні операції
- •Операції уведення-виведення
- •Стандартні файли input і output
- •Модулі Модуль і його структура
- •Стандартні модулі
- •Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- •Метод поділу проміжку пополам
- •Метод хорд
- •Метод дотичних
- •Чисельне інтегрування
- •Квадратурні формули прямокутників
- •Загальні формули прямокутників
- •Квадратурна формула трапецій
- •Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- •Список літератури
Одномірні масиви
Впорядкування одномірних масивів
Поняття масиву. Одномірний масив та його опис в програмі. Ввід та вивід значень елементів одномірного масиву. Задачі обчислювального характеру: табулювання функції, аргумент якої заданий масивом; обчислення скалярного добутку двох векторів; знаходження найбільшого (найменшого) значень серед елементів масиву; обчислення суми та добутку елементів одномірного масиву. Перетворення одномірного масиву за певним законом. Впорядкування одномірного масиву шляхом вибору мінімального елемента, обмінами, вставками. Постановка задачі та принцип методу. Програма злиття одномірних масивів
Поняття масиву. Одномірний масив та його опис в програмі
Потреба в масивах виникає тоді, коли є велика кількість однотипних упорядкованих даних. У цьому випадку можна було б ці дані розглядати як сукупність непов'язаних величин, надавши кожній з них своє ім'я. Однак такий підхід неефективний. Зручніше ці дані вважати масивом, надаючи їм одне ім'я, а окремим компонентам поставити у відповідність конкретні номери, за аналогією з вектором, кожна компонента якого позначена іменем, праворуч від якого в нижній позиції зазначено номер компонента.
Масив - це впорядкований набір даних однакового типу. Приклади масивів: рядок тексту, компонентами якого є окремі символи; вектор, що є масивом дійсних чисел; матриця, як масив векторів.
Кожному простому значенню, що є в масиві, тобто кожному компонентові відповідає сукупність номерів, які визначають місце його в загальній послідовності. Ці номери називають індексами. Головні характеристики сукупності значень, що утворюють масив, такі: ім'я, розмірність (тобто кількість компонентів), тип компонентів і тип індексів, ім'я - це повна змінна типу масив, її значенням є весь масив. Загальна форма опису масиву така:
type
<ім'я>=аrrау [<тип_індексів>] of <тип_елементів>;
Тип індексів може бути довільним простим типом, крім real. Найчастіше це діапазон і перелічуваний тип. (У Турбо Паскалі - крім longint і діапазону від нього). Тип integer теж не використовують, бо тоді компонентів буде забагато. Тип компонентів може бути довільний. Важливо, що час доступу до будь-якого компонента масиву не залежить від значення індексу. Тому масив вважають структурою прямого доступу.
Приклад опису масиву:
type
vector=array[1..10] of real;
Тоді деякі змінні можна описати так:
var
х,у,v:vector;
Можна також об'єднати ці описи й обійтися без опису типу:
var
х,у,v:array[1..10] of real;
Можливий і такий опис:
s:array[1147.. 1999] of integer;
r:array[-754..-1] of integer;
тобто від'ємні числа обмежують діапазон.
Приклад випадку, коли індексом є перелічуваний тип, такий:
type
day=(pn, vt, sr, ct, pt, sb, nd);
b=array[day] of boolean;
var z,c:b;
або
var z,c:array[day] of boolean;
У другому випадку описані вже змінні с і z, що мають такий самий тип, як b, однак без імені (так зване неявне задання типу).
Як тип індексу, крім діапазону integer і перелічуваного типу, можна використовувати типи boolean і char, як упорядковані.
Окремий компонент масиву вибирають, зазначаючи ідентифікатор масиву, після якого в квадратних дужках записують індексний вираз. Індексний вираз повинен набувати значення, що є в діапазоні, визначеному типом індексу.
і:=5; j:=2;
c[sr]:=false;
z[pred(nd)]:=c[sb];
Ім'я з індексами в квадратних дужках - це часткова змінна, оскільки її значенням є не весь масив, а його окремий компонент.
Приклади часткових змінних (компонентів) з постійними значеннями індексів такі: k[true]; k[false];
Розглянемо типові приклади програм роботи з масивами.
Ввід та вивід значень елементів одномірного масиву
Програма вводу значень елементів одномірного масиву
Program VvOdnMas;
Uses Crt;
Var
A:array[1..20] of real;
i,n:integer;
Begin
Writeln(‘Введіть довжину N масиву А:’);
Readln(n);
Writeln(‘Введіть елементи масиву А:’);
For i:=1 to n do read(A[i]);
Readln
End.
Програма виводу значень елементів одномірного масиву
Program VuOdnMas;
Uses Crt;
Var
A:array[1..20] of real;
i,n:integer;
Begin
{..........................}
Writeln(‘Одномірний масив А:’);
For i:=1 to n do Writeln(A[i]);
Writeln;
{..........................}
End.
Задачі обчислювального характеру
Табулювання функції, аргумент якої заданий масивом
Обчислити всі значення функції , аргумент якої набуває значень {-2; 3; 12.2; 5.4; 6.7; 1.4; 2.8; 7.5; 3.14; 2.85}. Розв’язати задачу для випадку, коли масив містить не 10, а N значень.
Програма табулювання даної функції матиме такий вигляд.
program TabFunc;
uses
Crt;
var
x,y:array[1..20] of real;
N,i:integer;
begin
ClrScr;
Writeln('Введіть кількість елементів масиву N<=20');
Readln(n);
Writeln('Введіть поелементно масив x:');
For i:=1 to N do Read(x[i]);
Readln;
Writeln('Аргумент функції x Значення функції y');
For i:=1 to N do
Begin
y[i]:=Sqr(sin(3*x[i]));
Writeln(x[i]:9:2,' ',y[i]:9:2);
end;
Readln;
end.