Питання по блок-схемі циклічного алгоритму 2
Цикл з передумовою WHILE. DO 2
Приклад 1. Вивести на екран у порядку зростання всі непарні числа, менші заданого числа n. 3
Обчислення сум, творів і кількостей 3
Приклад 2. Обчислити твір парних чисел, менших заданого числа m. 3
Пошук першого об'єкта, що задовольняє заданим умовам. 4
Приклад 4. Обчислювати значення виразу 12 + 32 + 52 +. до тих пір, поки ця сума не перевищить 1000. Відповідь вивести на екран. 5
Завдання по темі «цикл while» 6
Цикл з лічильником. 6
Приклад 5. Прочитати з клавіатури число n і вивести на екран факторіали чисел від 1 до n включно. 7
Завдання по темі «цикл for» 8
Цикл з умовою поста repeat. until 9
Приклад 6. Дана непорожня послідовність цілих чисел, що закінчується числом 0. Знайти суму чисел. 9
Рішення з while 10
Приклад 6.1. Вивести на екран найбільший парний дільник двох парних чисел 10
Завдання по темі «цикл repeat..until" 11
Використання додаткових змінних 11
Завдання по темі "використання додаткових змінних" 12
Приклад 8. Знайти кількість цифр у заданому числі. Наприклад, для числа тисяча двісті тридцять дві кількість цифр 4. 13
Приклад 9. Знайти твір цифр заданого числа. 13
Завдання по роботі з цифрами числа 13
Завдання підвищеної складності. 14
Реалізація циклів в блок-схемах
Цикл - це алгоритмічна конструкція, призначена для багаторазового повторення дій.
На блок-схемі представлений приклад програми з циклом. Конструкція циклу поміщена в прямокутник блакитного кольору. Подивимося на неї уважніше і розберемося, як в цьому випадку буде працювати програма. Виконається дія 1, потім действіе2, потім буде перевірено умова 1. Якщо воно істинне, то виконуватися дії 3 і 4. Потім програма повернеться до кроку 2. Очевидно, що далі все команди, поміщені усередині прямокутника, повторяться знову, знову і знову. Це буде тривати до тих пір, поки при перевірці умови 1 не опиниться, що воно помилкове. У цьому випадку програма вийде з циклу, виконає дію 5 і закінчить свою роботу. Таким чином, на блок-схемі цикл реалізується за допомогою стрілки, що йде назад, до вже пройдених дій.
Дії, які виконуються на кожному кроці циклу, утворюють тіло циклу. Умова, одна з гілок якого реалізує вихід з циклу, називається умовою продовження циклу. На фрагменті блок-схеми, зображеному на малюнку, тіло циклу утворюють дії 2, 3, 4. Умова 1 - умова продовження циклу. Якщо виконавець підійшов до блоку "умова", і воно істинне, то дії циклу повторюються ще раз, а якщо помилково - виконавець виходить з циклу по гілці 0 і переходить до виконання дії 5, наступного після циклу. Кожен прохід виконавця по циклу називається кроком циклу.
При розробці циклічних алгоритмів необхідно звернути увагу на 3 моменти:
привласнити початкові значення всім змінним, які передбачається використовувати
продумати, що повинен робити алгоритм на кожному кроці циклу
до яких пір будуть виконуватися кроки циклу - це умова видається блоком умови, одна з гілок в кінцевому підсумку знову повертається до цього блоку умови, а інша виходить з циклу
Питання по блок-схемі циклічного алгоритму
Яке умова продовження циклу на представленої блок-схемі?
Які дії повторюються на кожному кроці циклу?
Що виведе програма, якщо буде введено n = 4?
Яке завдання вирішує представлений алгоритм?
Цикл з предусловіемWHILE.DO
Цикл з передумовою - одна з найпростіших конструкцій циклу. За форматом вона схожа на скорочену форму оператора розгалуження, тільки замість if слід писати слово while. а замість then - слово do.
Тут "умова" після слова while є умовою продовження циклу. Як умова можна записати будь-який логічний вираз. Оператор, записаний після слова do. утворює тіло циклу і виконується багаторазово, поки при перевірці «умова» продовження циклу буде істинним. Блок-схема циклу while показана на малюнку. Конструкція циклу на блок-схемі поміщена в зелений прямокутник. Зауважимо, що блок умови продовження циклу знаходиться до тіла циклу, тому цикл while називається цикл з передумовою. Ще одна назва циклу while випливає з російського перекладу - цикл «поки».
Як випливає з блок-схеми, якщо комп'ютер зустріне цикл while, він перевіряє умова, і якщо воно істинне, виконує оператор, потім знову повертається до умови. Ці дії повторюються багато разів до тих пір, поки при перевірці умова не виявиться помилковим. У цьому випадку комп'ютер переходить до виконання оператора 2, який йде після конструкції циклу на блок-схемі.
Якщо на кожному кроці циклу необхідно виконати декілька операторів, то їх потрібно об'єднати в один складений оператор, в результаті вийде конструкція виду:
Приклад 1. Вивести на екран у порядку зростання всі непарні числа, менші заданого числа n.
Виведені числа будемо зберігати в змінної i. Спочатку i: = 1, так як 1 - найменше непарне число. На кожному кроці циклу потрібно виводити значення i на екран і додавати до неї 2 - перехід до наступного непарному числу. ці оператори складають тіло циклу. Оскільки їх 2, потрібно поставити begin і end. Цикл потрібно виконувати, поки i 0doreadln (x);
Приклад 4. Обчислювати значення виразу 1 2 +3 2 +5 2 +. до тих пір, поки ця сума не перевищить 1000. Відповідь вивести на екран.
Рішення. Суму накопичуємо в змінної s. Умова продовження циклу s = кін. На кожному кроці циклу значення змінної поч зменшується на 1.
На кожному кроці циклу for виконується один оператор. Якщо потрібно виконати кілька - утворіть з них складовою оператор. наприклад розглянемо задачу.
Приклад 5. Прочитати з клавіатури число n і вивести на екран факторіали чисел від 1 до n включно.
Факторіал числа - це твір всіх чисел від 1 до цього числа, тобто k! = 1 * 2 * 3 *. * K. Багато умножений, значить необхідний цикл. Кількість повторень для обчислення n! фіксовано, крім того, потрібно множити числа, що відрізняються на 1. Значить зручно використовувати цикл for. Факторіал числа будемо зберігати в змінної f. Перед циклом f = 1. На першому кроці циклу помножимо f на 1. Це 1! Відповідь відразу потрібно вивести на екран, так як за умовою потрібно вивести всі факторіали. Далі потрібно помножити на 2, отримаємо 2. далі на 3 і т.д. У циклі for лічильник якраз на кожному кроці збільшується на одиницю, тому для зберігання чисел, на які множимо, не потрібно спеціальної змінної - використовуємо лічильник. Назвемо лічильник i. Початкове значення лічильника вказується в заголовку циклу for: i: = 1, кінцеве значення n. На кожному кроці циклу множимо f на i (f: = f * i) і виводимо його на екран.
Завдання по темі «цикл for»
Прочитати число n і вивести на екран n!
Прочитати з клавіатури число n і вивести на екран n раз слово «привіт»
Прочитати з клавіатури значення змінних n і m і вивести на екран квадрати цілих чисел від n до m.
Прочитати з клавіатури значення n і вивести на екран всі парні числа, не великі 2 * n.
Вивести на екран перші 20 натуральних чисел в порядку убування, тобто 20 19 18, ... 2 1
Завдання по варіантах.
Прочитати з клавіатури число n і вивести на екран квадрати чисел від 1 до n в порядку зростання.
Прочитати з клавіатури число n і вивести на екран суму квадратів чисел від 1 до n
Прочитати з клавіатури число n і вивести на екран квадрати чисел від 1 до n в порядку убування.
. Прочитати з клавіатури числа n і m і вивести на екран числа від n до m в порядку зростання.
. Прочитати з клавіатури числа n і m і вивести на екран твір чисел від n до m.
Прочитати з клавіатури число n. Обчислити проізеденіе чисел від 1 до n і суму чисел від 1 до n. Вивести на екран різницю між знайденої сумою і твором.
Прочитати з клавіатури число n. Далі прочитати з клавіатури n чисел і вивести на екран їх суму.
Прочитати з клавіатури число n. Далі прочитати з клавіатури n чисел і вивести на екран їх твір.
Прочитати з клавіатури число n. Далі прочитати з клавіатури n чисел і вивести на екран суму їх останніх цифр.
Прочитати з клавіатури число n. Далі прочитати з клавіатури n чисел і вивести на екран твір їх останніх цифр.
Цикл з постусловіемrepeat.until
Конструкція циклу з умовою поста така
Відповідна блок-схема показана на малюнку. Принципові відмінності від циклу while видно з особливостей конструкції і блок-схеми (конструкція циклу на блок-схемі поміщена в зелений прямокутник):
Умова перевіряється після виконання тіла циклу, таким чином, тіло циклу обов'язково виконається хоча б один раз. З цієї причини цей цикл називається циклом з умовою поста.
«Умова» насправді є умовою припинення циклу. Якщо при перевірці умови воно виявилося істинним, то виконання циклу припиняється, а комп'ютер переходить до наступного після циклу оператору. На блок-схемі це оператор 3.
Рядки "REPEAT" і "UNTILусловіе;» утворюють операторні дужки. тому між тіло цього циклу може складатися з будь-якого числа операторів. begin. end не потрібно.
В іншому особливості застосування цього циклу і підводні камені збігаються з ними ж для циклу while.
Цикли repeat. until і while цілком взаємозамінні, хоча існують ситуації, коли зручніше застосувати ту чи іншу конструкцію, враховуючи їх відмінності.
Приклад 6. Дана непорожня послідовність цілих чисел, що закінчується числом 0. Знайти суму чисел.
Оскільки чисел буде кілька, необхідно багаторазово повторювати читання числа з клавіатури і його додаток до суми. Значить, необхідний цикл. В змінної x будемо зберігати чергове число, в змінної s - суму. Зручніше використовувати цикл repeat..until, так як потрібно спочатку прочитати число (тобто виконати тіло циклу) і тільки потім перевіряти, чи не так само воно 0. Для порівняння в рамці приведено рішення задачі з циклом while. З порівняння видно, що програма з while складніше.