![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вкладені цикли
Цикли Розвилка Досить часто та або інша дія має бути виконана залежно від значення логічного виразу, що виступає як умова. У таких випадках використовується розвилка. Приклад 1. Обчислити значення функції
При тестуванні алгоритмів з розвилкою необхідно підбирати такі початкові дані, щоб можна було перевірити всі гілки. У приведеному вище прикладі повинно бути принаймні три тестові набори. Приклад 2. Дано натуральне число n. Якщо число непарне і його подвоєння не приведе до виходу за 32767 (двобайтове ціле число із знаком), подвоїти його, інакше — залишити без зміни. Щоб задовольнити умові подвоєння, число n має бути непарним і менше 16384.
Розглянутий приклад ілюструє неповну розвилку. Також слід зазначити, тут логічний вираз, що є умовою, містить 2 операнди. Якщо які-небудь оператори необхідно виконати кілька разів, то їх не переписують кожного разу наново, а організовують цикл. Приклад 1. Підрахувати кількість непарних цифр в записі натурального числа n. Ідея рішення. Із заданого числа вибирати з молодшого розряду цифру за цифрою до тих пір, поки воно не вичерпається, тобто стане рівним нулю. Кожну непарну цифру враховувати.
Завдання вирішене двома способами. Зліва рішення оформлене з використанням циклу з передумовою, справа — з постумовою. Приклад 2. Дана послідовність, загальний член якої визначається формулою
Обчислити при n>2 суму тих її членів, які більше заданого числа e. При рішенні задачі знаходиться черговий член послідовно і, якщо він більше e, додається до суми.
У розглянутих вище прикладах кількість повторень заздалегідь невідома. У першому воно залежить від кількості цифр в записі натурального числа, в другому — від числа e. У тих же випадках, коли кількість кроків відома з умови завдання, простіше і вигідніше використовувати цикл з параметром. Приклад 3. Знайти добуток перших к натуральних чисел, кратних трьом. При складанні алгоритму врахуємо, що перше натуральне число, кратне 3, є трійка, а всі подальші більші попереднього на 3.
Інші приклади будуть записані вже на МПВР. У даній же публікації зроблена спроба продемонструвати, що вивчення програмування розумно починати власне з розробки алгоритмів, не акцентуючи спочатку уваги на записі алгоритму на тій або іншій мові програмування. В той же час автор, будучи прихильником структурного підходу до програмування, пропонує дотримуватися цього підходу і при програмуванні на рівні блок-схем. Можливі випадки, коли усередині тіла циклу необхідно повторювати деяку послідовність операторів, тобто організувати внутрішній цикл. Така структура отримала назву циклу в циклі або вкладених циклів. Глибина вкладення циклів (тобто кількість вкладених один в одного циклів) може бути різною. При використанні такої структури для економії машинного часу необхідно виносити з внутрішнього циклу в зовнішній всі операторів, які не залежать від параметра внутрішнього циклу. Приклад вкладених циклів «для» Обчислити суму елементів заданої матриці А(5,3).
Приклад вкладених циклів «поки» Обчислити добуток тих елементів заданої матриці A(10,10), які розташовані на перетині парних рядків і парних стовпців.
Дата добавления: 2013-12-12; Просмотров: 646; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |