Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
12.65 Mб
Скачать

2.4.7. Организация циклов

2.4.7.1. Цикл (Do While)

Do while <Вырl>

<команды>

[Loop]

<команды>

[Exit]

Enddo

Эта команда обеспечивает повторение последовательности команд, заключенной в конструкции Do while...Enddo до тех пор, пока за­дан­­­ное условие истинно. Фраза Exit передает управление из цикла пер­вой команде, следующей за Enddo. Фраза Loop возвращает управление в начало цикла.

Пример вычисления суммы ряда S=1+1/2+ …+1/i пока 1/i>0,0001.

X=1 && установка начального значения очередного слагаемого ряда

I=0 && установка начального значения номера очередного слагаемого

S=0 && установка начального значения суммы ряда

Do While X>0.0001 && заголовок цикла

I=I+1 && увеличение номера слагаемого на единицу

X=1/I && значение очередного слагаемого

S=S+X && увеличение суммы ряда на значение очередного слагаемого

Enddo && конец цикла

?S && вывод суммы ряда на экран

2.4.7.2. Счетный цикл (For)

For <счетчик> = <ВырN1> To <ВырN2> [Step <ВырN3>]

<команды>

[Exit]

[Loop]

Endfor

Выражение <ВырN1>/<ВырN2> задает начальное/конечное значение счетчика. Включенные в конструкцию команды выполняются после­до­ва­­тельно, пока не встретится команда Endfor, если нет команд Exit или Lo­op (п. 2.4.7.1) и счетчик уве­ли­чивается на значения <ВырN3> (1).

Пример вычисления суммы ряда S=1+1/2+ …+1/i для i=1000.

S=0 && установка начального значения суммы ряда

For i=1 To 1000 && заголовок цикла

S=S+1/i && увеличение суммы ряда на значение очередного слагаемого

Endfor && конец цикла

?S && вывод суммы ряда на экран

2.4.7.3. Цикл сканирования таблицы (Scan)

Scan [<Границы>] [For <Вырl1> [While <Вырl2>]

[<команды>]

[Loop]

[Exit]

Endscan

Команда просматривает всю активную открытую таблицу и для каждой записи, отвечающей заданным условиям, выполняет команды, заключенные в программную конструкцию, аналогично циклу Do While. Команда автоматически наращивает значение указателя записи и ана­ли­зи­рует соответствующую ему запись на удовлетворение условий.

По умолчанию значение <границы> All (вся таблица). Указание сфе­­ры задает диапазон сканируемых записей. Можно включить и не­обя­за­тельные фразы For и While для специфицирования условий вы­пол­не­ния заданных в конструкции команд (п. 2.4.1).

Фраза Loop вызывает немедленный возврат к команде Scan в на­ча­ло цикла. Фраза Exit вызывает прекращение выполнения цикла и пере­ход к команде, непосредственно следующей за Endscan.

2.4.8. Создание свободных таблиц

2.4.8.1. Создание и изменение структуры таблиц

Create “<имя файла таблицы>” ‑ создание в диалоге.

Create Table ... ‑ создать структуру таблицы из программы.

Modify Structure ‑ изменить структуру таблицы командой.

2.4.8.2. Заполнение таблиц

Перед работой с таблицей следует ее открыть командой открытия:

Use “<имя таблицы> ”.

Команда Use без имени закрывает таблицу. Закрытие всех открытых таблиц осуществляется командой Close Database. Закрытие вообще всех файлов выполняется командой Close All.

Дополнение файла новыми записями осуществляется командой Append [Blank], которая предъявляет окно ввода данных со всеми пустыми полями создаваемой записи. Фраза Blank означает, что новая запись не будет отражена на экране.

Команда Set Date German устанавливает формат даты (дд.мм.гг).

При вводе символа в последнюю позицию очередного поля раздается звуковой сигнал и курсор автоматически (без нажатия клавиши Enter) переходит на первую позицию следующего поля данных. Этим процессом можно управлять с помощью команд:

Set Bell On/Offвклю­че­ние/отклю­чение звукового сигнала;

Set Confirm On/Off - включение/отключение автоматического пере­хо­да курсора на следующее поле.

При работе может возникнуть необходимость обращаться в нес­коль­ко директорий, что реализуется командой Set Default То [<путь>], кото­рая устанавливает диск и/или директорию в качестве используемого по умолчанию.

Команда Set Path To <список путей> задает пути (маршруты) поис­ка файлов через точку с запятой, не обнаруженных в текущей директории.