Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Аналіз всіх можливих варіантів виконання алгоритму залежно від конкретних значень вихідних даних



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

Перед тим, як розглянути приклади розробки алгоритму, звернемо увагу на різницю між алгоритмом та математичним розв’язанням завдання.

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

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

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

Приклад 4. Дан одномірний числовий масив з n елементів. Знайти максимальний елемент MAX масиву.

Логіка розв’язання завдання така. Треба взяти перший елемент масиву та розглядати його як максимальний. Далі взяти другий елемент і порівняти з першим. Якщо він буде більшим, вважати його максимальним елементом і перейти до третього елемента. Якщо другий елемент буде меншим за обраний максимальний, просто перейти до третього елемента і продовжувати роботу, поки не будуть переглянуті всі n елементів масиву.

Запишемо алгоритм.

10 Ввести розмірність n масиву;

20 Ввести елементи а(і) масиву ( 1 <=i<=n);

30 Взяти і рівним1;

40 Прийняти як MAXзначення а(і) (на першому кроці і= 1 );

50 Збільшити і на одиницю (перехід до наступного елементу масиву);

60 Якщо i не більше n, йти на 70, інакше йти на 80 (умова перегляду всіх елементів масиву);

70 Якщо а(і) більшеMAX, прийняти а(і) як MAX та йти на 50, інакше просто йти на 50;

80 Вивести значення MAX;

90 Закінчити роботу.

Тут приписи перенумеровані (з інтервалом 10) для зручності посилання на них. Певні пояснення приписів подані курсивом.

До речі, перелічені приписи можуть бути ще більш розгорнуті. Наприклад, під час вводу розмірності масиву можна передбачити перевірку числа n (воно повинне бути цілим та додатним). Можна розгорнути також приписи вводу та виводу.

Приклад 5. Обчислити суму S , (S =1+2+3+...+ n).

Розрахунок суми не викликає ніяких труднощів, якщо n є заданим. Але ж алгоритм, відповідно до вимоги його масовості, має працювати незалежно від конкретного значення n. Інакше кажучи, він має бути розроблений для будь-якого значення n.

Ідея розробки алгоритму полягає у визначенні наступного значення суми через попереднє. А це виконується приписом S=S+i, який можна прочитати так: наступне значення суми дорівнює поточному значенню, збільшеному на наступний доданок i.

Відповідно до цієї ідеї запишемо алгоритм рішення завдання.

10 Ввести значення n;

20 Задати початкове значення суми S =0;

 
30 Задати i рівним 1;

40 Додати до S значення i;

50 Збільшити і на одиницю;

60 Якщо i не більше n, йти на 40, інакше йти на 70;

70 Вивести значення S;

80 Закінчити роботу.





Дата публикования: 2015-01-23; Прочитано: 364 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...