Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мова FoxPro.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
80.38 Кб
Скачать

Організація циклів

Цикли бувають: - арифметичні (з параметром) - ітераційні (з умовою).

Мова FoxPro має досить потужні засоби організації циклів:

  • Команду циклу FOR…NEXT;

  • Команду циклу WHILE;

  • Команду сканування SCAN…ENDSCAN.

Арифметичний цикл

Арифметичний цикл повинен мати змінну, яка обмежує число циклів. Формат команди:

FOR <змінна> = <вирN1> TO <вирN2> [STEP <вирN3>]

[команди]

ENDFOR

змінна – управляючий параметр циклу (лічильник циклу);

вир N1 – початкове значення параметру циклу;

вир N2 – кінцеве значення параметру циклу;

вир N3 – крок. Якщо крок відсутній, то він дорівнює 1.

Допускається також замість ENDFOR використовувати NEXT (як у Бейсіку).

Крім того, можна включати команди EXIT і LOOP.

Цикл з умовою (ітераційний)

Цикл з відомою умовою закінчення має формат:

DO WHILE <умова>

[команди]

ENDDO

Поки умова істинна, то будуть виконуватись команди між DO WHILE і ENDDO. Якщо ж умова ложна, здійснюється перехід до команди, яка йде за ENDDO.

Цикл DO WHILE краще використовувати для файлу даних, проіндексованому по полю, що застосовується в умові.

Якщо умова циклу приймає тільки значення .Т., цикл DO WHILE стає нескінченим.

У мові FoxPro відсутнє поняття "мітка", тобто немає істотної можливості перейти в інше місце програми. Тому, якщо необхідно вийти за межі циклу, то слід використовувати команду:

EXIT

яка передає керування команді, що йде за ENDDO.

Якщо треба перейти на початок циклу тобто на саму команду циклу, то застосовують команду

LOOP

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

Команди EXIT і LOOP можна використовувати також і в інших командах організації циклів.

Приклад.

Накопичувати суму тільки додатних чисел Х у змінну S до тих пір поки сума не буде перевищувати 100, а якщо зустрінеться число Х=0, то необхідно зупинити накопичення.

CLEAR

S = 0

DO WHILE S < = 100

INPUT ' Введіть Х ' TO Х

IF Х < 0

LOOP && Якщо Х < 0 – перейти на початок циклу і

&& вводити нове число

ENDIF

IF Х = 0

EXIT && При Х = 0 вихід за межі циклу

ENDIF

ENDDO

Команди EXIT і LOOP мають смисл тільки в циклах. Але відсутність міток винуждає програміста звурнутись до цих команд, тому іноді треба використовувати команди циклів там, де такого циклу немає, використовуючи їх як операторні дужки. В якості умови ставиться будь-яка завжди істина умова, найчастіше, це просто логічна «істина» (. Т .)

DO WHILE . T . <команди> ENDDO

Функції субд

Використовуються для аналіза або перетворення данних. Синтаксична особливість – обов’язкова присутність дужок.

Функції поділяють на ряд груп:

- математичні функції;

- строкові функції;

- функції роботи з датами;

- функції перетворення типів даних;

- функції позиціювання курсора;

- функції роботи з "мишкою";

- клавішні функції;

- Технічні функції;

- функції часу;

- функції аналізу умов;

- функції аналізу типу і наявності даних;

- фінансові функції;

- функції підставлення.