Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

АтаП_лаб

.pdf
Скачиваний:
19
Добавлен:
23.02.2016
Размер:
557.11 Кб
Скачать

12.Дано текстовий файл f. Переписати в файл g всі компоненти файла f видаляючи всі розділові знаки.

13.Дано текстовий файл f. Переписати в файл g всі компоненти файла f, вилучаючи всі цифри.

14.Дано текстовий файл f. Отримати всі рядки, які містять менше 10 символів.

15.Дано текстовий файл f. Переписати в файл g всі компоненти файла f, змінюючи порядок символів в кожному рядку на протилежний.

Завдання 3. Відповідно до варіанту розробити програму, яка повинна виконувати наступні функції: створення файлу; читання даних з файлу; вивід даних на екран. У програму необхідно додати блок обробки даних відповідно до індивідуального завдання. Всі отримані результати відобразити на екрані.

1 Створити файл, що містить відомості про місячну заробітну плату робітників заводу. Кожен запис містить поля – прізвище робітника, найменування цеху, розмір заробітної плати за місяць. Кількість записів – довільна. Обчислити загальну суму виплат за місяць по цеху Х, а також середньомісячний заробіток робітника цього цеху. Вивести відомість для нарахування заробітної плати робітникам цього цеху.

2 Створити файл, що містить відомості про кількість виробів, зібраних робітниками цеху за тиждень. Кожен запис містить поля – прізвище робітника, кількість виробів, зібраних ним щодня протягом шестиденного тижня (у понеділок, вівторок і т.д.). Кількість записів – довільна. По кожному робітнику розрахувати кількість деталей, зібраних їм за тиждень. Визначити робітника, що зібрав найбільше число виробів, і день, коли він досяг найвищої продуктивності праці.

3Створити файл, що містить відомості про кількість виробів категорій А, В, С, зібраних робітником за місяць. Структура запису має поля – прізвище збирача, найменування цеху, кількість виробів за категоріями, зібраних робітником за місяць. Кількість записів – довільна. Вважаючи заданими значення розцінок Sа, Sb, Sc за виконану роботу зі зборки одиниці виробу категорій A, B, C відповідно, підрахувати: загальну кількість виробів категорій А, В, С, зібраних робітником цеху Х; відомість заробітної плати робітників цеху Х; середній розмір заробітної плати працівників цього цеху.

4Створити файл, що містить відомості про телефони абонентів. Кожен запис має поля – прізвище абонента, рік встановлення телефону, номер телефону. Кількість записів – довільна. За прізвищем абонента, що вводиться, видати номер телефону. Визначити кількість встановлених телефонів із ХХХХ

року. Номер року вводиться з термінала.

5Створити файл, що містить відомості про асортимент іграшок у магазині. Структура запису - назва іграшки, ціна, кількість, вікові межі, наприклад 2 ÷ 5, тобто від двох до п'яти років. Кількість записів - довільна. Знайти іграшки, що підходять дітям від 1 до 3 років. Визначити вартість найдорожчої іграшки і її найменування. Визначити іграшку, що за вартістю не перевищує Х грн. і підходить дитині у віці від А до В років. Значення Х, А, В ввести з термінала.

6Створити файл, що містить відомості про здачу студентами першого

61

курсу сесії. Структура запису – індекс групи, прізвище студента, оцінки по п'ятьох іспитах, ознака участі в суспільній роботі: "1" – активна участь, "0" – неучасть. Кількість записів – 30. Зарахувати студентів групи Х на стипендію. Студент, що одержав всі оцінки "5" і активно бере участь у суспільній роботі, зараховується на підвищену стипендію (доплата 50 %), не активно бере участь – доплата 25 %. Студенти, що одержали "4" і "5" , зараховуються на звичайну стипендію. Студент, що одержав одну оцінку "3", але активно займався суспільною роботою, також зараховується на стипендію, у протилежному випадку зарахування не відбувається. Індекс групи вводиться з термінала.

7 Створити файл, що містить відомості про здачу студентами сесії. Структура запису – індекс групи, прізвище студента, оцінки по п'ятьох іспитах і п'яти заліках ( "З" означають залік, "Н" - незалік ). Кількість записів – 25. Визначити прізвища невстигаючих студентів із вказівкою індексів груп і кількості заборгованостей. Знайти середній бал, отриманий кожним студентом групи Х, і всієї групою в цілому.

8Створити файл, що містить відомості про особисту колекцію книголюба. Структура запису – шифр книги, автор, назва, рік видання, місце розташування (номер стелажа, шафи і тощо). Кількість записів – довільна. Знайти:місцезнаходження книги автора Х назви Y;список книг автора Z, що знаходяться в колекції;число книг видання ХХ року, що є в бібліотеці. Значення Х, Y, Z, XX увести з термінала.

9Створити файл, що містить відомості про наявність квитків і рейси КійАвіа. Структура запису – номер рейсу, пункт призначення, час вильоту, час прибуття, кількість вільних місць у салоні. Кількість записів – довільна. Знайти час відправлення літаків у місто Х; наявність вільних місць на рейс у місто Х з часом відправлення Y. Значення Х, Y уводяться за запитом із термінала.

10Створити файл, що містить відомості про асортимент взуття в магазині фірми. Структура запису – артикул, найменування, кількість, вартість однієї пари. Кількість записів – довільна. Артикул починається з літери Ж для жіночого взуття, Ч – для чоловічого, Д – для дитячого. Визначити наявність у файлі взуття артикула Х, довідатися її вартість; асортиментний список жіночого взуття з указівкою найменування і наявного числа пар кожної моделі. Значення Х вводиться за запитом із термінала.

Контрольні питання

1Загальний вигляд опису записів.

2Загальний вигляд оператору приєднання.

3Дайте визначення поняттю файл.

4Які типи файлів можна створювати мовою Pascal?

5Текстові файли. Процедури обробки текстових файлів.

6Типізовані файли. Процедури обробки типізованих файлів.

7Нетипізовані файли. Процедури їх обробки.

62

ЛАБОРАТОРНА РОБОТА №10

СТВОРЕННЯ ГРАФІЧНИХ ПРИМІТИВІВ

Мета. навчитись розробляти алгоритми створення зображень.

Короткі теоретичні відомості

Будь-який монітор може працювати в одному з двох режимів: текстовому або графічному.

У графічному режимі будь-яке зображення отримується як сукупність пікселів. Кількість елементів зображення теж задається відповідним режимом, але стандартно дорівнює 640 на 480 відповідно по горизонталі та вертикалі.

Для роботи в графічному режимі в мові Тurbo Pascal використовується модуль Graph, який складається з більш ніж 90 графічних процедур і функцій широкого профілю. Усі стандартні засоби модуля Graph стають доступними після його підключення до програми в розділі Uses:

Uses Graph.

Для забезпечення переходу екрану монітора в графічний режим програма повинна починатися викликом процедури InitGraph.

Приклад типової ініціалізації:

Var GRAPHDRIVER, GRAPHMODE, ERRORCODE : integer; Begin

GRAPHdriver:=Detect; InstGraph(GRAPHDRIVER, GRAPHMODE,@); ERRORCODE :=GraphResult;

if ERRORCODE<>0 then begin writeln (‘:’);

writeln (‘GraphErrorMsq(ERRORCODE)); writeln (‘:’);

Halt(1); End; End.

Основні функцій для роботи з графікою:

ClearDevise очищення поточного графічного екрану.

CloseGraph – закриття графіки і повернення монітору до текстового режиму.

SelColor(колір : word) – встановлення поточного кольору малювання. SetBkColor (колір : word)– встановлення поточного кольору фону. Line(X1, Y1, X2, Y2 : integer) – пряма лінія з координатами початку (X1,Y1) та кінця (X2,Y2).

LineTo(X,Y : integer) – пряма лінія з точки, у якій знаходиться поточний покажчик у точку з координатами (X,Y).

MoveTo(X, Y : integer) – переміщення поточного покажчика у точку з координатами (X,Y).

63

PutPixel(X, Y: integer; зображ : word)- виведення зображення пікселя з координатами (X,Y) кольором, що визначається параметром "зображ".

Arc(X,Y:integer; пк, кк, рад:word) – дуга кола з центром в точці

(X,Y) і радіусом "рад". Дуга креслиться від початкового кута ("пк") до кінцевого кута ("кк").

Bar(X1,Y1,X2,Y2) – зафарбований прямокутник. Точки (X1,Y1) та (X2, Y2) – дві діагонально протилежні вершини прямокутника.

Bar3D(Xl,Yl,X2,Y2:integer; глибина: word, вершина : boolean) – зафарбований тривимірний паралелепіпед. "Глибина" – число елементів зображення, що задають третій вимір тривимірного контуру. Якщо змінна, зазначена як параметр "вершина", приймає істинне значення (True), то для паралелепіпеда малюється тривимірна вершина, у протилежному випадку вершина не малюється

Rectangle(Xl, Yl, Х2, Y2 : integer) - побудова прямокутника. (X1,Y1) та (X2,Y2) - координати діагонально протилежних вершин прямокутника.

Circle(X,Y:integer; рад : word)- коло. Точка (X,Y) - центр кола, а "рад" – її радіус.

Ellipse(X,Y:integer; пк, кк:word; paдХ,paдY:word) -

еліптична дуга. (X,Y) – центр і "радХ", "paдY" – радіуси на горизонтальній і вертикальній осях. Дуга еліпса малюється від початкового кута ( "пк") до кінцевого кута (параметр "кк") поточним кольором.

FillEllipse(X,Y:integer;Xpaд,Ypaд:word) - зафарбований еліпс.

Точка (Х,Y) – центр, "Храд" і "Yрад" – радіуси на горизонтальній та вертикальній осях.

OutTextXY(X,Y:integer; "рядок":string)- виведення тексту, що міститься у "рядок", починаючи з точки, заданої координатами (X, Y).

SetFillStyle( зразок: word; колір: word) - зафарбування

."Зразок" – шаблон зафарбування (наприклад, 1 – суцільне фарбування, 2 – штрихування лініями, 7 – штрихування символом "+", 11 – штрихування точками тощо).

SetTextStyle (шрифт:word; напр: word; розм_символу: word)- встановлення поточного шрифту, типу і коефіцієнта розміру символа. FloodFill(X,Y,границя:word)-заповнення замкненої область, обмеженої лінією, що має колір, визначений параметром "границя", використовуючи поточний заповнювач, заданий процедурою SetFillStyle. Точка (X,Y) є внутрішньою точкою області, що зафарбовується.

64

Завдання до лабораторної роботи

Відповідно до варіанту скласти програму мовою Тurbo Pascal для створення зображень.

N

Завдання 1

Завдання 2

 

 

D1

 

 

C1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

B1

 

 

 

 

 

 

 

 

M

Колір ліній:

 

червоний

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Колір штриховки:

 

 

 

 

 

 

 

 

 

 

 

1. жовтий

 

 

D

 

 

C

 

 

 

 

 

2. синій

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

C

2

Колір ліній:

червоний

 

Колір штриховки:

 

 

1. світло-сірий

B

2. синій

 

A

 

 

 

 

D1

 

 

C1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

B1

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Колір ліній:

блакитний

 

 

 

 

 

 

 

 

D

 

 

C

Колір штриховки: 1. червоний

 

 

 

 

B

 

 

 

 

2. жовтий

 

A

 

 

 

 

 

 

65

 

S

 

 

 

 

 

 

M

 

 

 

 

 

4

 

 

 

 

 

Колір ліній:

зелений

A

B

Колір штриховки:

1. червоний

 

 

 

 

2. синій

 

 

 

 

 

 

 

C

 

 

 

 

 

S

5

 

Колір ліній: блакитний

 

 

A

B

Колір штриховки:

M

N

1.червоний

2. жовтий

 

 

 

C

 

A1

 

 

 

B1

 

 

 

 

C1

 

 

 

 

 

 

 

 

 

 

Колір ліній: зелений

 

 

 

 

 

 

 

6

 

 

 

 

Колір штриховки:

A

 

 

 

B

 

 

1. синій

 

C

 

 

 

 

 

2. червоний

 

 

 

 

 

 

 

 

 

 

 

 

66

A1

B1

K1

C1

7

A

B

K

Колір ліній: зелений

C

Колір штриховки:

 

1. синій

 

2. червоний

 

 

D1

 

C1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

A1

 

 

B1

Колір ліній: зелений

 

 

D

 

C

 

 

 

 

 

 

 

 

 

Колір штриховки:

 

 

 

 

 

 

 

1. синій

A

 

B

 

 

 

2. червоний

 

 

D1

 

 

C1

9

A1

 

 

B1

 

 

 

D

 

C

 

 

 

Колір ліній: блакитний Колір штриховки:

A B 1. червоний 2. жовтий

67

S

A

10

B

Колір ліній: блакитний

 

Колір штриховки:

 

1. червоний

 

2. зелений

C

 

 

 

 

 

C1

 

A1

B1

D

11

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Колір ліній: синій

 

 

 

 

 

 

 

 

 

 

Колір штриховки:

A

 

 

 

B

 

 

 

1. фіолетовий

 

 

 

 

 

 

 

 

 

 

 

2. червоний

 

 

D1

 

C1

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

B1

 

 

 

 

 

12

 

N

 

 

 

 

 

 

 

D

C

Колір ліній: блакитний

 

 

 

 

Колір штриховки:

 

 

 

 

 

 

 

1. червоний

A

B

 

 

 

2. жовтий

68

13

S

 

 

 

 

C

 

 

 

 

S1

 

B1

 

 

 

 

 

 

 

 

 

B

Колір ліній: синій

 

A

C1

Колір штриховки:

 

 

 

 

 

 

 

 

1. фіолетовий

 

 

 

 

2. червоний

S

14

B

 

Колір ліній:

синій

O

Колір штриховки:

1. фіолетовий

A

 

2. червоний

 

 

D1 C1

A1 B1

15

D

C

Колір ліній:

блакитний

Колір штриховки:

1.

червоний

 

 

 

 

 

2.

жовтий

A B

69

ЛІТЕРАТУРА

1.Абрамов С. А., Зима Е. В. Начала информатики. – М.: Наука. Гл. ред. Физ.-

мат. Лит., 1989. – 256 с.

2.Бородич Ю.С. Разработка программных систем на языке Паскаль: Справ.

пособие. – М.: Выш. шк. 1992. – 143 с.

3.Бородич Ю.С., Вальвачев А.Н., Кузьмич А.И. Паскаль для персональных компьютеров. – М.: Выш. шк. 1991. – 364 с.

4.Васильев П. П. Турбо Паскаль в примерах и задачах: Освой самостоятельно: Учеб. пособие. – М.: Финансы и статистика, 2002. – 496 с.

5.Зуев Е.А. Язык программирования Turbo Pascal. – М.: Унитех, 1992. – 298 с.

6.Марченко А. И., Марченко Л. А. Программирование в среде Turbo Pascal 7.0. – К.: ВЕК+Ю 2000. – 464 с.

7.Немнюгин С. А. Turbo Pascal: практикум – СПб: Питер, 2001. – 256 с.: ил.

8.Новиков Ф. А. Дискретная математика для программистов. – СПб.: Питер, 2001. – 304 с.

9.Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль.: Справ.-метод. пособие. – М.: Изд-во МАИ, 1992. – 576 с.

10.Сборник задач по базовой компьютерной подготовке: Учебное пособие для

втузов / В. С. Зубов, И. Н. Котарова, О. Г. Архипов и др.: Под ред. И. Н. Котаровой. – М.: Изд-во МВИ, 1998. – 178 с.

11.Семашко Г. Л., Салтыков А. И. Программирование на языке Паскаль. — М.:

Наука, 1988. – 122 с.

12. Сердюченко В. Я. Розробка алгоритмів та програмуваннямовою Turbo Pascal. — Харків: Паритет, 1995. – 352 с.

13.Сердюченко В.Я. Розробка алгоритмів та программування на мові Turbo Pascal: Навчальний посібник для техн. вузів. – Х.:ВКП «Парітет» ЛТД, 1995. – 352 с.

14. Ставровский А. Турбо Паскаль 7.0: Учебник. – К.: BHV, 2000. – 400 с. 15.Фаронов В. В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. Издание 7-е, переработанное. – М.: «Нолидж», 2001. – 576 с.

70