Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Програма Практичні ОП 11-12 І семестр.doc
Скачиваний:
16
Добавлен:
22.11.2018
Размер:
763.9 Кб
Скачать

План виконання роботи:

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

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

3. Побудувати блок-схему алгоритму вирішення поставленого завдання.

4. Створити файл вихідного коду програми.

Теоретичні відомості:

Метод бінарного пошуку заснований на ідеї, що якщо числа у масиві впорядковані, ми можемо відкинути половину з них після порівняння шуканого значення з числом із середини масиву. Якщо вони рівні то пошук пройшов успішно, якщо шукане число менше, то слід застосувати той самий метод до лівої частини масиву, якщо більше – то до правої.

Якщо значення key співпадає зі значенням середнього елемента mas[m] підмножини масиву, виводиться індекс шуканого значення (поточного елементу). Це вказує на те, що значення знайдено і пошук завершений. Якщо значення key не співпадає зі значенням середнього елемента підмножини масиву (з індексом m), індекс l або r змінюються для виділення меншої підмножини масиву. Якщо значення key менше значення середнього елемента, для індекса r встановлюється значення m 1, і пошук продовжується для елементів з індексами від l до m 1. Якщо значення key більше значення середнього елемента, для індекса l встановлюється значення m + 1, і пошук продовжується для елементів з індексами від m + 1 до r. Операції порівняння виконуються за допомогою вкладеної структури if/else.

#include <iostream.h>

#include <conio.h>

int main(){

clrscr();

const int n=10;

int mas[n]={11,22,33,44,55,66,77,88,99,100}, l=0, r=n-1,m,key, ;

bool nf=true;

cout<<"Zapolnenniy massiv:\n";

for(int i=0;i<n;i++) cout<<mas[i]<<" ";

cout<<endl<<endl;

cout<<"Enter searching key:";

cin>>key;

while(l<=r){

m=(l+r)/2;

if (key==mas[m]) {

nf=false;

cout<<"\nindex "<<m<<" znachenie "<<mas[m];

break;}

else if (key<mas[m])r=m-1;

else l=m+1;

}

if(nf) cout<<"\nKey isn't found, try another key.";

getch();

return 0;

}

Індивідуальні завдання

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

Вимоги до оформлення програми:

  1. Програма має містити назву (у вигляді коментарів);

  2. На екран обов’язково повинні виводитись дані:

    1. номер варіанту завдання;

    2. прізвище, ініціали та номер групи студента, що створив програму.

Вимоги до звіту:

  1. Звіт повинен бути оформлений на аркуші А4 з дотриманням стандартних вимог.

  2. Звіт повинен містити:

    1. Теоретичні відомості;

    2. Формалізацію поставленого завдання;

    3. Блок-схему алгоритму вирішення поставленого завдання;

    4. Лістинг програми створеної на лабораторній роботі;

    5. Результат виконання програми.

    6. Висновки.

Критерії оцінок знань студентів

Лабораторні роботи оцінюються за чотирибальною системою:

  1. Оцінка “відмінно” ставиться в тому випадку, коли студент знає весь матеріал з навчальної програми, відмінно розуміє і міцно засвоїв його, на питання (в межах програми) дає правильні, свідомі і впевнені відповіді, для практичного застосування матеріалу – вміє користуватись отриманими знаннями, в усних і письмових відповідях посилається на літературні джерела, користується літературною мовою і не допускає помилок.

  2. Оцінка “добре” ставиться в тому випадку, коли студент знає весь матеріал навчальної програми, добре зрозумів і міцно засвоїв його, на питання (в межах програми) дає відповіді без труднощів, для практичного застосування матеріалу – вміє користуватись отриманими знаннями, в усних і письмових відповідях посилається на літературні джерела, користується літературною мовою, допускає незначні помилки.

  3. Оцінка “задовільно” ставиться в тому випадку, коли студент виявляє знання основного програмного матеріалу, в застосуванні знань на практиці зазнає деяких труднощів і долає їх за допомогою викладача, в усних відповідях допускає помилки у викладі матеріалу і побудові речень, у письмових роботах робить помилки.

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