Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fort Knox.docx
Скачиваний:
0
Добавлен:
23.11.2019
Размер:
49.9 Кб
Скачать

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМЕНІ ТАРАСА ШЕВЧЕНКА

ЗВІТ

з лабораторної роботи з програмування

«Fort Knox»

виконав студент групи K-15

I курсу факультету кібернетики

Бевза Максим

Зміст

  1. Умова задачі

  2. Постановка задачі

  3. Тести

  4. Побудова алгоритму

  5. Проектування програми

  6. Тестування

  7. Протокол виправлення помилок

  8. Література

  9. Додатки

Умова задачі

Написати лабораторну роботу, яка обчислює стани пам’яті та системи керування космічним апаратом на планеті Fort Knox.

Постановка задачі

На планеті Fort Knox зберігаються невичерпні запаси золота. Вони складені в ряд у вигляді злитків прямокутної форми. Кожна цеглинка має розміри xi yi zi і густину ρi.

На цю планету прилетів деякий космічний корабель. Конструкція корабля (окрім двигуна та інших засобів для подорожей) складається з:

  1. порожньої ємності об’ємом V м3

  2. плавильні (розміри W м (по Oy) на U м (по Oz)), яка використовуючи de енергії за один такт переплавляє шару з dl золота. За такт переплавки маса корабля також зменшується на dm.

  3. конвеєра, який може виконувати команди:

  • P – покласти наступний злиток на конвеєр.

  • С – центрувати.

  • R – перевернути вздовж осі Ox.

  • T – перевернути вздовж осі Oy.

  • A – виконати такт переплавки.

  • D – викинути з конвеєра.

На початку компанії по вивозу золота на кораблі є E енергії, його маса M0, мінімальний рівень енергії, потрібний для повернення «додому» E0, максимальна допустима маса M (при масі меншій M двигуни розвинуть достатньої швидкості для виходу на гіперболічну орбіту, при рівній M - на параболічну орбіту, при більшій M – на еліптичну орбіту).

Злитки кладуться на конвеєр координатами xi, yi, zi вздовж відповідно осей Ox, Oy, Oz.

Послідовність псевдовипадкових чисел задається так: Rn = Fibn mod K.

Константи що задаються: V, W, U, K, dl, dm, de, M0, M, E0, E.

Довідкові відомості:

  1. Числа Фібоначчі.

Послідо́вність Фібона́ччі, чи́сла Фібона́ччі — числова послідовність Fn, задана рекурентним співвідношенням другого порядку

Числа Фібоначчі щільно пов'язані з золотим перетином   

Формула Біне виражає за допомогою ϕ значення Fn в явному вигляді як функцію від n:

При цьому   і   є коренями квадратного рівняння  .

Оскільки − 1 < 1 − ϕ < 0, знаходимо, що при   Тому з формули Біне випливає, що для всіх натуральних nFn є найближчим до   цілим числом,  . Зокрема, справедлива асимптотика 

  1. Об’єм і густина.

Об’єм паралелепіпеда розмірами x y z можна знайти за формулою x*y*z.

Масу речовини можна знайти помноживши її густину на об’єм.

  1. Послідовність псевдовипадкових чисел.

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

Вперше запропонував їх використовувати Джон фон Нейман у 1946 р. Його метод полягав в наступному: n-розрядне число підносилось до квадрата і з нього вибиралися середні n цифр. Метод був дуже недосконалий, послідовності майже завжди вироджувалися в нуль або зациклювалися з коротким періодом. Пізніше було запропоновано багато різних алгоритмів отримання псевдовипадкових чисел.

В основі програмних генераторів як правило лежать рекурентні формули. Як правило, вони генерують цілі числа рівномірно розподілені на відрізку від 0, до деякого максимального m. Щоб отримати числа з плаваючою комою, рівномірно розподілені на [0,1), кожен отриманий результат ділять на m.

  1. Мова програмування C.

C (англ. C) — універсальна, процедурна, імперативна мова програмування загального призначення, розроблена у 1972 роціДенісом Рітчі у Bell Telephone Laboratories з метою написання на ній операційної системи UNIX.

Хоча, С і було розроблено для написання системного програмного забезпечення. наразі вона досить часто використовується для написання прикладного програмного забезпечення.

С імовірно, є найпопулярнішою у світі мовою програмування за кількістю вже написаного на ній програмного забезпечення, доступного під вільними ліцензіями коду та кількості програмістів, котрі її знають. Реалізації компіляторів для мови С існують для багатьох операційних систем та апаратних архітектур. C здійснила великий вплив на інші мови програмування, особливо на C++, яка спочатку проектувалася, як розширення для С, а також на Java та C#, які запозичили у С синтаксис.

Тести

V = 50;

W = 11;

U = 7;

K = 13;

dl = 1;

dm = 8;

de = 40;

M0 = 100;

M = 140;

E0 = 400;

E = 220;

На виході маємо

V = 11

M = 121

E = 240

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