Съпоставяне оператор за цикъл do и оператор while
оператор doоператор while
цифра в число - оператор while
сума от цифри в число - оператор do while
сума от степени на 2 - оператор do while
И при двата цикъла do и while се следи изпълнение на логическо условие. При цикъл while проверката е в началото - цикъл с пред условие. При цикъл do проверката е в края - цикъл с пост условие.
Нека разгледаме примерна задача с цел онагледяване логиката на работа и при двата цикъла.Основната цел и на двете задачи е обработване и съпоставяне цифрите на едно естествено число.
И двете задачи следват подобни алгоритми.
Взема се последната, най дясна цифра на числото. За определяне на цифрата се ползва целочислен остатък при делене на 10.
Маха се последната цифра на числото - чрез целочислено делене на 10 и се съхранява целочисленото частно.
Тези стъпки продължават, докато числото има стойност >0.
цифра в число - оператор while
Задача 1: Имате въведено естествено число. Да се изведе най-малката и най голямата цифра в числото.Следващата програма дава решен пример за цифра в число чрез оператор while:
сума от цифри в число - оператор do while
Задача 2: Имате въведено естествено число. Да се изведе сумата от цифрите на числото.Следващата програма дава решен пример за сума от цифри в число чрез оператор while:
сума от степени на 2 - оператор do while
Да разгледаме следната примерна задача: Имаме въведено естествено число N от интервала [1..255]. Трябва да се изведат онези степени на числото 2, чиято сума е точно въведеното число.
Алгоритъм:Броят и вида на степените на 2 са точно цифрите 1 в двоичния запис на числото.
Тук ще използваме побитова операция за преместване разрядите на числото x=x<<1. Операцията е същата по резултат както x/=2, но е по-бърза.
Макрос define fl_x (1 << i) за проверка дали последната цифра в двоичния запис на числото е 1
Цикъл while за последователно делене числото на 2;
Два вложени цикъла do while:
Вътрешен цикъл do while - за проверка коректност на входни данни
Външен цикъл do while - за многократно въвеждане на входни данни
Следващата програма дава решен пример за представяне на естествено число като сума от степени на 2 чрез оператор do и while
Задачи с подобни функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени примери.