Державна загальноосвітньої установи p>
Середня загальноосвітня школа № 333 p>
Тема: Основні алгоритмічні конструкції та відповідні їм конструкціїмови програмування QBasic p>
Виконала: учениця 11 класу «А» Калашникова Анна p>
Керівник: вчитель інформатики Карева І. Г. p>
Москва, 2004 рік p >
Зміст: p>
Введення. p>
Алгоритм. Властивості алгоритму. P>
Способи запису алгоритму: p>
1 Словесно-формульний спосіб p>
2 Графічний спосіб p>
3 Псевдокод p>
4 Формальні мови p>
Основні алгоритмічні конструкції p>
1 Лінійний алгоритм p>
2 розгалужених алгоритм p>
3 Циклічний алгоритм p>
Висновки p>
Список використаної літератури p>
Введення p>
Саме слово «алгоритм» виникло з назви латинського перекладу книгиарабського математика IX століття Аль-Хорезмі «Algoritmi de numero Indoru», щоможна перекласти як «Трактат Аль-Хорезмі про арифметичному мистецтвііндусів ». p>
. Алгоритми зустрічаються і в повсякденному житті, причому на кожному кроці,під назвами «інструкція», «рецепт», «метод вирішення». Однак не всякеприпис є алгоритмом. Інструкція «дій по обстановці» абовідоме зі світу казок «піди туди - не знаю куди, принеси те - не знающо »не є алгоритми, так як вони не точні, не вказують на конкретнупослідовність дій. Алгоритм повинен передбачити обробку будь-якихситуацій при його виконанні, і однозначно сказати, що робити в кожній зних. p>
Алгоритм. p>
Алгоритм - це точна послідовність приписів, виконання якихдозволяє за допомогою кінцевого числа кроків отримати рішення задачі,однозначно визначається вихідними даними p>
Властивості алгоритму. p>
При складанні і запису алгоритму необхідно забезпечити, щоб вінволодів рядом властивостей. p>
Однозначність алгоритму, під якою розуміється єдиністьтлумачення виконавцем правила побудови дій та порядок їхвиконання. Щоб алгоритм володів цією властивістю, він повинен бути записанийкомандами з системи команд виконавця. p>
Кінцівка алгоритму - обов'язковість завершення кожної дії,складових алгоритм, і завершимо виконання алгоритму в цілому. p>
Результативність алгоритму, що припускає, що виконання алгоритмуповинно закінчитися отриманням певних результатів. p>
Масовість, тобто можливість застосування даного алгоритму для вирішенняцілого класу задач, що відповідають загальній постановці завдання. Для того щобалгоритм мав властивість масовості, слід складати алгоритм,використовуючи позначення величин і уникаючи конкретних значень. p>
Правильність алгоритму, під якою розуміється здатність алгоритмудавати правильні результати вирішення поставлених завдань. p>
Ефективність - для вирішення завдання повинні використовуватися обмеженіресурси комп'ютера (процесорний час, обсяг оперативної пам'яті і т. д.). p>
Способи запису алгоритмів: p>
На практиці найбільш поширеним є такі способи представленняалгоритмів: p>
Словесно-формульний спосіб (запис на природній мові); p>
Словесно-формульний спосіб запису алгоритмів являє собоюопис послідовних етапів обробки даних. Алгоритм задається вдовільному викладі природною мовою.
Наприклад. Записати алгоритм знаходження найбільшого спільного дільника (НОД)двох натуральних чисел (алгоритм Евкліда).
Алгоритм може бути наступним: p>
1. задати два числа; p>
2. якщо числа рівні, то взяти будь-яке з них як відповідь і зупинитися, інакше продовжити виконання алгоритму; p>
3. визначити більше з чисел; p>
4. замінити більше з чисел різницею більшого і меншого з чисел; p>
5. повторити алгоритм з кроку 2. p>
Словесний спосіб не має широкого поширення, тому що такі описи: p>
V строго не формалiзуються,;
V страждають багатослівність записів;
V допускають неоднозначність тлумачення окремих приписів. p>
Графічний спосіб (з використанням графічних примітивів, блок-схем); p>
Для розробки структури програми зручніше користуватися записомалгоритму у вигляді блок-схеми (в англомовній літературі використовується термінflow-chart). Для зображення основних алгоритмічних структур і блоків наблок-схемах використовують спеціальні графічні символи. Вони наведені намалюнку: p>
Початок/кінець алгоритму p>
Блок обчислень p>
Початок (заголовок) циклу p>
Перевірка умов p>
Ввід/Вивід даних p>
псевдокоду (полуформалізованние опису алгоритмів на умовномуалгоритмічній мові, що включають в себе як елементи мовипрограмування, так і фрази природної мови, загальноприйнятіматематичні позначення та ін); p>
Псевдокод являє собою систему позначень і правил,призначену для однакової запису алгоритмів. p>
Псевдокод займає проміжне місце між природним і формальниммовами. З одного боку, він близький до звичайного природного мові, томуалгоритми можуть на нього записуватися і читатися як звичайний текст. З іншогострони, в псевдокоді використовуються деякі формальні конструкції іматематична символіка, що наближає запис алгоритму до загальноприйнятоїматематичного запису. p>
У псевдокоді не прийняті суворі синтаксичні правила для записукоманд, властиві формальним мовам, що полегшує запис алгоритму настадії його проектування і дає можливість використовувати більш широкийнабір команд, розрахований на абстрактного виконавця. p>
Однак у псевдокоді звичайно є деякі конструкції, властивіформальним мовам, що полегшує перехід від запису на псевдокоді до записуалгоритму на формальній мові. Зокрема, в псевдокоді, так само, як і вформальних мовах, є службові слова, зміст яких визначено раз іназавжди. Вони виділяються в друкованому тексті жирним шрифтом, а в рукописномутексті підкреслюються. p>
Єдиного або формального визначення псевдокоду не існує, томуможливі різні псевдокоду, що відрізняються набором службових слів іосновних (базових) конструкцій. p>
Прикладом псевдокоду є шкільний алгоритмічну мову в російськійнотації (шкільний А), описаний в підручнику А.Г. Кушніренко та ін "Основиінформатики та обчислювальної техніки ", 1991. Ця мова надалі мибудемо називати просто "алгоритмічну мову". p>
Приклад запису алгоритму на шкільному АЯ: алг Сума квадратів (АРГ цілий n, рез цілий S) дано | n> 0 треба | S = 1 * 1 + 2 * 2 + 3 * 3 + ... + N * n поч цел i введення n; S: = 0 НЦ для i від 1 до n p>
S: = S + i * i КЦ висновок "S =", S кон p> < p> Формальні мови (QBasic, Pascal і тд .). p>
Приклад: p>
'Виведення виразів за допомогою оператора PRINT p>
PRINT "Висновок чисел:"
PRINT 23.4 p>
PRINT-10.2 p>
PRINT p>
PRINT p>
PRINT "Обчислимо (10 +4) -- 4 * (2-3 '^ 2) " p>
PRINT (10 + 4) -4 * (2-3 ^ 2) p>
PRINT p>
PRINT "На закінчення об'єднаємо окремі" p>
PRINT p>
PRINT "слова в текст:" p>
PRINT "Сьогодні" + "" + "гарна" + "погода" p>
'Кінець програми p>
Основні алгоритмічні конструкції: p>
Лінійний алгоритм. p>
У алгоритмічній мові лінійним є алгоритм, що складається зкоманд, що виконуються одна за одною. Вони в записі алгоритму розташовуютьсяв тому порядку, в якому повинні бути виконані приписувані ними дії.
Такий порядок виконання називається природним. Послідовність командутворює складову команду «ланцюжок», яка в записі блок-схемою маєвигляд, наведений на малюнку 1. p>
Рис.1 Блок-схема лінійного алгоритму. p>
В математиці до лінійних алгоритмів відносяться алгоритми, представленіформулами. Вони найбільш прості для програмування. Зауважимо, щоприродний спосіб кодування формул робить програму легко прочитувані, аленерідко призводить до зайвих обчислень, тому, щоб уникнути повторнихобчислень і скоротити загальну кількість операцій виконуйте тотожніперетворення виразів. З іншого боку, треба знати, що не завждислід здійснювати оптимізацію, оскільки вона є не правилом, авинятком. Цьому є три причини, головна з яких полягає в тому, щооптимізація погіршує наочність програм, другий - вигоди від оптимізаціїповинні бути істотними і третій - сучасні системи, як правило,мають задовільні оптимізують компілятори. p>
Основні алгоритмічні конструкції: p>
розгалужених алгоритм. p>
При виконанні алгоритмів доводиться не тільки знаходити значеннявеличин, а й аналізувати їх властивості, порівнювати їх один з одним і взалежно від результату порівняння вибирати ту чи іншу гілку алгоритму.
Алгоритми, що мають кілька гілок, називаються нелінійними. До такихвідносяться розгалужуються і циклічні алгоритми. Для їх записузастосовуються складові команди. p>
Базова структура "розгалуження". Визначає виконання дій узалежності від виконання умови. Кожен з шляхів веде до загального виходу,так що робота алгоритму буде продовжуватися незалежно від того, який шляхбуде обраний.
| Мова QBasic | Мова блок-схем |
| Неповна | |
| IF Умова THEN дії | |
| Повне | |
| IF Умова THEN дії 1 | |
| ELSE дії 2 | | p>
Приклад алгоритму розгалуження на алгоритмічній мові QBasic: p>
INPUT «1 або 2?»
IF = 1 OR I = 2 THEN
PRINT "Ок"
ELSE
PRINT "За межами діапазону"
END IF p>
Основні алгоритмічні конструкції: p>
Циклічний алгоритм. P>
повторюється виконання дій (груп дій), що залежить відвиконання умови, називається циклом. p>
Будь-який цикл складається з трьох частин: початку, перевірки і тіла циклу.
Початок - завжди перша частина циклу. Головна його функція - підготувати цикл.
Перевірка визначає момент виходу з циклу. P>
Базова структура "цикл". Забезпечує багаторазове виконаннядеякої сукупності дій, яка називається тілом циклу. Основнірізновиди циклів представлені в таблиці:
| Мова QBasic | Мова блок-схем |
| Цикл типу поки що. |
| Do Until умова | |
| тіло циклу (послідовність дій) | |
| Loop | |
| Do While умова | |
| тіло циклу (послідовність дій) | |
| Loop | |
| Цикл типу для. |
| For i = i1 to i2 | |
| тіло циклу (послідовність дій) | |
| Next i | | p>
Приклад алгоритму цикл на алгоритмічній мові QBasic: p>
FOR I = 1 TO 15
PRINT I
NEXT I p>
FOR I = 7 TO -6 STEP -3
PRINT I
NEXT I p>
I = 0
PRINT «Значення I на початку одно»; I
DO WHILE I p>