Примітки:
1Якщо в таблиці 10 сказано "заданий" (задане місто, задана група і т.д.), значення такого даного необхідно визначити в процесі виконання програми, тобто організувати введення такого значення з клавіатури. 2У задачах, де йдеться про вік, необхідно обчислити вік як різницю між заданою датою (роком) і роком народження
Таблиця 13 - Варіанти завдання
Варіант завдання | Варіант структури файла | Зміст завдання |
1 | 1 | Список неуспішних (мають двійки) студентів заданої групи |
2 | 5 | Список співробітників пенсійного віку (чоловіки старше 60, жінки – 55 років) |
3 | 6 | Список іногородніх пацієнтів (які проживають за межами м. Краматорська) старших 60 років |
4 | 3 | Список студентів, що проживають не там, де народилися (що змінили місце проживання) |
5 | 2 | Список студентів, у яких батько або мати підприємці (в полі "місце роботи" вказано "підприємець") |
6 | 4 | Наявність в бібліотеці книг, заданого автора |
7 | 1 | Список студентів заданої групи, у яких немає двійок |
8 | 2 | Список студентів заданої групи, у яких батько і мати працюють в одному і тому ж місці |
Продовження табл.13
Варіант завдання | Варіант структури файла | Зміст завдання |
9 | 4 | Список книг, виданих раніше заданого року |
10 | 3 | Список студентів заданої групи з багатодітних сімей (які мають більше двох братів і сестер) |
11 | 7 | Список рейсів в задане місто, на які є які-небудь квитки |
12 | 6 | Список пацієнтів, що проживають там, де народилися |
13 | 5 | Список співробітників заданого відділу, які поступили на підприємство після 1996 р. |
14 | 1 | Список студентів із заданого міста, у яких немає двійок |
15 | 7 | Список всіх рейсів з часом відправлення з 20.00 до 8.00 |
16 | 3 | Список студентів м. Краматорська, у яких немає братів і сестер |
17 | 4 | Список книг заданого автора, що мають більше 300 сторінок |
18 | 5 | Список співробітників відділу ВЦ, що пропрацювали в установі більше 6 років |
19 | 6 | Список пацієнтів старше 40 років, що мають заданий діагноз |
20 | 2 | Список студентів, що проживають не в м. Краматорську, але хоча б один батько яких працює на ЗАТ НКМЗ |
21 | 7 | Список всіх рейсів в задане місто, що відправляються після 18.00 до 8.00 |
22 | 5 | Список співробітників відділу Маркетингу, молодше 25 років |
23 | 1 | Список студентів груп, шифр (найменування) яких починається з символів ЕСА |
Продовження табл.13
Варіант завдання | Варіант структури файла | Зміст завдання |
24 | 4 | Інформацію про місцезнаходження книги, що вимагається (задається прізвище автора і найменування книги) |
25 | 3 | Список студентів заданої групи, які проживають там, де народилися |
26 | 7 | Список всіх рейсів, на які є квитки першого класу |
27 | 6 | Список чоловіків, молодше 40 літ, що мають заданий діагноз |
28 | 5 | Список співробітників, посада яких починається з символів "нач" або "рук" |
29 | 1 | Список студентів заданої групи, що не здали іноземну мову |
30 | 7 | Список рейсів, на які продані всі квитки |
Таблиця 14 - Варіанти структури файла
Варіант структури | Структура файла |
1 | 1) Прізвище студента; 2) Найменування групи; 3) Місце проживання; 4) Оцінка: з фізики, математики, іноземної мови, програмування |
2 | 1) Прізвище студента; 2) Найменування групи; 3) Місто, де він живе; 4) Вулиця, де він живе; 5) Місце роботи батьків: батька, матері |
3 | 1) Прізвище студента; 2) Найменування групи; 3) Місце проживання; 4) Місце народження; 5) Кількість братів і сестер |
4 | 1) Номер книги (код, шифр); 2) Прізвище автора; 3) Найменування книги; 4) Рік видання; 5) Кількість сторінок; місце знаходження |
5 | 1) Прізвище співробітника; 2) Назва відділу; 3) Посада; 4) Рік |
народження; 5) Дата вступу в підприємство; 6) Стать (м – чоловіча, ж – жіноча) | |
6 | 1) Прізвище пацієнта; 2) Місце народження; 3) Рік народження; 4) Місце народження; 5) Діагноз; 6) Стать (м – чоловіча, ж – жіноча) |
7 | 1) Номер рейса літака; 2) Пункт призначення; 3) Час відправлення; 4) Наявність квитків 1 класу; 5) Наявність квитків 2 класу |
9 ЛАБОРАТОРНА РОБОТА 6. ЕЛЕМЕНТИ ГРАФІКИ
До теперішнього часу ми використовували екран ЕОМ в текстовому режимі. Для зображення на екрані рисунків, креслень, графіків функцій і т.д. необхідно перемкнути екран ЕОМ в графічний режим. У графічному режимі зображення на екрані складається з точок (pixel) залежно від монітора – чорно-білих або кольорових, по горизонталі 320 або 640 точок, а по вертикалі - 200 або 480. Можлива й інша кількість точок (1024 і більш).
Для ідентифікації точок на екрані в графічному режимі використовується система ЕКРАННИХ (ФІЗИЧНИХ) координат, початок якої розташований у верхньому лівому кутку, а вісь У направлена вниз. Фізично координати вимірюються в цілих числах від нуля до максимальних значень, які однозначно обумовлюються номером графічного режиму. Ці значення можна отримати за допомогою функцій GetMaxX і GetMaxY
Геометричні побудови можуть проводитися як на всій робочій ділянці екрану, так і на будь-якій прямокутній ділянці меншого розміру, яка називається ГРАФІЧНИМ ВІКНОМ. Вікно визначається оператором
SetViewPort .
Геометричні побудови виконуються в кольорі. Як і в текстовому режимі, розрізняються колір фону і колір переднього плану – колір малювання. Коди кольорів такі ж, як і в текстовому режимі (див. стандартний модуль CRT).
Засоби роботи в графічному режимі зосереджені в стандартному модулі graph.tpu, який має бути підключеним до програми за допомогою оператора
USES GRAPH;
Цей модуль містить великий набір стандартних процедур, функцій, констант, змінних, які дозволяють будувати лінії, дуги, різні фігури (як незаповнені, так і заповнені): прямокутники, багатокутники, кола, еліпси, сектори. Це базові елементи. На підставі них можна будувати вже будь-які графічні зображення.
Розглянемо деякі процедури.
1 Включення графічного режиму (звичайно екран знаходиться в текстовому режимі):
Gd=0
InitGraph (Gd,Gm,'')
Здійснюється перевірка устаткування і автоматично вибирається самий відповідний драйвер і режим. Можна примусово задати номер драйвера (Gd > 0) і режим (Gm). Проте в цьому випадку потрібне знання технічних і програмних засобів.
2 Відключення графічного режиму і перехід в текстовий:
CloseGraph
3 Визначення кольору фону:
SetBkColor(Color)
4 Визначення кольору переднього плану:
SetColor(Color)
5 Визначення товщини (t=1,3) і форми (f=0,1,2,3) лінії:
SetLineStyle(t,0,f)
6 Визначення орнаменту (0 <= Pat <= 11) і кольору заповнення фігур: SetFillStyle(Pat,Color)
7 Виведення (побудова) окремої точки з координатами (x,y) заданого кольору:
PutPixel(x,y,Color)
8 Побудова лінії, що сполучає: a) точки (x1,y1) і (x2,y2):
Line(x1,y1,x2,y2)
b) поточну точку і точку (x,y):
LineTo(x,y)
c) поточну точку (x1,y1) і точку (x1+dx,y1+dy):
LineRel(dx,dy)
9 Побудова кола з центром в точці (x,y) і радіусу r:
Circle(x,y,r)
10 Побудова дуги кола з центром в точці (x,y), радіусу r і укладеній між радіус-векторами з кутами StAngle і EndAngle. Кути відлічуються проти
годинникової стрілки від напряму осі абсцис у градусах.
Arc(x,y,StAngle,EndAngle,r)
11 Побудова дуги еліпса з напівосями Xred і Yred. Решта параметрів – як в попередній процедурі.
Ellipse(x,y,StAngle,EndAngle,Xrad,Yrad)
12 Побудова заповненого заданим орнаментом еліпса:
FillEllipse(x,y,Xrad,Yrad)
13 Побудова заповненого заданим орнаментом сектора еліпса:
Sector(x,y,StAngle,EndAngle,Xrad,Yrad)
14 Побудова заповненого заданим орнаментом сектора круга:
PieSlice(x,y,StAngle,EndAngle,r)
15 Побудова прямокутника з протилежними вершинами (x1,y1) і
(x2,y2):
a) не заповненого:
Rectangle(x1,y1,x2,y2)
b) заповненого: Bar(x1,y1,x2,y2)
Будь-який графічний режим разом з відтворенням геометричних об'єктів дозволяє виводити і текстову інформацію. 16 Виведення на екран послідовності символів: a) щодо поточної точки:
OutText(Text)
b) щодо точки (x,y): OutTextXY(x,y,Text)
Не можна виводити значення цифрових змінних, необхідно заздалегідь ці значення перетворити в текстовий тип (тип STRING). Це можна зробити, наприклад, за допомогою стандартної процедури STR:
STR(<змінна>:<шаблон>,<stroka>)
Зате можна міняти шрифт, напрям тексту і т.д.:
SetTextJustify(Horiz,Vert)
SetTextStyle(Font,Direction,Size)
Програмні (МАТЕМАТИЧНІ) або СВІТОВІ координати точок, що задають контури зображення, можуть не співпадати за своїми межами з фізичними межами графічного вікна. Приведення МАТЕМАТИЧНИХ (СВІТОВИХ) координат до ФІЗИЧНИХ повинне здійснюватися програмою користувача. У мові немає вбудованих засобів перетворення. Для заповнення цих пропусків розробимо декілька стандартних програм.
Хай Xmin, Xmax, Ymin, Ymax – межі зміни математичних координат.
А межі зміни екранних можна визначити так: 0,GetMaxX,0,GetMaxY.