Оператор циклу з передумовою

Використовується в випадку неозначеності кількості повторів. Умова закінчення циклу перевіряється перед виконанням циклу.

Формат:

While <умова> do <оператор>;

<умова>- логічний вираз

<оператор> -тіло циклу. Може бути простим або складним оператором.

 

Алгоритм виконання:

1) Визначається значення <умова>.

2) Якщо результат істина, то виконується <оператор>.В протилежному випадку цикл завершується.

3) Після виконання <оператор>дії повторюються з кроку 1).

Таким чином, цикл повторюється до тих пір, поки значення <умова>буде істина.

Щоб оператор працював вірно, необхідно щоб в тілі циклу змінювались елементи, що входять до виразу <умова>.

 

 

Оператор циклу з післямовою

 

Використовується в випадку неозначеності кількості повторів. Умова закінчення циклу перевіряється після виконання циклу. Тому тіло циклу виконується хоча б один раз.

Формат:

Repeat

<оператор 1>;

.

.

<оператор n>

until <умова>;

<умова> -логічний вираз

<оператор1> . . <оператор n> -тіло циклу.

 

Алгоритм виконання:

1) Виконуються оператори тіла циклу.

2) Визначається значення <умова>.

3) Якщо результат не істина, то перехід до дії 1).В протилежному випадку цикл завершується.

Таким чином, цикл повторюється до тих пір, поки значення <умова>буде не істина.


Розробка програм реалізації циклічних алгоритмів.

 

Приклад 1.Вивести послідовно числа від 150 до вказаного меншого числа в зворотному порядку.

 

       
 
   
PROGRAM chisla; var x,i:byte; {x - значення, що вводиться i - змінна циклу} begin write ('введи ціле число, менше 150'); readln(x); for i:=150 downto x do write (i:5); end.  
 


Приклад 2.Знайти суму десяти введених значень.

 

 

       
 
   
PROGRAM suma; var x,s:real; i:byte; {x - значення, що вводиться s - сума введених значень i - змінна циклу} begin s:=0; for i:=1 to 10 do begin write ('введи наступне значення'); readln(x); s:=s+x; end; writeln ('Сума введених значень = ',s:10:2); end.  
 

 


 

Приклад 3.Вводиться послідовність символів. При введенні символу ´П´ - вивести своє прізвище, при введенні символу ´І´ - ім´я, при введенні символу ´к´ - завершити роботу.

 

       
 
   
  PROGRAM Dann; var c:char; {c - символ, що вводиться} begin repeat write (‘Введи символ (для заверш.роботи символ к)’); readln c; case c of ’П’,’п’: writeln (’Iванов’); ’I’,’i’: writeln (’Іван ’); end; until c=’к’; end.  
 

 

 


 

Приклад 4.Знайти найбільше значення функції Y=2sin(X+3)+2X на проміжку [10,100] в точках з кроком 10.

 

       
   
  PROGRAM Funk; var X,Y: max:real; begin X:=10; Max:=2*sin(X+3)+2*X; While X<= 100 do Begin Y:= 2*sin(X+3)+2*X; If Y>max then Max:=Y; X:=X+10; End; Writeln (‘Максимальне значення функції ‘,max:7:2); end.  
 
 

 


Приклад 5.Знайти кількість цифр в заданому числі.

       
 
   
Program chislo; {Сума цифр заданого числа} var x,S:integer; begin write ('Введи чисдо'); readln (x); S:=0; while x<>0 do begin S:=S+x mod 10; x:=x div 10; end; writeln ('Сума цифр заданого числа = ',S:5); readln; end.    
 

 

 


Приклад 6.Вивести всі трьохзначні числа у яких крайні цифри однакові.

       
 
   
Program chislo; var k,m,n:integer; begin for k:=1 to 9 do for m:=0 to 9 do for n:=0 to 9 do if k=n then writeln (k*100+m*10+n:5); readln; end.  
 

 

 


Завдання для самоперевірки.

 

1. Який з операторів реалізації циклічних процесів краще використати, якщо відома кількість повторів.

2. Який з операторів реалізації циклічних процесів краще використати, якщо відомо, що повтори потрібно завершити при натисканні деякої клавіші.

3. Який з операторів реалізації циклічних процесів краще використати, якщо відома, що повтори потрібно завершити коли змінна набуде деякого значення.

4. В операторі for параметр циклу повинен бути якого типу?

5. Що являється умовою завершення циклу в операторі repeat ?

6. Скільки разів буде виконано цикл For i:=1 to 1 do writeln (‘День добрий!’);

7. Визначити Y. Y:=1; For i:=1 to 5 do if i<4 then inc(y);

8. Що являється умовою завершення циклу в операторі while ?

9. Скільки разів буде виконано цикл While true do writeln (‘День добрий!’);

10. Що являється умовою завершення циклу в операторі for ?

11. Розробити програму, яка визначає кількість позитивних, негативних і нульових значень в послідовності 15 заданих чисел.

12. Розробити програму, яка визначає факторіал заданого числа.

13. Розробити програму, яка визначає мінімальне введене значенні при вводі послідовності цілих чисел. Введення завершується при вводі числа -77.

14. Розробити програму, яка визначає всі натуральні дільники заданого числа.

15. Розробити програму, яка визначає чи є задане ціле число простим.

16. Розробити програму, яка знаходить кількість цифр заданого натурального числа.

17. Розробити програму, яка виводить всі трьохзначні натуральні числа у яких середня цифра є нуль.

18. Розробити програму, яка знаходить суму членів ряду . N = 20.

19. Розробити програму, яка знаходить суму перших десяти членів ряду .

20. Розробити програму, яка знаходить суму для заданого n.

Процедурно-орієнтоване програмування .Допоміжні алгоритми

1) Загальна характеристика допоміжних алгоритмів.

2) Глобальні та локальні описи.

3) Упереджуючий опис підпрограм.

4) Функції.

5) Процедури.

6) Передача в підпрограму структурованих типів даних.

 

 

Допоміжні алгоритми - це алгоритми, які описані окремо і можуть бути використані не одноразово. Їх використання дає змогу запобігти повторних записів однакових серій операторів.

В мові Pascal допоміжними алгоритмами (підпрограми) можуть бути процедури та функції. У програмі процедури і функції задаються описами, які розміщуються в описовій частині.

Структура підпрограми така ж як і програми: вони складаються з заголовку і блоку.

Підпрограма повинна мати засіб для обміну даними між нею і програмою, що її викликає. Таким засобом є формальні параметри, які описуються в заголовку. За допомогою формальних параметрів можна передавати в підпрограму дані і отримувати їх нові значення. Параметрами можуть бути параметри-значення, параметри-змінні (перед ними повинно стояти слово VAR), параметри-процедури (перед ними ставиться слово PRОCEDURE), параметри-функції ( перед ними ставиться слово FUNCTIЇN).

Для кожного формального параметра вказується:

- ключове слово (VAR, PRОCEDURE, FUNCTIОN), якщо воно потрібно,

- ім´я параметра,

- символ ":" та його тип.

Описи параметрів відділяються між собою символом ";".

Якщо програма, що викликає, повинна отримати результат, який визначається в підпрограмі, то такий параметр повинен бути описаний як параметр-змінна.

Виклик підпрограми має формат:

< ім’я підпрограми > [ (< список фактичних параметрів >) ];

Елементи списку відокремлюються символом ",". Між формальними та фактичними параметрами повинна бути взаємна відповідність: кількість їх повинна бути однакова, однаковий порядок слідування, тип кожного фактичного параметру повинен співпадати з типом відповідного формального параметру.

 

Глобальні та локальні описи

Глобальні константи, типи, змінні - це ті, що оголошені в програмі зовні процедур та функцій до їх означення. Глобальні елементи доступні всім процедурам і функціям.

Локальні - існують тільки в тілі процедури або функції, де вони визначені. Формальні параметри також є локальними.

Якщо ім´я локального опису співпадає з ім´ям глобального опису, то така змінна розглядається як локальна.

Упереджуючий опис підпрограм

При описі процедур і функцій необхідно слідкувати, щоб опис підпрограми, що викликається, був раніше виклику. Щоб не слідкувати за послідовністю записів підпрограм можна попередньо описати заголовки всіх підпрограм з словом FОRWARD, а потім в довільному порядку записати опис всіх підпрограм.

Формат попереднього опису заголовку:

<заголовок підпрограми >; FОRWARD;

 

Функції

 

Функції використовуються в тому разі, коли підпрограма повертає в якості результату одне значення простого типу.

Формат заголовку функції:

 

FUNCTIОN <ім´я функції> [(<список формальних параметрів>)]:

<тип результату>;

 

Результат функції повертається в програму, що її викликає, тільки через ім´я функції. Тому в розділі операторів функції обов´язково повинен бути оператор присвоєння імені функції значення результату або оператор присвоєння системній змінній RESULT значення результату.

Звертання до функції використовується в виразах.

 








Дата добавления: 2015-08-26; просмотров: 1720;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.022 сек.