Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основні теоретичні відомості. Завдання на лабораторну роботу




Завдання на лабораторну роботу

Мета роботи

Лабораторна робота № 7 Вивчення методів сортування

Контрольні запитання

Перевантаження функцій

Мета перевантаження функцій складається в тому, щоб функція із одним ім’ям по-різному виконувалася та повертала різні значення при звертанні до неї із різними за типом та кількістю фактичними параметрами.

Для забезпечення перевантаження функцій необхідно для кожного імені визначити скільки різних функцій пов’язано з ним, тобто скільки варіантів сигнатур є допустимими при зверненні до них. Будемо вважати, що функція вибору максимального значення елемента із масиву має працювати для масивів типу int, long, float, double. В цьому випадку треба написати чотири різні варіанти функції з одним ім’ям.

int max (int a, int b);

float max (float a, float b);

char max (char a, char b);

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

1. Що таке блок?

2. Що таке функція на мові С(С++)? Для чого вона застосовується?

3. Опишіть механізм передачі параметрів у функцію.

4. Як використовується оператор return у функції?

5. Що ми маємо на увазі, коли говоримо про тип функції?

6. Чим відрізняються прототип, визначення і виклик функції?

7. Які можливо передати параметри до функції main()?

8. Що таке перевантаження функцій? Для чого воно застосовується?

9. Навести приклади прототипів перевантажених функцій із сигнатурами, що розрізняються за кількістю аргументів і за типом аргументів.


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

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

1. Ознайомитися з методами сортування масивів.

2. Написати функції до двох методів сортування (за вибором викладача). Використати перевантаження функцій для сортування масивів з елементами типів int, char, float; використати динамічну пам’ять.

3. Сформувати послідовності з

а) 5000 випадкових чисел;

б) 10000 випадкових чисел.

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

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

6. Одержані результати звести у таблицю (у програмі).

7. Оформити та захистити звіт.

Існує досить багато різних методів сортування, основними з яких є:

а) метод вибору;

б) метод „пузирька”;

в) метод вставок;

г) метод підліку;

д) метод Шелла;

Коротко зупинимось на деяких з них.

Сортування методом вставки (by insection)

Елементи масиву починаючи з другого послідовно додаються у необхідне місце вже упорядкованого масиву, що розташований зліва від поточного елементу a[i]. Позиція включення заздалегідь не відома. Вона визначається порівнянням a[i] з a[i-1], a[i-2] доколи не буде знайдений лівий кінець масиву. Приклад.

 

const n=10;

int a[n], x, i,j;

…..

for(i=0;i<10;i++){

x=a[i];

j=i;

while(x<a[j-1]){

a[j]=a[j-1]; j--;

}

a[j]=x;

}

…..

 

res (початок)   2 1 8 5
res (i = 1)     1 8 5
res (i = 2)       8 5
res (i = 3)         5
res (i = 4)          

Відсортований масив res = {1, 2, 4, 5, 8}.

 




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 335; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.