русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Кінець.


Дата додавання: 2014-11-27; переглядів: 910.


 

У цьому прикладі використана команда повторення. Вона має вигляд

Поки <Умова> виконувати <Команда>

Виконуючи цю команду, Виконавець перевіряє, чи виконується Умова. Якщо Умова виконується, Виконавець виконує Команду, зазначену після слова виконувати і повторює перевірку Умови. і Перевірка Умови і виконання Команди повторюються доти, поки Умова істинна. Якщо Умова не виконалася, Виконавець переходить до виконання команди, що слідує за командою повторення.

У цьому ж прикладі використана ще одна команда – команда виду

Якщо <Умова> то <Команда 1> інакше <Команда 2>

Вона називається командою розгалуження. Виконуючи цю команду, Виконавець перевіряє Умову. Якщо Умова виконана, виконується Команда 1, у противному випадку виконується Команда 2. Далі Виконавець переходить до наступної команди. Відзначимо, що команда повторення, як і команда розгалуження, містять у собі інші команди.

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

Так, при виконанні алгоритму в прикладі 1.3 присутнє розгалуження, яке проте однозначно визначено умовою А < В.

3.Масовість. Алгоритми, як правило, описують хід рішення не однієї-єдиної задачі, а цілого класу однотипних задач.

Так, у прикладі 1.1 описаний алгоритм додавання будь-яких двох дробів. Одна-єдина задача, що розв'язується Виконавцем у даний момент, визначена значеннями вхідних даних A, B, C, D. Зміна вхідних даних означає рішення іншої задачі з цього ж класу задач.

Аналогічно, алгоритм приклада 1.2 будує середину будь-якого відрізка, заданого його кінцями, а в прикладі 3 за допомогою алгоритму Евкліда знаходиться НСД будь-якої пари натуральних чисел.

4. Результативність. Виконання будь-якого алгоритму повинно бути закінчене через кінцеву кількість кроків (тобто виконання кінцевого числа команд) з деяким результатом.

Так, у прикладі 1.2 результат – точка E – середина відрізка AB. Алгоритм приклада 1.5 видає результат “Рішень нема“ навіть у тому випадку, коли рівняння не має дійсних коренів, оскільки його дискримінант менше нуля.

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

Для обґрунтування правильності алгоритму Евкліда потрібно довести, що команда повторення завжди завершується і d = НСД(a, b).

1.4. Величини

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

У курсі фізики Ви вивчали закон Ома для ділянки електричної мережі, що зв'язує три фізичні величини I, U, R рівністю

U = I*R.

Тут I – сила струму, що протікає через резистор, U – спадання напруги на цьому резисторі, R – опір резистора.

Для фізика закон Ома – формула, яку можна перевірити експериментально, а також використовувати для обчислення однієї з величин по двом іншим.

Для програміста, що вирішує задачу побудови алгоритму обчислення U при заданих значеннях I та R, справа обстоїть інакше. По-перше, він має визначити таку форму представлення величин U, I, R, яка придатна для Виконавця, по-друге – представити операцію множення як алгоритм в системі команд Виконавця. Фізичний зміст величин алгоритму для програміста ніякої ролі не грає.

Алгоритм визначається не тільки задачею, але і системою команд Виконавця.

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

<ціла частина>.<дробова частина>*10<порядок>

де ціла частина, дробова частина і порядок записані в десятковій системі числення.

Приклад вхідних даних: I = 34.23*10-2, R = 581.6*103.

Така форма представлення дійсного числа називається формою з плаваючою точкою.

Результат U потрібно представити у такому ж виді. Визначення одиниць вимірювання (вольти, ампери, оми) фізик бере на себе.

Ваш алгоритм має:

· обчислити цілу частину добутку;

· обчислити дробову частину добутку;

· обчислити порядок добутку.

1.5. Типи величин

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

У далекій давнині люди стали користуватися натуральними числами. Поняття натурального числа сформувалося як результат абстрагування в задачах визначення кількості предметів або місця розташування даного предмета в ряді інших.

Раціональні числа з'явилися в задачах розподілу предмета на рівне число частин. Додатними раціональними числами користувалися ще Евклід і Піфагор.

Десяткова система числення прийшла в середньовічну Європу разом з арабськими цифрами і незабаром стала загальноприйнятою.

Значно пізніше були введені у вживання число 0 і від’ємні числа. У результаті оформилося поняття цілого числа.

Дійсні числа стали використовуватися для наближених вимірювань та обчислень.

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

У результаті розвитку геометрії, механіки, інших наук сформувалося представлення про векторні величини. На відміну від скалярної величини, значення якої визначається одним числом, векторна величина визначається декількома числовими значеннями.

Так, положення точки на площині визначається парою її координат, а швидкість руху, крім величини, визначається ще і напрямком. При русі точки в просторі її положення визначається трьома просторовими координатами і часовою координатою – часом.

Уявлення про рядкові величини сформувалося в процесі становлення інформатики як науки. Значенням рядкової величини є слово, тобто ланцюжок букв з деякого алфавіту.

Приклади літерних даних: ‘Інформатика’, ‘Algorithm’, ‘5 травня 2004 року’, ‘триста двадцять дев'ять’. Необхідність розглядати слова як дані виникає в алгоритмах обробки текстової інформації.

Ще один приклад величин, що не є числовими – так звані логічні величини. Логічна величина може приймати два логічних значення – Істина і Хибність. Детальніше цей тип величин ми розглянемо пізніше.

Нарешті, значеннями величин із приклада 1.2 є найпростіші геометричні фігури. Це приклад величин, які можна назвати геометричними.

Величини, які використовуються в алгоритмі, характеризується ім'ям, типом і значенням.

Ім'я величини ідентифікує цю величину. Програміст використовує імена для позначення величин. Виконавець алгоритму одержує доступ до даної величини за її ім’ям.

Тип величини визначає набір припустимих операцій над даною величиною, область її визначення і форму запису її значень.

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

У багатьох сучасних алгоритмічних мовах прийнято описувати усі величини, які використовуються в алгоритмі. Опис величини включає її ім'я і тип. Оскільки в алгоритмах, крім вхідних і вихідних величин, використовуються ще і допоміжні величини, їх теж потрібно описувати.

Повернемося до алгоритму приклада 1.1. Запишемо його за усіма правилами, прийнятими раніше.

 

Приклад 1.1 Продовження

Алгоритм Додавання дробів;

Вхід

A, C: Цілі числа;

B, D: Натуральні числа;

Вихід

E: Ціле число;

F: Натуральне число;


<== попередня лекція | наступна лекція ==>
Перевезти козу. | Кінець.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн