Субота, 20.04.2024, 00:23
Головна Реєстрація RSS
Вітаю Вас, Гість
Наше опитування
Оцініть мій сайт
Всього відповідей: 68
Завдання ІІ етапу Всеукраїнської учнівської олімпіади з інформатики 2011-2012 н.р.

Задача 1. (25 балів) Bin[ary]Fract[ions].
Ще на вступних уроках інформатики знайомляться з двійковою системою числення та представленням інформації в пам’яті ПК у вигляді двійкових кодів. Але там використовують лише натуральні двійкові числа. Природно поставити питання: а чи існують дробові двійкові числа, тобто двійкові дроби? А чому б і ні, адже двійкова система числення побудована, подібно десятковій, на принципі позиційності цифр числа. Вміючи перетворювати натуральні десяткові числа у двійкові, спробуйте написати програму для переведення десяткового дробу у двійкову систему числення з даною точністю.

Вхідні дані:
У першому рядку файлу BinFract.dat записаний десятковий дріб у форматі "ХХХ,YYY", де XXX – ціла, а YYY – дробова частини (можуть містити до десяти цифр кожна). У другому рядку записано число n (1 < n ≤ 20), яке вказує кількість цифр результату, що стоять у дробовій частині.

Вихідні дані:
У файлі BinFract.sol в форматі "ХХХ,YYY" записати число, що містить тільки цифри "0" та "1", причому, дробова частина "YYY" має рівно n цифр.

Приклади:

BinFract.dat
0,56
5

BinFract.sol
0,100011

BinFract.dat
5,56
5

BinFract.sol
101,100011

Задача 2. (35 балів) Num[bers]Syst[ems].
З допомогою арабських цифр написано деяке натуральне число n. Написати програму, яка визначає всі його представлення в десятковій системі числення.

Вхідні дані:
У файлі NumSyst.dat у вигляді ланцюжка з m цифр (1 < n, m ≤ 10) записане натуральне число n в деякій позиційній системі числення.

Вихідні дані:
У файлі NumSyst.sol через пропуск записати всі представлення даного числа в десятковій системі числення.

Приклади:

NumSyst.dat
543

NumSyst.sol
207 276 355 444 543

Задача 3. (30 балів) MATRIX.
У одній таблиці вказано кількість одиниць продукції, що відвантажується щодня на m молокозаводах МЗ1, МЗ2, ..., МЗm, у магазини М1, М2, ..., Мn (див. на прикладі табл.1), у другій таблиці вказано вартість доставки одиниці продукції з кожного молокозаводу в магазини М1, М2, . . ., Мn, де 1 < m, n ≤ 20, (див. на прикладі табл.2). У наведених прикладах взято два молокозаводи і три магазини. Написати програму підрахунку щоденних транспортних витрат кожного заводу.

Вхідні дані:
У першому рядку файлу Matrix.dat записане число m, у наступних m рядках записано по n чисел через пропуск - таблиця 1, в останньому рядку записано через пропуск n чисел - таблиця 2.

Вихідні дані:
У файлі Matrix.sol через пропуск записати m чисел - щоденні транспортні витрати кожного заводу.

Приклади:

Matrix.dat
2
20 35 10
15 27 8
50 70 130

Matrix.sol
4750 3680

Задача 4. (40 балів) DETERM[inant].
Деяке число Δn представлено у вигляді квадратного мaсиву A[n, n], де ai,j - деякі числа, i, j = 1, 2, ... , n (див. (3)). Позначимо Ai,j= Δn-1, одержаний вилученням із Δn стовпчика та рядка, які містять ai,j, наприклад (див. (4)). Будемо вважати, що Δ1 = |a1,1|=a1,1 (5), при n>1 Δn = a1,1·(-1)1+1·A1,1+a1,2·(-1)1+2·A1,2+...+a1,n·(-1)1+n·A1,n (6).
Написати програму, яка для даного квадратного масиву A[n, n], n ≤ 15 обчислює число Δn.

Вхідні дані:
У n рядках файлу Determ.dat записано квадратну таблицю [n, n].

Вихідні дані:
У файл Determ.sol записати значення Δn.

Приклади:

Determ.dat
1 12 7
14 6 3
8 11 27

Determ.sol
-3377

Наверх