Основи прогр - лаб.раб

31
Міністерство освіти i науки України Одеський національний політехнічний університет Кафедра системного програмування Методичні вказівки до лабораторних робот з дисципліни «Основи програмування» для студентів спеціальності 6.050103 «Програмна інженерія»

Upload: baris-ilan

Post on 27-Jul-2015

814 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Основи прогр - лаб.раб

Міністерство освіти i науки УкраїниОдеський національний політехнічний університет

Кафедра системного програмування

Методичні вказівкидо лабораторних робот

з дисципліни «Основи програмування»для студентів спеціальності 6.050103

«Програмна інженерія»

Одеса: ОНПУ, 2009

Page 2: Основи прогр - лаб.раб

Міністерство освіти i науки УкраїниОдеський національний політехнічний університет

Кафедра системного програмування

Методичні вказівкидо лабораторних робот

з дисципліни "Основи програмування"для студентів спеціальності 6.050103

«Програмна інженерія»

Затвердженона засіданні кафедри системного програмного забезпечення.Протокол № 5 від 19.01.2009

Одеса: ОНПУ, 2009

Page 3: Основи прогр - лаб.раб

Методичні вказівки до лабораторних робіт з дисципліни “Основи програмування” для студентів спеціальності 6.050103 /Викл.: Д.М.Олешко, Н.О.Комлевая, С.Л.Зиноватная. – Одеса: ОНПУ, 2009. – 23 с.

Викладачі: Д.М. Олешко, доц.Н.О. Комлевая, доц.,С.Л. Зиноватная, ст.преп.,

Page 4: Основи прогр - лаб.раб

ВСТУП

Методичні вказівки й завдання до лабораторних робіт підготовлені відповідно до програми курсу “Основи програмування”, що вивчається студентами спеціальності 6.050103.

У перший двох розділах методичних вказівок наведені вимоги до оформлення лабораторних робіт і порядок їхньої здачі.

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

Для полегшення виконання завдань наприкінці методичних вказівок наведений список рекомендованої літератури.

Page 5: Основи прогр - лаб.раб

1. ПІДГОТОВКА ДО ВИКОНАННЯ РОБІТ

Пропонований у розділі 3 перелік завдань повинен бути виконаний у першому семестрі вивчення дисципліни “Основи програмування”.

При виконанні кожного завдання студент зобов'язаний:1. Скласти схему алгоритму відповідно до існуючого стандарту [1];2. Підготувати дані для контрольного розрахунку, що передбачають перевірку всіх

гілок алгоритму, повну перевірку циклів, перевірку підпрограм, а також прорахувати відповідні результати;

3. Скласти програми на мові С/С++ для кожного завдання. Кожна програма повинна включати вивід у компактному виді результатів роботи програми.

До виконання лабораторних робіт допускаються студенти, що виконали п.п. 1-3 і що оформили відповідний протокол.

Зміст протоколу складається з тексту відповідного завдання, схеми алгоритму, виконаної з використанням трафарету, лінійки або комп'ютерним образом, даних і результатів для тестування програм, а також текстів коду програм.

Перша сторінка протоколу представлена нижче.

Одеський національний політехнічний університетКафедра системного програмного забезпечення

Протокол лабораторної роботи № (номер лаб. раб.)з дисципліні “Основи програмування ”

Виконав(а) студент(ка) групи (№ групи)(ПІБ)

Викладач (ПІБ)

Одеса 200_ (рік)

Page 6: Основи прогр - лаб.раб

2. ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ

Студенти набирають тексти програм у процесі лабораторного заняття або приносять носії із заздалегідь набраними текстами. Носії повинні не містити програм, що можуть завдати шкоди працездатності та безпеці комп’ютерної обчислювальної мережі кафедри.

Заздалегідь відкомпільовані програми (виконуються файлы, що) не приймаються.Студент повинен вміти пояснити призначення будь-якого фрагмента своєї програми. За

результатами виконання програми й опитувань викладач виставляє оцінку. При виставлянні оцінки також враховується повнота інформації, наданої користувачу в процесі роботи з програмою, і своєчасність виконання лабораторної роботи.

Page 7: Основи прогр - лаб.раб

3. ЗАВДАННЯ ДО ЛАБОРАТОРНИХ РОБІТ

Завдання № 1. Тема: Умовний оператор, оператори уведення/виводу

Визначити приналежність крапки областям, позначеним прописними літерами A і B. Малими літерами позначені обумовлені користувачем параметри малюнка. Координати крапки x і y та інші параметри рисунка вводяться користувачем.1 2 3

4 5 6

7 8 9

10 11 12

A

X

Y

с0

B

d

A X

Y

d

0-dc

-c

B

X

Y

0 с dс1 d1

e

e1

A

B

X

Y

d0

А

X

Y

c0 d

A

B

X

Y

π

-π1

-1

B

A

синусоида

0

B

A

X

Y

d

0

B

A

X

Y

c

0

d

A

0

c d

B

A

X

Y

c

0

d

A

0

c d

X

Y

c0 d

A

B

B

A

X

Y

d0A

X

Y

d0

B-d

Page 8: Основи прогр - лаб.раб

13 14 15

16 17 18

19 20 21

22 23 24

25 26 27

BA

X

Y

d0

AX

Y

с0

B

de

f

X

Y

0 с ed

A

B

f

g

B

A

X

Y

d0B

A

X

Y

c

0

d

A

0

c d

B

A

X

Y

d0

c

X

Y

0 с

d

с1

d2

с2

d1

A B

BA

X

Y

d0-d

c

B

A

X

Y

d0

c

e

B

A

X

Y

d0

d

B

A

X

Y

d0

c

B

A

X

Y

d0

d

A

X

Y

с0

Bd

B

A

X

Y

d0

BA X

Y

d0

d

Page 9: Основи прогр - лаб.раб

28 29 30

Завдання № 2. Тема: Оператори циклу while, do-while

Побудувати таблицю значень функції y=f(x) (x змінюється від xmin до xmax із кроком dx) використовуючи два оператори циклу. Проконтролювати правильність введення xmin, xmax, dx і коректність вираження, що обчислюється.

Примітка. У протоколі необхідно вказати порядок виконання операцій відповідно до їх пріоритету.

1. 2.

3. 4.

5. 6.

7. 8.

9. 10.

11. 12.

13. 14.

15. 16.

17. 18.

19. 20.

синусоида

X

Y

π-π

11

2

0

A

B

BA

X

Y

d0

c

e B

A

X

Y

d0-d

-c

Page 10: Основи прогр - лаб.раб

21. 22.

23. 24.

25. 26.

27. 28.

29. 30.

Задание № 3. Тема: Одновимірні масиви

1. Дано натуральне число N і одновимірний масив A1, A2, …, AN, AN+1 дійсних чисел. Визначити найбільше з непарних і кількість парних чисел, що входять у цей масив.

2. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Одержати масив, що відрізняється від вихідного тим, що всі непарні елементи подвоєні, а парні отримані додаванням власного значення з первісним значенням наступного непарного.

3. Дано натуральне число N (N>5) і одновимірний масив A1, A2, …, AN символьних елементів. Визначити три максимальних і два мінімальних значення цього масиву.

4. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Визначити найменше позитивне серед A1, A2, …, AN...

5. Дано натуральне число N і одновимірний масив A1, A2, …, AN дійсних чисел. У даному масиві визначити число сусідств двох позитивних чисел.

6. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. У даному масиві визначити число сусідств двох чисел різного знака.

7. Дано натуральне число N і одновимірний масив A1, A2, …, AN символьних елементів. Визначити, чи є даний масив упорядкованим по убуванню.

8. Дано натуральне число N і одновимірний масив A1, A2, …, AN натуральних чисел. Для кожного елемента визначити число його входжень у даний масив.

9. Дано натуральне число N і одновимірний масив A1, A2, …, AN дійсних чисел. Одержати всі елементи, що входять у даний масив по одному разі.

10. Дано натуральне число N і одновимірний масив A1, A2, …, AN символьних елементів. Одержати всі елементи, що входять у даний масив більше одного разу.

11. Дано натуральне число N і два одновимірних масиви A1, A2, …, AN і B1, B2, …, BN цілих чисел. Визначити чи вірно, що ці масиви відрізняються тільки порядком проходження елементів.

12. Дано одновимірний масив А1, А2, …, А10 дійсних чисел. Одержати найбільше серед А1+А10, А2+А9, …, А5+А6.

13. Дано одновимірний масив А1, А2, …, А10 цілих чисел. Одержати найменше серед А1+А6, А2+А7, …, А5+А10.

14. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Визначити найбільше й найменше значення, отримані значення розглядати як кінці відрізка.

Page 11: Основи прогр - лаб.раб

Розбити відрізок на 5 діапазонів значень по зростанню й підрахувати частоту влучень елементів масиву в кожній із цих діапазонів.

15. Дано натуральне число N (N – парне) і одновимірний масив A1, A2, …, AN логічних елементів. Виконати циклічне зрушення першої половини масиву праворуч ліворуч, а другий - ліворуч праворуч.

16. Дано натуральне число N і одновимірний масив A1, A2, …, AN символьних елементів. Виконати лінійне зрушення ліворуч праворуч елементів, розташованих у непарних позиціях, на 3 позиції. Елементи парних позицій залишити на колишнім місці.

17. Дано натуральне число N (N – парне) і одновимірний масив A1, A2, …, AN дійсних чисел. Замінити елементи, розташовані в парних позиціях першої половини масиву, подвоєними значеннями елементів, розташованих у непарних позиціях другої половини масиву.

18. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Знайти найменший елемент у найбільш довгій безперервній послідовності позитивних значень.

19. Дано натуральне число N і одновимірний масив A1, A2, …, AN натуральних чисел. Знайти елементи, що зустрічаються в масиві не менш двох разів і які лежать в діапазоні значень від m1 до m2 (визначаються користувачем). Указати число входжень знайдених елементів.

20. Дано натуральне число N і одновимірний масив A1, A2, …, AN символьних елементів. Виконати сортування елементів послідовності по зростанню.

21. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Знайти три не розташованих поруч числа, добуток яких дорівнює P (визначається користувачем).

22. Дано натуральні числа N, K (N>K) і два одновимірних масиви A1, A2, …, AN і B1, B2, …, BK цілих чисел. У масиві A вибрати такі K елементів, що підряд ідуть, Ai+1, Ai+2…,Ai+k,щоб Ai+1=B1, Ai+2=B2, …, Ai+k=Bk...

23. Дано натуральне число N і одновимірний масив A1, A2, …, AN дійсних чисел. Розташувати елементи масиву по зменшенню від кінців масиву до центра. Наприклад, для масиву (1, 0, 2, 4) результат перетворення (4, 1, 0, 2).

24. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Знайти добуток тих елементів масиву, які розташовані між однаковими елементами.

25. Дано натуральне число N і одновимірний масив A1, A2, …, AN дійсних чисел. Замінити всі нульові елементи масиву найменшим по модулі, але відмінним від нуля елементом.

26. Дано натуральне число N. Знайти перші N простих чисел.

27. Дано натуральні числа N, K і одновимірний масив A1, A2, …, AN цілих чисел. Визначити, які з них в K і більше раз перевершують середнє арифметичне значення чисел цього масиву.

28. Дано натуральне число N і два одновимірних масиви A1, A2, …, AN і B1, B2, …, BN цілих чисел. Сформувати масив С с елементами, рівними порядковим номерам рівних елементів масивів A і B (Ai=Bi). Наприклад, А=(7.1, 2.5, 3.4, 5.3), В=(8.3, 2.5, 9.1, 5.3). У результаті З=(2, 4).

29. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Поміняти місцями елементи з мінімальним і максимальним значеннями.

30. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Замінити негативні елементи масиву на середнє арифметичне значення чисел цього масиву.

Page 12: Основи прогр - лаб.раб

Завдання № 4. Тема: Двовимірні масиви

1. Дано квадратну матрицю порядку N. Обчислити середнє арифметичне позитивних елементів матриці, що стоять вище головної діагоналі.

2. Дано матрицю розмірності N на M. Знайти рядок, у якому максимальний елемент мінімальний у відповідному стовпці.

3. Дано матрицю розмірності N на M. Знайти стовпець, у якому максимальний елемент мінімальний у відповідному рядку.

4. Дано матрицю розмірності N на M. Знайти в матриці перший один по одному рядок з найбільшою сумою елементів. Вивести її номер.

5. Дано квадратну матрицю порядку N. У матриці обчислити середнє арифметичне позитивних елементів, що стоять на головній діагоналі.

6. Дано квадратну матрицю порядку N. Вивести рядок матриці, у якій елемент, що стоїть на головній діагоналі, максимальний серед елементів головної діагоналі.

7. Дано матрицю розмірності N на M. Позитивні елементи матриці переписати підряд в одновимірний масив В.

8. Дано матрицю розмірності N на M. Обчислити кількість рядків матриці, у яких є хоч один негативний елемент.

9. У квадратній матриці знайти суму елементів побічної діагоналі й розділити на отриману суму всі елементи останнього стовпця.

10. Дано матрицю розмірності N на M. Знайти максимальний елемент і рядок, що містить цей елемент, поміняти з першим рядком. Отриману матрицю вивести порядково.

11. Дано матрицю розмірності N на M. Вивести кількість рядків матриці, у яких число позитивних елементів більше числа негативних елементів.

12. Дано квадратну матрицю порядку N. Знайти добуток елементів побічної діагоналі квадратної матриці.

13. Дано матрицю розмірності N на M. Вивести номери всіх стовпців матриці, не утримуючих негативних елементів.

14. Дано матрицю розмірності N на M. У матриці знайти перший один по одному стовпець із максимальною сумою елементів. Вивести його номер.

15. Дано матрицю розмірності N на M. Обчислити кількість рядків матриці, у яких немає жодного негативного елемента.

16. Дано матрицю розмірності N на M. Обчислити кількість рядків матриці, елементи яких упорядковані по зростанню.

17. Дано матрицю розмірності N на M. У матриці знайти перший один по одному стовпець із мінімальною сумою модулів його елементів. Вивести його номер.

18. Дано матрицю розмірності N на M. Упорядкувати рядки по зростанню сум елементів рядка.

19. Дано матрицю розмірності N на M. Упорядкувати рядки по убуванню кількостей негативних елементів для кожного рядка.

20. Дано квадратну матрицю порядку N. Знайти максимальний і мінімальний елементи матриці й поміняти місцями відповідні їм рядок і стовпець (рядок для максимального елемента, стовпець - для мінімального).

Page 13: Основи прогр - лаб.раб

21. Дано матрицю A розмірності M на N і матриця З розмірності N на K. Знайти добуток (вектор) матриці A на той стовпець матриці З, сума елементів якого максимальна.

22. Дано матрицю A розмірності M на N і матриця З розмірності N на K. Знайти добуток (число) рядка з мінімальною сумою елементів матриці А на той стовпець матриці З, сума елементів якого максимальна.

23. Дано натуральне число N. Заповнити двовимірний масив A розмірністю N на N натуральними числами від 1 до N2 по «спіралі»:

1 2 …

14 8

24. Дано матрицю дійсних чисел A розмірності N на N , де N – непарне число, N>1. Знайти суму елементів області, позначеної символами *.

*

* * *

* * * * *

* * *

*

25. Дано матрицю дійсних чисел A розмірності N на N , де N – натуральне число, N>1. Знайти суму елементів області, позначеної символами *.

* * * *

* * *

* * *

* * * *

* *

Page 14: Основи прогр - лаб.раб

26. Дано матрицю дійсних чисел A розмірності N на N , де N – натуральне число, N>1. Знайти суму елементів області, позначеної символами *.

* * * * * * *

* * * * * * *

* * * *

* * * *

* * * *

* * * * * * *

* * * * * * *

27. Дано матрицю A розмірності M на N. Обчислити суму позитивних елементів матриці, розташованих у стовпцях з парними номерами.

28. Дано квадратну матрицю дійсних чисел A розмірності N на N. Необхідно «розгорнути» її в одновимірний масив У розмірності N2 по «спіралі». Наприклад, для N=3

, B(9)=(7.1, 3.2, 5.5, 2.3, 6.7, 4.6, 1.0, 8.2, 9.7).

29. Дано квадратну матрицю цілих чисел A розмірності 2N на 2N. Одержати нову матрицю В такій же розмірності, переставляючи «блоки» вихідної матриці розміром Nx відповідно до малюнка.

N 2N

30. Дано матрицю A розмірності M на N. Знайти мінімальний елемент із елементів перших двох рядків і максимальний елемент із інших елементів. Визначити координати цих елементів.

Завдання № 5. Тема: Функції. Динамічні масиви й структури

Сформувати одновимірний динамічний масив порядку N, елементи якого мають зазначену нижче структуру, і організувати обробку його даних відповідно до варіанта завдання.

Примітка: для зв'язаних даних, які обов'язково є в кожному варіанті (наприклад, прізвище, ім'я, по батькові або день, місяць, рік і ін.) формувати окрему одиницю структурного типу.

Програма повинна містити роздільні функції здійснюючі введення, вивід і реалізацію завдання.

1. Структура елемента масиву співробітник: прізвище, ім'я, по батькові, вік, ріст.

N

2N

Page 15: Основи прогр - лаб.раб

Визначити:─ середній ріст співробітників у віці 18-20 років;─ ім'я найвищого співробітника;─ ПІБ співробітників, що мають однаковий ріст.

2. Структура елемента масиву анкета: прізвище, ім'я, по батькові, дата народження (число, місяць, рік), домашня адреса (місто, вулиця, будинок), оцінки в атестаті зрілості (математика, фізика, хімія), робочий стаж, факультет. Визначити абітурієнтів з максимальним робочим стажем на кожному факультеті. Назви факультетів визначати з масиву анкет.

3. Структура елемента масиву працівник: прізвище, число, місяць і рік народження, стать.

Визначити:─ прізвище самого старшого чоловіка;─ всі прізвища, що починаються із заданої літери;─ список людей, що народилися в заданому місяці.

4. Структура елемента масиву атестаційна картка студента: прізвище, ім'я, по батькові, курс, група, дата народження (число, місяць, рік), 1-ий семестр (математика, фізика, програмування), 2-ий семестр (математика, фізика, програмування). Визначити середній бал студентів кожної групи в зимовій сесії. Номера груп визначати з масиву атестаційних карток (заздалегідь номера груп невідомі).

5. Структура елемента масиву знайомий: прізвище, номер телефону ( 5-значний), місце проживання – місто, вулиця, будинок, квартира.

Визначити:─ чи є в книжці телефон даної людини;─ кому належить даний телефон;─ список людей, що живуть на даній вулиці.

6. Структура елемента масиву абітурієнт: прізвище, ім'я, по батькові, стать, рік народження, домашня адреса (поштовий індекс, місто, вулиця, будинок), оцінки в атестаті зрілості (математика, фізика), факультет. Визначити кількість міст України, з яких прибули абітурієнти. Назви факультетів визначати з масиву анкет.

7. Структура елемента масиву студент: прізвище, номер групи, оцінка по предметі № 1, оцінка по предметі № 2, оцінка по предметі № 3.

Визначити:─ прізвище того, хто краще всіх здав іспити;─ середній бал по групі по заданому предметі;─ список боржників.

8. Структура елемента масиву студент: прізвище, ім'я, по батькові, стать, вік, № курсу.

Визначити:─ № курсу, на якому вчиться найбільший відсоток студентів чоловічої статі;─ найпоширеніші чоловічі й жіночі імена (по одному імені);─ список студентів заданої статі заданого курсу.

9. Структура елемента масиву атестаційна картка: прізвище, ім'я, по батькові, курс, група, захоплення, 1-ий семестр (математика, фізика, програмування), 2-ий семестр (математика, фізика, програмування). Визначити список студентів 3-го курси, що не мали незадовільних оцінок у навчальному році.

10. Структура елемента масиву вступник у вуз: прізвище, ім'я, по батькові, домашня адреса (місто, вулиця, будинок), робочий стаж, місце останньої роботи, наявність прописки. Визначити кількість абітурієнтів з кожного міста. Назви міст визначати з масиву анкет.

Page 16: Основи прогр - лаб.раб

11. Структура елемента масиву пасажир: прізвище, ім'я, по батькові, номер рейса, кількість багажних місць, загальна вага.

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

12. Структура елемента масиву картка студента: прізвище, ім'я, по батькові, курс, група, 1-ий семестр (математика, фізика, історія), 2-ий семестр (математика, фізика, креслення), 3-ий семестр (математика, фізика, програмування), 4-ий семестр (математика, іноземна мова, програмування),. Підрахувати кількість студентів у кожній групі, що здала іспити в літніх сесіях за два роки тільки на «добре» і «відмінно». Номера груп визначати з масиву атестаційних карток (заздалегідь номера груп невідомі).

13. Структура елемента масиву власник: прізвище, адреса (рядок), марка автомобіля, реєстраційний номер, рік випуску.

Визначити:─ кількість автомобілів кожної марки;─ власника самого старого автомобіля;─ прізвища власників і номера автомобілів даної марки.

14. Структура елемента масиву атестаційні картки групи: прізвище, ім'я, по батькові, курс, вік, 1-ий семестр (математика, фізика, програмування), 2-ий семестр (математика, фізика, креслення). По атестаційних картках групи визначити абсолютну успішність кожного студента за рік. Абсолютна успішність - це процентне відношення кількості позитивних оцінок до загальної кількості оцінок.

15. Структура елемента масиву дитина: прізвище, місце проживання – місто, вулиця, будинок, квартира, стать, кількість днів відвідування.

Визначити:─ дитину, що дуже хворіє;─ хто більше хворіє - хлопчики або дівчинки;─ список дітей, що проживають на заданій вулиці.

16. Структура елемента масиву анкета: прізвище, ім'я, по батькові, рік народження, домашня адреса (місто, вулиця, будинок), оцінки в атестаті зрілості (математика, фізика, українська мова, інформатика), рік закінчення середнього навчального закладу. Визначити абітурієнтів-одеситів, що мають максимальний середній бал в атестаті зрілості.

17. Структура елемента масиву книга: автор, назва, видавництво – назва, рік видання, кількість сторінок.

Визначити:─ чи є в бібліотеці книги даного автора;─ знайти книгу з найбільшою кількістю сторінок;─ знайти назви книг даного автора, виданих із зазначеного року, у даному видавництві.

18. Структура елемента масиву товар: найменування, країна, партія – загальний обсяг, обсяг розфасовки, ціна.

Визначити:─ країну, у яку експортується товар на максимальну суму;─ список країн, у які експортується даний товар;─ знайти товари, що мають мінімальний обсяг партії, максимальний обсяг розфасовки.

19. Структура елемента масиву картка студента: прізвище, ім'я, по батькові, курс, факультет, дата народження (число, місяць, рік), 1-ий семестр (математика, фізика, культура), 2-ий семестр (математика, програмування, креслення). По атестаційних

Page 17: Основи прогр - лаб.раб

картках групи визначити якість навчання кожного студента за рік. Якість навчання - це процентне відношення кількості «четвірок» і «п'ятірок» до загальної кількості оцінок.

20. Структура елемента масиву іграшка: назва, ціна, віковий діапазон – нижня границя, верхня границя.

Визначити:─ назва найдорожчої іграшки;─ список іграшок, які пасують дітям заданого віку;─ підібрати іграшки на задану суму грошей (всі варіанти, але не більше двох іграшок у

комплекті).

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

22. Структура елемента масиву іграшка: назва, ціна, колір, віковий діапазон – нижня межа, верхня межа.

Визначити:─ назви іграшок, ціна яких не перевищує задану і які пасують дітям заданого віку;─ знайти найдешевшу іграшку заданої назви;─ знайти найпоширеніший колір іграшок.

23. Структура елемента масиву пасажир: прізвище, номер рейса, багаж – кількість речей, загальна вага.

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

24. Структура елемента масиву спортсмен: прізвище, країна, рік народження, результат (у балах), фізичні дані – ріст, вага.

Визначити:─ середній ріст і вага спортсменів заданої країни;─ знайти кращого спортсмена заданої країни;─ список спортсменів заданого віку з результатом, не гірше заданого.

25. Структура елемента масиву спортсмен: прізвище, ім'я, по батькові, країна, тренер, рік народження, результат (у балах).

Визначити:─ знайти наймолодшого спортсмена, що займається в даного тренера;─ знайти кращого тренера даної країни;─ список тренерів із вказівкою країни.

26. Структура елемента масиву предмет: назва, кількість годин, викладач, кафедра, максимальна кількість балів за контрольну № 1, максимальна кількість балів за контрольну № 2.

Визначити:─ викладача, у якого найбільша кількість годин;─ список предметів, по яких максимальні кількості балів по контрольним № 1 і 2 рівні

заданими;─ кафедру й викладача, що веде заданий предмет.

27. Структура елемента масиву предмет: назва, кількість годин, викладач, кафедра, методичні посібники – кількість в електронному виді, кількість на паперовому носії.

Page 18: Основи прогр - лаб.раб

Визначити:─ викладача, що написав більше всіх методичних посібників в електронному виді,

менше всіх у паперовому виді;─ кафедру, на якій читається найбільше предметів;─ список викладачів даної кафедри.

28. Структура елемента масиву предмет: назва, кількість годин, викладач, кафедра, форма звітності – кількість заліків, кількість іспитів.

Визначити:─ знайти середнє навантаження по даній кафедрі;─ список предметів, по яких є тільки іспити; заліків більше, ніж іспитів;─ список предметів, що читаються даною кафедрою.

29. Структура елемента масиву викладач: прізвище, атрибути – посада, звання, предмет, факультет, курс, кількість годин.

Визначити:─ викладача із заданими посадою й званням, що має саме більше навантаження;─ список предметів, які читає даний викладач;─ обсяг годин на заданому факультеті й заданому курсі.

30. Структура елемента масиву магазин: назва, сфера продажу, кількість працівників, адреса – місто, вулиця, будинок.

Визначити:─ магазин заданої сфери продажу з найбільшою кількістю працівників;─ список магазинів, розташованих на заданій вулиці;─ список магазинів з повторюваними назвами із вказівкою їхньої повної адреси й сфери

продажу.

Завдання № 6. Тема: Робота з рядками.

№ Завдання

1 Підрахувати кількість приголосних у S1, що з обох боків оточені цифрами.

2 Дописати у S2 ті символи з S1, які не зустрічаються у S2.

3 Записати S2 після кожного -го символу S1, де .

4 Знайти у S1 найдовшу послідовність літер, що розташовані по зростанню.

5 Вивести кількість цифр з S2, які зустрічаються в S1.

6 Змінити порядок символів у S1 на зворотній не використовуючи інших строк.

7 Дописати в S2 перші символів кожного слова з S1, де .

8 Записати S1 після кожного слову в S2.

9 Замість кожного символу в S2 записати S1.

10 Видалити з S1 усі входження S2.

11Записати, відокремивши пробілами, у середину S1 всі символи з S2, що не є буквами, або цифрами.

12 У S1, довжина якої кратна , відсортувати по зростанню групи символів по .

13Відсортувати по убуванню символи у S1 та розташувати наступним чином:

і так далі, заповнюючи строку від центру в обох напрямках.

14 Замінити кожний символ у S1 на -й символ з S2. Контролювати межі

Page 19: Основи прогр - лаб.раб

строкових масивів, циклічно зміщуючи вказівники.

15 Замінити у S1 кожний -й символ на символ , де – кількість входжень у S2.

16Розбити S1 пробілами на слова довжиною не менш ніж , де – середня довжина слова у S2.

17Доповнити S2 парними послідовностями з символів з S1, де – кількість символів у S2.

18 Вивести кількість приголосних з S1, які зустрічаються в S2.

19 Вивести довжину найбільшої послідовності символів у S1.

20 Дописати у початок S1 символи які є присутніми в обох строках.

21Розділити символи зі строки S1 на три групи: голосні, приголосні, цифри. Групи розділити пробілами та відсортувати їх по зростанню.

22 Видалити усі пропуски з S1 та дописати їх у початок S2.

23Відсортувати по зростанню символи у S1 та розташувати наступним чином:

і так далі, заповнюючи строку від країв до центру.

24 Підрахувати кількість входжень S2 у S1, та дописати у початок S2.

25 Записати всі голосні з S1 на непарні позиції у S2.

26 Підрахувати кількість голосних у S1, що з обох боків оточені приголосними.

27 Дописати у S2 через пропуск позиції її входжень у S1.

28 Дописати у S2 кількість входжень у S1 -го слова з S2.

29 Знайти у S1 найдовшу послідовність цифр, що розташовані по зростанню.

30 Дописати у S2 ті символи з S1, які зустрічаються після входжень S2.

Завдання № 7. Тема: бібліотеки, робота з файлами (базові типи даних).

Попередньо створюються два файли даних А и B. Залежно від типу даних це виконується із застосуванням програми або в текстовому редакторі. Вміст файлу C створюється в процесі виконання програми відповідно завданню.

Логічну функцію виконати в статичній і динамічній бібліотеках.

№, п/п

Типи даних

Завдання

1. floatВ C розмістити всі елементи з A і B, перед якими перебувають негативні числа.

2. float В C заносяться всі елементи з A і B з парними порядковими номерами.

3. floatВ C заносяться з A всі негативні числа. Потім A доповнюється з B числами, перед якими перебувають негативні числа.

4. floatВ C заносяться всі числа з A, які більше по абсолютній величині, чим відповідні числа з B.

5. float В С заносять всі числа з А и В, розташовані між негативними числами.

6. floatВ С заносять кожний елемент Х з А и В, що задовольняють умові 0Х1. Останні три елементи з В дописати в А.

7. floatВ С занести всі негативні числа з А и В. Перші три елементи з В дописати в А.

8. char В С занести всі символи з А и В, що відрізняються від символів C1,C2,C3

Page 20: Основи прогр - лаб.раб

не більш, ніж на два порядкових номери.

9. charВ С записати всі прописні літери латинського алфавіту з А. Доповнити А цифрами з В.

10. char В С занести всі цифри з А. Доповнити А малими літерами з В.

11. charВ С занести всі символи операцій відносини з А. Доповнити А прописними літерами з В.

12. char В С занести всі цифри А. Інші символи дописати у В.

13. intВ С записуються всі позитивні числа з А и В і негативні числа із залишку більше довгого файлу.

14. intВ С заноситься число З1, потім всі символи з А и В, які перевищують раніше занесені числа з кожного із цих файлів.

15. intПочати запис у С із А після трьох значень «1». Додати в А елементи з В до першого «0» включно.

16. intЗаписати в С всі «1» з А и «0» з В. Доповнити А послідовністю із трьох «0».

17. charЗаписати в С всі голосні букви з А и В. Доповнити А буквами A, B, C, D, E, F з В.

18. charЗаписати в С всі символи з А и В, які не можуть брати участь у формуванні ідентифікатора. Доповнити А шестнадцатирічними цифрами.

19. charЗаписати в С всі символи з кодовими номерами 58-70 і 100-120 з А и В. Доповнити файл А восьмирічними цифрами.

20. intЗаписати в С всі числа з А, кратні 3, і всі числа з В, кратні 5. Доповнити А залишками від розподілу останнього числа з А на останнє число з В.

21. intЗаписати в С всі числа з А, які більше суми двох послідовних елементів В. Після вичерпання В залишок А записати без зміни в С и В.

22. intЗаписати в С всі позитивні числа з А и В, записуючи після кожного десятого елемента кількість десятків. Остання кількість десятків дописати в А и В.

23. intЗаписати С кодами символів із символьних файлів А и В, відкидаючи одиниці в кодах. Якщо А коротше В слід доповнити його останніми елементами з В.

24. int

Заповнити C константами, що обчислюються з відношення ai і bi, де ai і bi відповідно елементи файлів А и В типу int (константа=1, якщо a i>bi і константа=0 у противному випадку). Після вичерпання елементів більш короткого файлу доповнити С значеннями «1» до довжини найбільш довгого файлу.

25. charЗаписати в С всі символи з А, порядкові номери яких кратні 4, і всі символи з В, порядкові номери яких кратні 3. Якщо А коротше В, то доповнити його цифрами із залишку В.

Завдання № 8. Тема: Робота з файлами (структури даних). Модулі.

Заводом випускаються N різних вимірювальних приладів, кожний з яких може бути визначений даними:

Page 21: Основи прогр - лаб.раб

У процесі виконання роботи створюється перший програмний файл для формування файлу даних з довільним числом записів. Для вибірки з файлу даних створюється інший програмний файл, у якому необхідно передбачити вивід у формі таблиці всіх записів файлу й записів, що відповідають завданню.

Програма містить два програмних модулі: (1) - здійснює введення-вивід, (2) - містить функції, що здійснюють вибірку.

№, п/п

Список характеристик

Завдання

1. 1, 4, 5, 9 Скласти список покупних виробів заводу.

2. 1, 2, 3, 9 Скласти список покупних виробів, вартість яких > C1

3. 1, 2, 3, 7, 10Скласти список замовників, що замовили більше K1 приладів різних типів.

∙ ∙ ∙

Найменування прибору1

Величина 1

Величина що вимірюється8Габарити прибору2

Довжина Висота Ширина

3 Вага

4 Вартість

5 Гарантійний строк

Тмін

6 Діапазон температур

Тмакс

Джерело живлення7

Напруга Струм Частота

Величина k

Вер

хня

гран

иця

Ниж

ня г

рани

ця

Пог

ріш

ніст

ь

Вер

хня

гран

иця

Ниж

ня г

рани

ця

Пог

ріш

ніст

ь

∙ ∙ ∙Виріб 1

Покупні вироби9

Виріб n

Вар

тіс

ть

Кіл

ькіс

ть

Про

даве

ць

Най

мен

уван

ня

Вар

тіс

ть

Кіл

ькіс

ть

Про

даве

ць

Най

мен

уван

ня

∙ ∙ ∙Замовник 1

Замовник10

Замовник m

П.І

.Б.

Адр

еса

Кіл

ькіс

ть

приб

орів

П.І

.Б.

Адр

еса

Кіл

ькіс

ть

приб

орів

Page 22: Основи прогр - лаб.раб

4. 1, 2, 3, 6, 8Скласти список приладів, розміри яких не перевищують Д1, Д2, Д3, вага – В1, розрахованих на роботу в діапазоні температур Т 1-Т2.

5. 1, 4, 5, 7, 9Скласти список покупних виробів, що поставляються постачальником П1.

6. 1, 5, 8, 9Скласти список постачальників і сумарних вартостей покупних виробів, що поставляються ними.

7. 1, 3, 4, 5, 9Скласти список постачальників, що поставляють більше ДО2 найменувань покупних виробів.

8. 1, 4, 5, 7, 8Скласти список приладів, розрахованих на напругу V1, що споживає струми < I1 і гарантійні строки, що мають, < T1.

9. 1, 4, 6, 8Скласти список приладів, що вимірюють величину А1 у діапазоні Н 1-В1 з погрішністю ≤ Е1

10. 1, 4, 7, 10Скласти список замовників і сумарних вартостей приладів, що купуються ними.

11. 1, 4, 5, 6, 7Скласти список приладів, що працюють у діапазоні температур Т 1-Т2, вартість яких < C2.

12. 1, 4, 5, 7, 8Скласти список для вимірів А2, що працюють на постійному струмі й мають вартості <C3.

13. 1, 2, 3, 4, 7 Скласти список K3 найбільш дорогих приладів (K3<N).

14. 1, 4, 8, 10Скласти список міст-замовників, що купують прилади для виміру А3.

15. 1, 4, 5, 7, 10Скласти список замовників, що замовили найбільшу кількість приладів кожного типу.

16. 1, 2, 5, 9Скласти список постачальників, що поставляють покупні вироби на найбільшу суму для кожного приладу.

17. 1, 5, 8, 10Скласти список замовників, що купують прилади для виміру А4, з гарантійним строком Г2.

18. 1, 2, 3, 5, 8Скласти список приладів для виміру А5, що володіють вагою В2 і габаритами, що не перевищують Д1, Д2, Д3.

19. 1, 4, 5, 9Скласти список приладів, для яких відношення "вартість/сумарна вартість покупних виробів" лежить у діапазоні З 4-З5.

20. 1, 4, 5, 8, 10 Скласти список замовників, що купують прилади з погрішністю ≤Е.

21. 1, 2, 3, 4, 9Скласти список найбільш дорогих покупних виробів для кожного приладу.

22. 1, 4, 5, 6, 8Скласти список приладів, що вимірюють величину А6 з погрішністю <Е3 і мають вартість ІЗ6.

23. 1, 2, 3, 4, 5, 6, 7 Скласти список K4 найбільш дешевих приладів (K4<N)

24. 1, 2, 3, 4, 5, 10Скласти список K5 замовників, що купують прилади на найбільшу суму.

25. 1, 2, 3, 4, 5, 8Скласти список характеристик 1, 2, 3, 4, 5 приладів, призначених для виміру А7.

Page 23: Основи прогр - лаб.раб

Список літератури:

1. Единая система программной документации. — М.: Изд-во стандартов, 1991. – 128 с.2. Керниган Б., Ритчи Д. Язык программирования Си Пер. с англ., 3-е изд., испр. — СПб.:

"Невский Диалект", 2001. — 352 C3. Дейтел Х., Дейтел П. Как программировать на С: Третье издание. Пер. с англ. — М.:

Бином-Пресс, 2002. — 1168 с.4. Turbo С: руководство пользователя (електронна версія).5. Шилдт Г. Полный справочник по C (4-е издание) — М.: Изд. дом «Вильямс» — 2002. —

704 С.