Алгоритмізація

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Основним у процесі програмування є розробка алгоритму. Це один з найбільш складних етапів вирішення задачі з використанням ЕОМ. На початку навчання програмуванню, на наш погляд, доцільно не прив'язуватися відразу до будь-якій мові, розробляти алгоритми без запису на ЯПВУ, а, наприклад, за допомогою блок-схем або іншим аналогічним способом. Після такої "чистої" алгоритмізації учням або студентам простіше перейти до запису того ж алгоритму певною мовою програмування. У цій публікації продемонстрований саме такий підхід.

Нагадаємо, що основними алгоритмічними структурами (ОАС) є слідування, розвилка і цикл. У більш складних випадках використовуються суперпозиції (вкладення) ОАС.

Нижче наведено графічні позначення (позначення на блок-схемах) ОАС.

Алгоритмізація
Структура "проходження"

Алгоритмізація
Повна розвилка

Алгоритмізація
Неповна розвилка

Алгоритмізація
Цикл з передумову (цикл ПОКИ)

Алгоритмізація
Цикл з постусловіем (цикл ДО)

Алгоритмізація
Цикл з параметром

На схемах СЕРІЯ позначає один або кілька будь-яких операторів; УМОВА є логічне вираження (ЛВ) (якщо його значення ІСТИНА, перехід відбувається за гілки ТАК, інакше - за НІ). На схемі циклу з параметром використані позначення: ПЦ - параметр циклу, НЗ - початкове значення параметра циклу, КЗ - кінцеве значення параметра циклу, Ш - крок зміни параметра циклу.

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

У прикладах ми будемо використовувати запис алгоритмів за допомогою блок-схем і словесний опис.

Лінійні алгоритми

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

Приклад 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, додається до суми.

Алгоритмізація

1. Ввести e

2. S: = 0

3. A: = 1 / 4

4. n: = 3

5. Порівняти А з e. Якщо A> = e, перехід до п. 10

6. S: = S + A

7. A: = (n-1) / (n * n)

8. n: = n + 1

9. Перехід до п. 5

10. Висновок S

11. Кінець

У розглянутих вище прикладах кількість повторень заздалегідь невідомо. У першому воно залежить від кількості цифр у запису натурального числа, у другому - від числа e.

У тих же випадку, коли кількість кроків відомо з умови задачі, простіше і краще використовувати цикл з параметром.

Приклад 3. Знайти добуток першого k натуральних чисел, кратних трьом.

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

Алгоритмізація

1. Введення k

2. P: = 1 {тут накопичуємо твір}

3. T: = 0 {тут будуть числа, кратні 3}

4. I: = 1

5. Якщо I> k, перехід до п. 10

6. T: = T + 3

7. P: = P * T

8. I: = I + 1

9. Перейти до п. 5

10. Висновок P

11. Кінець

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

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
10.1кб. | скачати


Схожі роботи:
Алгоритмізація навчання
Алгоритмізація завдань
Алгоритмізація та програмування
Інформатика Алгоритмізація та програмування
Алгоритмізація і програмування процесів на Fox
Алгоритмізація і програмування розгалужуються процесів
Алгоритмізація процесу навчання молодших школярів
Алгоритмізація і програмування процесів обробки даних у середовищі СУБД типу Fox
Електронне портфоліо вчителя інформатики орієнтоване на тему Алгоритмізація в базовому курсі
© Усі права захищені
написати до нас