Turbo pascal

Turbo Pascal хоч і не є всесвітньо улюбленим додатком для програмування, але творці, які роблять перші кроки в написанні ПО, починають знайомство саме з цим середовищем. Вона дає поняття про розгалуженнях, операторах, функціях і процедурах, а також багатьох інших речах. Наприклад, при вивченні програміст зіткнеться з циклами в Turbo Pascal: While, For і Repeat.

Turbo pascal

Поняття циклу і його різновиди

Циклом називають багаторазово повторювані дії. В даному середовищі використовуються:

  • з параметром (For ... to ... do);
  • з передумовою (While ... do);
  • з умовою поста (Repeat ... until).

Перший вид використовується, коли заздалегідь відомо, скільки кроків у вирішенні завдання. Однак існує ряд завдань, коли немає інформації про те, скільки разів будуть повторюватися ті чи інші дії. В такому випадку в Pascal While цикл стає незамінним, як, в принципі, і Repeat.

структура циклу

В чому полягає суть роботи в Pascal While, For і Repeat циклів? У таких конструкцій виділяють заголовок і тіло. У першій складової вказуються змінні, які будуть «працювати», задаються умови на перевірку істинності, період, до якого тіло буде виконуватися. У другій складовій прописуються вираження, які повинні використовуватися в разі виконання умови, т. Е. True, а не False.

Коли ітерація виконується на останньому рядку коду, тоді вона повертається до заголовка, де перевіряється умова. У разі істини операції повторюються, а в разі невиконання умови, програма «виходить» з циклу і виконує подальші операції.

Наступним чином виглядає цикл While. Pascal ABC і подібні програми вимагають написання такого коду:

У разі якщо в тілі циклу буде виконуватися 1 оператор (1 дію), тоді «дужки» begin ... end можна опустити.

Блок-схема циклу

В Turbo Pascal While має такі особливості:

  • всередині конструкції можна використовувати складні умови;
  • після слова do не повинно бути крапки з комою (це вважається помилкою в Turbo Pascal і Pascal ABC);
  • змінна, константа або вираз, що служить при отриманні відповіді False виходом їх підпрограми, повинні бути обов'язково логічного типу, т. е. Boolean.

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

Turbo pascal

Алгоритм роботи циклу

У найпростіших середовищах програмування, в т. Ч. І в Pascal ABC, While цикл діє за наступним принципом:

  • задані ітерації, т. е. повторення, будуть проходити стільки раз, поки умова буде істинним (True);
  • як тільки умова не виконується і дає відповідь False (або інакше «Брехня»), оператор виходить з циклу;
  • як тільки це сталося, програма «пішла» в конструкції, що стоять після циклу.

Це є істотною відмінністю While від Repeat, т. Е. Циклу з передумовою від постумови.

Дуже важливо передбачити в тілі циклу кінцеве зміна заданої змінної в заголовку While. У будь-якому випадку повинна коли-небудь наступити ситуація, що дає значення False. Інакше станеться зациклення, і тоді доведеться скористатися додатковими заходами для виходу з компілятора. Такі помилки вважаються грубими і непрощенними.

Як вийти з програми під час зациклення?

Найчастіше відбувається ситуація, коли оператор While Pascal видає зациклення в написаному програмному коді. Що це означає? Ітерація повторюється нескінченне число разів, оскільки умова завжди істинно. Наприклад, ось фрагмент програми:

В такому випадку, щоб перервати виконання завдання, досить натиснути CTRL + F2.

Є ще 2 способи контролювати подібна поведінка програми. Наприклад, якщо вписати в код Continue, яке передасть управління на початок циклової конструкції (тут умова виходу з циклу контролюється, т. Е виконання поточної ітерації буде перервано). Тоді управління передається в циклі While в попередню перевірку.

Оператор Break здатний перервати виконання всього циклу і передати управління наступній ітерації. Тут вихід з конструкції контролюватися не буде. На зображенні показані приклади використання даних операторів.

Turbo pascal

Вирішення задач

Розглянемо в дії цикл While. Pascal завдання пропонує вирішити найрізноманітніші. Зупинимося поки на найпростіших, щоб зрозуміти принцип роботи. Вирішені завдання в програмі Pascal ABC. Але будуть представлені і зображення класичної середовища Turbo Pascal для порівняння.

Завдання 1: дана функція Y = 5-X ^ 2/2. Скласти таблицю значень з кроком sh = 0,5 на проміжку [-5; 5].

  • задати для змінної Х початкове значення рівне -5 (т. е. початок проміжку);
  • обчислювати значення Y, поки змінна x не досягне кінця зазначеного відрізка;
  • вивести на екран значення функції і абсциси (Х);
  • збільшити Х на заданий крок.

Ось так виглядає код в програмі Pascal ABC.

Turbo pascal

Як виглядає код в програмі Turbo Pascal. Зображення нижче наочно показує це.

Turbo pascal

Завдання 2: дан масив А, що складається з цілих позитивних і негативних чисел. У ньому міститься 10 елементів. Необхідно сформувати матрицю В, в якій будуть відображені позитивні елементи масиву А, що мають парний індекс. Відобразити на екрані суму квадратів в числі з нової матриці.

  • Необхідно написати підпрограму, яка буде «працювати» тільки з елементами масиву А, що мають парний індекс. У циклі значення змінної, що відповідає за парність індексу, буде збільшуватися на 2.
  • Якщо число з парною індексом з матриці А відповідає умові х> 0, тоді лічильник елементів масиву збільшується на 1. Нинішнє значення змінної-лічильника буде індексом копійованого числа в масиві В.
  • Спочатку змінної summa, що відповідає за знаходження суми квадратів позитивних чисел, присвоюється 0. Потім буде виконуватися операція: до попередньої суми додається нове значення квадрата.
  • Не варто лякатися, якщо не всі позитивні числа перейшли з однієї матриці в іншу. Потрібно бути уважними. Багато починаючі програмісти в паніці переписують код. Слід ретельно вивчити умова: позитивні числа, що знаходяться на парних «місцях», т. Е. Мають індекси, кратні 2.

Turbo pascal

Ручне трасування необхідна для того, щоб переконатися у вірності обчислень. Часом за допомогою цього методу можна виявити помилки, які не попадаються на очі при звичайній перевірці написаного коду.

Turbo pascal

Якщо провести ручні розрахунки, то можна переконатися, що програма правильно працює. Це, в свою чергу, говорить про те, що алгоритм створення коду вірний, послідовність дій призводить до логічного кінця.

Turbo pascal

Схожі статті