- •Лабораторна робота № 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ння файла
- •Контрольні запитання
- •Варіанти завдань
Лабораторна робота № 19
Побудова багатовимірних зображень
Мета роботи – вивчення засобів машинної графіки QBASIC для побудови багатовимірних зображень.
Теоретична частина
Функція U називається функцією N змінних (аргументів) X, Y, Z,…,T, якщо кожній сукупності значень X, Y, Z,…,T, з області їх зміни, відповідає визначене значення U. Функціональна залежність позначається так:
U=F(X, Y, Z,…,T)
Про функції двох змінних
Площа прямокутника, що має 4см в довжину і 6 см в ширину, дорівнює 4*6 = 24 см2. У загальному випадку площа Z прямокутника з довжиною сторін X і Y виражається формулою Z = X*Y. У такому випадку кажуть , що Z є функція від X і Y, або Z є функція двох змінних X і Y.
Можна навести багато прикладів залежності однієї величини від двох інших. Розглянемо формулу для об’єму V циліндра, що виражається через його висоту HT і радіус R:
V = PI*R*R*HT.
Значення V залежить від значень, що приймає R і HT (PI – постійна величина ). Таким чином, V є функція двох змінних R і HT. Приведемо ще декілька прикладів функцій двох змінних:
Z = COS(X*Y) |
Z = COS(X*EXP(-Y/5)) |
Z = SIN(X)*COS(Y) |
Z = COS(X)*COS(Y) |
Z = X-X*X*X/12 – Y*Y/2 |
Z = 5 – (X+2) * (X+1) * (X-1) * *(X-2) – Y*Y. |
Як мають «виглядати» такі функції? Ви вже познайомилися з тим, як креслити графік функції однієї змінної.
Спробуємо застосувати аналогічну процедуру для функцій двох змінних. Якщо Z функція X і Y, то для кожного значення X і Y можна обчислити відповідне значення Z. Якщо у нашому розпорядженні було б три виміри, то ми змогли б побудувати точку з висотою Z над точкою з координатами (X, Y). В результаті отримали б поверхність схожу на острів.
Екран нашого комп’ютера та лист паперу не мають трьох вимірів. Тому нам потрібно зобразити ці три виміри з допомогою можливостей двовимірного простору; це дуже нагадує фотографію або рисунок куба.
Припустимо, що цей куб є частиною трьохвимірного простору, в якому нам потрібно побудувати графіки. Саму нижню вершину назвемо початком координат, праве нижнє ребро буде віссю X, а ліве нижнє – віссю Y. Ребро, що виходить з даної вершини вертикально, буде відповідати третьому виміру.
Таким чином, основа куба представляє собою кусок площини X, Y, а точки на ній задаються своїми декартовими координатами (X, Y).
Щ об зобразити графік, ми знаходимо точку (X, Y) в основі куба, потім обчислюємо відповідне значення Z і помічаємо точку над точкою (X,Y) на відстані Z.
Щоб отримати на нашому екрані необхідне пояснення, потрібно знати відповідність між координатами екрана і координатами куба. Якщо (А,В) означає координати екрану для точки, що лежить в основі куба, то значення X і Y можна отримати за наступною формулою (тут через S=SQR(2)/2):
X = S*A + S*B
Y = -S*A + S*B.
Для того, щоб побудувати графік, потрібно почати з точок, що лежать в основі куба. Припустимо, що така точка на нашому екрані має координати (А,В). По виписаним вище формулам обчислюємо відповідні координати (X,Y) в основі куба. Використовуючи значення X і Y, знаходимо значення Z. Тепер ми можемо побудувати на нашому екрані точку з координатами (А,В + Z). Проте для того, щоб отримати більш глибшу перспективу ми зменшуємо вертикальний відрізок, помноживши його довжину на S. На екрані зявляється точка з координатами (A, S*(B + Z)).
Якби ми побудували такі точки для усіх точок в основі куба, то отримали б щось незрозуміле. Щоб запобігти цьому, ми будуємо тільки вибранні точки, як правило, ті, які відповідають точкам на прямих, паралельних осі X і (або) осі Y. Тому поверхня виглядає так, наче її відрізали на площині. Нижче приводиться подібний приклад.
Д алі на рисунках наведено ще декілька прикладів.
Програма “Поверхні” дозволяє креслити графіки функцій двох змінних. Якість отриманих графіків в більшій мірі залежить від графічних пристроїв вашого комп’ютера. Програма передбачає побудову 5 функцій.
Приклад розв’язання завдання для лабораторної роботи:
Побудувати графік функцій двох змінних:
Z= COS(R) |
Z=EXP(-R*R) |
Z=SIN(R)/R |
R=SQR(X*X+Y*Y) |
Z=COS(X)*COS(Y) |
Мавпяче сідло |
Програма
BEGIN1:
CLS
' Графіки в полярних координатах
SX = 200 ' Розмір екрана по горизонталі
SY = 220 ' Розмір екрана по вертикалі
ratio =0.6 ' Робить рядки однаковими по вертикалі і по горизонталі
HY = SY / 2'Візьміть прийнятні для вашого комп’ютера
HX = SX / 2'значення SY, SX
S = SQR(2) / 2
AA = HX * S
CLS
PRINT "Поверхні"
PRINT: PRINT "1. Z= COS(R)"
PRINT: PRINT "2. Z=EXP(-R*R)"
PRINT: PRINT "3. Z=SIN(R)/R", де R=SQR(X*X+Y*Y)"
PRINT: PRINT "4. Z=COS(X)*COS(Y)"
PRINT: PRINT "5. Мавпяче сідло"
PRINT: PRINT "Вкажіть номер рівняння"
INPUT N
CLS 'Побудова графіків
SCREEN 9
COLOR 14, 1
FOR A = -AA TO AA + 5 * S
MAX = -HX
BB = AA + A - 10 * S * INT((A + ABS(A)) / (10 * S))
FOR B = -BB TO BB + S * 4 STEP 10 * S
X = S * (A + B): Y = S * (B - A): Z = B: R = SQR(X * X + Y * Y)
IF N = 1 THEN Z = 10 * COS(R / 5) + B
IF N = 2 THEN Z = 75 * EXP(-R * R / 600) + B
IF N = 3 AND R <> 0 THEN Z = 125 * SIN(R / 5) / R + B
IF N = 4 THEN Z = 10 * COS(X / 10) * COS(Y / 10) + B
IF N=5 AND R <> 0 THEN Z =X*Y*(X-Y)*(X+Y)/(1000*R)+B
IF Z < MAX THEN GOTO BEGIN3
MAX = Z
U = HX + A
V = HY + Z * S / ratio
IF V < 0 OR V > SY THEN GOTO BEGIN3
PSET (50 + U, 20 + V)
BEGIN3:
NEXT B
NEXT A
'Вибір закінчення чи повтору програми
LOCATE 1, 2
PRINT "Якщо потрібно повторити виконання програми" PRINT "натисніть Y, якщо ні — N"
BEGIN2:
G$ = INKEY$
IF G$ <> LCASE$("Y") AND G$ <> LCASE$("N") THEN GOTO BEGIN2
IF G$ = LCASE$("Y") THEN GOTO BEGIN1
END