Смекни!
smekni.com

Билеты, решения и методичка по Информатике (2.0)

КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 1

1. Общиесведения ореляционноймодели данных.

2.Дана база данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:

Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. Работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК

Вывестиполя TAB, FIO, DATA, OBR первойзаписи в БД для работника,проработавшегона фирме неменее 10 лет.

3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 2


1.Структуракоманд СУБДFoxPro.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран количествоработников,средняя зарплатакоторых неменее 250 грн.

3.Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 3


1. Созданиеи изменениеструктурыБД. Типы данных(типы полей).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран количествоработниковфирмы, родившихсяпозднее 1954 года.

3.Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

по дисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 4


1.Средстваредактированияданных. КомандаBROWSE. Ключи и опциикоманды.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран количествоработников(женщин), имеющихвысшее образование.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 5


1.Средства просмотрасодержимогоБД (DISPL, LIST, их отличие).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран количествоработников(женщин), владеющихнавыками работына ПК.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 6


1.Средстваредактированияи добавленияновых записейв БД (EDIT, CHANGE и APPEND).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран среднююзарплату дляработниковфирмы (женщин),имеющих 3-х иболее детей.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 7


1.ЛогическоеупорядочиваниеБД. Созданиеи использованиеиндексныхфайлов.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран среднююзарплату нафирме.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 8


1.Последовательныйпоиск информациив БД (LOCATE, CONTINUE).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК

Вывестив BROWSE-окне списокработниковсо стажем 10 лет.Предусмотретьвывод названиятаблицы изаголовковполей по-русски.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 9


1.Средства созданияи отладки программ(MODI COMM, DO).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран «среднийстаж» работниковфирмы.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 10


1.Средстваалгоритмическогоязыка в FoxPro. Командыприсваиванияи STORE. Работа смассивами.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии вывести наэкран содержимоеполей FIO,DATA, SRZAR, COMP записи для самогомолодого работникафирмы.

3.Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»


Экзаменационныйбилет № 11


1.Средстваалгоритмическогоязыка FoxPro. КомандыIF и CASE.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Вывестив BROWSE-окне списокработниковс высшим образованием.Предусмотретьвывод названиятаблицы изаголовковполей по-русски.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»


Экзаменационныйбилет № 12


1.Средстваалгоритмическогоязыка FoxPro. КомандыDO – WHILE, LOOP, EXIT.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Написатьфрагментпрограммы,реализующейобработкуменю, котороесодержит следующиепункты: вводновой записив БД, просмотр,удаление, выход.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»


Экзаменационныйбилет № 13


1.Использованиевстроенныхфункций FoxPro. Функцииработы состроками. (LEN(),AT(), ALLTRIM(), SPACE() ).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии удалить(логически ифизически)из БД все записи,содержащихв поле датарождения ссылкуна 1966 год.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»


Экзаменационныйбилет № 31


1.Использованиевстроенныхфункций FoxPro. Функциипроверки файлови дисков (FILE( ), EOF ( ), FOUND ( ), RECNO ( ), RECCOUNT ( ) ) .

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК

Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»


Экзаменационныйбилет № 14


1.Изобразительныесредства FoxPro.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК

Вывестив BROWSE-окне списокработников,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски,предусмотретьвидимый размерполя FIO – 15 символов.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 15


1.Команды перемещенияв БД. (GO TOP/BOTTOM, SKIP), привестипримеры.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Определить,каков процентработниковфирмы не владеетиностраннымиязыками.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»


Экзаменационныйбилет № 16


1.Удаление записейв БД (логическоеи физическое).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Определить,каков процентработниковфирмы владеетнавыками работына ПК.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 17


1.Средстваразработкименю (LIGHTBAR – меню).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Найтии удалить(логически ифизически)из БД все записидля работников,не владеющихнавыками работана ПК.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 19


1.Структурапрограммы,реализующаяобработкуменю.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Определить,каков процентработниковфирмы (женщин)достиг пенсионноговозраста.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 20


1.Неформатированныйввод/вывод,команды INPUT, ACCEPT,WAIT, «?».

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Определить,каков процентработниковфирмы получаетв месяц более500 грн.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 21


1.Средстваформатированноговвода/вывода.Команды @…SAY…GET.Использованиеих опций ишаблонов.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


ОтобразитьсодержимоеБД по возрастаниюсреднемесячнойзарплаты.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 22


1.Команды установкиSET. (DATE, TALK, MESSAGE, FILTER, PROCEDURE).

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Вывести наэкран каждуючетную запись БД.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 23


1.Структураокна FoxPro. Работас окнами. Командыописания,активизации,перемещения.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


ОтобразитьсодержимоеБД в алфавитномпорядке фамилийработников.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 24


1.Модульностьпрограмм.Последовательностьпоиска процедур.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК

Вывестив BROWSE-окне списокработников(мужчин). Предусмотретьвывод названиятаблицы изаголовковполей по-русски.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 25


1.Модульностьпрограмм. Работас процедурами.Описание ивызов процедурс параметрамии без параметров.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Вывести наэкран каждуюпятую запись БД.


3. Задача


Зав. кафедрой Преподаватель



КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 26


1. Работас несколькимиБД. Понятиерабочей области.Использованиепсевдонимов.Составное имяполя.

2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет №27


1. Типы бинарныхсвязей. Привестипримеры.

2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 28


1. Пример программыработы с двумяБД (с использованиемокон).

2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 29


1.Работа с фильтрами.

2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:


Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date датарождения

OBR logical наличиевысшего образования

LANG numeric кол-воин. языков, кот-мивлад. работник

STAG numeric стажработы на фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


Определить,каков процентработниковфирмы имеетдетей.


3. Задача


Зав. кафедрой Преподаватель


КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 30


1. Установлениесвязей 1:1 и 1:N вFoxPro.

2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:



3. Задача


Зав. кафедрой Преподаватель




КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

подисциплине:«Информатикаи компьютернаятехника»

Экзаменационныйбилет № 18


1.Средства разработкименю (POPUP – меню).


2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:



3. Задача


Зав. кафедрой Преподаватель





2


.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:

2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:





2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:





2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




2


.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:



2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:



Экзаменационныйбилет № 1

3.Вывести вBROWSE-окне списокработников,средняя зарплатакоторых находитсяв интервале[350;700). Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Создать вычисляемоеполе-nadbavka:4% от среднемесячнойзарплаты зазнание каждогоязыка. Оформитьзадачу в виде процедуры,обеспечитьее вызов.



Экзаменационныйбилет № 2

3.Вывести вBROWSE-окне списокработников(женщин). Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Оформить ввиде процедуры,стаж работыдолжен бытьпараметромпри оформлениипроцедуры.Предусмотретьвызов процедуры.



Экзаменационныйбилет № 3

3.Вывести вBROWSE-окне списокработников(женщин). Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Оформить ввиде процедуры,дату рожденияпередаватькак параметр.



Экзаменационныйбилет № 4

3.Вывести вBROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Добавитьвычисляемоеполе-nadbavka:3% за каждогоребенка (отсредней зарплаты).



Экзаменационныйбилет № 5

3.Вывести вBROWSE-окне списокработников,фамилии которыхначинаютсяна букву ‘Л’.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Добавитьвычисляемоеполе для сотрудников,стаж работыкоторых более10 лет-надбавка-10%от среднейзарплаты.



Экзаменационныйбилет № 6

3.Вывести вBROWSE-окне списокработников,работающихне менее 10 летна фирме. Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Добавитьвычисляемоеполе-субсидии,для этих сотрудников,которая начисляется,если средняязарплата меньше100-10 % от среднейзарплаты.



Экзаменационныйбилет № 7

3.Вывести вBROWSE-окне списокработниковс высшим образованием.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски,и вычисляемоеполе-надбавказа знание ПК-10%от среднейзарплаты.



Экзаменационныйбилет № 8

3.Вывести вBROWSE-окне списокработников,владеющих неменее, чем двумяиностраннымиязыками. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Если работникпроработална фирме более15 лет, предусмотретьнадбавку вразмере 10 % отгодового оклада.Вывод спискаоформить ввиде процедуры.В качествепараметраиспользоватьзнание работникоминостранногоязыка



Экзаменационныйбилет № 9

3.Вывести вBROWSE-окне списокработников(мужчин), достигшихпенсионноговозраста.Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить ввиде процедуры.Обеспечить вызов этойпроцедуры.



Экзаменационныйбилет № 10

3.Вывести вBROWSE-окне списокработников(женщин), владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить ввиде процедуры,пол использоватькак параметрпри реализациипроцедуры.Предусмотретьвызов процедуры.



Экзаменационныйбилет № 11

3.Вывести вBROWSE-окне списокработниковс высшим образованием,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить ввиде процедуры,которая используетпол сотрудникав качествепараметра.Обеспечитьвызов процедурыдля пола «М»и «Ж».



Экзаменационныйбилет № 12

3.Вывести вBROWSE-окне списокработниковсо стажем 10 лет,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить решениев виде процедуры,стаж работыпредаватькак параметр.Предусмотретьвызов процедуры.



Экзаменационныйбилет № 13

3. Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Сформироватьвычисляемоеполе NADBAVKA, в которомпредусмотретьвыплату премиальныхв размере 15% и30% от среднейзарплатыработникам,владеющим 2и более языкамисоответственно.Предусмотретьвывод названиятаблицы изаголовковполей по-русски.



Экзаменационныйбилет № 14

3. Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Сформироватьвычисляемоеполе NADBAVKA, в которомпредусмотретьвыплату премиальныхв зависимостиот стажа работы:25 лет – 20% от среднейзарплаты.Предусмотретьвывод названиятаблицы изаголовковполей по-русски.



Экзаменационныйбилет № 15

3. Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Сформироватьвычисляемоеполе SUBSIDIA,в которомпредусмотретьвыплату субсидийработникамв размере 15% отсредней зарплатыработникам,имеющим 3 и болеедетей. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.



Экзаменационныйбилет № 16


3. Найтии вывести наэкран содержимоеполей FIO,DATA, SRZAR, POL дляработника,дольше всехпроработавшегона фирме



Экзаменационныйбилет № 17

3. Найтии удалить(логически ифизически)из БД все записидля работников,достигших 40лет. Оформитьв виде процедуры.



Экзаменационныйбилет № 18


3. Найтии удалить(логически ифизически)из БД все записидля работников(мужчин), достигшихпенсионноговозраста.



Экзаменационныйбилет № 19


3.Вывести вBROWSE-окне списокработниковсо стажем 10 лет,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения,предварительноудалив записи,в которых возрастсотрудникаболее 50 лет.



Экзаменационныйбилет № 20

3. Вывестив BROWSE-окне списокработниковс высшим образованием,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения.Оформить ввиде процедуры,предусмотретьее вызов.


Экзаменационныйбилет № 21


3. Вывестив BROWSE-окне списокработниковс высшим образованием.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо табельномуномеру, предварительноудалив записисотрудниковпенсионноговозраста (женщин).


Экзаменационныйбилет № 22

3. Вывестив BROWSE-окне списокработников(женщин), владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо фамилии.Оформить ввиде процедуры,в которой полпередаетсякак параметр.Обеспечитьвызов процедуры.


Экзаменационныйбилет № 23


3. Вывестив BROWSE-окне списокработниковс высшим образованием,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо полю«стаж».Оформить ввиде процедуры,предусмотретьвызов процедуры.В качествепараметраиспользоватьработниковс высшим образованием.


Экзаменационныйбилет № 24


3. Вывестив BROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо полю «количестводетей». Добавитьвычисляемоеполе-надбавка:2 % от зарплатыза каждогоребенка. Оформитьв виде процедуры.


Экзаменационныйбилет № 25


3. Вывестив BROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения.Добавитьвычисляемоеполе-надбавка:15 % от зарплаты,если она меньше150. Оформить ввиде процедуры.Обеспечитьвызов процедуры.


Экзаменационныйбилет № 26


3. Вывестив BROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения.Добавитьвычисляемоеполе – надбавка:3% за ребенка(каждого) отсредней зарплаты


Экзаменационныйбилет № 27

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



Экзаменационныйбилет № 28


3.Найти минимальноезначение из2 величин. Оформитьнахождениеминимальногозначения ввиде функции.

Написатьфрагментпрограммы,реализующейвызов даннойфункции.


Экзаменационныйбилет № 29


3.Дано 2 переменных.Найти количествонулевых значений.Оформитьнахождениенулевых значенийв видефункции.

Написатьфрагментпрограммы,реализующейвызов даннойфункции.



Экзаменационныйбилет № 30


3.Дано 2 переменных.Найти количествоположительныхзначений. Оформитьнахождениеположительныхзначений ввидефункции.Написать фрагментпрограммы,реализующейвызов даннойфункции.



Экзаменационныйбилет № 31


3.Дано 2 переменных.Найти количествоотрицательныхзначений. Оформитьнахождениеотрицательных значений ввиде функции.Написать фрагментпрограммы,реализующейвызов даннойфункции.



Экзаменационныйбилет № 32


3.Дано 2 переменных.Найти количествозначений, меньших10 . Оформитьнахождениезначений, меньших10, в видефункции.Написать фрагментпрограммы,реализующейвызов даннойфункции.



Экзаменационныйбилет № 33


3.Написать фрагментпрограммы,устанавливающуюсвязь одинко многим междудвумя базамиданных KADR1иKADR2 по полюTAB



Экзаменационныйбилет № 34


3.Написать фрагментпрограммы,устанавливающуюсвязь один кодному междудвумя базамиданных BRIG1и BRIG2 по полюKOD



Экзаменационныйбилет № 35


3.Создать справочниктоваров побазе данных SUPPLY. В справочникдолжны бытьвключены полякод_товара инаименование_товара.



Экзаменационныйбилет № 36


3. Найтии вывести наэкран максимальнуюзарплату нафирме.





ВВЕДЕНИЕ

Методическиеуказанияпредназначеныдля проведенияпрактическихи лабораторныхзанятий подисциплине«Информатикаи компьютернаятехника» длявсех форм обучения.В них краткоизложены технологииреляционныхСУБД, реализацияих средствамиСУБД FoxPro,а также даныпрактическиеприемы их реализации.Основное вниманиеуделено изложениюкоманд языкапрограммированиясреды FoxProс пояснениямина конкретныхпримерах изаданиях поосновным темам.


РЕЛЯЦИОННАЯ МОДЕЛЬ

Поспособу установлениясвязей междуданными различаютреляционную,иерархическуюи сетевуюмодели.

Реляционнаямодель являетсяудобной и наиболеепривычнойформой представленияданных в видетаблицы. Вматематическихдисциплинахтаблице соответствуеттермин отношение(relation). Отсюда ипроизошлоназвание модели– реляционная.

Однимиз основныхпреимуществреляционноймодели являетсяее однородность.Все данныерассматриваютсякак хранимыев таблицах, вкоторых каждаястрока имеетодин и тот жеформат. Каждаястрока в таблицепредставляетнекоторыйобъект реальногомира или соотношениемежду объектами.Пользовательмодели самдолжен для себярешить вопрос,обладают лисоответствующиесущности реальногомира однородностью.Этим самымрешается проблемапригодностимодели дляпредполагаемогоприменения.

Реляционнаямодель имеетдва главныхсвойства:

  1. базовыепорции данныхпредставляютсобой отношения(relations);

  2. операциинад таблицамизатрагиваюттолько соотношения(relation closure).

Соотношение– этоматематическаяконцепция,описывающая,как соотносятсямежду собойэлементы двухмножеств.

Модельпредъявляетк таблицамследующиетребования:

  1. данныев ячейках таблицыдолжны бытьструктурнонеделимыми.Каждая ячейкаможет содержатьтолько однупорцию данных.Это свойствочасто определяетсякак принципинформационнойнеделимости.Недопустимо,чтобы в ячейкетаблицы реляционноймодели содержалосьболее однойпорции данных,что иногданазываетсяинформационнымкодированием.Примером служитидентификационныйномер автомобиля.Если записатьего в одну ячейку,то будет нарушенпринцип неделимостиинформации,поскольку вячейке окажутсяразделяемыеданные такие,как наименованиепроизводителя,модели, сведениео нахождениипредприятияи т.д.;

  2. данныев одном столбцедолжны бытьодного типа;

  3. каждыйстолбец долженбыть уникальным(недопустимыдублированиястолбцов);

  4. столбцыразмещаютсяв произвольномпорядке;

  5. строкиразмещаютсяв таблице такжев произвольномпорядке;

  6. столбцыимеют уникальныенаименования.

Двафундаментальныхправила:правило целостностиобъектов(entity integrity rule) и правило ссылочнойцелостности (referentialintegrity rule).

Первичныйключ– этостолбец илинекотороеподмножествостолбцов, которыеуникально, т.е.единственнымобразом определяетстроки. Первичныйключ, которыйвключает болееодного столбца,называетсямножественнымили комбинированнымили составным.Остальныеключи, которыеможно такжеиспользоватьв качествепервичных,называютсяпотенциальнымиили альтернативнымиключами.

Внешнийключ– этостолбец илиподмножествоодной таблицы,который можетслужит в качествепервичногоключа для другойтаблицы. Внешнийключ таблицы являетсяссылкой напервичный ключдругой таблицы.Правило целостностиобъектов утверждает,что первичныйключ не можетбыть полностьюили частичнопустым, т.е. иметьзначение null.Правило ссылочнойцелостностигласит, чтовнешний ключможет быть либопустым, либосоответствоватьзначению первичногоключа, на которыйон ссылается.

Формальноеопределениеследующее:

СхемойотношенияR называетсяконечное множествоимен атрибутов{A

,A
,…,A
}.Каждому имениатрибута A
ставится всоответствиемножество D
,называемоедоменоматрибутаA
,1обозначаетсятакже dom(A
).Имена атрибутовиногданазываютсясимволамиатрибутовили простоатрибутами.Домены являютсяпроизвольныминепустымиконечными илисчетными множествами.Пусть D=D
D
D
.

Отношениеr сосхемой R – этоконечное множествоотображений{t

,t
,…,t
}из R в D; причемкаждое отображениеt
rдолжно удовлетворятьследующемуограничению:t(A
) принадлежит D
,1кортежами.

Семействосистем управлениябазами данныхFoxPro,является продуктомизвестной фирмыFoxSoftwareи имеет широкуюпопулярностьво всем мире.В настоящемпособии рассматриваетсяверсия FoxPro2.6(нерусифицированная),работающаяпод управлениемWindows.


ТИПЫДАННЫХ

Visual FoxPro 6.0 типыданных


Тип

Описание

Размер

Диапозон

Character

Любойтекст 1byte per character to 254 Любойсимвол

Currency

Monetaryamounts (денежно-кредитныеколичества)

8bytes -922337203685477.5807 to 922337203685477.5807

Date

Хронологическиеданные, состоящиеиз месяца, года,и дня 8bytes

Whenusing strict date formats, {^0001-01-01}, January 1st, 1 A.D to{^9999-12-31}, December 31st, 9999 A.D.

DateTime

Хронологическиеданные, состоящиеиз месяца, года,дня, и времени

8bytes

Whenusing strict date formats, {^0001-01-01}, January 1st, 1 A.D to{^9999-12-31}, December 31st, 9999 A.D., plus 00:00:00 a.m. to11:59:59 p.m.

Logical

Booleanзначения true илиfalse

1byte True(.T.) or False (.F.)

Numeric

Integersor fractions(Целыечислаилифракции(доли))

8bytes in memory;
1 to 20 bytes in table

-.9999999999E+19 to .9999999999E+20

Variant

Avariant can contain any of the Visual FoxPro data types and thenull value. Once a value is stored to a variant, the variantasosumes the data type of the data it contains. Variants aredesignated with an eprefix in language syntax (ВариантможетсодержатьлюбойизВизуальныхFoxPro типовданныхинулевое(пустое)значение).

Seedata types above. См.типы данныхвыше.

Seedata types above. См.типы данныхвыше.


В средеFoxPro установленыследующиестандартныетипы файлов(всегосвыше60, приводятсялишь некоторые):

.dbf - файл базыданных;

.fpt - файл для хранениятекстов memo- полей;

.idx - индексныйфайл;

.cdx -мультииндексныйфайл;

.prg - командный,программныйфайл;

.mem - файл для хранениявременныхпеременных;

.fxp - откомпилированныйкомадныйprg- файл;

.pjx - файл проекта.


1. СУБДFOXPRO: ОЗНАКОМЛЕНИЕС СИСТЕМОЙРАБОТА ВМЕНЮ-ОРИЕНТИРОВАННОМРЕЖИМЕ


Работав среде FoxProвыполняетсяв одном из следующихрежимов:

-непосредственнаяинтерпретациякоманд;

-меню - ориентированныйрежим;

  • выполнениепрограмм.


Приработе в первомрежиме пользовательвводит тексткоманды в командном окне. Средаосуществляетсинтаксическийконтроль ивыполняеткоманду. Некоторыекоманды в процессе выполненияпроводят собственныйдиалог с пользователем,другие могутвыдавать лишькраткие сообщенияоб итогахработы.Второйрежим предназначендля начинающегопользователя,который неосвоил ещеязыка команд. Наконец, режимвыполненияпрограммподразумевает,что пользовательбудет писатьпрограммы,используя языккоманд xBase, дополненныйспециальнымикомандамипрограммирования.Весь цикл понаписанию,отладке и выполнениюпрограмм можноосуществлятьв среде системы.

МЕНЮ -ОРИЕНТИРОВАННЫЙРЕЖИМ.

РабочеепространствоFoxPro представленоокном, верхняястрока которогоявляется строкойглавного менюсистемы. Подней- рабочаязона пользователя.В рабочемпространствеоткрыто такжекомандное окно,размер и положениекоторого можноизменять либоудалить.


Активизациястроки менюF10

Выборзаголовка меню клавишиуправлениякурсором

Вход вменю следующегоуровняEnter

ОтменаEsc


ЗаклавишамиF1-F10 закрепленыстандартныедирективы,назначениеклавиш можнопереопределить.

Горячиеклавиши (например,CTRL+F2 -активизациякомандногоокна, CTRL+D- выполнениепрограмм)

Главноеменю состоитиз заголовковгрупп операцийи команд:

Для FoxPro 2.6 системноеменю выглядитследующимобразом

SYSTEM FILE EDIT DATABASE RECORD PROGRAM WINDOW

Каждойгруппе соответствуетменю второгоуровня- менюопераций идиректив, некоторыеиз них открываютсвои диалоговыеокна. Перемещениявнутри окон– клавишами управлениякурсором, пополям окон- Tab.В диалогахиспользуютсякомандные"кнопки", изображенныена экране. Кним относятся, например. Ok(подтверждениеустановок). Cancel (отменаустановок).Save (сохранение)и многие другие.Недоступныепункты главногоменю и директивыимеют пониженнуюяркость.

Рассмотримнекоторыепункты главногоменю.

System-меню–вспомогательные средства FoxPro,

в томчисле:

AboutFoxPro - предъявлениефирменногознака.

Help -помощь. Просмотри выбор вариантапомощи–

клавиши управлениякурсором.

Входв следующееменю- Enter.Перемещение–

клавишиуправлениякурсором.

Контекстная помощь вызывается из любого

режима- F1.

Macros-закреплениемакрокомандза клавишамиF1 - F10.

Filer-менеджер файлов- выполняетфункции управления

файлами.

Выборполей- Tab. Левоеполе- просмотрфайлов

(скроллинг).

Правоеполе- выборнакопителя,каталога,

маркировка.Нижнее поле-манипуляцияфайлами.

Calculator -вызов калькулятора.

Calendar-Diary-вызов календарядля внесениязаписей. Левоеполе–

выбордня (по стрелкам),месяца (PgUp, PgDn), года

(Shift +PgUp,Shift+PgDn), текущая дата- Т. Правое

поле- длязаписей (Вход- Tab, Выход-Shift Tab).

SpecialCharacters-таблица символовпсевдографики.

ASCII Chart-таблицаASCII-кодов.

Capture-взятие в буферзаданной областиэкрана.

Puzzle -игра

File-меню:

New-создание

Open-открытие

Close-закрытие

Save-сохранение

Save as-сохранениес новым именем

Revert-возврат предыдущейверсии файла

Printer Setup-установкипринтера

Print-печать файла

Quit-выход

Присоздании новогофайла (New) пользователюпредлагаетсявыбрать типсоздаваемогофайла: базыданных, программный,текстовый,индексный,генератораотчетов илидр. Выбранныйтип получаетпометку(•) .

Edit –меню– встроенный текстовыйредактор системы.


Undo-отмена последнегодействия,

Redo-повторениеотмененногодействия,

Cut-вырезка частитекста в буфер,

Сoру-копированиечасти текстав буфер,

Paste-вывод содержимогобуфера в текст,

Clear-очистка частитекста,

Select All-выделение всеготекста окна,

Goto Line-переход к строке,

Find-поиск заданногофрагментатекста,

Find Again-поиск следующеговхождения,

Replace and FindAgain-последовательныйпоиск с заменой,

Replace All-полная заменавсех вхождений,

Preference-настройкаредактора.


Databaseменю– работа с данными,хранимыми вБД

Setup-модификациябаз данных,индексов, фильтров,

Browse-вызов командыполноэкранногоредактирования,

Append From-добавлениезаписей издругих БД илифайлов,

Copy То-копированиев другие БД илифайлы,

Sort-сортировказаписей,

Total-создание БДс суммами позаданномупризнаку,

Average-среднее арифметическоечисловых полей,

Count-подсчет записейс указаннымпризнаком,

Sum-суммированиечисловых полей,

Calculate-вычисленияв БД,

Report-подключениеранее созданнойформы отчета,

Pack-физическоеудаление помеченныхполей,

Reindex-переиндексированиебазы.


Record-меню– работа с записямифайлов БД

Append-вызов окнадополненияБД новыми записями,
Change-вызов окнаредактированиязаписей,
Goto-переход к указаннойзаписи,
Locate-последовательныйпоиск записипо ключу,
Continue-продолжениепоиска,
Seek-ускоренныйиндексный поискпо ключу,
Replace-изменения(вычисления)в БД,

Delete -пометка записейдля удаления,

Recall-снятие пометокдля удаления.


Program –меню– средстваработы с программами

Do - выборкомандногофайла и исполнение,

Cancel - прерываниепрограммы,

Resume -продолжениепрограммы,

Compile -переход в окнокомпиляции,

Generate -вызов генератораприложений,

FoxDoc -вызов документаторапрограмм,

FoxGraph -вызов графическогопакета.


Window-меню–работа с окнами

Hide - удалениекомандногоокна с экрана,

Clear - очистка рабочегополя,

Move - перемещениекомандногоокна,

Size, Zoom - изменениеразмера командногоокна,

Cycle - циклическоепереключениеактивных окон,

Color - выборцветовой схемы,

Command -активизациякомандногоокна,

Debug - вызовотладочногоокна,

Trace - трассировкапрограмм,

View - переходв View

Подробнуюинформациюо работе в меню- ориентированномрежиме можнополучить изконтекстнойпомощи (Help- F1).


Ввод,редактирование,удаление, поиск,просмотр данныхможно выполнитьдля открытойвView-окнебазы данныхс помощью командRecord-менюиз главногоменю:

-добавление,ввод данных;

-изменение,корректировкаполей записей;

- пометказаписей к удалению;

- отменапометки к удалению;

- заменазначений полей;

- переходк записи, положениекоторой указываетсяв

диалоговомокне с помощьюселекторныхкнопок:

-к первой записи,

-к последнейзаписи

- поуказанию номеразаписи,

- смещениеот активнойзаписи по указаниюшага

-поискданных путемуказания в окнекритериевпоиска:

-область поискавыбираетсяиз альтернатив:

- всезаписи файла;

- следующаяза активнойзаписью;

- поуказанию номеразаписи;

- оставшиеся,начиная с активной;

- указаниелогическихусловий отборапо значениямполей в

окнередакторавыражений;

- отбор данных,пока истиннологическоеусловие;

- быстрый поискдля индексированногофайла данных


КомандыRecord-менюне затрагиваютфизическойструктуры базыданных. Замечание:В открытомBrowse-окнеудобно использоватькомбинацииклавиш:

^ N -дополнение,^Т -пометка к удалению,^W- выход с сохранениемизменений.

Команды Database-меню дают следующиевозможности:

-аналоги одноименныхкоманд из менюWindow/View;

- сжатие данных,удаление помеченныхзаписей.

- сортировказаписей позаданному ключус перезаписьюв

другойфайл данных.

Дополнительныевозможностиработы с даннымив меню— ориентированномрежиме можноосвоить с помощьюHelp-меню.

Болееширокий кругвозможностейработы с созданнойбазой данных, удовлетворяющихвсем информационным потребностямпользователя,обеспечиваетпокомандныйрежим работы(набор командвCommand-окне)либо программныйрежим (созданиекомандныхprg-файлов).


2.ОСНОВНЫЕКОМАНДЫFOXPRO

В настоящемразделе приводитсякраткое описаниеосновных командязыка программированиясреды FoxPro, которыеможно задаватьнепосредственнов Command- окне либоиспользоватьв тексте программ.Получениекомандные файлывыполняютсяв режиме интерпретации.Продуктивноеосвоение языкавозможно толькопри практическойпроработкематериала накомпьютере.

Форматкоманды FOXPRO:


ИМЯ_КОМАНДЫ [] [

[FОR][WHILE]


Здесь - границы действиякоманды:

ALL - всезаписи;

REST - всезаписи от текущейдо конца;

NEXT- следующиеN записей;

RECORD-запись с номеромN;

FОR -выполнениекоманды толькодля записей,

удовлетворяющихусловию;

WHILE - выполнениекоманды толькодо тех пор, покане

перестанетвыполнятьсяусловие.

Пример:

LIST ALL FIELDS num, name FORname = 'A'


Длядлинных записейкоманд используетсясимвол переносана следующуюстроку - ";".

КОМАНДЫУСТАНОВКИ

Кромеприведенныхвыше командв FOXPRO имеетсябольшой класскоманд, называемыхкомандамиустановки. Онине выполняюткаких-либодействий, новлияют на работудругих команд.

Имеетсядва типа командустановки:

SET ON|OFF

SET TO

ON|OFF– означает,что установкалибо включена,т.е. работает,

либовыключена.

Примеры:

SET TALK OFF– погашениявывода служебных

сообщенийо работе командна экран;

SETPROCEDURE TO a:\proc1– назначениепроцедурногофайла.

Переченьнаиболее частоиспользуемыхкоманд установкиприведена вПриложении2.

Перейдемк рассмотрениюконкретныхкоманд.


ДИАЛОГОВЫЕ КОМАНДЫ

Созданиеи изменениеструктуры файлабазы данных.

СRЕАТЕ- созданиеструктуры БДв диалоге.

Пример

Названиеполя Тип Пояснение

TAB numeric табельныйномер

FIO character ФИО

POL character пол

DATA date дата рождения

OBR logical наличиевысшего образования

LANG numeric кол-во ин.языков, кот-мивлад. Работник

STAG numeric стаж работына фирме

DETI numeric количестводетей

SRZAR numeric среднемесячнаязарплата

COMP logical знаниеПК


MODIFYSTRUCTURE -изменениеструктурыоткрытой БД.


При вызовеэтих командсреда открываетдиалог, предоставляяэкран-формудля ввода данныхо структуресоздаваемогофайла базыданных.


КОМАНДЫ РЕДАКТИРОВАНИЯ

APPEND[BLANK]- добавлениезаписи в конецоткрытой БД

([BLANK]-пустая запись).

INSERT[BLANK][BEFORE]- вставказаписи до [BEFORE]или после

текущейзаписи.

CHANGE[][FIELDS] [WHILE]

[ FOR]- редактированиезначений полей.

DELETE[зонадействия] [WHILE][FОR]пометка

записейпризнакомудаления.

BROWSE...- команда доступапользователяк данным.

Привызове этихкоманд и наличииоткрытой базыданных средаразвертываетдля пользователяокноредактирования.Команда BROWSEбудетрассмотренанесколькопозже.


ПРОСМОТРДАННЫХ.

Команды DISPLAY и LIST

DISPLAY [][]FOR[]WHILE[]

[OFF][TO PRINT / TO FILE]

КомандаLISTс похожимифункциями неделает остановокпри выдачеданных и поумолчаниюобласть еедействия- весьфайл, а команды DISPLAY-одна текущаязапись.

Примеры:

DISPLAYREST FOF fio= ’И’

LIST'фамилия', fio FOR dolg = "инженер"


Удалениеданных

ERASE- удаление закрытогофайла;

ZAP - удалениевсех записейс сохранениемструктуры;

DELETE[] [WHILE] [FOR] - пометка к удалениюили логическоеудаление записей;

PACK - физическоеудаление, помеченных к удалениюзаписей;

RECALL [][WHILE] [FOR] - снятиепометок к удалению;

Замечание.помеченные к удалениюзаписи остаютсяв БД, однакоони могут необрабатыватьсядругими командами,если была выполненаустановка

SETDELETE ON.

Выполнениекоманды PACK приводит кфизическомууничтожениюзаписей,

БДпри этом сжимается.


Фильтрацияданных

SETFILTERТО []- установкаFOR-условия длявсех командобработкиданных (остальныеданные недоступны).

SETFILTERTOбезпараметра- отменяетограничения.

Пример:

Изменениеданных

REPLACE[][WHILE][FОR]

WITH[,WITH…] [ADDITIVE]

-множественноеизменение полейв соответствиис выражениями.


Пример: REPLACE zarp with zarp*1.25 for dolg=”инженер”


Последовательныйпоиск

LOCATE FОR[][WHILE]- поиск первой

удовлетворяющейFOR-условиюзаписи,При успешномпоиске

указательзаписей устанавливаетсяна найденнуюзапись.

CONTINUE- продолжениепоиска


Пример:

USE KADR

LOCATE FOR stag > 12

DOWHILE! EOF()&&пока не достигнутконец файладанных

? FIO

CONTINUE

ENDDO


Перечисленныекоманды могутбыть выполненыпутем выбораиз в системномменю или непосредственнымнабором вCommand-окне.Наряду с другимикомандами исредствамипрограммирования,приводимымидалее, они могутиспользоватьсятакже в текстахпрограмм.

3. СОЗДАНИЕКОМАНДНЫХФАЙЛОВ


Командныефайлы представляютсобой исходныетексты программи имеют тип.prg.Они создаютсяс помощью встроенногоредактораFoxPro ,вызываемогокомандой

MODIFYCOMMAND

Покоманде MODI COMM (допустимоесокращение)без указанияимени по умолчаниюсоздаетсяprg-файлбез имени. Присвоитьимя следуетпри первомсохранениитекста программы.Удобно использоватькомбинациюклавиш^Wдля сохранениятекста программы.Для редактированияранее созданнойпрограммыиспользуюткоманду

MODI СОММ .

Для запускапрограмм используетсякоманда

DO

Созданнаяпрограммавыполняетсяв режиме интерпретации. Приобнаруженииошибки выполнениепрерываетсяи комментируетсясообщением.

Пример.Приводитсятекст программы,предназначеннойдля отображения всех записейБД, содержащихинформациюо сотрудниках, получающихзарплату меньше200.

SET TALK OFF

SET DATE BRITISH

USE KADR

LOCATE FOR Zarp

DO WHILE !EOF()&&пока не достигнутконец файладанных

DISPL

CONTINUE

ENDDO


4.КомандаполноэкранногоредактированияBROWSE

КомандаBROWSEпредставляетсобой целуюсреду редактирования.Она имеет более20 различныхпараметров.Рассмотримнаиболее частоиспользуемыеиз них.

Форматкоманды.

BROWSE

[FIELDS][FОR]

[FORMAT][FREEZE]

[КЕУ,[,]][LAST]

[LEDIT/ REDIT][LOCK]

[LPARTITION][NOAPPEND]

[NOCLEAR][NODELETE]

[NOEDIT/NOMODIFY][NOLGROD/ NORGRIG]

[NOLINK][NOMENU]

[NOOPTIMIZE][NORMAL]

[NOWAIT][PARTITION]

[REST][PREFERENCE]

[TIMEOUT][ТITLЕ]

[NOOPTIMIZE][WHEN]

[window][NOWAIT]

[VALID[F:][ERROR]

[COLORSCHEME/ COLOR]


Действиенекоторых опциикоманды.

1.Выбор полей

FIELDS- переченьполей (по умолчанию- все).

Ключи:

:R - разрешентолько просмотрполя;

: - видимый размерполя;

:У=- контроль выходаиз поля;

:F - проверкавводимых исуществующихданных;

:Е=- выдача собственногосообщения;

:Р=- задание форматаотображенияданных по шаблону;

:Н=- указаниесобственногозаголовка поля;

:В=,[:Е]- указание границчисел или дат;

:W=- контроль входав поле.

В списокполей могутвключатьсятак называемыевычисляемыеполя, которыеявляются функциямидругих полейили переменных.

2. Отборданных

FОR-устанавливаетфильтр длязаписей; выводятсятолько

записи,удовлетворяющие;

REST-предотвращаетповторный поисксначала;

КЕУ[,] -ограничениедействия командыдиапазоном

ключевоговыраженияактивногоиндексногофайла

З. Разделениеокна

LOCKBROWSE-окно делитсяна две части,где первыеполей

дублируютсяв левой частиокна (переход^Н);

PARTITION-то же, но границапроходит пополю

LEDIT/REDIT-действуюттолько в разделенномокне и задают

формупредставленияданных (формуляр);

LPARTITION-курсор устанавливаетсяв левой половинеокна;

NOLINK-несинхронноеперемещениевидимых записей;

NOLGRID/NORGRID-удаляет вертикальныелинии разделителиполей.

4.Контрольредактированиязаписей

VALID[ERROR]-анализируетусловия длятекущей записи;

WHEN-определяетвозможностьдоступа к записи;

NOAPPEND-дополнениепо Ctrl-Nневозможно;

NOEDIT/NOMODIFY-редактированиеневозможно;

NODELETE-редактированиеневозможно;

FREEZE-единственноедоступное поле.

5.КонфигурированиеBROWSE-окна

LAST-сохранениеконфигурации;

PREFERENCEFORMAT-использованиеформатногофайла;

NOCLEAR-после выходаокно не удаляется;

NOMENU-подавляет выводсистемногоменю;

TIMEOUT-время работыс окном;

TITLE-заголовок окна;

WINDOW-позволяетоткрыть другоеокно.


Пример:

Settalk off

setdate British

usekadr.dbf

browse;

title'^t-удаление ^n-добавление^w-выход';

fields;

fio :h='ФИО':20, ;

dolg :h='должность',;

zarp :h='зарплата ',;

birth :h='день рождения',;

pol :h='рол',;

adress :h='адрес',;

godzarp= zarp*12 :h='год.зарплата':p='#####,##'

pack

closeall


5.КОМАНДЫВВОДА-ВЫВОДА

Средстванеформатированного ввода/вывода


Командавывода ? / ??


? /?? [][АТ][,...]


Команда? выводит выражения[] …[,]с новой строки,

??- в текущейстроке; AT -номерстолбца в строкевывода.


Командавывода TEXT

TEXT

ENDTEXT

Этакоманда удобнадля выводабольших объемовтекста, текствыводится втом виде, какон выглядитв команде.


Командывывода \ и \

\- выводстроки и переводкурсора в началоследующейстроки.

\ -вывод без переводакурсора.


Другиекоманды ввода-вывода

INPUT ТО

ACCEPT ТО

WAIT [] [ТО]

[TIMEOUT][WINDOW] [CLEAR]

Подробныекомментарии и примеры можно найти в соответствующемразделе HELP средыFoxPro.


СРЕДСТВАФОРМАТНОГО ВВОДА/ВЫВОДА

Команда@ ... SAY ... GET

Форматкоманды:

@

[SAY

[PICTURE][COLOR SCHEME/

COLOR]]

[GET

[PICTURE]

[DEFAULT][ENABLE / DISABLE]

[MESSAGE][[OPEN] WINDOW]

[RANGE [][]]

[SIZE,]

[VALID/[ERROR]]

[WHEN]

[COLORSCHEME/COLOR]]


ЗдесьY,X -пара чисел илипеременных,определяющихномер строкии столбца. Команда@ без другихпараметровустанавливаеткурсор в заданнуюпозицию и очищаетстрокуY вправоотX.


Параметрыкоманды

@ Y,X SAY-выдает с заданнойпозиции любого

типа(поля БД, переменныеи пр.); в сложном

выраженииэлементы соединяютсязнаком "+";

@ Y,X GET-с заданнойпозиции выдаетсяпеременнаяили

поле записис возможностьюредактирования

(переменнаяуже должнасуществовать);

DEFAULT - действуеттолько приработе с переменными;

задаетвыражение поумолчанию ипредъявляетк

редактированию;

ENABLE/DISABLE -разрешает/запрещаетдоступ кget-полю;

MESSAGE -для данногополя выдаетпояснение встроке

выводасообщений;

RANGE- контролируетдиапазон значений;

SIZE- определяетобласть, отводимуюпод

редактирование;

VALID... -логическийконтроль ввода;

WHEN- входв редактируемоеполе допускаетсятолько при

истинностивыражения;

[OPEN]WINDOW- используетсясmemo-полями;

COLOR SCHEME/COLOR-определяет

раскраскуполей ввода-вывода.


Возможносоединениефраз SAYи GET в одной команде.При этом GET осуществляет предъявление и возможность редактирования.После командыили группыкоманд GET должнаобязательноследоватькоманда READ. Этакоманда приостанавливаетвыполнениепрограммы дозаполнениявсех GET -полейи присваиваетсоответствующиезначения переменнымили полям базыданных.


Примеры:

1) В 10строке, 15 колонкевывести текст 'ЗАРПЛАТА- ', в этой же строкеобеспечитьполе ввода дляпеременнойи контроль заправильностьюввода (введенноезначение должнонаходится винтервале[100.00,1778.00] ).

X= 100.00

@10,15 SAY 'ЗАРПЛАТА- ' GET X RANGE100.00,1778.00

READ

2) Обеспечитьввод значенийзарплат только кратным 10

@10,15 SAY 'ЗАРПЛАТА - ' GET X VALID MOD(X/10) = 0

READ

ШаблонPICTURE разрешаетввод толькоопределенныхсимволов данных:

А- вводтолько букв;

L- вводтолько логическихданных T / F;

N- вводтолько букви цифр;

Х- вводлюбых символов;

Y- вводтолько логическихданных Y/N;

9 -ввод толькоцифр в символьныхданных, цифри знаков"+","-" -в числовых

данных;

#-ввод цифр, пробелови знаков"+","-";

! -преобразуетстрочные буквыв прописные;

* -перед числами;

. -задает позициюдесятичнойточки.


Пример:

@10,8 SAY 'ЗАРПЛАТА - 'PICTURE ###.##'


3)Пример созданияформатногофайла CADR.FMT, дляредактированияданных в отношенииCADR.DBF. Вид экраннойформы:

Д

АННЫЕО СОТРУДНИКЕ

Текстфайла CARD.FMT

@4, 30 SAY 'ДАННЫЕО СОТРУДНИКЕ'

@ 5, 9 ТО11, 70 DOUBLE

@5, 41 SAY ‘Сегодня'+DТОС(DАТЕ( )) + ' '

@6, 18 SAY 'Фамилия, инициалы:' GET fio

@7, 18 SAY ‘Табельныйномер: ' GET tab

@7, 40 SAY Должность: ' GET Dolg

@ 10, 12 SAY 'Выход с сохранениемизменений- ^End, без- Esc'

Созданныйформатный файлможет бытьиспользованв программес помощью командыSET FORMAT ТО .

Фрагментпрограммы:

SET FORMAT TO CARD.FMT

CHANGE

SET FORMAT TO


6.СРЕДСТВА ПРОГРАММИРОВАНИЯ


Приведенныевыше командыотносятся кязыковым средствамопределенияданных и манипулированияданными. Нарядус ними языкпрограммированиясреды FoxPro обладаетприсущимиязыкам высокогоуровня возможностями,такими какиспользованиепеременныхи массивов,организацияветвлений ициклов, созданиепроцедур идругими.

ПЕРЕМЕННЫЕ

В FoxProразрешаетсяиметь переменныетех же типов,что и поля таблицБД (кроме мемо). Тип переменнойопределяетсятипом последнегоприсваиваемогоей выражения.

Командаприсваивания:

= или

STORE ТО

Примеры:

a = b^2 + 2*c – 3*a

STORE 0 ТО a,b,c –присвоениенулевого значенияпеременнымa,b,c


МАССИВЫПЕРЕМЕННЫХ

Разрешенаработа с одномернымии двумернымимассивамипеременных.

Описаниемассивов выполняеткоманда:

DECLARE/ DIMENSION([,]).


Пример:

DIMENSIONа(3,4),b(4)

Максимальноеколичествои максимальнаяразмерностьмассивов3600. Значенияэлементовмассива формируютсяприсваиваниемим значенийвыражений либов результатеобмена с БДпосредствомследующихкоманд:


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

Команда IF : КомандаDO CASE:

IF DO CASE

CASE

[ELSE

] CASE

ENDIF

[OTHERWIZE

]

ENDCASE


Кромеэтих командимеется оченьполезная функцияIIF ( )(см. приложение)


Примеры:

1. Найтимаксимальноезначение издвух величин.

CLEAR

INPUT “ Введите X” TO X

INPUT “ Введите Y” TO Y

IF X > Y

max = X

ELSE

max = Y

ENDIF

? “ Максимальноезначение равно:”, max

WAIT

2


.Найти значениефункции Y.

CLEAR

INPUT “Введите X” TO X

DO CASE

CASE X

Y = -2*X^2+5*X

CASE X>=0 AND X

Y = 15 –2*X^2

CASE X>=5

Y =ABS(12*X – SIN(12))

ENDCASE

? "Y = " ,Y

CLOSE ALL


ОРГАНИЗАЦИЯЦИКЛОВ

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


DO WHILE Выход из цикла- EXIT

Возврат кначалу цикла- LOOP

ENDDO


Циклвида DOWHILE .T. ENDDOприменяетсякак операторныескобки.


Циклс параметром

FOR = ТО [STEP ]

ENDFOR


ЦИКЛСКАНИРОВАНИЯ

SCAN [][FOR][WHILE] ENDSCAN - применяетсядля перемещенияв базе данныхи выполнениякоманд

длякаждой записи,отвечающейусловиям.


Примеры:

Приводятсяфрагментыпрограмм поискав БД Kadr всех записей

с фамилиейна букву 'И'.

1)USE Kadr 2)USE Kadr

LOCATEFOR fio = 'И' SCAN FOR fio= 'И'

DOWHILE!EOF( )

ENDSCAN

CONTINUE

ENDDO


ПРОЦЕДУРЫ


В FoxProиспользуютсяпроцедуры каквнутренниетак и внешние,а также процедуры-функции.Внутренняяпроцедурадолжна начинатьсякомандой PROCEDURE и заканчиватьсякомандой RETURN.Внешние процедурымогут бытьобъединенывprg-файли подключаютсякомандой SETPROCEDURE TO .

Обращениек процедуре:

DO [WITH ][IN FILE ],где - список фактическихпараметров.Все входныефактическиепараметры передвызовом процедурыдолжны бытьопределены.


Формальныепараметрыописываютсяв процедурекомандой PARAMETERS.

Процедура-функцияначинаетсякомандой FUNCTION,вырабатываетв результатесвоей работыединственноезначение иможет непосредственноиспользоваться в других командах. Процедура-функциязавершается командой

RETURN , где выражениеесть результатфункции.


Процедуры


В FoxProиспользуютсяпроцедуры каквнутренниетак и внешние,а также процедуры- функции.Внутренняяпроцедурадолжна начинатьсякомандой PROCEDURE и заканчиватьсякомандой RETURN.Внешние процедурымогут бытьобъединенывprg-файли подключаютсякомандой SETPROCEDURETO. Обращениек процедуре:


DO [WITH][INFILE]


Параметрыописываютсяв процедурекомандойPARAMETERS.

Процедура-функцияначинаетсякомандой FUNCTION, вырабатываетв результатеединственноезначение иможет непосредственноиспользоваться в других командах. Завершается командойRETURN,где выражениеесть результатфункции.

Параметрыпроцедур ифункций могутизменятьсявнутри них, нодля передачиэтих измененийв вызывающуюпрограммутребуетсяиспользоватькоманду

Использованиепроцедур рассмотримдалее в разделеорганизациименю.


ЗАДАНИЕ


1.Приведеннуювыше Программу1, представьтев виде рядапроцедур:

р21- просмотрданных по штатномурасписанию(отношениеSTATE)

р22- поискданных по штатномурасписанию

р31- просмотрданных по спискусотрудников(отношениеSOTR)

р32- поискданных по спискусотрудников

р4- совместныйпросмотр двухтаблиц (состояние)

info- заставка скраткой информацией(дополнительнаяпроцедура).


Пример1.


*********** поиск в таблице Kadr***********

PROCEDURE p21

SELECT a

CLEAR

с = 0

@5, 10 SAY 'Введите табельныйномер: ' GET с PICTURE '###'

READ

@6, 2 SAY'Результатпоиска '

LOCATE ALL FOR tab = c

DO WHILE ! EOF( )

? 'должность- ', dolg,' оклад - ', zarp

CONTINUE

ENDDO

WAIT 'Продолжение–Enter ' WINDOW

CLEAR

RETURN


Пример2.


********* заставка **************

PROCEDURE info

CLEAR

@8, 15 ТО 20, 60 DOUBLE&& изображениерамки

@9, 25 SAY 'ШТАТНОЕ РАСПИСАНИЕ' && вывод текста

@12, 20 SAY 'Модель информационнойсистемы'

WAIT 'Продолжение–Enter ' WINDOW && пауза

CLEAR

RETURN


7.ОРГАНИЗАЦИЯ МЕНЮ

Менюявляются основнойформой поддержаниядиалога винформационныхсистемах. СредаFoxProобладает большимнабором средстворганизациисветовых иклавишных меню.Выделим двеосновных технологиипостроенияменю, которыепорождают «меню- программы»и «меню - объекты».

Меню-программаявляется частьюпрограммы,где оно создается,используетсяи удаляется.При этом вырабатываютсячисловые переменные,фиксирующиевыбор из меню,которые анализируютсякомандами DOCASE,требуют использованияциклов DOWHILEи т.д. Рассмотримдва типа такихменю. Будемиспользоватьприведеннуювыше программу,которуюпредварительноразобьем наряд процедур.

LIGHTBAR- меню строитсяс использованиемкоманд:

@ Y,X PROMPT[MESSAGE]- выдаетв

позицииY,Xстроку менюи дополнительноесообщение,

еслиуказано MESSAGE,в строке заданнойкомандой

SET MESSAGE .

MENUTO- запоминаетцифру, соответствующуювыбору.


PULLDOWN- меню(двухуровневоеменю) используеткоманды

MENUBAR,-определяетпункты горизонтального

BAR-меню,задавая их какэлементы первогостолбца

двумерного, вовторой столбецзаносятся

сообщения,N-общее числопунктов меню.

MENU,, - определяетсодержание

вспомогательноговертикальногоменю (POPUP-меню)

READMENUBARTO,- активируетменю.


Пример


1)********** LIGHTBAR МЕНЮ *******

SET TALK OFF

SET DATE BRITISH

USE KADR.DBF

DO WHILE .T.

CLEAR

P=1

@5,20 PROMPT “Редактированиеданных ”

@7,20 PROMPT “Поиск данных ”

@9,20 PROMPT “Средняя заработнаяплата ”

@11,20 PROMPT “Конец работы ”

MENUTOP

DOCASE

CASE P=1

BROWSE

CASE P=2

CLEAR

F=SPACE(20)

@10,15 SAY “ ВведитеФИО“ GET F

READ

LOCATE FOR FIO = F

IF !FOUND( )

@12,15 SAY “Запись нeнайдена”

WAIT

EXIT

ELSE

DISPL

ENDIF

CASE P=3

CALCULATE SUM(SRZAR) TO SUMM

SUMM =SUMM/RECCOUNT( )

@ 12,15 SAY STR(SUMM)

WAIT

CASE P=4

EXIT

ENDDO

CLOSE ALL

2)********** PULLDOWN МЕНЮ *******


SET MESSAGE ТО15

DIMENSIONa(5, 3) &&заданиемассива,содержащего

а(1,1) = 'Информация'&&тексты пунктовгоризонтальногоменю

а(2, 1) = 'Штатноерасписание'

а(3, 1) = 'Списоксотрудников'

а(4, 1)= 'Состояние'

а(5, 1) = 'Выход'

а(1, 2) = ''&&тексты сообщений

а(2, 2) ='Работа с таблицейдолжностей'

а(3, 2) ='Работа с даннымио сотрудниках'

а(4, 2) ='Совместныйпросмотр штатногорасписанияи списка сотрудников'а(5, 2) = '3авершениеработы'

DIMENSIONb(2) && заданиемассивов длявложенных меню

b(1)= 'просмотр'

b(2)= 'поиск'

DIMENSIONc(2)

с(1) = 'просмотр'

с(2) = 'поиск'

**образ меню**&&определениеменю

MENUBAR a, 5

MENU2, b, 2

MENU3, c, 2

g= 1 &&номер пунктагоризонтальногоменю

v= 1 &&номер пунктавложенногоменю

DOWHILE .T.

CLEAR

READ MENU BAR TO g, v &&активацияменю

DOCASE&&обработкавыбора

CASE g = 1

DO info

CASE g = 2 .AND. v = 1

DO p21

CASE g = 2 .AND. v = 2

DO p22

CASE g = 3 .AND. v = 1

DO p31

CASE g = 3 .AND. v = 2

DO p32

CASE g = 4

DO p4

CASE g = 5

CANCEL

ENDCASE

ENDDO

Меню- объекты являютсянезависимымиобъектами имогут вызыватьсяиз любого местаприкладнойсистемы. Обработкавыбора из менюне требуетвведения переменныхи организациициклов, даетвозможностьсоздавать менюиз имен файлови обладаетдругими преимуществами.Рассмотримодин из вариантовменю такоготипа.

ВертикальноеPOPUP- менюсоздаетсяс помощью следующихкоманд.

DEFINEРОРUР-определениеменю,

ONSELECTION POPUP-реакциянавыбор,

ACTIVATEPOPUP -активацияменю.


3)**********POPUP- меню****************

CLEAR

DEFINE POPUPmmenuMARGIN &&определениеглавного меню

DEFINEBAR1 OFmmenuPROMPT'Информация'&& определениепунктов

DEFINEBAR 2OF mmenu PROMPT 'Штатноерасписание'

DEFINEBAR 3OF mmenu PROMPT 'Списоксотрудников'

DEFINEBAR 4OF mmenu PROMPT 'Состояние'

DEFINEBAR 5OF mmenu PROMPT 'Выход'

ONSELECTION BAR5OF mmenu DEACTIVATE POPUP &&обработкавыбора

ONSELECTION BAR1OF mmenu DO info

ONSELECTION BAR4OF mmenu DO p4

ONBAR 2OF mmenu ACTIVATE POPUP ww &&выборвложенныхменю

ONBAR 3OF mmenu ACTIVATE POPUP ss

DEFINEPOPUPww &&определениевложенных меню

DEFINEBAR 1OF ww PROMPT 'Просмотр'

DEFINEBAR 2OF ww PROMPT 'Поиск'

ONSELECTION BAR1 OF ww DO p21

ONSELECTION BAR2OF ww DO p22

ONSELECTION POPUP ww DO ww

DEFINEPOPUP ss

DEFINEBAR 1 OF ss PROMPT 'Просмотр'

DEFINEBAR 2OF ss PROMPT 'Поиск'

ONSELECTION BAR1OF ss DO p21

ONSELECTION BAR2OF ss DOp22

ONSELECTION POPUP ss DO ss

ACTIVATEPOPUP mmenu &&активацияменю


ЗАДАНИЕ

Программу1,представленнуюв виде рядапроцедур, дополнитеорганизациейМЕНЮ одногоиз предложенныхтипов. В приложениидан полныйтекст программыс использованиемPOPUP-меню длявыбора процедур.


8.ИЗОБРАЗИТЕЛЬНЫЕ СРЕДСТВА

Из большогосписка возможностейрассмотримлишь некоторые

1.Построениерамки

@ ТО [DOUBLE/PANEL

COLOR / COLOR SCHEME

В указанныхкоординатахстроится рамка,ограниченнаядвойной линией(DOUBLE), с сплошнымзаполнением(PANEL) и желаемогоцвета.

2.Управлениецветом

Обозначенияцветов:

черныйN

желтыйGR+

бирюзовыйBG

коричневый GR

белыйW

зеленыйG

лиловыйRB

красный

Команда

SET COLOR TO [[,][,] [,]]

-устанавливаетцвета для основноготекста, длявывода сообщений,

рамкиза пределамииспользуемойобласти и фонадля основныхи

дополнительныхсообщений. Цветтекста и цветфона под ним

образуютцветовуюпару (например,W/B или R+/ GR).


Цветовуюсхемуможно определитьв диалоге исохранить вспециальномфайле и командойSET COLOR OF SCHEME TO[]/[SCHEME].Можно задатьмерцание изображения:SET BLINK ON/OFF.

10. РАБОТАС НЕСКОЛЬКИМИБАЗАМИ ДАННЫХ


В FoxProдопускаетсяработа сразусо многимибазами данных,и при этом можноустанавливатьмежду нимиразнообразныесвязи, которыепозволяютсинхронноперемещатьуказателизаписей в такихсвязанныхбазах. База, вкоторой указательдвижется произвольно,считаетсястаршей, а база(базы), в которойуказательследует зауказателемстаршей базы,- младший. В старшейи младших базахдолжны бытьсовпадающиеполя. Допускаетсясцепление однойбазы с несколькимидругими. Младшиебазы, в своюочередь, могутбыть связаныс базами следующегоуровня и т.д.

Возможноустановлениедвух типовсвязей междузаписями двухсцепленныхбаз данных.Связь типа одна_запись-к-одной перемещаетуказатель вмладшей базетаким образом,что он всегдаустанавливаетсяна первую встреченнуюим запись ссовпадающимпризнаком.Остальные такиезаписи (еслиесть) остаются«не замеченными».Эта связьустанавливаетсякомандой SETRELATION.Связь типа одна_запись-ко-многим позволяетобратитьсяко всем записяммладшей базыс совпадающимпризнаком(команды SETRELATION и SETSKIPTO).


ПОНЯТИЕО РАБОЧИХ ОБЛАСТЯХ

В FoxProобрабатыватьсразу несколькофайлов базданных (до 25).Каждый такойфайл типа DBFи все вспомогательныефайлы (например,индексные)открываютсяв своей отдельнойрабочей области.Переход изобласти в областьосуществляетсякомандой:

SELECT

Первыедесять рабочихобластейидентифицируютсяномерами 1-10 илибуквами A– J.Области с 11-йпо 25-ю обозначаютсяномерами илибуквенно-цифровымиименами W11– W25.Если в качествепараметрауказать цифру0, произойдетпереход в первуюсвободнуюрабочую область.Кроме того,рабочие областии файлы базыданных могутидентифицироватьсятак называемымипсевдонимами.Псевдонимомобласти поумолчаниюявляется самоимя находящегосяв ней файлабазы данных.

Область,в которой вданный моментработаетпользователь,называетсяактивной рабочейобластью, и вней можно работатьс находящейсяздесь базойданных. В однойкоманде можноработать сполями другихбаз (открытыхв других областях).В этом случаеимя поля изнеактивнойбазы – составное:имени поляпредшествуетимя рабочейобласти илипсевдоним,разделенныезнаком «точка»:

рабочая область/ псевдоним> .имяполя>

Рабочаяобласть в составномимени указываетсялюбым разрешеннымобразом (буквой,именем ее базыданных, псевдонимом),но не номером.Номер можетбыть указанв команде SELECTи в функциях.

Привходе в СУБДактивизируетсяобласть 1 (илиА), и, если пользовательработает толькос одной базой,заботитьсяоб открытииобластей ненужно.

Вкоманде USEможно одновременноуказывать иобласть, в которойоткрываетсябаза. Пример:

USE delivery IN b.

Однакопереход в указаннуюобласть с помощьютакой командыне происходит(для переходанеобходимовоспользоватьсякомандой SELECT).


ПРИМЕРРАБОТЫ С НЕСКОЛЬКИМИБАЗАМИ ДАННЫХ

ВНЕСКОЛЬКИХОБЛАСТЯХ

Вприведеннойниже программеприводитсяпример работыс двумя базамиданных, базойПоставщик(Delivery)и базой Поставка(Supply).Структура бази назначениеполей приводитсяв Приложении№ 3. Данная программапозволяет повведенномукоду товаранайти всехпоставщиков,поставляющихданный товар.


CLEAR

SETTALK OFF

SETEXACT OFF

SELEA

USESupply

KOD=0

@1,2 SAY 'Введитекодтовара'GET KOD PICTURE'#####'

READ

LOCATEFOR indgoods = kod

IF!FOUND()

WAIT'Такого коданет'

RETURN

ENDIF

ind=inddel

SELEB

USEDelivery

LOCATEFOR inddel=ind

IF!FOUND ()

WAIT 'Такого поставщиканет'

RETURN

ENDIF

DISPLnamedel, count, tel, A.namgoods, A.pricegds

CLOSEALL


Связьвида одна_запись-к-одной

Команда

SET RELATION TO ключ> INTO область> [,ключ> INTO область>…] [ADDITIVE]


связываетуказательзаписей в активнойрабочей областис указателемзаписей издругих рабочихобластей, которыхуказаны послеслова INTO,по заданномуобщему полю(ключу). Единственноеусловие– файл базыданных, с которымустанавливаетсясвязь, долженбыть проиндексированпо этому полю.


Пример

Связатьбазы данных SUPPLY.DBF и DELIVERY.DBF по полю INDDEL.По коду поставщикавывести списокпоставщикови их реквизиты.


SETTALK OFF

CLEAR

SELEA

IFFILE ('Inddelivery.ind')

USEDelivery INDEX Inddelivery

ELSE

USEdelivery

INDEXON inddel TO Inddelivery

ENDIF

SELEB

USESupply

SETRELATION TO inddel INTO A

DOWHILE .T.

kod=0

CLEAR

@12,23 TO 14,50 DOUBLE

@13,25 SAY 'Введитекод товара' GET kod PICTURE '#####'

READ

LOCATEFOR indgoods = kod

IF!FOUND()

WAIT 'Такого товаранет'

LOOP

ENDIF

name=namgoods

IF kod 0

SETFILTER TO indgoods = kod

BROWSE;

TITLE' Список поставщиков,поставляющих' + name;

FIELDS;

INDDEL:H= ' Код поставщика' ,;

A.NAMEDEL:H= 'Названиепоставщика' ,;

A.ADRDEL:H= 'Адрес ' ,;

A.TEL:H= 'Телефон '

SETFILTER TO

ENDIF

IFLASTKEY()=27

EXIT

ENDIF

ENDDO

PACK

CLOSEALL


В этойпрограммевыводятсязаписи, в которыхдля каждогокода поставщикаinddelиз текущей базыданных Supply.dbf(открытой вобласти В) выводятсяполя A.namedel(Названиепоставщика),A.adrdel (Адрес) и A.TEL(Телефон) избазы данных Delivery.dbf (открытой вобласти A).

В FoxProимеется возможностьустанавливатьсвязи с несколькимибазами одновременно.Если со старшимфайлом, которыйуже связан сдругим, необходимосвязать некоторыйтретий (четвертыйи т.д.), следуетво все последующиекоманды SETRELATION включатьслово ADDITIVE,которое обеспечитсохранениесвязей, установленныхранее.

Связьмежду всемифайлами разрываетсякомандой SETRELATIONTO безпараметров. Связь с отдельнымфайлом в заданной - командой SETRELATION OF INTO .


Связьвида одна_запись-ко-многим

Команда SET SKIP TO [ область1> [,область2 >]… ]

устанавливаетсвязь типа одна_запись-ко-многим между двумяили несколькимибазами данных.

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

Преждечем использоватькоманду SETSKIPTO,необходимовыполнитьначальноесцепление вида одна_запись-к-одной командой SET RELATION.Удаление связи одна_запись-ко-многимосуществляетсякомандой SET SKIP TO без параметров.


Пример

Установитьсвязь междутремя базамиданных. В программеиспользуется

третьябаза Товаров(Goods.dbf),получаемаяиз БД Supply.dbf


SETTALK OFF

IFFILE ('Goods.dbf')

ERASE Goods.dbf

ENDIF

IFFILE ('Indnum.idx')

ERASE Indnum.idx

ENDIF

SELEA

USE Supply

IF FILE ('Indg.idx')

SETINDEX TO Indg.idx

ELSE

INDEX ON indgoods TO Indg UNIQUE

ENDIF

COPY TO Goods FIELDS indgoods,namgoods, measure

SELE C

USE Smdeliv

IF FILE ('Indexdel.idx')

SET INDEX TO Indexdel.idx

ELSE

INDEX ON indgoods TO IndexdelUNIQUE

ENDIF

SELECT SUPPLY

SET RELATION TO inddel INTODelivery ADDITIVE

SELE B

USE Goods

INDEX ON namgoods TO Indnum

SET RELATION TO indgoods INTOSupply ADDITIVE

SET SKIP TO Supply

BROWSE TITLE "Товары";

FIELDS ;

Goods.Namgoods :H = "ИмяТовара" ,;

Delivery.Namdel :H = "ИмяПоставщика",;

Delivery.Adrdel :H = "ИмяПоставщика",;

Delivery.Count :H ="Счет", ;

Goods.Measure:H ="Ед.Измерения",;

Supply.Pricegds:H= "Цена Единицы",;

Supply.Quant:H= "Кол-Во Единиц",;

Totalamount=Supply.Quant *Supply.Pricegds :H = "ОбщаяСумма"

CLOSEALL


11. РАБОТАС ОКНАМИ

Использованиеокон- оченьудобное и эффектноесредство созданияпользовательскогоинтерфейсав прикладнойпрограмме.

Определениеокна

DEFINEWINDOW FROM, TO ,

[FOOTER][TITLE][SYSTEM/DOUBLE/PANEL/NONE]

[CLOSE][FLOAT][GROW][SHADOW][ZOOM][FILL][MINIMIZE]


FOOTER, TITLE-нижний и верхнийзаголовки;

формаграниц окна:

SYSTEM -стандартная,

DOUBLE -двойная линия,

PANEL- сплошная полоса,

NONE -не определяется,

CLOSE -допускаетзакрытие окнамышью,

FLOAT -перемещениес помощью ^F7 илимышью,

GROW-изменениеразмера (^F8 илимышью),

ZOOM /

MINIMIZE-распахиваниеи свертываниеокна;

SHADOW-теневая рамка,

FILL -символ заполненияокна.


Активацияуже определенногоокна

ACTIVATEWINDOW [[][,]][,...]] ALL [BOTTOM/TOP]]

Здесьуказаны именаоткрываемыхили всех (ALL) окон.BOTTOM / TOP - размещениенового окнапод/перед ужеимеющимся.

Удалениес экрана

DEACTIVATE WINDOW[,][,...]/ALL

Удалениес экрана и изпамяти

CLEAR WINDOW -Удаление сэкрана и изпамяти ВСЕХокон

RELEASE WINDOW- Перечисленныхокон.


Восстановлениеокна

RESTORE WINDOW


Сохранениев файле

SAVE WINDOW /ALL TO


12.ПРИЛОЖЕНИЯ


12.1.СТАНДАРТНЫЕФУНКЦИИ FOXPRO


Арифметическиефункции


ABS()-абсолютноезначение числа

BETWEEN(,,)-истинно (.Т.), если

 ,иначе ложно(.F.) (длячисел,

строк,дат)

CEILING()-округлениечисласизбытком

FLOOR()-округлениечисла снедостатком

INТ()-целая частьчисла

МАХ(,[,...])-максимальноезначение изсписка

аргументов(числа, строки,даты)

MIN,[,...])-минимальноезначение изсписка

аргументов

MOD(,) -целочисленныйостаток отделения

на

ROUND(,) -округлениечисла до

знаковпосле запятой

RAND(])-псевдослучайноечисло в диапазоне0...1

SIGN()-знак числа


Степенные,тригонометрическиеи другие функции

ЕХР()-экспонента

LOG()-натуральныйлогарифм

LOG10()-десятичныйлогарифм

SQRT()-квадратныйкорень числа

SIN()-синус отугла в радианах

COS()-косинус

TAN()-тангенс

ASIN()-арксинус (результат врадианах)

ATAN()-арктангенс

PI ( )-число

DTOR()-преобразованиеградусной мерыугла в

радианы

RTOD()-преобразованиерадианной мерыугла в

градусы


Строковыефункции

$-вхождение в

(результат.Т. или .F.)

AT /ATC(,[,N>)-поиск слеванаправо в строке

позиции вхождения

подстроки,начиная с

позиции строки

RАТ(,[,)-то же справаналево

INLIST(,[,…])-вхождение в последующий

список(результат .Т.или .F.)

LEN()-длина строки

LIKE(,)-вхождение в

(результат.Т. или .F.) с

использованиемсимволов маски* и ?

OCCURS(,)-число вхожденийв

LEFT()-вырезка слеваиз строки

символов в колич.

RIGHT()-то же справа

SUBSTR(,,[]) -вырезка изстроки

подстрокисимволов от

вколичестве

символов>

LTRIM()-удаление начальныхпробелов

TRIM /RTRM() -удаление завершающихпробелов

ALLTRIM()-удаление начальныхи завершающих

пробелов

REPLICATE(,)-повтор раз строки

SPACE()-формированиестроки пробелов

длины


Функциипреобразования

АSС()-выдает ASCII кодпервого символа

CHR()-преобразуетчисло в символв

соответствиис кодом

STR(,[,[]])-преобразуетчисло встроку

длиной с указанным

числом

VAL()-преобразуетсимвольнуюзапись числа

в число


Функцииобработкимемо-полей

ATLINE(,)-первое вхождениестроки

в

ATCLINE(,) -то же без различениястрочных и

прописныхбукв

RATLINE(,)-последнеевхождениестроки

в

MLINE(,) -возвращаетстроку из

MEMLINES()-число строкв мемо поле


Функцииработы с датами

СТОD()-преобразованиедаты из строки

символовв формат даты

DATE( )-системная дата

DAY()-число месяцаиз даты

DMY()-представлениедаты в виде

ДДМЕСЯЦ ГГ (илиГГГТ)

DOW()-номер дня недели

DTOC()-преобразованиевыражения типадаты

в строкусимволов

GOMONTH(,)-возвращаетдату, котораяотстоит от

на ± месяцев

MONTH()-числовое значениеномера месяцапо

дате

YEAR()-числовое значениегода по дате


Функцияанализа условий

BOF(,,)-выдает значение,если условие

истинно,и еслиложно.


Функциипроверки файлови дисков

ВОF([])-достижениеначала файла(результат

.Т. или.F.)

ЕОF[(])-достижениеконца файла(результат

.Т. или.F.)

DBF([])-выдает полноеимя файла БДв

текущейобласти

DISCSPACE ( )-число свободныхбайт на активном

диске

DELETED([])-наличие пометкизаписи к удалению

(результат.Т. или .F.)

FILE()-проверка наличияфайла

FIELD([,])-выдает имя поляпо его номеру в

активнойБД

FOUND([])-успешное завершениепоиска

(результат .Т. или .F.)

FCOUNT([])-число полейв открытомфайле БД

LOOKUP(,,)-ищет первоевхождениевыражения в

и выдает

LUPDATE([])-дата последнегоизменения БД

ORDER([])-имя главногоиндексногофайла

RECNO([])-номер текущейзаписи активного

файлаБД

RECCOUNT([])-общее количествозаписей

RECSIZE([])-размер записив байтах

HEADER([)-размер заголовкаБД в байтах

SЕЕK([,])-поиск записис в индексном

файле

ЕМРТY()-наличие данныхв объекте (результат

.Т. или .F.)

ТYРЕ()-выдает буквуимени типа


Функциипозиционирования

COL ( )-номер текущейколонки экранаили окна

ROW ( )-номер текущейстроки экранаили окна

РСОL( )- номертекущей колонкина принтере

PROW ( )-номер текущегостолбца напринтер


12.2. SET - КОМАНДЫ

Этикоманды служатдня заданияфлажков состояний,параметровсреды и т.п., которыеобычно задаютсяв начале текстапрограммы ив случае необходимостипереопределяютсяили отменяются.В среде FoxPro имеетсясвыше 100 такихкоманд. Приведемнекоторые изних. За дополнительнымиразъяснениямиможно обратитьсяк HELP.

SET ALTERNATEON/OFF - установитьфлаг выводаданных с экрана

в файл

SET BELL ON/OFF- установитьфлаг звуковогосигнала

SET BLINK ON/OFF- установитьфлаг миганиясимволов

SET SENTURYON/OFF - установитьфлаг отображениястолетия

в датах

SET CLOCK ON/OFF- установитьфлаг выводавремени

SET COLOR TO- задатьцвета меню иокон пользователя

SETCOLOR OF SCHEME -задатьцветасхемы

SETCURRENCY TO -задатьденежныйзнак

SETDATE TO... -определитьформат даты

SET DECIMALSTO…-установитьчисло цифр вдробной

частичисла

SETDEFAULT TO... -задать диски каталог поумолчанию

SET DELETEDON/OFF- установитьфлаг доступак записям с

пометкойудаления

SET ECHO ON/OFF- установитьфлаг активизацииокна отладки

SET ESCAPE ON/OFF- установитьфлаг прерыванияпо

клавишеESC

SETFILTER TO…-задать фильтрдоступа к записям

SETFUNCTION...TO... -связать командус функциональной

клавишей

SET HELP ON/OFF- установитьрежим доступак помощи

SETINDEX TO…-открыть индекс

SET KEY TO -задать предельноезначение ключевого

индекса

SETMESSAGE TO... -задать местоположениесообщений

SET ORDER TO...- задатьосновной индекс

SET PATH TO…-задать списоккаталогов дляпоиска файлов

SETPRINTER ON... -установитьфлаг выводана принтер

SETPROCEDURE TO... -открыть заданныйпроцедурныйфайл

SETRELATION TO…-установитьсвязь 1:1 с другойБД

SET RELATION OFF- разорватьсвязь с другойБД

SETSHADOWS ON/OFF -установитьфлагналичиятени

SETSKIP TO…-установитьсвязь 1:N с другойБД

SET SPACE ON/OFF- установитьфлаг вставкипробелов

SET TALKON/OFF- установитьфлаг выводарезультатов

выполнениякоманд

SETWINDOW OF MEMO TO...-задать имя окнаредактирования

мемо-полей


12.3.ТЕКСТЫ ПРОГРАММ


Структурадля базы данных:DELIVERY.DBF

Field FieldNameType Width Dec Index

1INDDELNumeric2

2NUMDELCharacter 10

3ADRDELCharacter 20

4COUNTCharacter 8

5TELNumeric 6


Структурадля базы данных:SUPLY.DBF

Field FieldName Type Width Dec Index

1INDSUPNumeric 5

2INDDELNumeric 2

3DATEDate 8

4NAMGOODSCharacter 15

5QUANTNumeric 5

6PRICEGOODSNumeric 5 2

7MEASURECharacter 3

8INDGOODSNumeric 5


***********************РаботаснесколькимиБД*****

USESuply

ERASEGoods.dbf

INDEXON indgoods TO Indg UNIQUE

COPYTO Goods FIELDS indgoods;

,namgoods,measure

SELECT2

USEGoods

BROWSE

CLOSEALL

SETTALK OFF

DEFINEWINDOW vvod FROM 2,2TO 7,35DOUBLE FLOAT SHADOW

DEFINEWINDOW vivod FROM 8,2TO 20,70 SYSTEM ;

COLORSCHEME 10

CLEAR

SELECTA

IFFILE ('Inddeliv.idx')

USEDelivery INDEX Inddeliv

ELSE

USEDelivery

INDEXON inddel TO Inddeliv

ENDIF

SELECTB

USESuply

SETRELATION TO inddel INTO Delivery

DOWHILE .T.

ACTIVATEWINDOW vvod

CLEAR

A=0

@2,5 SAY 'Введитекодтовара'GET A PICTURE '#####'

READ

LOCATEFOR indgoods=A

IF!FOUND()

WAIT'Такого коданет'

LOOP

ENDIF

name=namgoods

IFA0

SETFILTER TO indgoods=A

ACTIVATEWINDOW vivod

BROWSE;

TITLE'Список поставщиков,поставляющих'+name ;

FIELDS;

A.inddel :H='Кодпоставщика',;

A.namdel :H='Имяпоставщика',;

A.adrdel :H='Адреспоставщика',;

A.tel :H='Телефонпоставщика',;

A.count :H='Счетпоставщика'

DEACTIVATEWINDOW vivod

SETFILTER TO

ENDIF

DEACTIVATEWINDOW vvod

IFLASTKEY()=27

EXIT

ENDIF

ENDDO

PACK

CLOSEALL


CLEAR

SETTALK OFF

SELECTB

USEGoods

SELECTA

USESuply

INDEXON indgoods TO Indg

SELECTC

USE Delivery

INDEXON inddel TO Indexdel

SELECTSuply

SETRELATION TO inddel INTO Delivery

SELECT Goods

INDEXON namgoods TO Indnum

SETRELATION TO indgoods INTO Suply


SETSKIP TO Suply

BROWSETITLE 'Товары';

FIELDS;

Goods.namgoods:H='Имятовара',;

Delivery.numdel:H='Имяпоставщика',;

Delivery.adrdel:H='Егоадрес',;

Delivery.count :H='Счет' ,;

Goods.measure:H='Единицаизмерения' ,;

Suply.pricegoods:H='Ценаединицы' ,;

Suply.quant:H='Количествоединиц' ,;

Totalamount=Suply.quant*Suply.pricegoods;

:H='Общаясумма'

CLOSEALL


3.1. Линейнаяпрограмма

********** установки ***********

CLEAR

SETTALK OFF

CLOSEALL

USEstate IN a && открытьвзонеафайлSTATE

USE sotr IN b &&открыть в зонеb файл CADR


*********** работас таблицейstate **************

SELECT a

BROWSE;

TITLE 'Штаты ^Т– удал ^N - добав ^W – coxp ' ;

FIELDScod :H = ‘Код’,;

dolg :H= 'Должность',;

zarp:H = 'Оклад',;

kol :H = 'Количество'


*********** поискданных в таблицеSTATE ***********

CLEAR

с = 0

@ 5, 10 SAY 'Задайтекод должности:' GET с PICTURE '###'

READ

@6, 2 SAY 'Результатпоиска'

LOCATEALL FOR cod = C

DOWHILE ! EOF ( )

? 'Должность- ', dolg, ' Оклад - ', zarp

CONTINUE

ENDDO

WAIT 'Продолжение– ENTER ' WINDOW


******** работас таблицей sotr ****************

SELECT b

BROWSE;

TITLE 'Список- ^ T-удал ^ N - добав ^W - сохр' ;

FIELDScod :Н= 'Код',;

fio :H = 'ФамилияИ.О.' ,;

tab :H = 'Табельныйномер'


**** поискданных в таблицеSOTR ****

CLEAR

с = 0

@ 5, 10 SAY 'задайтекод должности:';

GET с PICTURE '###'

READ

@ 6, 2 SAY 'Результатпоиска'

LIST 'Фамилия- ', fio, 'Табельныйномер - ', tab;

WHILE cod = c

WAIT 'Продолжение– ENTER ' WINDOW


**** работас форматом ****

SET FORMAT TO cadr.fmt

CHANGE

SETFORMAT TO


******** установлениесвязи********************

SELECT b

SETORDER TO cod

SELECTa

SETORDER TO cod

SETRELATION TO cod INTO b

SETSKIP TO b

BROWSE ;

TITLE 'Информация';

FIELDS A.dolg :H =‘должность',;

B.fio :H = 'Ф.И.О.',;

A.zarp :H = 'оклад',;

nal = A.zarp* 0.2:H= 'налог'

SET RELATION TO


*********конецпрограммы**********


3.2 Программа,состоящая изпроцедур, вызываемыхиз меню

CLEAR ALL

SETTALK OFF

CLOSEALL

SETSHADOWS ON

USEstate IN a

USE cadr IN b


************** МЕНЮ ****************

DEFINE POPUP mmenu

DEFINEBAR1 OF mmenu PROMPT 'Информация'

DEFINE BAR2 OF mmenu PROMPT'Штатное расписание предприятия'

DEFINEBAR3 OF mmenu PROMPT 'Списоксотрудников'

DEFINEBAR4 OF mmenu PROMPT 'Состояние'

DEFINEBAR5 OF mmenu PROMPT 'Запрос'

DEFINEBAR6 OF mmenu PROMPT 'Выход'

ONSELECTION BAR6 OF mmenu DEACTIVATE POPUP

ONSELECTION BAR1 OF mmenu DO about

ONSELECTION BAR4 OF mmenu DO p2table

ONSELECTION BAR5OF mmenu DO pspr

ONBAR2 OF mmenu ACTIVATE POPUP wow

ONBAR3 OF mmenu ACTUVATE POPUP sos

DEFINEPOPUP wow

DEFINEBAR1 OF wow PROMPT ‘Просмотр'

DEFINEBAR2 OF wow PROMPT 'Поиск'

ONSELECTION BAR1 OF wow DO pstate

ONSELECTION BAR2 OF wow DO psearch

ONSELECTION POPUP wow DO wow

DEFINE POPUP sos

DEFINEBAR1 OF sos PROMPT 'Просмотр'

DEFINEBAR2 OF sos PROMPT 'Поиск'

ONSELECTION BAR1 OF sos DO pstate

ONSELECTION BAR2 OF sos DO psearch

ONSELECTION POPUP sos DO sos

ACTIVATE POPUP mmenu


************ работастаблицейstate **************

PROCEDURE pstate

SELECTa

BROWSE;

TITLE 'Штаты ^T - удал ^N - добав ^W - coxp' ;

FIELDScod :Н= 'Код',;

dolg :H = 'Должность',;

zarp:H = 'Оклад',;

kol :H = 'Количество'

RETURN


******** поискданных в таблицеSTATE ************

PROCEDURE psearch

CLEAR

c= 0

@ 10, 15 SAY 'Задайтекод должности:';

GET с PICTURE '###'

READ

@ 12, 10 SAY 'Результатпоиска'

LOCATEALL FOR cod = c

DOWHILE ! EOF ( )

? 'Должность - ',dolg, 'Оклад - ', zarp

CONTINUE

ENDDO

WAIT 'Продолжение– ENTER ' WINDOW

CLEAR

RETURN


******** работас таблицей cadr ***************

PROCEDURE pcadr

SELECT b

BROWSE;

TITLE 'Список ^T- удал ^N- добав ^W- сохр' ;

FIELDScod :H = 'Код',;

fio :H = 'ФамилияИ.О.' ,;

tab:H= 'Табельныйномер'

RETURN


******** поискданных в таблицеSOTR *******

PROCEDUREрcadrsr

CLEAR

с= 0

@ 5, 10 SAY ‘Задайтекод должности:';

GET с PICTURE '###'

READ

@ 6, 2 SAY 'Результатпоиска'

LIST 'Фио- ', fio, ' Табельныйномер - ', tab;

WHILE cod = c

WAIT 'Продолжение– ENTER ' WINDOW

CLEAR

RETURN


******** установлениесвязи ******************

PROCEDURE p2table

SELECTb

SETORDER TO cod

SELECTa

SETORDER TO cod

SETRELATION TO cod INTO b

SETSKIP TO b

BROWSE ;

TITLE 'Информация';

FIELDS A.dolg :H = 'Должность',;

B.fio :H = 'Ф.И.О.',;

A.zarp :H = 'Оклад',;

nal = a.zarp*0.2:H = 'Налог'

SETRELATION TO

RETURN


********* заставка ************

PROCEDURE about

CLEAR

@ 8, 15 TO 20, 60 double

@ 9, 25 SAY ‘Штатноерасписание'

@ 12, 20 SAY 'Модельинформационнойсистемы'

WAIT 'Продолжение– ENTER ' WINDOW

CLEAR

RETURN

********* запрос ************

PROCEDURE pspr

CLEAR

DEFINE WINDOW spr FROM 10, 10 TO 18, 40 ;

TITLE 'Справка' SHADOW

ACTIVATE WINDOW spr

@ 1, 1 SAY 'Запросо занятых должностяхи общем'

@ 2, 1 SAY 'Количествеставок по ним'

WAIT 'Продолжение– ENTER ' WINDIW

DEACTIVATE WINDOW spr

SELECT B

SETORDER TO cod

SELECTA

SETORDER TO cod

SETRELATION TO cod INTO b

SETSKIP TO B

SELECT A.dolg, A.kol, COUNT(B.fio) AS cnt, SUM(A.zarp) AS ssum ;

FROM state A, cadr B INTO CURSORqq ;

WHERE B.cod = A.cod ;

GROUP by A.dolg

BROWSE TITLE 'Занятыедолжности' ;

FIELDS dolg :Н ='Должность' ,;

kol :Н = 'Поштату' ,;

cnt :Н = 'Занято',;

ssum:Н = 'Суммарныйоклад'

CLEAR

SETRELATION TO

RETURN

11. Задания.

1.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:

2


.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:



3.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:

4


.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:



5.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:

6


.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:



7.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:




8.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции yзуяоператор ветвления case.Функция имеетвид:





РЕКОМЕНДУЕМАЯЛИТЕРАТУРА


1. ДейтК. Введение всистемы базданных. - М.: Наука-1980.-463 с.

2. МидоуЧ. Анализ информационныхсистем. - М.: Прогресс.- 1977.- 400 с.

3. ЦикритзисД., Лоховски Ф.Модели данных.-М.: Финансы истатистика.-1985.-344 с.

4. МейерД. Теория реляционныхбаз данных. -М.: Мир. -1987.-608 с.

5.Бойко В.В., СавинковВ.Ф. Проектированиебаз данныхинформационныхсистем.- М.: Финансыи статистика.-1982 .- 382 с.

6. ДжексонГ. Проектированиереляционныхбаз данных дляиспользованияс микро-ЭВМ. -М.: Мир. - 1991. - 252 с.

7. ПоповА.А. Программированиев среде FoxPro2.0. - М.:Финансы и статистика.- 1993. - 350 с.

  1. БемерС. FoxPro 2.6 для WINDOWS. - Киев:Торгово-издательскоебюро BHV.- 1995.-463 с.