
- •Алгоритмічні мови
- •І семестр
- •Практична робота №1
- •План виконання роботи:
- •Методичні вказівки:
- •Індивідуальні завдання
- •Практична робота №2 Тема: Програмування лінійних обчислювальних процесів.
- •План виконання роботи:
- •Теоретичні відомості:
- •Методичні вказівки:
- •Індивідуальні завдання
- •Практична робота №3 Тема: Програмування розгалужених обч. Процесів. (Оператори if, if else)
- •План виконання роботи:
- •Теоретичні відомості:
- •Методичні вказівки:
- •Індивідуальні завдання:
- •Індивідуальні завдання.
- •Практична робота №4 Тема: Програмування розгалужених обчислювальних процесів. (Оператор switch)
- •План виконання роботи:
- •Теоретичні відомості:
- •Методичні вказівки:
- •Індивідуальні завдання
- •Практична робота №5 Тема: Програмування розгалужених обчислювальних процесів. (Оператор switch)
- •План виконання роботи:
- •Індивідуальні завдання
- •Практична робота №6
- •План виконання роботи:
- •Теоретичні відомості:
- •Індивідуальні завдання
- •Практична робота №7 Тема: Програмування циклічних обчислювальних процесів. Обчислення скінченних сум і добутків.
- •План виконання роботи:
- •Теоретичні відомості:
- •Індивідуальні завдання
- •Практична робота №8 Тема: Програмування циклічних обчислювальних процесів. Табулювання функції і пошук даних. Використання оператора циклу з параметром for.
- •План виконання роботи:
- •Теоретичні відомості:
- •Індивідуальні завдання
- •Практична робота №9 Тема: Програмування циклічних обчислювальних процесів. Узагальнення.
- •План виконання роботи:
- •Індивідуальні завдання
- •Практична робота №10 Тема: Програмування операцій з одновимірними масивами.
- •План виконання роботи:
- •Теоретичні відомості:
- •Індивідуальні завдання
- •Практична робота №11 Тема: Методи сортування масивів.
- •План виконання роботи:
- •Теоретичні відомості:
- •Індивідуальні завдання
- •Практична робота №12 Тема: Бінарний пошук у впорядкованих масивах.
- •План виконання роботи:
- •Теоретичні відомості:
- •Індивідуальні завдання
- •Рекомендована література.
План виконання роботи:
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;
}
Індивідуальні завдання
Скласти і виконати програму, яка методом двійкового пошуку у попередньо впорядкованому масиві шукає значення, що вводиться з клавіатури.
Вимоги до оформлення програми:
-
Програма має містити назву (у вигляді коментарів);
-
На екран обов’язково повинні виводитись дані:
-
номер варіанту завдання;
-
прізвище, ініціали та номер групи студента, що створив програму.
-
Вимоги до звіту:
-
Звіт повинен бути оформлений на аркуші А4 з дотриманням стандартних вимог.
-
Звіт повинен містити:
-
Теоретичні відомості;
-
Формалізацію поставленого завдання;
-
Блок-схему алгоритму вирішення поставленого завдання;
-
Лістинг програми створеної на лабораторній роботі;
-
Результат виконання програми.
-
Висновки.
-
Критерії оцінок знань студентів
Лабораторні роботи оцінюються за чотирибальною системою:
-
Оцінка “відмінно” ставиться в тому випадку, коли студент знає весь матеріал з навчальної програми, відмінно розуміє і міцно засвоїв його, на питання (в межах програми) дає правильні, свідомі і впевнені відповіді, для практичного застосування матеріалу – вміє користуватись отриманими знаннями, в усних і письмових відповідях посилається на літературні джерела, користується літературною мовою і не допускає помилок.
-
Оцінка “добре” ставиться в тому випадку, коли студент знає весь матеріал навчальної програми, добре зрозумів і міцно засвоїв його, на питання (в межах програми) дає відповіді без труднощів, для практичного застосування матеріалу – вміє користуватись отриманими знаннями, в усних і письмових відповідях посилається на літературні джерела, користується літературною мовою, допускає незначні помилки.
-
Оцінка “задовільно” ставиться в тому випадку, коли студент виявляє знання основного програмного матеріалу, в застосуванні знань на практиці зазнає деяких труднощів і долає їх за допомогою викладача, в усних відповідях допускає помилки у викладі матеріалу і побудові речень, у письмових роботах робить помилки.
-
Оцінка “незадовільно” ставиться в тому випадку, коли студент виявляє незнання більшої частини матеріалу, відповідає невпевнено, лише за навідними питаннями викладача, в письмових роботах часто допускає помилки, не може здійснити самостійно розрахунки.