- •Лабораторна робота № 1
- •Системний блок
- •Материнська (системна) плата
- •Системна магістраль даних (системна шина)
- •Мікросхема bios
- •Блок живлення
- •Накопичувачі
- •Адаптери
- •Клавіатура
- •Маніпулятори
- •Плати розширення
- •Зовнішні пристрої
- •Принтери
- •Стримери
- •Пристрої на компакт-дисках
- •Сканери
- •Джерела безперебійного живлення
- •Контрольні питання
- •Лабораторна робота №2
- •Алгоритм, його основні властивості та способи зображення
- •Мова програмування qbasic
- •Найпростіші оператори
- •Контрольні запитання
- •Варіанти завдань роботи
- •Лабораторна робота №3
- •Запуск qbasic
- •Індикатори натиснення спеціальних клавіш:
- •Індикатори натиснення клавіш-перемикачів:
- •Описання головного меню qbasic
- •Введення та редагування програм
- •Редактор qbasic
- •Запуск програми на виконання та перегляд результату
- •Збереження програми у вигляді файла на диску
- •Вихід з середовища qbasic
- •Контрольні запитання
- •Завдання
- •Лабораторна робота № 4
- •Розгалужена структура алгоритму
- •Умовний оператор if
- •Оператор goto
- •Оператор вибору on
- •Оператор select case
- •Циклічна структура алгоритму
- •Оператор for...Next
- •Зразок виконання завдання.
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 5
- •Змінні величини та функції, що їх визначають
- •Область визначення (існування) функції
- •Максимум та мінімум (екстремум) функції
- •Найбільше та найменше значення функції
- •Оператор-функція
- •Зразок виконання завдання
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 6
- •Умовні цикли
- •Оператор while...Wend
- •Оператор do...Loop
- •Метод половинного ділення
- •Зразок виконання завдання
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 7
- •Ітераційний цикл
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота № 8
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота №9
- •Обмінне сортування
- •Інші методи сортування
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 10
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 11
- •Зразок виконання завдання
- •Контрольні питання
- •Лабораторна робота № 12
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота № 13
- •Символьні функції
- •Що таке аscii?
- •Перетворення з аsсii в qbasic
- •Визначення довжини символьної величини
- •Виділення частини тексту
- •Кодування текстів
- •Пoшук підрядка
- •Різні варіанти написання тексту
- •Зразок виконання завдання.
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота № 14
- •Оператор print using
- •Print using та числа
- •Print using та текстові значення
- •Масиви економічної інформації
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота №15
- •Про функції
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 16
- •Зразок виконання завдання
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 17
- •Прямі лінії – відрізки
- •Оператор circle
- •Малювання прямокутників
- •Коло, дуга, еліпс і сектор
- •Використання кольору
- •Кольори малюнку і фону
- •Колір у текстовому режимі (оператор color)
- •Колір у графіці (оператор color)
- •Вибір значення для параметра фон
- •Зафарбовування областей
- •Ще один метод малювання
- •Відносний рух
- •Обертання
- •Масштабування зображення
- •Колір в операторі draw
- •Текстові змінні в операторі draw
- •Контрольні питання
- •Варіанти завдань
- •Лабораторна робота №18
- •Процедура
- •Використання підпpoгpaм типу SubRoutіne
- •Використання функцій типу def fn
- •Зразок виконання завдання:
- •Контрольні запитання.
- •Варіанти завдань
- •Лабораторна робота № 19
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 20
- •Різні способи дocтyпу до файлів
- •Відкриття фaйлa
- •Peжими pобoти з фaйлaми
- •Пpиклад відкриття фaйлa
- •Перегляд та peдaгувaння файла
- •Контрольні запитання
- •Варіанти завдань
Лабораторна робота № 11
Обробка елементів рядків (стовпчиків) матриці
Мета роботи – оволодіння навичками обробки елементів рядків (стовпчиків) матриці
Теоретична частина
При обробці інформації, представленій у вигляді таблиці, часто треба маніпулювати даними, розміщеними в окремих рядках (стовпчиках) таблиці. Розглянемо таблицю результатів здачі вступних іспитів до вищого навчального закладу на одну із спеціальностей (табл. 11.1.)
Таблиця 11.1.
Предмет
П.І.П. |
математика |
фізика |
укр.мова |
Бабич В. |
40 |
31 |
26 |
Звягинцева А. |
55 |
51 |
23 |
Гуменюк Л. |
34 |
45 |
28 |
Мойсейченко П. |
51 |
43 |
28 |
Лазарук Р. |
40 |
45 |
25 |
Для прийняття рішення про зарахування до навчального закладу необхідно знайти сумарний бал кожного абітурієнта та розмістити список в порядку зменшення набраних балів. Крім того, для аналізу знань корисний середній бал з кожного предмету. В результаті маємо табл.11.2.
Тут середній бал — це сума балів кожної колонки, розділена на кількість абітурієнтів, набрано балів — сума балів з усіх предметів окремого абітурієнта.
Задана таблиця представляє собою матрицю А(5,3), результат її обробки — два одновимірних масиву В(3) і С(5) :
B=(44, 43, 26); C=(129, 127, 113, 107, 97);
Таблиця 11.2.
Предмет
П.І.П. |
математика |
фізика |
укр.мова |
набрано балів |
Звягинцева А. |
55 |
51 |
23 |
129 |
Мойсейченко П. |
51 |
43 |
28 |
127 |
Лазарук Р. |
40 |
45 |
25 |
113 |
Гуменюк Л. |
34 |
45 |
28 |
107 |
Бабич В. |
40 |
31 |
26 |
97 |
Середній бал з предмету |
44 |
43 |
26 |
|
Розглянемо алгоритми розв’язання задач на обробку рядків (стовпчиків) матриці.
Приклад 1. Дано масив чисел А(M,N). Визначити середнє арифметичне значення елементів другого стовпчика.
Позначимо суму через S, кількість елементів через K, середнє арифметичне через S/K, i — індекс рядка; j — індекс стовпчика (рис.11.1.)
Ускладнимо задачу, поставивши вимогу знайти середнє арифметичне елементів кожного стовпчика. Неважко помітити, що, повторивши блоки 6-11, можна визначити та надрукувати середнє арифметичне кожного окремого стовпчика (рис.11. 2.)
О бєднаємо знайдені величини в одновимірний масив В (L — індекс елементів, та одночасно лічильник кількості елементів створюваного масиву). Фрагмент алгоритму представлено на рис. 11.3., а програма, що його реалізує подана рядом.
R EM Формування одновимірного масиву з середніх арифметичних елементів стовпців
INPUT M,N : DIM A(M,N), B(N)
FOR I=1 TO M: FOR J=1 TO N
INPUT A(I,J)
NEXT J,I
L=0
FOR J=1 TO N
S=0 : K=0
FOR I=1 TO M
S=S+A(I): K=K+1
NEXT I
L=L+1: B(L)=S/K: PRINT B(L)
NEXT J
ЕND
Аналогічним чином можна створити масиви із елементів рядків.
Приклад 4. Задано масив В(M,N). Створити одновимірний масив із максимальних елементів кожного непарного рядка. Для цього позначимо максимальний елемент довільного стовпчика через max, створюваний масив через X, його індекс — K. Вибір непарних рядків виконується за допомогою оператора циклу, задавши відповідним чином його параметри.
REM Формування одновимірного масиву з максимальних елементів непарних рядків
REM Ввід вхідних даних
INPUT M,N : DIM B(M,N), X(M)
FOR I=1 TO M : FOR J=1 TO N
INPUT B(I,J)
NEXT J,I
REM Формування и друк масиву X
K=0
FOR I=1 TO M STEP 2 ’ непарні рядки
MAX =B(I,1) ’ перший елемент в i-тому рядку
FOR J=1 TO N
IF B(I,J) > MAX THEN MAX =B(I,J)
NEXT J
K= K+1 : X(K)=MAX : PRINT MAX
NEXT I
END
Приклад 5. Задана матриця A(N,M) з ненульових елементів. Знайти добуток елементів у кожному стовпчику та об’єднати їх в одновимірний масив В.
REM Обробка елементів стовпчика
INPUT N,M: DIM A(N,M), B(M)
FOR I=1 TO N: FOR J=1 TO M: INPUT A(I,J): NEXT J,I
FOR J=1 TO M
P=1
FOR I=1 TO N
P=P*A(I,J)
NEXT I
B(J)=P
NEXT J
FOR I=1 TO M: PRINT B(I): NEXT I
END
Приклад 6. Задана матриця Q(A,B). Створити одновимірний масив С із середніх арифметичних додатних елементів тих стовпчиків, в яких додатних елементів більше, ніж від’ємних та нульових взятих разом.
REM Створення одновимірного масиву з елементів стовпця
INPUT A,B
DIM Q(A, B): DIM C(B)
FOR I=1 TO A: FOR J=1 TO B: INPUT Q (I, J): NEXT J,I
T=0
FOR J=1 TO B
S=0: K=0
FOR I=1 TO A
IF Q(I, J) > 0 THEN
S=S+Q(I, J)
K=K+1
END IF
NEXT I
IF K> A/2 THEN
T=T+1
C(T) =S/K
END IF
NEXT J
FOR I=1 TO T: PRINT C(I);: NEXT I
END
Приклад 7. Задано двовимірний масив A(N,M). Вилучити з нього третій стовпчик. З елементів вилученого стовпчика створити новий одновимірний масив С.
REM Видалення стовпця матриці
INPUT N,M: DIM A(N,M), C(N)
FOR I=1 TO N: FOR J=1 TO M: INPUT A(I,J): NEXT J,I
FOR I=1 TO N
C(I)=A(I,3)
FOR J=3 TO M-1
A(I,J)=A(I,J+1) ’ Здвиг наліво на 1 елемент
NEXT J
NEXT I
FOR I=1 TO N: FOR J=1 TO M-1: PRINT A(I,J): NEXT J,I
FOR I=1 TO N: PRINT C(I): NEXT I
END
Приклад 8. Задана матриця B(V,T). Створити з її елементів одновимірний масив С, розмістивши в ньому елементи стовпчиків матриці В.
REM Одновимірний масив із стовпців
DEFINT V,T
INPUT V,T: DIM B(V,T), C(V*T)
FOR I=1 TO V: FOR J=1 TO T: INPUT B(I,J): NEXT J,I
T=0
FOR J=1 TO T
FOR I=1 TO V
T=T+1: C(T)=B(I, J)
PRINT C(T);
NEXT I
NEXT J
END