Основним у процесі програмування є розробка алгоритму. Це один з найбільш складних етапів вирішення задачі з використанням ЕОМ. На початку навчання програмуванню, на наш погляд, доцільно не прив'язуватися відразу до будь-якій мові, розробляти алгоритми без запису на ЯПВУ, а, наприклад, за допомогою блок-схем або іншим аналогічним способом. Після такої "чистої" алгоритмізації учням або студентам простіше перейти до запису того ж алгоритму певною мовою програмування. У цій публікації продемонстрований саме такий підхід.
Нагадаємо, що основними алгоритмічними структурами (ОАС) є слідування, розвилка і цикл. У більш складних випадках використовуються суперпозиції (вкладення) ОАС.
Нижче наведено графічні позначення (позначення на блок-схемах) ОАС.
|
|
|
|
|
|
На схемах СЕРІЯ позначає один або кілька будь-яких операторів; УМОВА є логічне вираження (ЛВ) (якщо його значення ІСТИНА, перехід відбувається за гілки ТАК, інакше - за НІ). На схемі циклу з параметром використані позначення: ПЦ - параметр циклу, НЗ - початкове значення параметра циклу, КЗ - кінцеве значення параметра циклу, Ш - крок зміни параметра циклу.
Початок і кінець алгоритму на блок-схемах позначають овалом, що вводяться і виводяться змінні записуються в параллелограмме.
У прикладах ми будемо використовувати запис алгоритмів за допомогою блок-схем і словесний опис.
Лінійні алгоритми
Найпростіші завдання мають лінійний алгоритм рішення. Це означає, що він не містить перевірок умов і повторень.
Приклад 1. Пішохід йшов по пересіченій місцевості. Його швидкість руху по рівнині v1 км / год, в гору - v2 км / год і під гору - v3 км / ч. Час руху відповідно t1, t2 і t3 ч. Який шлях пройшов пішохід?
1. Ввести v1, v2, v3, t1, t2, t3. 2. S1: = v1 * t1. 3. S2: = v2 * t2. 4. S3: = v3 * t3. 5. S: = S1 + S2 + S3. 6. Вивести значення S. 7. Кінець. |
Для перевірки працездатності алгоритму необхідно задати значення вхідних змінних, обчислити кінцевий результат за алгоритмом і порівняти з результатом ручного рахунку.
Приклад 2. Дано натуральне тризначне число n, у записі якого немає нулів. Скласти алгоритм, який повертає значення ІСТИНА, якщо вірно твердження: "число n кратно кожній своїй цифрі", і БРЕХНЯ - у противному випадку.
1. Ввести число n 2. A: = n mod 10 {розряд одиниць} 3. B: = n div 100 {розряд сотень} 4. C: = n div 10 mod 10 {десятки} 5. L: = (n mod A = 0) and (n mod B = 0) and (n mod C = 0) 6. Висновок L 7. Кінець |
На наведеній вище схемі DIV і MOD відповідно операції ділення без остачі і отримання залишку від цілочисельного ділення. У фігурних дужках записані пояснення (коментарі) до операторів.
Розвилка
Досить часто те чи інше дія повинна бути виконано в залежності від значення логічного виразу, що виступає в якості умови. У таких випадках використовується розвилка.
Приклад 1. Обчислити значення функції
1. Ввести x. 2. Якщо x £ -12, то y: =- x2 3. Якщо x2 суму тих її членів, які більше заданого числа e. При вирішенні завдання перебуває черговий член послідовно і, якщо він більше e, додається до суми.
У розглянутих вище прикладах кількість повторень заздалегідь невідомо. У першому воно залежить від кількості цифр у запису натурального числа, у другому - від числа e. У тих же випадку, коли кількість кроків відомо з умови задачі, простіше і краще використовувати цикл з параметром. Приклад 3. Знайти добуток першого k натуральних чисел, кратних трьом. При складанні алгоритму врахуємо, що перше натуральне число, кратне 3, є трійка, а всі наступні більше попереднього на 3.
Інші приклади будуть записані вже на ЯПВУ. У цій же публікації зроблена спроба продемонструвати, що вивчення програмування розумно починати власне з розробки алгоритмів, не акцентуючи спочатку уваги на записи алгоритму на тій чи іншій мові програмування. У той же час автор, будучи прихильником структурного підходу до програмування, пропонує дотримуватися цього підходу і при програмуванні на рівні блок-схем. Цей текст може містити помилки. Програмування, комп'ютери, інформатика і кібернетика | Реферат Схожі роботи: Алгоритмізація навчання Алгоритмізація завдань Алгоритмізація та програмування Інформатика Алгоритмізація та програмування Алгоритмізація і програмування процесів на Fox Алгоритмізація і програмування розгалужуються процесів Алгоритмізація процесу навчання молодших школярів Алгоритмізація і програмування процесів обробки даних у середовищі СУБД типу Fox Електронне портфоліо вчителя інформатики орієнтоване на тему Алгоритмізація в базовому курсі |
написати до нас