Лабораторная работа № 4. Создание программных файлов.Организация цикла и разветвления в программе.

Цель: дать понятие о программных файлах, о командах по их созданию и запуску, об использовании при написании текста программы команды организации цикла DO WHILE … ENDDO и команды управления IF … ENDIF.

Командаы: MODIFY COMMAND, DO, DO WHILE … ENDDO, IF … ENDIF

Для вызова внутреннего встроенного редактора FoxPro, с помощью которого создаётся текст программ, служит команда:

MODIFIY COMMAND/FILE<имя текстового файла/маска>

Вариант MODI COMM считает по умолчанию вновь создаваемый файл командным (программным )файлом и ему прсваивается расширение. PRG
Повторный вызов командного файла осуществляется той же командой.

Вариант MODI FILE не предусматривает каких-либо умолчаний для имён файлов. Созданная в редакторе программа должна быть сохранена, например, нажатием сочетания клавиш Ctrl+W и может быть вызвана на выполнение командой:

DO <имя командного файла>

Команды управления.

Команды управления являются важнейшим средством построения программ. Эти программы не могут быть опробованы и использованы

в интерактивном режиме, а только в программах.

Цикл с условием.

Цикл с заранее известным условием его окончания и неизвестным числом повторов, выполняется следующей конструкцией:

DO WHILE<условие>

<команды>

ENDDO

Команды заключенные между DO WHILE и ENDDO, будут выполняться до тех пор, пока <условие> истинно.

Если требуется покинуть цикл раньше, чем он выработается, необходимо использовать команду EXIT, которая передаст управление команде следую-щей за ENDDO.

НЕ нашли? Не то? Что вы ищете?

Если по какому-то условию в теле цикла необходимо передать управление на его начало (не доходя до команды ENDDO) пользуются командой LOOP.

Набрать текст следующих коротеньких программ, демонстрирующих использование команды организации цикла DO WHILE…ENDDO и команды управления IF … ENDIF.

CLEAR {очистить экран}

CLOSE DATABASE {закрыть все базы данных}

USE KOLLEK {открыть БД}

DO WHILE. NOT. EOF() {команда начала цикла }

DISP {вывод текущей записи на экран }

SKIP {шаг на следующую запись }

ENDDO {команда окончания цикла}

****

CLEAR

CLOSE DATABASE

USE KOLLEK

DO WHILE. T. { начало цикла с "абстрактным" условием}

DISP

IF. NOT. EOF() { если не достигнут конец БД }

SKIP { шаг на одну запись вниз по базе }

LOOP { переход на начало цикла}

ENDIF { конец условия}

EXIT { выход из цикла}

ENDDO

CANCEL { снять программу}

Выйти из редактора с сохранением

набранного текста программы - < Ctrl +W >

Запустить каждую из них на выполнение.

DO < имя прогр >.

Пример. Написать программу, выводящую на экран с помощью команды LIST, фамилию, город и продолжительность курсов из БД – KOLLEK. DBF.

CLEAR

CLOSE DATABASE

USE KOLLEK

GO TOP

DO WHILE. NOT. EOF()

LIST NEXT 10 FIELDS FAMIL, GOROD, LONG

=INKEY(0)

CLEAR

ENDDO

CANCEL

3. Написать программу, выводящую на экран значения полей фамилии, города и продолжительности курсов из первых десяти записей, базы данных KOLLEK. DBF при условии, что город не Москва.

CLEAR
SET TALK OFF

CLOSE DATABASE

USE KOLLEK

LIST NEXT 10 FIELDS FAMIL, GOROD, LONG ;

FOR GOROD <>’Москва’

Выполнить самостоятельно.

1.Написать программу, выводящую на экран записи БД "порциями" ( по10 записей) с помощью команды DISPLAY.

2.Написать прграмму, выводящую с помощью команды DISPLAY последние 10 записей БД.

Контрольные вопросы.

1. Какое расширение имеют имена прграммных файлов в FoxPro?

2.Чем отличаются команды MODI COMM и MODI FILE.