Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОТ Методичка

.pdf
Скачиваний:
7
Добавлен:
17.03.2016
Размер:
618.24 Кб
Скачать

змінна типу «integer», то для «to» буде виконуватись операція +1, а для

«downto» -1.

<початкова_межа> та <кінцева_межа> - можуть бути змінними, виразами або константами. Якщо кінцева межа рівна початковій межі, то цикл буде виконано один раз.

На рис. 4.1 зображено узагальнену алгоритм блок-схему циклу FOR, де <пц> - параметр циклу, <пм> – початкова межа, <км> – кінцева межа.

<пц>:=<пм>

<пц<>succ(<км)

-

+

 

<тіло_циклу>

 

 

 

<пм>:=succ(<пм>)

Рис. 4.1. Узагальнена блок-схема циклу FOR

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

Цикл WHILE

Цикл WHILE – це цикл з передумовою Загальний формат циклу:

while <логічний_вираз> do <оператор>;

або

while <логічний_вираз> do begin

<блок_операторів>; end;

<логічний_вираз> - може бути умовою, логічною змінною або константою. На відміну від циклу FOR, цикл WHILE самостійно не виконує дій по зміні умови виходу з циклу, тому якщо в тілі циклу не буде жодних дій по зміненню логічного виразу, цикл буде нескінченим або не буде виконуватись взагалі (в залежності від початкових умов). Цикл виконується доти, поки логічний вираз приймає значення TRUE, як тільки логічний вираз прийме значення FALSE цикл завершиться.

На рис. 4.2 зображено узагальнену алгоритм блок-схему циклу WHILE.

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

+

<тіло_циклу>

Рис. 4.2. Узагальнена блок-схема циклу WHILE

Цикл REPEAT

Цикл REPEAT – це цикл з післяумовою, отже цей цикл буде виконано хоча б один раз. Загальний формат циклу:

repeat <блок_операторів>;

until <логічний_вираз>;

<логічний_вираз> - може бути умовою, логічною змінною або константою. На відміну від циклу FOR, цикл REPEAT самостійно не виконує дій по зміні умови виходу з циклу, тому якщо в тілі циклу не буде жодних дій по зміненню логічного виразу, цикл буде нескінченим або буде виконаний лише один раз (в залежності від початкових умов). На відміну від циклів FOR та WHILE, цикл REPEAT не вимагає використання операторних дужок, якщо в тілі циклу потрібно використати більше ніж один оператор. Ключові слова «repeat» та «until» вже виконують функцію операторних дужок. Цикл закінчує своє виконання, якщо логічний вираз прийме значення TRUE, і буде виконуватись поки значення логічного виразу рівне FALSE. Якщо порівнювати цикли REPEAT та WHILE, то в циклі REPEAT все «навпаки» на відміну від циклу WHILE.

Умова виходу з циклу REPEAT знаходиться в кінці циклу, а не на початку, як в циклі WHILE.

Умова завершення циклу REPEAT протилежна умові виходу з циклу WHILE.

На рис. 4.3 зображено узагальнену алгоритм блок-схему циклу

REPEAT.

<тіло_циклу>

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

+

Рис. 4.3. Узагальнена блок-схема циклу REPEAT

Continue

Оператор «continue» достроково завершує виконання поточної ітерації циклу і переходить до наступної ітерації. Всі оператори в тілі циклу, що йдуть після оператора «continue» виконуватись не будуть. Переривається виконання ітерації тільки того циклу, в тілі якого знаходиться оператор

«continue».

Break

Оператор «break» достроково завершує виконання циклу. Всі оператори, що йдуть в тілі циклу після оператора «break» виконуватись не будуть. Переривається виконання тільки того циклу, в тілі якого знаходиться оператор «break». Якщо потрібно достроково завершити виконання декількох вкладених циклів можливе використання оператора безумовного переходу

«goto».

Контрольні питання

1.Що таке цикл?

2.Які цикли є в Turbo Pascal?

3.Дайте опис циклу FOR.

4.Дайте опис циклу WHILE.

5.Дайте опис циклу REPEAT.

6.Намалюйте узагальнену блок-схему циклу FOR.

7.Намалюйте узагальнену блок-схему циклу WHILE.

8.Намалюйте узагальнену блок-схему циклу REPEAT.

9.У чому полягає відмінність циклу WHILE від циклу REPEAT?

10.Яку мінімальну кількість разів буде виконано тіло циклу FOR, WHILE, REPEAT?

11.При якому значенні умови циклу WHILE, цикл буде продовжувати виконуватися?

12.Що таке цикл з передумово?

13.Що таке цикл з після умовою?

14.Назвіть цикли Turbo Pascal, які є циклами з передумовою. 15.Назвіть цикли Turbo Pascal, які є циклами з після умовою.

16.Який тип даних повинна мати змінна циклу FOR? Наведіть приклади

17.Як потрібно записати цикл FOR, щоб змінна циклу збільшувалась на

1.

18.Як потрібно записати цикл FOR, щоб змінна циклу збільшувалась на

-1.

19.Що таке ітерація циклу?

20.Назвіть оператор дострокового виходу з циклу. Опишіть його роботу.

21.Назвіть оператор дострокового завершення ітерації циклу. Опишіть його роботу.

22.Написати програму. Умову і вимоги до задачі надає викладач.

Лабораторна робота №5

Масиви

Мета

Мати поняття масиву даних. Вміти використовувати масиви для вирішення задач. Вміти працювати з багатовимірними масивами.

Хід роботи

Всі вхідні масиви заповнюються випадковими додатними числами з діапазону [0;100), окрім випадків зазначених в завданні.

Варіанти завдань

1.Задана матриця цілих чисел розміром (M;N). Визначити числа, що відповідні рівні добутку елементів стовпчиків та замінити їх на 1.

2.Задано одновимірний масив цілих чисел довжиною (N). Знайти найдовшу послідовність нульових елементів, які слідують один за одним, підрахувати довжину цієї послідовності.

3.Задана матриця цілих чисел розміром (M;N). Знайти елементи, сума цифр яких ділиться націло на 7, та утворити з них одновимірний масив.

4.Задана матриця цілих чисел розміром (N;N). Поміняти місцями елементи головної та побічної діагоналі.

5.Задана матриця цілих чисел розміром (N;N). Поміняти місцями дві зафарбовані області. Заборонено використання додаткових масивів.

6.Задана матриця цілих чисел розміром (N;N). Знайти мінімальний та максимальний елементи в зафарбований області та поміняти їх місцями. Заборонено використання додаткових масивів.

7.Задана матриця цілих чисел розміром (N;N). Знайти мінімальний та максимальний елементи в зафарбований області та поміняти їх місцями. Заборонено використання додаткових масивів.

8.Задано одновимірний масив довжиною (N), в якому знаходяться цілі числа та нулі. Заповнити початок вихідного масиву номерами позицій де знаходились нульові елементи. Потім дописати масив ненульовими елементами в тому порядку в якому вони знаходились в початковому масиві. Нульові елементи викинути.

9.Задана матриця цілих чисел розміром (M;N). Знайти найменший

елемент в матриці. Всі елементи, які знаходились до нього переставити в зворотному порядку. Заборонено використання додаткових масивів.

10.Задана матриця цілих чисел розміром (M;N). Визначити числа, що відповідно рівні сумі елементів побічної діагоналі, замінити їх на протилежні їм числа.

11.Задана матриця цілих чисел розміром (N;N). Поміняти місцями дві зафарбовані області. Заборонено використання додаткових масивів.

12.Задана матриця цілих чисел розміром (N;N). Поміняти місцями дві зафарбовані області. Заборонено використання додаткових масивів.

13.Задана матриця цілих чисел розміром (M;N). Знайти всі нульові елементи в матриці та замінити їх сумами елементів, які знаходяться до даного нульового елементу. Новозмінені нульові елементи не повинні входити до суми елементів, котра замінить черговий нульовий елемент.

14.Задана матриця цілих чисел розміром (N;N). Поміняти місцями дві зафарбовані області. Заборонено використання додаткових масивів.

15.Задана матриця цілих чисел розміром (N;N). Замінити елементи сумою елементів побічної діагоналі, які закінчуються 0.

16.Задана матриця дійсних чисел розміром (M;N). Одержати нову матрицю, шляхом ділення всіх елементів заданої матриці на суму індексів максимального елемента. Вхідна матриця повинна заповнюватись випадковими дійсними числами в діапазоні [0;10]. Випадкові числа повинні мати не більше ніж 3 знаки після коми.

17.Задана матриця цілих чисел розміром (N;N). Поміняти місцями дві зафарбовані області. Заборонено використання додаткових масивів.

18.Задана матриця цілих чисел розміром (N;N). Знайти середнє арифметичне елементів в зафарбованій області. Заборонено використання додаткових масивів.

19.Задана матриця цілих чисел розміром (N;N). Знайти суму елементів в зафарбованій області. Заборонено використання додаткових масивів.

20.Задана матриця цілих чисел розміром (N;N). Знайти середнє геометричне елементів, що націло діляться на 3, в зафарбованій області. Заборонено використання додаткових масивів.

21.Задана матриця цілих чисел розміром (M;N). Переписати елементи матриці в одновимірний масив, таким чином, щоб в одновимірному масиві спочатку розташувався останній стовпець матриці, потім передостанній стовпець і т.п. Дозволено використання лише двох змінних для індексування елементів матриці та одновимірного масиву.

22.Задана матриця цілих чисел розміром (M;N). Знайти елемент, який найчастіше повторюється в матриці. Роздрукувати значення цього елементу, кількість повторів, позиції всіх входжень.

23.Задана матриця цілих чисел розміром (M;N). Відсортувати матрицю за спаданням. Заборонено використання додаткових масивів.

24.Задана матриця цілих чисел розміром (N;N). Відсортувати елементи в зафарбованій області за зростанням. Заборонено використання додаткових масивів.

25.Задана матриця цілих чисел розміром (N;N). Зробити циклічний зсув рядків матриці на задану величину, тобто перший рядок стане другим, другий третім, ... , останній першим, і так n- разів.

26.Задано одновимірний масив розміром (N) з клавіатури. Видалити з масиву всі від’ємні елементи, що не кратні семи, але кратні трьом.

27.Задано одновимірний масив з початковим розміром (N). Максимальний розмір масиву (M), де M>N. Відсортувати вхідний масив за зростанням елементів. Після сортування користувач додає елемент до масиву. Новий елемент повинен стати на відповідне йому місце, таким чином, щоб масив залишався відсортованим. Якщо досягнуто максимальної кількості елементів в масиві, то ввід примусово закінчується.

28.Задана матриця цілих чисел розміром (N;N). Знайти всі прості числа в зафарбованій області. Заборонено використання додаткових масивів.

29.Задано дві матриці цілих чисел розмірами (M;N) та (N;K). Отримати третю матрицю, результат перемноження двох вхідних матриць.

30.Задана матриця цілих чисел розміром (N;N). поміняти місцями зафарбовані області. Заборонено використання додаткових масивів.