Лабораторная работа № 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.


