Завдання

Contents

Завдання#

Узагальнене формулювання завдання до лабораторної роботи#

Завдання складається з двох частин:

  • програмування операцій уведення-виведення для обчислення конкретних формул;

  • програмування бітових операцій та операцій зсуву.

Постановка першого завдання#

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

Програма повинна виконувати такі функції:

  • Здійснити уведення з клавіатури потрібних значень (відповідно до формули та зазначеного типу) за попереднім запрошенням.

  • Виконати перевірку відповідності типу уведеного числа типу зарезервованої змінної. У випадку помилки — повідомити користувача та очікувати на правильне уведення.

  • Виконати обчислення за формулою.

  • Вивести на екран результат із зазначенням формату.

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

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

Постановка другого завдання#

Завдання складається з двох задач. У рамках завдання потрібно скласти дві підпрограми:

  • перша підпрограма уводить складові частини структури даних, наведеної у відповідному варіанті індивідуального завдання, і формує з них задану упаковану структуру;

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

Обидві підпрограми повинні задовольняти такі вимоги:

  • Запускаються з однієї програми за пунктами меню.

  • Уведення складових частин структури даних здійснюється з клавіатури за попереднім запрошенням.

  • Результати виводяться на екран.

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

Приклад реалізації цього завдання наведено в додатку В.

Варіанти завдань до лабораторної роботи#

Програмування операцій уведення-виведення для обчислення конкретних формул#

УВАГА: для всіх варіантів із цього циклу завдань перша задача працює з дійсними числами, а друга — з цілими.

Варіант №1#

1. Обчислити периметр прямокутника. 2. Обчислити об’єм прямої призми, в основі якої лежить рівносторонній трикутник зі стороною \(a\). Висота призми — \(h\).

Варіант №2#

1. Обчислити площу прямокутника. 2. Відомі координати вершин трикутника. Обчислити периметр і площу трикутника.

Варіант №3#

1. Обчислити площу трикутника за основою та висотою. 2. Обчислити об’єм прямокутного паралелепіпеда за трьома сторонами.

Варіант №4#

1. Обчислити висоту паралелепіпеда. 2. Обчислити Евклідову відстань між двома точками.

Варіант №5#

1. Обчислити \((a+b)^3\). 2. Відомі кількість жителів у державі та площа її території. Визначити щільність населення в цій державі.

Варіант №6#

1. Обчислити \(1/a+2/a+\ldots+5/a\). 2. Обчислити \(f(x)=kx+b,~x=1,2,\ldots,5\).

Варіант №7#

1. Обчислити \((a-b)^2\). 2. Обчислити об’єм і повну поверхню куба, ребро якого дорівнює \(b\).

Варіант №8#

1. Обчислити повну поверхню прямої призми, в основі якої лежить прямокутний трикутник із катетами \(a\) і \(b\). Висота призми — \(h\). 2. Обчислити площу паралелограма за основою та висотою.

Варіант №9#

1. Обчислити 10% від тризначного числа. 2. Обчислити \(a_1b_1+a_2b_2+\ldots+a_5b_5\).

Варіант №10#

1. Обчислити об’єм прямої призми, в основі якої лежить прямокутний трикутник з катетами \(a\) і \(b\). Висота призми — \(h\). 2. Обчислити \(f(x)=x^2+b,~x=1,2,\ldots,5\).

Варіант №11#

1. Обчислити площу трапеції за висотою та середньою лінією. 2. Обчислити площу ромба за його діагоналями.

Варіант №12#

1. Обчислити радіус кола, описаного навколо трикутника. 2. Дано три числа, які є довжинами сторін трикутника. Визначити тип трикутника (рівносторонній, рівнобедрений, різносторонній).

Варіант №13#

1. Обчислити площу бічної поверхні циліндра. 2. Дано катети прямокутного трикутника. Знайти його гіпотенузу.

Варіант №14#

1. Обчислити площу між колом радіуса \(R\) і вписаним усередині нього колом радіуса \(r\). 2. Знайти медіану трикутника, що сполучає вершину \(A\) з серединою протилежної сторони \(a\).

Варіант №15#

1. Обчислити об’єм тора, утвореного обертанням кола радіуса \(r\) навколо вісі, яка відступає на відстань \(R\) від центру, за формулою \(V=2\pi^2Rr^2\). 2. Обчислити радіус уписаного в трикутник кола.

Варіант №16#

1. Обчислити площу правильного шестикутника за його стороною. 2. Обчислити площу рівнобедреного трикутника за його основою та бічною стороною.

Варіант №17#

1. Обчислити відстань між двома точками з заданими координатами. 2. Обчислити площу паралелограма за його основою та висотою.

Варіант №18#

1. Дано два числа. Знайти середнє арифметичне кубів цих чисел і середнє геометричне модулів цих чисел. 2. Обчислити об’єм прямокутного паралелепіпеда.

Варіант №19#

1. Обчислити вагу тіла \(P\) на поверхні Землі за формулою \(P=mm_2/R\), де \(m_2\) — маса Землі, \(m\) — маса тіла, \(R\) — радіус Землі. 2. Обчислити площу трикутника за двома сторонами \(a\), \(b\), і кутом \(\alpha\) між ними.

Варіант №20#

1. Дано два числа. Знайти їх суму, різницю, добуток, частку від ділення першого числа на друге. 2. Обчислити об’єм піраміди, в основі якої лежить квадрат зі стороною \(b\). Висота піраміди — \(h\).

Варіант №21#

  1. Обчислити \(x=4y^2/(4z-2t^3)\). Ввести коефіцієнти \(t\) і \(z\); \(y = \sin t\).

  2. Обчислити площу рівностороннього трикутника по стороні.

Варіант №22#

  1. Обчислити \(x=4y^3-z/t\). Ввести коефіцієнти \(t\) i \(z\); \(y=\cos(t+z)\).

  2. Обчислити по гіпотенузі і катету прямокутного трикутника другий катет і радіус вписаного кола.

Варіант №23#

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

  2. Обчислити \(y =|2x-x^2|\).

Варіант №24#

  1. Обчислити поверхню усіченого конуса \(s=\pi(R^2 + (R+r)L+ r^2)\) і об’єм \(v=1/3\pi(R^2+r^2+Rr)h\).

  2. Обчислити периметр і площу трикутника, заданого координатами своїх вершин.

Варіант №25#

  1. Змішано \(v_1\) літрів води температури \(t_1\) з \(v_2\) літрами води температури \(t_2\). Знайти об’єм і температуру утвореної суміші.

  2. Цілої змінної \(s\) присвоїти суму цифр тризначного цілого числа \(k\).

Варіант №26#

  1. Обчислити висоти трикутника за заданими сторонами.

  2. Ввести три числа. Збільшити перше число в два рази, друге число зменшити на 3, третє число звести в квадрат і потім знайти суму нових трьох чисел.

Варіант №27#

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

  2. Відомо, що \(x\) кг цукерок коштують \(a\) гривень. Визначте, скільки коштує \(y\) кг цих цукерок, а також скільки кг цукерок можна купити на \(k\) гривень. Всі значення вводить користувач.

Варіант №28#

  1. Вивести на екран поточну назву дня тижня, назву місяця і своє ім’я. Кожне слово має бути в окремому рядку.

  2. Ввести час в хвилинах і відстань в кілометрах. Знайти швидкість в м/c.

Варіант №29#

  1. Ввести три змінних \(a\), \(b\) і \(c\). Змінити значення цих змінних так, щоб в \(a\) зберігалося значення \(a+b\), в \(b\) зберігалася різниця старих значень \(c-a\), а в \(c\) зберігалося сума старих значень \(a+b+c\).

  2. Знайти алгебраїчну суму для виразу: \(1^k + 2^k + 3^k + \ldots + N^k\). \(N\) і ступінь \(k\) вводить користувач.

Варіант №30#

Обчислити вираз \(\ln(1 - \frac{a}{4})c\). Значення \(a\) і \(c\) ввести.

Програмування бітових операцій та операцій зсуву#

Варіант №1#

Фізична адреса на диску подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

H

H

T

T

T

T

T

T

T

T

T

S

S

S

S

S

де

  • HH — номер головки;

  • T..T — номер доріжки;

  • S..S — номер сектора.

Варіант №2#

Слово стану програми в обчислювальній системі подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

C

C

C

C

E

I

P

0

0

0

K

K

K

0

0

0

де

  • C..C — маски каналів 0–3;

  • E — маска зовнішнього переривання;

  • I — маска внутрішнього переривання;

  • P — маска програмного переривання;

  • KKK — ключ захисту пам’яті.

Варіант №3#

Слово стану каналу в обчислювальній системі подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

N

N

N

N

E

C

C

C

C

C

C

C

C

C

0

P

де

  • N..N — номер каналу;

  • E — ознака помилки;

  • C..C — код причини переривання;

  • P — ознака завершення програми в каналі.

Варіант №4#

Формат команди завантаження/збереження в обчислювальній системі має вигляд:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

1

1

1

0

0

0

1

D

R

R

R

R

A

A

A

A

де

  • D — напрямок передачі: у регістр (0)/у пам’ять (1);

  • R..R — перший операнд (регістр);

  • A..A — регістр адреси другого операнда.

Варіант №5#

Слово стану обладнання для обчислювальної системи подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

P

P

P

0

F

F

0

H

H

H

H

0

0

V

V

V

де

  • PPP — кількість принтерів;

  • FF — кількість гнучких дисків;

  • H..H — тип жорсткого диска;

  • VVV — тип відеоадаптера.

Варіант №6#

Формат команди зсуву в обчислювальній системі має вигляд:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

1

1

0

1

T

T

D

N

N

N

N

N

N

N

N

N

де

  • TT — тип зсуву;

  • D — напрям зсуву;

  • N..N — кількість розрядів зсуву.

Варіант №7#

Блок управління буфером кеша в обчислювальній системі подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

S

S

S

0

D

0

F

0

B

B

B

B

B

B

B

B

де

  • SSS — код системної області або 000;

  • D — ознака «брудного» буфера;

  • F — ознака вільного буфера;

  • B..B — номер блока, який відображено в буфері.

Варіант №8#

Елемент списку безпеки об’єкта в обчислювальної системі подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

U

U

U

U

U

U

U

U

R

W

E

0

0

0

0

X

де

  • U..U — ідентифікатор користувача;

  • R — право читати;

  • W — право писати;

  • E — право виконувати програмний код;

  • X — явна заборона доступу.

Варіант №9#

Формат команди каналу в системі уведення-виведення має вигляд:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

O

O

O

O

O

C

D

N

N

N

N

N

N

N

N

N

де

  • O..O — код операції;

  • C — ознака ланцюжка команд;

  • D — ознака ланцюжка даних;

  • N..N — кількість байтів для передачі.

Варіант №10#

Елемент профілю користувача в системі подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

G

G

G

G

G

G

G

G

S

S

S

S

P

0

0

0

де

  • G..G — ідентифікатор групи, до якої належить користувач;

  • S..S — код системи, яка завантажується для користувача;

  • P — ознака привілейованого користувача.

Варіант №11#

Інформація про стан пристрою в системі уведення-виведення подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

C

C

C

U

U

U

U

U

E

E

E

E

E

E

0

B

де

  • CCC — номер каналу;

  • U..U — номер пристрою в каналі;

  • E..E — код стану;

  • B — ознака зайнятості пристрою.

Варіант №12#

Формат команди додавання в обчислювальній системі має вигляд:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

1

1

0

0

0

1

1

0

D

A

A

A

B

B

B

0

де

  • D — додавання байтів/слів (0/1);

  • AAA — регістр — перший операнд;

  • BBB — регістр — другий операнд.

Варіант №13#

Формат подання поточної дати в деяких системних структурах має вигляд:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

D

D

D

D

D

M

M

M

M

M

Y

Y

Y

Y

Y

Y

де D..D — день; M..M — місяць; Y..Y — рік після 1980.

Варіант №14#

Формат подання поточного часу в деяких системних структурах має вигляд:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

S

S

S

S

S

M

M

M

M

M

M

H

H

H

H

H

де

  • S..S — секунди/2;

  • M..M — хвилини;

  • H..H — години.

Варіант №15#

Дескриптор сегмента для системи віртуальної пам’яті подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

F

F

F

F

F

F

F

F

R

W

L

L

L

L

L

L

де

  • F..F — номер блока, з якого починається сегмент;

  • R — доступ для читання;

  • W — доступ для запису;

  • L..L — размір сегмента в блоках.

Варіант №16#

Атрибут файлу у файловій системі подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

T

T

T

T

A

A

A

0

I

I

I

I

I

I

I

I

де

  • T..T — код типу файлу;

  • AAA — код доступу;

  • I..I — номер файлового індексу.

Варіант №17#

Блок управління пам’яттю в операційній системі має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

O

O

O

O

O

O

O

O

0

P

L

L

L

L

L

L

де

  • O..O — ідентифікатор власника блока;

  • P — ознака програмного блока;

  • L..L — розмір блока.

Варіант №18#

Точка зображення на 16-кольоровому дисплеї з розміром екрану 64 х 64 описується у форматі:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

X

X

X

X

X

X

Y

Y

Y

Y

Y

Y

C

C

C

C

де

  • X..X — горизонтальна координата;

  • Y..Y — вертикальна координата;

  • C..C — колір.

Варіант №19#

Керуюче слово програмованого таймера має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

C

C

F

F

D

D

D

D

D

D

D

D

D

D

D

D

де

  • CC — номер каналу таймера;

  • FF — форма сигналу;

  • D..D — коефіцієнт ділення опорної частоти.

Варіант №20#

Інформація про критичну помилку на диску подається у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

O

A

A

R

R

R

0

1

D

D

D

D

D

D

D

D

де

  • O — тип операції — читання/запис (0/1);

  • AA — код області диска;

  • RRR — можливі реакції на помилку;

  • D..D — номер диска.

Вариант № 21#

Дескриптор повідомлення в системі телекомунікацій має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

N

N

N

N

0

P

P

P

U

U

U

U

U

U

U

U

де

  • N..N — номер вузла, з якого прийшло повідомлення;

  • P..P — пріорітет повідомлення;

  • U..U — ідентифікатор користувача - автора повідомлення.

Вариант № 22#

Дескриптор семафора, який захищає пул ресурсів, має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

N

N

N

M

M

M

0

L

W

W

W

W

W

W

W

W

де

  • N..N — поточна кількість вільних одиниць ресурсу;

  • M..M — загальна кількість одиниць ресурсу;

  • L..L — ознака блокування / розблокування семафора (1/0);

  • W..W — кількість процесів, які очікують доступу до ресурсу.

Вариант № 23#

Заголовок кадру в системі передачі даних має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

S

S

S

S

S

S

D

D

D

D

D

D

0

C

C

C

де

  • S..S — адреса джерела;

  • D..D — адреса приймача;

  • CCC — керуючий код.

Вариант № 24#

Заголовок пакета в системі передачі даних має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

T

T

T

0

S

S

S

S

L

L

L

L

L

L

L

L

де

  • TTT — тип пакета;

  • S..S — ідентифікатор джерела;

  • L..L — довжина пакета.

Вариант № 25#

Поле управління диспетчером кадру в протоколі управління логічним каналом має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

1

0

C

C

0

0

0

0

P

N

N

N

N

N

N

N

де

  • CC — керуючий код;

  • P — ознака запиту або завершення (0/1):

  • N..N — номер послідовності.

Вариант № 26#

Формат заголовку пакета в системі ретрансляції кадрів такий:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

C

C

C

C

C

C

C

C

C

C

R

E

E

E

E

E

де

  • C..C — ідентифікатор каналу передачі;

  • R — ознака команди / відповіді (0/1);

  • E..E — розширення адреси.

Вариант № 27#

Формат елемента доступу до об’єкту в системі безпеки такий:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

0

A

A

A

T

T

T

0

G

G

G

G

G

G

G

G

де

  • AAA— код доступу до об’єкту з групи PUBLIC;

  • TTT — доступ для читання і / або доступ для запису;

  • G..G — код групи доступу, до якої належить об’єкт.

Вариант № 28#

Дескриптор масиву, який формується компілятором мови програмування, має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

L

L

L

L

0

0

B

B

B

B

B

E

E

E

E

E

де

  • L..L — розмір елементу масиву;

  • B..B — початковий індекс;

  • E..E — кінцевий індекс.

Вариант № 29#

Блок керування сегментом пам’яті в системі з реальною пам’яттю має формат:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

T

T

T

T

T

0

A

0

L

L

L

L

L

L

L

L

де

  • T..T — ідентифікатор завдання, якому належить сегмент або 0 - для вільного сегмента;

  • A — ознака активності завдання (1/0);

  • L..L — довжина сегмента.

Вариант № 30#

Слово стану пристрою в системі уведення-виведення представляється у вигляді:

№ розряду

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

значення

C

C

C

C

C

0

F

B

N

N

N

N

N

N

N

N

де

  • C..C — код стану;

  • F — ознака помилки(1/0);

  • B — ознака зайнятості(0/1);

  • N — кількість байт, переданих в останній операції.