Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Оператор циклу з передумовою WHILEСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Цикл з передумовою використовується у випадках, коли невідома кількість повторень циклу і тіло циклу може ні разу не використовуватися. Дія оператора полягає в тому, що тіло циклу виконується до тих пір, поки значення логічного виразу є істиним (true). Як тільки значення умови стане хибне, відбувається вихід з циклу і виконуватиметься наступний оператор.
Синтаксис оператора циклу з передумовою: while <умова продовження циклу> do <оператор>;
Тут whilе <умова продовження циклу> do є заголовком циклу, <оператор> — його тілом, тілом циклу може бути операторним блоком і містити в собі будь-які оператори: циклу, вибору, присвоєння тощо. Оператор циклу з передумовою виконується за таким алгоритмом. Спочатку обчислюється умова продовження циклу, що записана в його заголовку. Якщо вона істинна, то виконується тіло циклу, інакше виконання циклу припиняється. Після виконання тіла циклу буде знову перевірена умова його продовження. Чергування виконання тіла циклу та перевірки умови продовження триває доти, доки умова не стане хибною. Згідно з синтаксисом оператора while тіло циклу є одним оператором. Для того щоб в циклі виконувалося декілька операторів, їх треба оточити операторними дужками begin...end. Оператору циклу з передумовою відповідає блок-схема. П р и к л а д: Протабулювати функцію y = Sin x на проміжку [0; 3,1], з кроком h=0,1 і обчислити середнє арифметичне (s1) значень функції більших, ніж 0,1 і менших, ніж 0,6. Program find; Uses crt; Var x,y,s,s1,h,xk:real; n:integer; Begin Clrscr; x:=0; xk:=3.1; h:=0.1; s:=0; n:=0; while x<=xk + h/2 do Begin y:=Sin(x); Writeln (x:3:1, y:6:2); If (y>0.1) and (y<0.6) then Begin s:=s+y; n:=n+1 end; x:=x+h; End; If n>0 then Begin s1:=s/n; writeln (‘Середнє =’, s1) end else writeln (‘Таких значень немає n=0’); readln end. П р и к л а д. Роздрукувати символи латинського алфавіту
Оператор циклу з післяумовою REPEAT Як і цикл із передумовою, цикл із післяумовою застосовують тоді, коли кількість ітерацій циклу є невідомою до початку його виконання. Умова завершення циклу з післяумовою записується після тіла циклу та вперше перевіряється після виконання операторів тіла. А отже, цикл з післяумовою за будь-яких обставин буде виконано принаймні один раз - в цьому і полягає його головна відмінність від циклу з передумовою. Оператор циклу REPEAT аналогічний оператору WHILE, але перевірка умови виконується після виконання тіла циклу. Оператор циклу з післяумовою виконується в тому випадку, коли тіло циклу потрібно виконати не менше одного разу і заздалегідь невідома кількість повторень. Синтаксис оператора циклу з післяумовою такий: Repeat <оператор1>;... <оператор N>; until <умова завершення циклу>; Тут repeat, until - зарезервовані слова, <оператор1>;...<операторN>; — тіло циклу; <умова завершення циклу> — деякий вираз логічного типу. Тіло циклу складають оператори, розміщені між ключовими словами repeat та until. Операторні дужки begin … end в описі циклу не використовуються. Оператор циклу з післяумовою працює за таким алгоритмом. Спочатку виконуються оператори, що входять до складу тіла циклу. Потім обчислюється умова завершення циклу. Якщо вона хибна, тіло циклу виконується ще раз, якщо результат «істинна» завершує свою роботу, і виходить із циклу. Зауважимо, що параметри циклу з післяумовою, як і циклу з передумовою, повинні змінюватись під час його виконання так, щоб не трапилось «зациклення». Для того щоб зрозуміти різницю між операторами циклу While і Repeat, переглянемо фрагмент програми, яка вираховує степінь числа 3 в діапазоні між 1 і 300
П р и к л а д: Розробити програму табулювання функції. h. Значення аргументу х змінюється в діапазоні від а до b з постійним кроком h. Program cycl; Var a,b,c,h,x,y:real; Begin Writeln (“Введіть мінімальне і максимальне значення аргументу A і B”); Readln (A, B); Writeln (“Введіть значення параметра С”); Readln (“Введіть значення кроку”); Readln (h); X:=A; Repeat If x>=c then y:=((1+x)/(1-x)+Exp(-x) else y:=((1+x)/(1-x)+Cos(x/2); Writeln (“x=”, x:4:2, “,”y=”, y:4:2); X:=x+h; {збільшуємо х на h } Until x>b; {перевіряємо умову виходу з циклу} End.
ІТЕРАЦІЙНІ ЦИКЛИ. В деяких задачах необхідно знайти послідовність значень x0, x1,…xn. Кожне наступне значення послідовності обчислюється через попереднє. Цикли, що реалізують таку послідовність наближень називаються ітераційними. Ітераційний цикл закінчується коли не виконується деяка умова. П р и к л а д. Обчислення суми ряду , yn= !. Yn= yn-1*pn, Pn=-x2/((2n-1)*2n); виконувати поки yn<= ; Program ryad; Var X,yn,pn,s,eps:real; n:integer; begin read(x,eps); s:=0;yn:=1;n:=0; while abs(yn)>=eps do begin s:=s+yn;n:=n+1; pn:=-sqr(x)/(2*n*(2*n-1)); yn:=yn*pn; end; writeln(s); end. ВКЛАДЕНІ ЦИКЛИ. Тілом циклу може бути знову циклічна структура. Такі цикли називають вкладеними. Цикл, що містить у собі інший цикл, називається зовнішним, а цикл, що міститься у тілі іншого циклу- внутрішнім. Внутріші та зовнішні цикли можуть бути циклами з параметром, постумовою та передумовою. Вкладені цикли характеризуються рівнями вкладення, зовнішній цикл має рівень –0, внутрішній –1. Параметри циклів у випадку вкладених циклів змінюються так: спочатку змінюється параметр внутрішнього циклу, набуаючи всіх своїх значень. Потім зовнішній цикл змінить значення на один крок і знову параметр внутрішнього циклу набуде всіх значень. Так триває доти, поки параметр зовнішнього циклу не набуде всіх своїх значень. П р и к л а д. Відомо, що сума квадратів a та b катетів прямокутного трикутника дорівнює квадратові гіпотенузи c: а2 + b2 = c2. Трійка чисел, котра задовольняє таку рівність, називається "піфагоровими" числами. Скласти програму визначення "піфагорових" чисел в діапазоні від 1 до 100. PROGRAM Pifagorovi_chysla; USES crt; CONST n=100; VAR a,b,c,count,cx:LONGINT; wait:CHAR; BEGIN CLRSCR; WRITELN(' Пiфагоровi числа'); count:=0; FOR a:=1 TO n DO FOR b:=a TO n DO BEGIN cx:=a*a+b*b; c:=1; WHILE (c*c<=cx) DO BEGIN IF c*c=cx THEN BEGIN count:=count+1; WRITELN('a=',a:5,' b=',b:5,' c=',c:5); END; {if} c:=c+1; END; {while} END; {for b} WRITELN; WRITE('В діапазоні від 1 до ',n:5,' знаходиться '); WRITELN(count:4,' трiйки піфагорових чисел'); END. {program} Використання операторів циклу дозволяє складати різноманітні і достатньо складні програми. Умова задачі. Знайти суму всіх натуральних чисел від 1 до 100.
Умова задачі. Перевірка коректності введення. Дано три числа, що задають величини кутів трикутника. Визначити, чи можна побудувати трикутник, що має задані кути. Якщо ні, примусити користувача ввести інші дані. Program Example_2; Uses crt; Var a,b,c: real; Begin Clrscr; Repeat Write (‘Введіть довжини сторін трикутника: ’); Readln(a,b,c); Until (a>0) and (b>0) and (c>0) and (a+b+c)=180; End.Умова задачі. Дано натуральне число N. Визначити кількість цифр в числі. Program Example_3; Uses crt; Var N: longint; Counter: integer; Begin Clrscr; Write (‘Введіть число: ’); Readln(N); Counter:= 0; While N > 0 do Begin Counter:=Counter+1; {Підрахунок кількості цифр} N:=N div 10; {Відкидання останньої цифри} End; Writeln(‘Кількість цифр у заданому числі дорівнює’, N); Readkey; End.Контрольні запитання: 1. Що таке цикл і як він працює? 2. Які види циклів існують і чим вони відрізняються? 3. Що таке цикл з передумовою і післяумовою? Чим вони відрізняються? 4. Які різновиди циклу FOR існують? 5. Що таке тіло циклу? Коли відбувається вихід з нього? Домашні самостійні завдання: 1. Скласти блок-схему та написати програму на мові Pascal: 2. Знайти суму всіх натуральних чисел від 1 до 100. 3. Перевірка коректності введення. Дано три числа, що задають величини кутів трикутника. Визначити, чи можна побудувати трикутник, що має задані кути. Якщо ні, примусити користувача ввести інші дані. 4. Дано натуральне число N. Визначити кількість цифр в числі.
Лабораторнаробота № 9
|
||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-13; просмотров: 459; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.10.18 (0.011 с.) |