Рішення військово-прикладної задачі
Побудова блок-схеми алгоритму проста вставка. Програмна реалізація алгоритму, опис результатів. Особливості обліку ітерації масивів. Відсортування даних за допомогою програми Turbo Pascal. Аналітична оцінка трудомісткості, графічне представлення.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 21.05.2014 |
Размер файла | 570,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
[Введите текст]
Харківський університет Повітряних Сил
Кафедра № 402
Контрольна робота з теми:
Рішення військово-прикладної задачі
Харків 2014
Зміст
Вступ
1. Блок-схема алгоритму проста вставка
1.1 Опис алгоритму проста вставка
1.2 Побудова блок-схеми алгоритму проста вставка
1.3 Опис блок-схеми алгоритму проста вставка
2. Програмна реалізація алгоритму проста вставка
2.1 Програмна реалізація алгоритму проста вставка
2.2 Опис програмної реалізації алгоритму проста вставка
2.3 Опис отриманих результатів
3. Оцінка трудомісткості простої вставки
3.1 Аналітична оцінка трудомісткості проста вставка
3.2 Графічне представлення оцінки трудомісткості проста вставка
3.3 Аналіз отриманих результатів
Висновки
Список використаних джерел
Вступ
Курсова робота є важливою частиною навчальної дисципліни «Інформатика». Вона закріплює та заглиблює знання, які курсанти отримали при вивченні дисципліни, та надає практичні навички і уміння у використанні ЕОМ для розв'язання військово-прикладних та прикладних задач за спеціальністю підготовки.
Ціль курсової роботи - (на основі знань, вмінь і навичок, отриманих з дисципліни Інформатика) отримання практичних навичок комплексного розв'язання військово-прикладної задачі з застосування ЕОМ, яке включає розробку алгоритму і програми розв'язання військово-прикладної задачі з використанням засобів мови Pascal, а також оцінювання ефективності отриманого рішення з використанням засобів пакету MathCad.
Основна мета курсової роботи - оволодіння сучасною технологією підготовки та рішення на ЕОМ розрахункових задач військового та прикладного характеру.
1. Блок-схема алгоритму сортування проста вставка
1.1 Опис алгоритму сортування проста вставка
Основна ідея алгоритму полягає в тому, щоб послідовно вибрати елементи з не відсортованого масиву та вставляти їх на свої місця в відсортований масив.
Алгоритм
Нехай заданий числовий масив m={m0,m1,m2,…,mn}.
Для формування відсортованої послідовності створюється масив r такої ж розмірності, як і масив m. Елемент m0 масиву m поміщається у нульову комірку масиву r: = . Індекс k останнього елемента в масиві r встановлюється до нуля: k=0.
Далі з масиву m до його вичерпання ітераційно вибираються елементи mi(i = 1,…,n) починаючи з елемента з індексом і=1; для кожного вибраного елемента mi в ході однієї ітерації з номером і реалізуються наступні кроки.
Крок 1. Пошук місцезнаходження вибраного елемента. Для елемента mi ітераційно (j=0,…,k), починаючи з j=0, шукається місце j вставки в відсортований масив r: якщо mi <ri, тоді місце вставного елементу mi - комірка j, вихід з циклу; інакше j=j+1: якщо j?k, перехід на крок 1.1; інакше - вихід з циклу.
Місце вставки j елементу mi знайдено.
Крок 2. Здвиг. Якщо на кроці 1 місце вставки в середині циклу не знайшли (j=k+1), отже це місце останнім елементом масиву r, крок 2 виконувати не потрібно, а потрібно тільки вставити елемент на своє місце. Інакше елементи масиву r з індексами j,…,k ітераційно (p=k,…,j), починаючи з найбільшого елемента rp, p=k, переміщуються на одну позицію вправо: записуємо rp+1=rp, припустимо р=р-1: якщо p?j, перехід на крок 2.1; інакше - вихід з циклу.
1.2 Побудова блок-схеми алгоритму сортування проста вставка
Ввід
Вивід
Крок 3. Вставка. Елемент mi вставляється на своє місце: rj=mi; індекс останнього елемента у відсортованому масиві r збільшується на одиницю, k=k+1. Крок 4. Завершення. Припускаємо і=і+1 і: якщо і ? n перехід на крок,1 інакше сортування завершене, вихід.
Опис блок схеми алгоритму сортування проста вставка
Ітераційно (i…n) починаючи з і=1, перебираємо елементи для кожного вибраного числа n, збільшуємо значення в комірці масиві проста вставка з індексом m, на одиницю. Далі припустимо що i=i+1. Якщо і<n - переходимо на mj<rj, тоді місце елемента, що mi вставляє - j осередок, інакше - вихід з циклу.
Наприклад, якщо зустрілися масиви m=0, збільшуємо значення нульової комірки на 1, якщо зустріли четвірку, збільшуємо значення комірки на 1.
В результаті підрахунків в кожній і-й комірці простої вставки буде записане число. Яке показує в скільки разів число і(з діапазону [1, n]) зустрілися в масиві m.
Далі припустимо, що j=0 ітераційно (і = 1,…, n), починаючи з і=1 перебираємо комірки масива проста вставка: якщо mi > 0 тоді: вважаємо, що rj=i, j=i+1 перехід на rp+1=rp.
Таким чином, якщо значення mi в і-ої комірки проста вставка була більше нуля(сі > 0) тоді сі = 2, то в початковому масиві m зустрілися дві одиниці і в результуючий масив буде виведено дві одиниці. Припустимо:
і=і+1, якщо і?k. Перехід до наступної інтеграції: записуємо rp+1=rp, інакше сортування закінчено, вихід з циклу. Інакше ітераційно(j=j,…,n) дописуємо елементи в кінці масива. Припустимо, що і=j=1, k=k+1, якщо
j?n, перехід: записуємо rp+1=rp, думаємо р=р-1: якщо р?j записуємо rp+1=rp інакше - вихід із циклу, інакше сортування закінчено, вихід.
2. Програмна реалізації алгоритму сортування
2.1 Програмна реалізація алгоритму сортування
Рис. 2.1
2.2 Опис програмної реалізації алгоритму сортування проста вставка
простий вставка масив ітерація
При розробці даної програми використовувався цикл вводу масиву, за допомогою генератора випадкових чисел.
Далі у програмі йде цикл обліку ітерації масивів, після якого йде проведення ітерацій. В циклі йде процес елементів масиву, а потім йде процес змін елементів масиву при заданій умові.
Потім після проведення розрахунків йде виведення відсортованого масиву.
2.3 Опис отриманих результатів
В якості вихідних даних в нас було задано вихідний масив, який ми повинні були відсортувати за допомогою програми Turbo Pascal.
Рис. 2.2
З отриманих результатів у програмі Pascal можна зробити висновок що програма працює, тому що задані масиви були відсортовані.
3. Оцінка трудомісткості сортування
3.1 Аналітична оцінка трудомісткості сортування
Кожен алгоритм сортування характеризується трудомісткістю, яка являє собою Т(n) числа елементів n=n+1 масиву що сортується. При оцінці трудомісткості алгоритм сортування в першому наближені прийнято до уваги тільки кількість операцій порівнянь, що потребують для повного сортування масиву. Трудомісткість алгоритмів залежить не тільки від числа елементів масиву, що підлягають сортуванню, ай ще від інших характеристик. Для всіх алгоритмів обов'язкова степінь упорядкованості масиву - чим вона більше, тим трудомісткість менша.
Алгоритм проста вставка. Трудоємність даного алгоритму залежить від параметра х.
Т1(х):=0,75x2
Алгоритм лічильник
Трудоємність даного алгоритму залежить від параметра х,k.
T2(x,k):=2(x+k)
Алгоритм бульбашка. Трудоємність даного алгоритму залежить від параметра х.
Т3(х):= x2
Алгоритм злиття. Трудоємність даного алгоритму залежить від параметра х.
Т4(х):=5х
3.2 Графічне представлення оцінки трудомісткості сортування
Рис. 3.1
3.3 Аналіз отриманих результатів
З отриманих результатів можна побачити, що трудомісткість даної програми залежить від функції Т1(х):=0,75x2.
Підставивши кількісне значення цілей у формулі отримали: Т1(20):=300.
Я отримав друге по величині значення, тому трудомісткість моєї програми не є найкраща.
Порівнявши свої отримані результати з даними інших алгоритмів та проаналізувавши їх, я мушу сказати, що для вирішення нашої задачі доцільно буде використовувати алгоритм сортування «Лічильник». Тому, що саме за допомогою цього алгоритму ми отримали найменше значення.
Висновки
В процесі виконання курсової роботи я отримав навички, як за допомогою ЕОМ підготувати та вирішити розрахункові задачі військового та прикладного характеру.
Моїм завданням було:
Скласти і описати блок схему алгоритму проста вставка, скласти на мові Pascal і описати програму проста вставка, одержати аналітичний вираз оцінки трудомісткості алгоритму проста вставка, і з використанням засобів пакету MathCad побудувати графіки зміни трудомісткості алгоритму проста вставка залежно від числа цілей.
В ході складання алгоритму ніяких спеціальних підпрограм використано не було. Отримані результати повністю співпадають з фізичною суттю задачі, а поведінка функції спостерігається на графіку.
На основі розробленого алгоритму вирішення задачі був складений текст програми. Цей програмний продукт дозволяє з високою точністю та за короткий час отримати результати розв'язання даної задачі.
Список використаних джерел
1. Вычислительная техника и программирование. Учебное пособие. Под ред. Е.И. Бобыра, ХВУ 1994 г.
2. В.Е. Климнюк, А.А. Попеленко. Вычислительная техника и программирование. Сборник задач. ХВУ,1994г.
3. Д.П. Лабенко, В.А. Толстохатько. Вычислительная техника и программирование. Методические рекомендации по выполнению курсовой работы. ХВУ, 1996 г.
4. Навчальний посібник. Толстохатько В.А та ін. Застосування персональних ЕОМ для розв'язання військово-прикладних задач. Частина1. Використання персональних ЕОМ для розв'язання оперативно-тактичних задач. Харкі: ХВУ, 2002.
5. Конспект лекцій., Молодожонов С.М., Федотенков А.Н. Применение персональних микро-ЭВМ для решения военно-прикладных задач. - Харків: ВІРТА, 1991.
6. Додаткові матеріали,Федотенков А.Н. Применение персональных микро-ЭВМ для решения военно-прикладных задач. Инструментальный пакет программ Norton Commander.-Харків: ВІРТА, 1991.
7. Навчальний посібник. Бобыр Е.И и др. Вычислительна техника и программирование. Харків:ХВУ,1994.
8. Підручник для ВНЗ. Симонович С.Вю и др. Информатика. Базовый курс.-СПб.: Питер, 2001.
Размещено на Allbest.ru
Подобные документы
Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.
курсовая работа [1,3 M], добавлен 23.06.2010Засвоєння засобів аналізу трудомісткості обчислювальних алгоритмів. Побудова графа алгоритму з отриманої блок-схеми. Мінімізація графа, його подання у вигляді стохастичної матриці. Знаходження кількості звернень до файлів за допомогою Microsoft Excel.
лабораторная работа [681,5 K], добавлен 02.06.2011Дослідження етапів розробки програмної реалізації криптографічного алгоритму RC5. Опис об'єкту, що потребує захисту: операційне середовище, тип програмного забезпечення. Блок-схема алгоритму функціонування програми криптозахисту. Листінг тесту програми.
курсовая работа [4,4 M], добавлен 28.10.2010Розгляд основ сучасної технології підготовки та рішення на електронних обчислювальних машинах розрахункових задач військового та прикладного характеру. Побудова блок схеми, програмної реалізації алгоритму сортування. Оцінка трудомісткості сортування.
курсовая работа [301,5 K], добавлен 08.07.2015Загальна характеристика застосування верстатів з числовим програмним управлінням. Разгляд етапів та особливостей складання керуючої програми. Вимоги до алгоритму розв’язку задачі. Побудова блок-схеми алгоритму. Опис програмного забезпечення, вибір мови.
курсовая работа [1,4 M], добавлен 24.05.2015Особливості понять "цифра" и "число". Знакова система оброки інформації комп’ютером. Файл - сукупність байтів, записана на пристрій зберігання інформації. Сутність і властивості алгоритму. Схема - графічне подання алгоритму за допомогою зв’язаних блоків.
лекция [185,0 K], добавлен 03.10.2012Основні розрахунки резисторів мікросхеми. Розробка алгоритму рішення задачі методом блок-схем. Характеристика та розробка програми на мові С++ з використанням принципів модульного і структурного програмування. План тестування і налагоджування програми.
курсовая работа [2,9 M], добавлен 05.12.2012Алгоритмічна мова програмування універсального призначення Turbo Pascal. Розробка і створення програми для гри "Шибениця". Алгоритм функціонування программи, блок-схема алгоритму. Використання додаткових модулів Graph та Crt у процессі створення програми.
курсовая работа [2,0 M], добавлен 23.06.2010Розробка, налагоджування, тестування і документування програми на мові високого рівня С++ при рішенні на комп'ютері прикладної інженерної задачі. Використання принципів модульного і структурного програмування, зображення алгоритму у вигляді блок-схеми.
курсовая работа [1,1 M], добавлен 07.08.2013Програмна реалізація алгоритму пошуку найкоротшого шляху між двома будь-якими вершинами графа. Загальні відомості про графи. Особливості роботи в середовищі. Опис структури програми та програмних засобів. Схема програмної реалізації алгоритму Дейкстри.
курсовая работа [676,7 K], добавлен 20.03.2011