Головна Головна -> Курсові роботи українською -> Інформатика, комп'ютери, програмування -> Методика підрахунку прямокутників різної форми

Методика підрахунку прямокутників різної форми

Назва:
Методика підрахунку прямокутників різної форми
Тип:
Курсова робота
Мова:
Українська
Розмiр:
6,05 KB
Завантажень:
6
Оцінка:
 
поточна оцінка 5.0


Скачати цю роботу безкоштовно
Пролистати роботу: 1  2  3  4  5  6  7  8 
Зміст

1. Зміст

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

3. Теоретичне розв’язання задач

Методика підрахунку прямокутників різної форми

Фізичні основи та формули до завдання №2

4. Блок – схеми програми та процедур

5. Текст програми

6. Пояснення до програми

7. Результати роботи програми

8. Список використаної літератури

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

Створити програму на мові програмування Pascal згідно вибраного завдання

Задача №1: (1022) На квадратному аркуші клітчатого паперу розміром 8х8 кліток намальовано декілька прямокутників, кожний прямокутник складається із кліток. Різні прямокутники не накладаються і не доторкуються один іншого. Приклад:

Дана цілочисельна квадратна матриця розміром 8, де елемент =0 коли відповідна клітка належить деякому прямокутнику, і відмінний від 0 в противному разі. Визначити кількість прямокутників.

Задача №2: (1006) Скласти програму, яка допомагає у вивченні руху тіла, кинутого під кутом до горизонту з деякою початковою швидкістю. Гравець, що знає відстань від чоловіка, що кидає камінь, до лунки і ширину лунки, повинен задати такі початкові значення кута і швидкості, щоб камінь потрапив у лунку.

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

3. Теоретичне розв’язання задач

3.1 Методика підрахунку прямокутників різної форми

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

Таким чином, ми маємо матрицю розміром 8х8, де елемент, який = 0 належить деякому прямокутнику, і якщо не = 0 – це пуста клітка. Розглянемо таку матрицю:

1 1 1 0 0 0 0 1

1 1 1 0 0 0 0 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

0 0 1 1 1 1 1 1

0 0 1 1 1 1 1 0

0 0 1 1 0 0 1 1

0 0 1 1 1 1 1 1

Принцип роботи заключається в наступному: програма починає шукати перший нульовий елемент:

   Х

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





Х

І так далі, доки весь прямокутник не буде повністю затертий, тобто, якщо елемент першої колонки прямокутника наступного рядка не буде = 0 (елемент Х попереднього рисунку). А після цього програма почне шукати наступний прямокутник. З кожним знайденим прямокутником лічильник збільшується на 1.

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

Ось в якій черзі затираються елементи першого прямокутника:

1 2 3 4

5 6 6 8

Для решти:

1 2 3 4

5 6 6 8

1 2

3 4 1

5 6 1 2

7 8

3.2 Фізичні основи та формули до завдання №2

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

Для того щоб відобразити цю траєкторію в фізиці вже давно виведено такі формули:

1. Спочатку потрібно знайти вертикальні і горизонтальні компоненти швидкості vx і vy за допомогою таких формул: vx=v*cos , vy=v*sin . Де: v – початкова сила кидка,  - кут кидка.

2. Координати ядра в точці x і y в любий момент часу:

x=vx*t

y=vy*t-gt2/2

Де: t – час польоту каменя (від кидка), секунд

g – прискорення вільного падіння = 9.8 м/сек2

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

4. Блок – схеми програми та процедур

5. Текст програми

uses crt,graph;

const full : fillpatterntype = ($ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff);

brick: fillpatterntype = (255,1,1,1,255,16,16,16);

grass: fillpatterntype = ($55, $aa, $55, $aa, $55, $aa, $55, $aa);

g=9.8;

var maxx,mode,device,lnum,pnum:integer;

ch:char;

done:boolean;

matr:array [1..8,1..8] of integer;

label 1;

procedure draw;

var str: string;

begin

{************** Сейчас рисуем окно и рамку ******************}

cleardevice;

setbkcolor (black);

setcolor (green);

setfillpattern (full, blue);

bar3d (10,10,maxx-20,265,10,topon);

setfillpattern (full, green);

bar (180,10,181,265);

setfillpattern (full, black);

Завантажити цю роботу безкоштовно
Пролистати роботу: 1  2  3  4  5  6  7  8 



Курсова робота на тему: Методика підрахунку прямокутників різної форми

BR.com.ua © 1999-2017 | Реклама на сайті | Умови використання | Зворотній зв'язок