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

ОП_РГЗ_2014

.pdf
Скачиваний:
3
Добавлен:
07.02.2016
Размер:
239.78 Кб
Скачать

11

а) Виконати дії над двомірним масивом MxN. Параметри M та N задаються користувачем з клавіатури. Заповнити даний масив даними за діагоналями, починаючи з лівого верхнього кута, наприклад:

1

2

4

7

3

5

8

11

6

9

12

14

10

13

15

16

В якості даних обрати цілі числа з інтервалу [a; b], де a і b задаються користувачем.

Отриманий масив вивести на екран у вигляді таблиці, для вирівнювання стовпчиків використати табуляцію (символ ‘\t’).

б) Програма повинна дозволяти виконувати перевірку справедливості рівностей. Рівність задається у вигляді рядка та має формат

«<число><операція><число>=<число><операція><число>». Рядок мо-

же містити дійсні числа, операції додавання, віднімання, множення та ділення, а також знак «дорівнює». Рівність вважати справедливою, якщо результат виконання арифметичної операції зліва від знака «дорівнює» дорівнює результату арифметичної операції справа від знака дорівнює.

Передбачити можливість (за необхідності) перевірки декількох рівностей у процесі одного запуску програми.

1.2.2.11 Завдання для варіанта № 11:

а) Елементи двомірного масиву є дійсними числами. Розмірність масиву та значення його елементів задано користувачем. Обчислити суму додатних елементів двох діагоналей масиву. Визначити, чи є отримане значення суми простим числом, якщо його округлити до цілого.

б) Написати програму шифрування та дешифрування текстового повідомлення. Шифрування виконати наступним чином: розташувати спочатку всі символи, розташовані на непарних позиціях, а потім у зворотному порядку всі символи, розташовані на парних позиціях.

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

1.2.2.12 Завдання для варіанта № 12:

а) Глядацький зал кінотеатру представлено двомірним масивом, розмірність якого задається користувачем з клавіатури. Інформація

12

щодо проданих квитків зберігається у даному масиві, значення елементів якого дорівнюють 1, якщо квиток на дане місце продано, і 0 – у протилежному випадку. Масив заповнити програмно випадковим чином. Користувач вводить натуральне число, яке задає кількість квитків на місця, які повинні бути розташовані поспіль у одному ряді. Програма повинна визначити, чи можна знайти необхідну кількість вільних квитків за вказаної умови, та виводити відповідне повідомлення (вказуючи місця та ряд у випадку, якщо такі дії можна виконати), пропонуючи користувачу придбати їх. Якщо доступно декілька варіантів, то виводити місця з найменшого за порядковим номером ряду. Якщо користувач погоджується придбати, то потрібно позначити дані місця як продані. Передбачити можливість придбання квитків у програмі декілька разів.

б) Користувач вводить з клавіатури рядок. Замінити у ньому будь-які послідовності повторюваних символів на запис вигляду «<символ><число_повторень>». Наприклад, рядок «abbbcdef» перетворити на «ab3cdef». Передбачити можливість роботи з декількома рядками користувача за один запуск програми.

1.2.2.13 Завдання для варіанта № 13:

а) Відбувається шахова партія. Шахівниця має розмір 8x8. При цьому координати фігури задаються в шаховій нотації, тобто складаються з літери, що позначає номер стовпця (від a до h), та цифри, що позначає номер рядка (наприклад, «е2»).

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

Після введення даних про кожну з фігур вивести на екран шахову дошку, позначаючи на ній відповідними літерами позиції заданих фігур, символом ‘*’ – позиції, на які може бути переміщено останню введену фігуру, а символом ‘.’ всі інші клітинки.

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

б) Тлумачний словник представляє собою двомірний масив, у першому стовпчику якого знаходиться відповідне слово, а у другому – його тлумачення.

13

Користувач задає з клавіатури текст. Відредагувати даний текст, додавши у нього тлумачення кожного слова, яке представлене у словнику. Тлумачення наводити у дужках після відповідного слова.

Передбачити можливість розширення тлумачного словника користувачем шляхом введення нових слів та їх значення.

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

1.2.2.14 Завдання для варіанта № 14:

а) Масив A [N × M ] містить цілі числа та заповнюється випадковим чином значеннями з інтервалу [33; 126]. Користувач задає розмірність масиву з клавіатури. Сформувати рядок із заданого масиву, перетворивши кожне ціле число на символ, який має вказаний код. Елементи в рядку розташовувати послідовно: елементи першого рядка масиву, другого,…, останнього.

б) Розв’язати квадратне рівняння f (x) = 0 та виконати перевірку отриманого рішення. Функція f (x) задається під час роботи програми користувачем у вигляді рядка, що має формат axx + bx + c , включаючи числа (цілі і/або дійсні), арифметичні операції, змінну x та пробіли. Наприклад: «2 xx - 3x+4».

Передбачити можливість (за необхідності) розв’язання декількох рівнянь у процесі одного запуску програми.

1.2.2.15 Завдання для варіанта № 15:

а) Двомірний масив даних, заданий користувачем шляхом введення з клавіатури розмірності та кожного з елементів, перетворити на одномірний масив, елементи якого утворюються шляхом читання елементів двомірного масиву за спіраллю, починаючи з лівого верхнього кута за годинниковою стрілкою:

14

б) Розробити програму, яка дозволяє транслітерувати символи, які є літерами української мови, символами, які є літерами англійської мови. Транслітерація кожної літери задається програмно.

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

1.2.2.16 Завдання для варіанта № 16:

а) Результати проведення футбольного турніру зведено у двомірний масив, який разом з кількістю команд задається користувачем. Елементи масиву представляють собою кількість м’ячів, забиту командою, що розташована у відповідному рядку, у ворота команди, що розташована у відповідному стовпці. Якщо перша команда забила у відповідній грі більше м’ячів за другу, то вона отримує три очки, а її суперник – 0. Якщо м’ячів забито порівну, то обидві команди отримують по одному очку. Визначити турнірну таблицю. Наприклад, якщо

0 2 0

2 0 1

1 1 0,

то перша команда отримала 1 очко, друга – 2, третя – 4.

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

15

лення тексту головної функції, вихід) повинен виконуватися користувачем.

1.2.2.17 Завдання для варіанта № 17:

а) Матрицю задано користувачем з клавіатури разом з кількістю її рядків N та стовпців M. Необхідно знайти елемент матриці, який має найбільше значення. Переставляючи рядки та стовпці місцями необхідним чином, перемістити найбільший елемент у верхній лівий кут.

б) Користувач вводить рядок, який містить повне ім’я файлу (ім’я диску, список каталогів, ім’я файлу та розширення). Програмно задано набір можливих розширень. Перевірити, чи має файл доступне розширення. Виділити назву файлу з введеного рядка. Якщо файл має доступне розширення, то вивести повідомлення «Файл <назва> коректний». У протилежному випадку вивести повідомлення «Файл <назва> повинен мати допустиме розширення» та перелічити допустимі варіанти назви файлу разом з розширенням. Передбачити можливість повторного введення рядка користувачем.

1.2.2.18 Завдання для варіанта № 18:

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

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

1.2.2.19 Завдання для варіанта № 19:

а) Результати проведення футбольного турніру зведено у двомірний масив, який разом з кількістю команд задається користувачем. Елементи масиву представляють собою кількість очок, набрану командою, що розташована у відповідному рядку, під час гри з командою, що розташована у відповідному стовпці. Користувач послідовно (відповідно до розташування в масиві) вводить назви кожної команди,

16

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

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

1.2.2.20 Завдання для варіанта № 20:

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

двома способами.

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

Другий спосіб дозволяє перед лапками вставити в тексті зворотний слеш.

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

1.2.2.21 Завдання для варіанта № 21:

а) Масив даних A розмірністю MxN задано користувачем з клавіатури разом з параметрами M та N. Окрім того задано одномірний масив P розмірністю M. Сформувати двомірний масив B з масиву A, розташовуючи у ньому рядки масиву А у порядку, заданому масивом P, при цьому елементи у рядках перемістити на один вправо, тобто перший елемент повинен стати другим, другий – третім,…, останній – першим.

17

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

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

Програма повинна дозволяти користувачу ввести текст або доповнити словник. Вибір режиму повинен виконуватись після введення кожної нової абревіатури в словник або виконання розшифрування.

1.2.2.22 Завдання для варіанта № 22:

а) Двомірний масив даних, заданий користувачем шляхом введення з клавіатури розмірності та кожного з елементів, перетворити на одномірний масив, елементи якого утворюються шляхом читання елементів двомірного масиву за діагоналями. Порядок читання елементів визначимо наступним масивом:

1

2

6

7

3

5

8

13

4

9

12

14

10

11

15

16

б) Введений користувачем текст містить теги мови HTML. Тег розташовується в тексті наступним чином: «тег» (наприклад, «head», «body»). Існують також теги, що закриваються («тег»). Виділити з введеного тексту всі теги (окрім тих, що закриваються) та внести їх у словник. Перевірити, чи кожний з відкритих тегів у тексті закрито, та вивести відповідне повідомлення. Якщо в тексті присутній хоча б один незакритий тег, то вивести його назву та позицію на екран.

1.2.2.23 Завдання для варіанта № 23:

а) Відбувається шахова партія. Шахівниця має розмір 8x8. При цьому координати фігури задаються в шаховій нотації, тобто складаються з літери, що позначає номер стовпця (від a до h), та цифри, що позначає номер рядка (наприклад, «е2»).

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

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

18

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

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

б) Користувач вводить рядок, який містить повне ім’я файлу (ім’я диску, список каталогів, ім’я файлу та розширення). Виділити з введеного рядка окремо ім’я файлу, розширення та адресу першого каталогу. Вивести отримані дані на екран. Якщо файл розташовано в кореневому каталозі, то вивести символ ‘/’. Передбачити можливість повторного введення рядка користувачем.

1.2.2.24 Завдання для варіанта № 24:

а) Користувач задає з клавіатури кількість рядків M і стовпців N двомірної матриці та інтервал [a; b]. Програма заповнює матрицю заданих розмірів випадковим чином цілими числами з діапазону [-15; 50] та знаходить максимальне значення серед елементів масиву. Якщо отримане значення належить заданому інтервалу [a; b], то вивести масив на екран. Якщо обчислене значення даному інтервалу не належить, то заповнювати матрицю випадковими числами, поки значення середнього арифметичного не потрапить у заданий інтервал. Якщо максимальне значення не може потрапити у заданий інтервал у будьякому випадку, то вивести відповідне повідомлення.

б) Написати програму шифрування та дешифрування текстового повідомлення. Шифрування виконати наступним чином: розташувати спочатку всі символи, розташовані на парних позиціях, а потім у зворотному порядку всі символи, розташовані на непарних позиціях.

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

1.2.2.25 Завдання для варіанта № 25:

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

19

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

б) Рядок складається з символів, серед яких зокрема можуть бути цифри. Послідовність цифр, відділену будь-якими іншими символами, слід вважати цифрами. Рядок задається користувачем з клавіатури.

Програма повинна дозволяти:

у заданому рядку вилучати всі цифри та виводити отриманий рядок на екран;

виводити на екран всі числа, які зустрічаються в рядку;

підраховувати кількість та обчислювувати суму цифр у даному рядку;

обчислювувати суму чисел.

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

1.2.2.26 Завдання для варіанта № 26:

а) Масив A [N × M ] містить цілі числа та заповнюється випадковим чином значеннями з інтервалу [0; 127]. Користувач задає розмірність масиву з клавіатури. Сформувати рядок із заданого масиву, перетворивши кожне ціле число на символ, який має вказаний код. Елементи в рядку розташовувати послідовно: елементи першого рядка масиву, другого,…, останнього. Якщо утворений символ не належить до літер, цифр або розділових знаків, то пропустити його.

б) Розв’язати квадратне рівняння f (x) = 0 та виконати перевірку отриманого рішення. Функція f (x) задається під час роботи програми користувачем у вигляді рядка, що має формат ax ^ 2 + bx + c , включаючи цілі числа, арифметичні операції, змінну x та пробіли. Наприклад: «-2x^2 + x-1». Передбачити, що деякі члени можуть бути пропущені (відповідний коефіцієнт дорівнює 0).

1.2.2.27 Завдання для варіанта № 27:

а) Елементи двомірного масиву є дійсними числами. Розмірність масиву та значення його елементів задано користувачем. Обчислити суми елементів головної та побічної діагоналей масиву. Визначити, чи є отримані суми взаємно простими, якщо їх абсолютні значення округлити до цілого.

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

20

ється від іншого двокрапкою. Відомо, що перше поле зберігає логін, п’яте – прізвище та ім’я користувача, а шосте – пароль.

Запросити логін користувача. Якщо логін невідомий, то попросити ввести логін заново. Передбачити вихід з програми, якщо буде введено слово “bye”. Якщо логін знайдено в масиві, то вивести вітання з зазначенням ім’я (перше слово з відділених комами) та попросити ввести пароль. За результатами перевірки пароля вивести повідомлення про успішну авторизацію, або надати користувачу додаткову спробу. Передбачити не більше двох додаткових спроб.

1.2.2.28 Завдання для варіанта № 28:

а) Глядацький зал кінотеатру представлено двомірним масивом, розмірність якого задається користувачем з клавіатури. Інформація щодо проданих квитків зберігається у даному масиві, значення елементів якого дорівнюють 2, якщо квиток на дане місце продано, 1, якщо місце зарезервовано, та 0, якщо місце вільне. Масив заповнити програмно випадковим чином. Користувач вводить натуральне число, яке задає кількість квитків на місця, які повинні бути розташовані поспіль у одному ряді. Програма повинна визначити, чи можна знайти необхідну кількість вільних квитків за вказаної умови, та виводити відповідне повідомлення (вказуючи місця та ряд у випадку, якщо такі дії можна виконати), пропонуючи користувачу придбати їх. Якщо доступно декілька варіантів, то виводити декілька варіантів за кожним з доступних рядів, пропонуючи обрати ряд. Якщо користувач погоджується придбати квитки, то потрібно позначити дані місця як зарезервовані.

б) Програма повинна дозволяти виконувати перевірку справедливості нерівностей. Нерівність задається у вигляді рядка може мати формат «<число><операція><число> <операція_порівняння><число><операція><число>» або «<чис-

ло><операція><число><операція_порівняння><число>». Рядок може містити натуральні числа, операції додавання, віднімання, множення та ділення, а також знаки: ‘>’, ‘<’, ‘>=’, ‘<=’. Нерівність вважати справедливою, якщо результат виконання арифметичної операції зліва від операції порівняння відповідно більше, менше, не менше або не більше результату арифметичної операції або значення справа від операції порівняння.

Передбачити можливість (за необхідності) перевірки декількох нерівностей у процесі одного запуску програми.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]