КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ
ЭКОНОМИЧЕСКИЙ ИНСТИТУТ по дисциплине: “Информатика и компьютерная
техника” Экзаменационный билет № 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. Найти и вывести на экран максимальную
зарплату на фирме. 1. СУБД FOXPRO: ОЗНАКОМЛЕНИЕ С СИСТЕМОЙ РАБОТА В
МЕНЮ-ОРИЕНТИРОВАННОМ РЕЖИМЕ 2 2. ОСНОВНЫЕ КОМАНДЫ FOXPRO 5
ДИАЛОГОВЫЕ КОМАНДЫ 5 КОМАНДЫ РЕДАКТИРОВАНИЯ 6 ФИЛЬТРАЦИЯ ДАННЫХ
Ошибка! Закладка не определена. ИЗМЕНЕНИЕ ДАННЫХ Ошибка! Закладка
не определена. 3. СОЗДАНИЕ КОМАНДНЫХ ФАЙЛОВ 7
4. КОМАНДА ПОЛНОЭКРАННОГО РЕДАКТИРОВАНИЯ BROWSE Ошибка! Закладка не
определена. 5. КОМАНДЫ ВВОДА-ВЫВОДА 8 6. СРЕДСТВА ПРОГРАММИРОВАНИЯ
10 7. ОРГАНИЗАЦИЯ МЕНЮ Ошибка! Закладка не определена. 8.
ИЗОБРАЗИТЕЛЬНЫЕ СРЕДСТВА 15 &&&& 10. РАБОТА С
НЕСКОЛЬКИМИ БАЗАМИ ДАННЫХ 15 11. РАБОТА С ОКНАМИ 18 12. ПРИЛОЖЕНИЯ
19 12. 1. СТАНДАРТНЫЕ ФУНКЦИИ FOXPRO 19 12. 2. SET - КОМАНДЫ 21 12.
3. ТЕКСТЫ ПРОГРАММ 22 13. ЗАДАНИЯ. 27 РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 28
ВВЕДЕНИЕ
Методические указания предназначены для проведения практических и
лабораторных занятий по дисциплине “Информатика и компьютерная
техника” для всех форм обучения. В них кратко изложены технологии
реляционных СУБД, реализация их средствами СУБД FoxPro, а также
даны практические приемы их реализации. Основное внимание уделено
изложению команд языка программирования среды FoxPro с пояснениями
на конкретных примерах и заданиях по основным темам. РЕЛЯЦИОННАЯ
МОДЕЛЬ
По способу установления связей между данными различают реляционную,
иерархическую и сетевую модели. Реляционная модель является удобной
и наиболее привычной формой представления данных в виде таблицы. В
математических дисциплинах таблице соответствует термин отношение
(relation). Отсюда и произошло название модели – реляционная. Одним
из основных преимуществ реляционной модели является ее
однородность. Все данные рассматриваются как хранимые в таблицах, в
которых каждая строка имеет один и тот же формат. Каждая строка в
таблице представляет некоторый объект реального мира или
соотношение между объектами. Пользователь модели сам должен для
себя решить вопрос, обладают ли соответствующие сущности реального
мира однородностью. Этим самым решается проблема пригодности модели
для предполагаемого применения. Реляционная модель имеет два
главных свойства:
базовые порции данных представляют собой отношения (relations);
операции над таблицами затрагивают только соотношения (relation
closure). Соотношение – это математическая концепция, описывающая,
как соотносятся между собой элементы двух множеств. Модель
предъявляет к таблицам следующие требования:
данные в ячейках таблицы должны быть структурно неделимыми. Каждая
ячейка может содержать только одну порцию данных. Это свойство
часто определяется как принцип информационной неделимости.
Недопустимо, чтобы в ячейке таблицы реляционной модели содержалось
более одной порции данных, что иногда называется информационным
кодированием. Примером служит идентификационный номер автомобиля.
Если записать его в одну ячейку, то будет нарушен принцип
неделимости информации, поскольку в ячейке окажутся разделяемые
данные такие, как наименование производителя, модели, сведение о
нахождении предприятия и т. д. ; данные в одном столбце должны быть
одного типа;
каждый столбец должен быть уникальным (недопустимы дублирования
столбцов); столбцы размещаются в произвольном порядке; строки
размещаются в таблице также в произвольном порядке; столбцы имеют
уникальные наименования.
Два фундаментальных правила: правило целостности объектов (entity
integrity rule) и правило ссылочной целостности (referential
integrity rule). Первичный ключ – это столбец или некоторое
подмножество столбцов, которые уникально, т. е. единственным
образом определяет строки. Первичный ключ, который включает более
одного столбца, называется множественным или комбинированным или
составным. Остальные ключи, которые можно также использовать в
качестве первичных, называются потенциальными или альтернативными
ключами. Внешний ключ – это столбец или подмножество одной таблицы,
который может служит в качестве первичного ключа для другой
таблицы. Внешний ключ таблицы является ссылкой на первичный ключ
другой таблицы. Правило целостности объектов утверждает, что
первичный ключ не может быть полностью или частично пустым, т. е.
иметь значение null. Правило ссылочной целостности гласит, что
внешний ключ может быть либо пустым, либо соответствовать значению
первичного ключа, на который он ссылается. Формальное определение
следующее:
Схемой отношения R называется конечное множество имен атрибутов {A,
A, …, A}. Каждому имени атрибута A ставится в соответствие
множество D, называемое доменом атрибута A, 1 ТИПЫ ДАННЫХ Visual
FoxPro 6. 0 типы данных Тип Описание Размер Диапозон Character
Любой текст 1 byte per character to 254 Любой символ Currency
Monetary amounts (денежно-кредитные количества) 8 bytes -
922337203685477. 5807 to 922337203685477. 5807 Date Хронологические
данные, состоящие из месяца, года, и дня 8 bytes
When using strict date formats, {^0001-01-01}, January 1st, 1 A. D
to {^9999-12-31}, December 31st, 9999 A. D. DateTime
Хронологические данные, состоящие из месяца, года, дня, и времени 8
bytes
When using 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.
to 11: 59: 59 p. m. Logical Boolean значения true или false 1 byte
True (. T. ) or False (. F. ) Numeric Integers or fractions(Целые
числа или фракции(доли)) 8 bytes in memory; 1 to 20 bytes in table
- . 9999999999E+19 to . 9999999999E+20 Variant
A variant can contain any of the Visual FoxPro data types and the
null value. Once a value is stored to a variant, the variant
asosumes the data type of the data it contains. Variants are
designated with an e prefix in language syntax (Вариант может
содержать любой из Визуальных FoxPro типов данных и нулевое(пустое)
значение). See data types above. См. типы данных выше. See data
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, в том
числе: About FoxPro - предъявление фирменного знака. Help - помощь.
Просмотр и выбор варианта помощи – клавиши управления курсором.
Вход в следующее меню - Enter. Перемещение – клавиши управления
курсором. Контекстная помощь вызывается из любого режима - F1.
Macros - закрепление макрокоманд за клавишами F1 - F10. Filer -
менеджер файлов - выполняет функции управления файлами. Выбор полей
- Tab. Левое поле - просмотр файлов (скроллинг). Правое поле -
выбор накопителя, каталога, маркировка. Нижнее поле -манипуляция
файлами. Calculator - вызов калькулятора.
Calendar-Diary - вызов календаря для внесения записей. Левое поле –
выбор дня (по стрелкам), месяца (PgUp, PgDn), года (Shift +PgUp,
Shift+PgDn), текущая дата - Т. Правое поле - для записей (Вход -
Tab, Выход -Shift Tab). Special Characters - таблица символов
псевдографики. 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 Find Again - последовательный поиск с заменой, 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 FOR name =
'A'
Для длинных записей команд используется символ переноса на
следующую строку - "; ". КОМАНДЫ УСТАНОВКИ
Кроме приведенных выше команд в FOXPRO имеется большой класс
команд, называемых командами установки. Они не выполняют каких-либо
действий, но влияют на работу других команд. Имеется два типа
команд установки: SET ON|OFF SET TO
ON|OFF – означает, что установка либо включена, т. е. работает,
либо выключена. Примеры: SET TALK OFF – погашения вывода служебных
сообщений о работе команд на экран;
SET PROCEDURE 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 знание ПК MODIFY STRUCTURE -
изменение структуры открытой БД.
При вызове этих команд среда открывает диалог, предоставляя
экран-форму для ввода данных о структуре создаваемого файла базы
данных. КОМАНДЫ РЕДАКТИРОВАНИЯ 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- одна текущая запись. Примеры: DISPLAY REST FOF fio= ’И’
LIST 'фамилия', fio FOR dolg = "инженер" Удаление данных ERASE -
удаление закрытого файла;
ZAP - удаление всех записей с сохранением структуры; DELETE []
[WHILE] [FOR] - пометка к удалению или логическое удаление записей;
PACK - физическое удаление, помеченных к удалению записей; RECALL
[] [WHILE] [FOR] - снятие пометок к удалению; Замечание. помеченные
к удалению записи остаются в БД, однако они могут не обрабатываться
другими командами, если была выполнена установка SET DELETE ON.
Выполнение команды PACK приводит к физическому уничтожению записей,
БД при этом сжимается. Фильтрация данных
SET FILTER ТО [] - установка FOR-условия для всех команд обработки
данных (остальные данные недоступны). SET FILTER TO без параметра -
отменяет ограничения. Пример: Изменение данных
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 DO WHILE ! EOF() && пока не достигнут
конец файла данных ? FIO CONTINUE ENDDO
Перечисленные команды могут быть выполнены путем выбора из в
системном меню или непосредственным набором в Command-окне. Наряду
с другими командами и средствами программирования, приводимыми
далее, они могут использоваться также в текстах программ. 3.
СОЗДАНИЕ КОМАНДНЫХ ФАЙЛОВ
Командные файлы представляют собой исходные тексты программ и имеют
тип . prg. Они создаются с помощью встроенного редактора FoxPro ,
вызываемого командой MODIFY COMMAND
По команде 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] [COLOR SCHEME / COLOR]
Действие некоторых опции команды. 1. Выбор полей
FIELDS - перечень полей (по умолчанию - все). Ключи: : R - разрешен
только просмотр поля; : - видимый размер поля; : У= - контроль
выхода из поля; : F - проверка вводимых и существующих данных; : Е=
- выдача собственного сообщения;
: Р= - задание формата отображения данных по шаблону; : Н= -
указание собственного заголовка поля; : В=, [: Е] - указание границ
чисел или дат; : W= - контроль входа в поле.
В список полей могут включаться так называемые вычисляемые поля,
которые являются функциями других полей или переменных. 2. Отбор
данных
FОR - устанавливает фильтр для записей; выводятся только записи,
удовлетворяющие ; REST - предотвращает повторный поиск сначала;
КЕУ[, ] - ограничение действия команды диапазоном ключевого
выражения активного индексного файла З. Разделение окна
LOCK BROWSE - окно делится на две части, где первые полей
дублируются в левой части окна (переход ^Н);
PARTITION - то же, но граница проходит по полю LEDIT/REDIT -
действуют только в разделенном окне и задают форму представления
данных (формуляр);
LPARTITION - курсор устанавливается в левой половине окна; NOLINK -
несинхронное перемещение видимых записей;
NOLGRID/NORGRID - удаляет вертикальные линии разделители полей. 4.
Контроль редактирования записей
VALID[ERROR] - анализирует условия для текущей записи; WHEN -
определяет возможность доступа к записи; NOAPPEND - дополнение по
Ctrl-N невозможно; NOEDIT/NOMODIFY - редактирование невозможно;
NODELETE - редактирование невозможно; FREEZE - единственное
доступное поле. 5. Конфигурирование BROWSE-окна LAST - сохранение
конфигурации; PREFERENCE FORMAT - использование форматного файла;
NOCLEAR - после выхода окно не удаляется; NOMENU - подавляет вывод
системного меню; TIMEOUT - время работы с окном; TITLE - заголовок
окна; WINDOW - позволяет открыть другое окно. Пример: Set talk off
set date British use kadr. 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 close all 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]
[COLOR SCHEME/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 RANGE 100. 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
Цикл вида DO WHILE . T. ENDDO применяется как операторные скобки.
Цикл с параметром FOR = ТО [STEP ] ENDFOR ЦИКЛ СКАНИРОВАНИЯ
SCAN [] [FOR] [WHILE] ENDSCAN - применяется для перемещения в базе
данных и выполнения команд для каждой записи, отвечающей условиям.
Примеры:
Приводятся фрагменты программ поиска в БД Kadr всех записей с
фамилией на букву 'И'. 1) USE Kadr 2) USE Kadr LOCATE FOR fio = 'И'
SCAN FOR fio= 'И' DO WHILE ! EOF( ) ENDSCAN CONTINUE ENDDO
ПРОЦЕДУРЫ
В FoxPro используются процедуры как внутренние так и внешние, а
также процедуры-функции. Внутренняя процедура должна начинаться
командой PROCEDURE и заканчиваться командой RETURN. Внешние
процедуры могут быть объединены в prg-файл и подключаются командой
SET PROCEDURE TO . Обращение к процедуре :
DO [WITH ] [IN FILE ], где - список фактических параметров. Все
входные фактические параметры перед вызовом процедуры должны быть
определены.
Формальные параметры описываются в процедуре командой PARAMETERS.
Процедура-функция начинается командой FUNCTION , вырабатывает в
результате своей работы единственное значение и может
непосредственно использоваться в других командах. Процедура-функция
завершается командой RETURN , где выражение есть результат функции.
Процедуры
В FoxPro используются процедуры как внутренние так и внешние, а
также процедуры - функции. Внутренняя процедура должна начинаться
командой PROCEDURE и заканчиваться командой RETURN. Внешние
процедуры могут быть объединены в prg-файл и подключаются командой
SET PROCEDURE TO . Обращение к процедуре :
DO [WITH ] [IN FILE ]
Параметры описываются в процедуре командой 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 обладает большим набором средств организации
световых и клавишных меню. Выделим две основных технологии
построения меню, которые порождают “меню - программы” и “меню -
объекты”. Меню-программа является частью программы, где оно
создается, используется и удаляется. При этом вырабатываются
числовые переменные, фиксирующие выбор из меню, которые
анализируются командами DO CASE, требуют использования циклов DO
WHILE и т. д. Рассмотрим два типа таких меню. Будем использовать
приведенную выше программу, которую предварительно разобьем на ряд
процедур. LIGHTBAR - меню строится с использованием команд: @ Y, X
PROMPT [MESSAGE] - выдает в позиции Y, X строку меню и
дополнительное сообщение, если указано MESSAGE, в строке заданной
командой SET MESSAGE .
MENU TO - запоминает цифру, соответствующую выбору. PULLDOWN - меню
(двухуровневое меню) использует команды MENU BAR , - определяет
пункты горизонтального BAR-меню, задавая их как элементы первого
столбца двумерного , во второй столбец заносятся сообщения, N-
общее число пунктов меню. MENU , , - определяет содержание
вспомогательного вертикального меню (POPUP-меню) READ MENU BAR TO ,
- активирует меню. Пример 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 “Конец
работы ” MENU TO P DO CASE 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
DIMENSION a(5, 3) && задание массива, содержащего
а(1, 1) = 'Информация' && тексты пунктов горизонтального меню
а(2, 1) = 'Штатное расписание' а(3, 1) = 'Список сотрудников' а(4,
1) = 'Состояние' а(5, 1) = 'Выход' а(1, 2) = ' ' && тексты
сообщений а(2, 2) = 'Работа с таблицей должностей' а(3, 2) =
'Работа с данными о сотрудниках'
а(4, 2) = 'Совместный просмотр штатного расписания и списка
сотрудников' а(5, 2) = '3авершение работы' DIMENSION b(2) &&
задание массивов для вложенных меню b(1) = 'просмотр' b(2) =
'поиск' DIMENSION c(2) с(1) = 'просмотр' с(2) = 'поиск' ** образ
меню** && определение меню MENU BAR a, 5 MENU 2, b, 2 MENU 3,
c, 2 g = 1 && номер пункта горизонтального меню v = 1 &&
номер пункта вложенного меню DO WHILE . T. CLEAR READ MENU BAR TO
g, v && активация меню DO CASE && обработка выбора 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Р -
определение меню, ON SELECTION POPUP - реакция на выбор, ACTIVATE
POPUP - активация меню. 3) ********** POPUP - меню ****************
CLEAR
DEFINE POPUP mmenu MARGIN && определение главного меню DEFINE
BAR 1 OF mmenu PROMPT 'Информация' && определение пунктов
DEFINE BAR 2 OF mmenu PROMPT 'Штатное расписание' DEFINE BAR 3 OF
mmenu PROMPT 'Список сотрудников' DEFINE BAR 4 OF mmenu PROMPT
'Состояние' DEFINE BAR 5 OF mmenu PROMPT 'Выход'
ON SELECTION BAR 5 OF mmenu DEACTIVATE POPUP && обработка
выбора ON SELECTION BAR 1 OF mmenu DO info ON SELECTION BAR 4 OF
mmenu DO p4
ON BAR 2 OF mmenu ACTIVATE POPUP ww && выбор вложенных меню ON
BAR 3 OF mmenu ACTIVATE POPUP ss
DEFINE POPUP ww && определение вложенных меню DEFINE BAR 1 OF
ww PROMPT 'Просмотр' DEFINE BAR 2 OF ww PROMPT 'Поиск' ON SELECTION
BAR 1 OF ww DO p21 ON SELECTION BAR 2 OF ww DO p22 ON SELECTION
POPUP ww DO ww DEFINE POPUP ss DEFINE BAR 1 OF ss PROMPT 'Просмотр'
DEFINE BAR 2 OF ss PROMPT 'Поиск' ON SELECTION BAR 1 OF ss DO p21
ON SELECTION BAR 2 OF ss DO p22 ON SELECTION POPUP ss DO ss
ACTIVATE POPUP 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 допускается работа сразу со многими базами данных, и при
этом можно устанавливать между ними разнообразные связи, которые
позволяют синхронно перемещать указатели записей в таких связанных
базах. База, в которой указатель движется произвольно, считается
старшей, а база (базы), в которой указатель следует за указателем
старшей базы, - младший. В старшей и младших базах должны быть
совпадающие поля. Допускается сцепление одной базы с несколькими
другими. Младшие базы, в свою очередь, могут быть связаны с базами
следующего уровня и т. д. Возможно установление двух типов связей
между записями двух сцепленных баз данных. Связь типа
одна_запись-к-одной перемещает указатель в младшей базе таким
образом, что он всегда устанавливается на первую встреченную им
запись с совпадающим признаком. Остальные такие записи (если есть)
остаются “не замеченными”. Эта связь устанавливается командой SET
RELATION. Связь типа одна_запись-ко-многим позволяет обратиться ко
всем записям младшей базы с совпадающим признаком (команды SET
RELATION и SET SKIP TO). ПОНЯТИЕ О РАБОЧИХ ОБЛАСТЯХ
В 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 SET TALK OFF SET
EXACT OFF SELE A USE Supply KOD=0 @ 1, 2 SAY 'Введите код товара'
GET KOD PICTURE'#####' READ LOCATE FOR indgoods = kod IF ! FOUND()
WAIT 'Такого кода нет' RETURN ENDIF ind = inddel SELE B USE
Delivery LOCATE FOR inddel=ind IF ! FOUND () WAIT 'Такого
поставщика нет' RETURN ENDIF DISPL namedel, count, tel, A.
namgoods, A. pricegds CLOSE ALL Связь вида одна_запись-к-одной
Команда
SET RELATION TO INTO [, INTO …] [ADDITIVE]
связывает указатель записей в активной рабочей области с указателем
записей из других рабочих областей, которых указаны после слова
INTO, по заданному общему полю (ключу). Единственное условие – файл
базы данных, с которым устанавливается связь, должен быть
проиндексирован по этому полю. Пример
Связать базы данных SUPPLY. DBF и DELIVERY. DBF по полю INDDEL. По
коду поставщика вывести список поставщиков и их реквизиты. SET TALK
OFF CLEAR SELE A IF FILE ('Inddelivery. ind') USE Delivery INDEX
Inddelivery ELSE USE delivery INDEX ON inddel TO Inddelivery ENDIF
SELE B USE Supply SET RELATION TO inddel INTO A DO WHILE . T. kod=0
CLEAR @ 12, 23 TO 14, 50 DOUBLE @ 13, 25 SAY 'Введите код товара'
GET kod PICTURE '#####' READ LOCATE FOR indgoods = kod IF ! FOUND()
WAIT 'Такого товара нет' LOOP ENDIF name=namgoods IF kod 0 SET
FILTER TO indgoods = kod BROWSE ; TITLE ' Список поставщиков,
поставляющих ' + name ; FIELDS ; INDDEL : H = ' Код поставщика ' ,
; A. NAMEDEL : H = 'Название поставщика ' , ; A. ADRDEL : H =
'Адрес ' , ; A. TEL : H = 'Телефон ' SET FILTER TO ENDIF IF
LASTKEY()=27 EXIT ENDIF ENDDO PACK CLOSE ALL
В этой программе выводятся записи, в которых для каждого кода
поставщика inddel из текущей базы данных Supply. dbf (открытой в
области В) выводятся поля A. namedel (Название поставщика), A.
adrdel (Адрес) и A. TEL (Телефон) из базы данных Delivery. dbf
(открытой в области A). В FoxPro имеется возможность устанавливать
связи с несколькими базами одновременно. Если со старшим файлом,
который уже связан с другим, необходимо связать некоторый третий
(четвертый и т. д. ), следует во все последующие команды SET
RELATION включать слово ADDITIVE, которое обеспечит сохранение
связей, установленных ранее. Связь между всеми файлами разрывается
командой SET RELATION TO без параметров. Связь с отдельным файлом в
заданной - командой SET RELATION OF INTO . Связь вида
одна_запись-ко-многим
Команда SET SKIP TO [ [, ] … ] устанавливает связь типа
одна_запись-ко-многим между двумя или несколькими базами данных. С
каждой записью из старшей базы могут быть сцеплены несколько
записей из младшей базы. Связь может быть установлена сразу с
несколькими младшими базами, находящимися в указанных . Прежде чем
использовать команду SET SKIP TO, необходимо выполнить начальное
сцепление вида одна_запись-к-одной командой SET RELATION. Удаление
связи одна_запись-ко-многим осуществляется командой SET SKIP TO без
параметров. Пример
Установить связь между тремя базами данных. В программе
используется третья база Товаров (Goods. dbf), получаемая из БД
Supply. dbf SET TALK OFF IF FILE ('Goods. dbf') ERASE Goods. dbf
ENDIF IF FILE ('Indnum. idx') ERASE Indnum. idx ENDIF SELE A USE
Supply IF FILE ('Indg. idx') SET INDEX 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 Indexdel UNIQUE
ENDIF SELECT SUPPLY SET RELATION TO inddel INTO Delivery ADDITIVE
SELE B USE Goods INDEX ON namgoods TO Indnum SET RELATION TO
indgoods INTO Supply 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 = "Общая Сумма"
CLOSE ALL 11. РАБОТА С ОКНАМИ
Использование окон - очень удобное и эффектное средство создания
пользовательского интерфейса в прикладной программе. Определение
окна DEFINE WINDOW 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 - символ заполнения окна. Активация
уже определенного окна
ACTIVATE WINDOW [[][, ]] [, ....]] 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 ( ) - число p DTOR()
- преобразование градусной меры угла в радианы RTOD() -
преобразование радианной меры угла в градусы Строковые функции $ -
вхождение в (результат . Т. или . F. )
AT / ATC(, [, ) - поиск слева направо в строке позиции вхождения
подстроки , начиная с позиции строки 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
ALTERNATE ON/OFF - установить флаг вывода данных с экрана в файл
SET BELL ON/OFF - установить флаг звукового сигнала SET BLINK
ON/OFF - установить флаг мигания символов
SET SENTURY ON/OFF - установить флаг отображения столетия в датах
SET CLOCK ON/OFF - установить флаг вывода времени SET COLOR TO -
задать цвета меню и окон пользователя SET COLOR OF SCHEME - задать
цвета схемы SET CURRENCY TO - задать денежный знак SET DATE TO....
- определить формат даты SET DECIMALS TO… - установить число цифр в
дробной части числа SET DEFAULT TO.... - задать диск и каталог по
умолчанию SET DELETED ON/OFF - установить флаг доступа к записям с
пометкой удаления
SET ECHO ON/OFF - установить флаг активизации окна отладки SET
ESCAPE ON/OFF - установить флаг прерывания по клавише ESC SET
FILTER TO… - задать фильтр доступа к записям SET FUNCTION....
TO.... - связать команду с функциональной клавишей SET HELP ON/OFF
- установить режим доступа к помощи SET INDEX TO… - открыть индекс
SET KEY TO - задать предельное значение ключевого индекса SET
MESSAGE TO.... - задать местоположение сообщений SET ORDER TO.... -
задать основной индекс
SET PATH TO… - задать список каталогов для поиска файлов SET
PRINTER ON.... - установить флаг вывода на принтер SET PROCEDURE
TO.... - открыть заданный процедурный файл SET RELATION TO… -
установить связь 1: 1 с другой БД SET RELATION OFF - разорвать
связь с другой БД SET SHADOWS ON/OFF - установить флаг наличия тени
SET SKIP TO… - установить связь 1: N с другой БД SET SPACE ON/OFF -
установить флаг вставки пробелов SET TALK ON/OFF - установить флаг
вывода результатов выполнения команд SET WINDOW OF MEMO TO.... -
задать имя окна редактирования мемо-полей 12. 3. ТЕКСТЫ ПРОГРАММ
Структура для базы данных: DELIVERY. DBF Field Field Name Type
Width Dec Index 1 INDDEL Numeric 2 2 NUMDEL Character 10 3 ADRDEL
Character 20 4 COUNT Character 8 5 TEL Numeric 6 Структура для базы
данных: SUPLY. DBF Field Field Name Type Width Dec Index 1 INDSUP
Numeric 5 2 INDDEL Numeric 2 3 DATE Date 8 4 NAMGOODS Character 15
5 QUANT Numeric 5 6 PRICEGOODS Numeric 5 2 7 MEASURE Character 3 8
INDGOODS Numeric 5 *********************** Работа с несколькими БД
***** USE Suply ERASE Goods. dbf INDEX ON indgoods TO Indg UNIQUE
COPY TO Goods FIELDS indgoods; , namgoods, measure SELECT 2 USE
Goods BROWSE CLOSE ALL SET TALK OFF DEFINE WINDOW vvod FROM 2, 2 TO
7, 35 DOUBLE FLOAT SHADOW DEFINE WINDOW vivod FROM 8, 2 TO 20, 70
SYSTEM ; COLOR SCHEME 10 CLEAR SELECT A IF FILE ('Inddeliv. idx')
USE Delivery INDEX Inddeliv ELSE USE Delivery INDEX ON inddel TO
Inddeliv ENDIF SELECT B USE Suply SET RELATION TO inddel INTO
Delivery DO WHILE . T. ACTIVATE WINDOW vvod CLEAR A=0 @ 2, 5 SAY
'Введите код товара' GET A PICTURE '#####' READ LOCATE FOR
indgoods=A IF ! FOUND() WAIT 'Такого кода нет' LOOP ENDIF
name=namgoods IF A0 SET FILTER TO indgoods=A ACTIVATE WINDOW vivod
BROWSE ; TITLE 'Список поставщиков, поставляющих '+name ; FIELDS ;
A. inddel : H = 'Код поставщика', ; A. namdel : H = 'Имя
поставщика', ; A. adrdel : H = 'Адрес поставщика', ; A. tel : H =
'Телефон поставщика', ; A. count : H = 'Счет поставщика' DEACTIVATE
WINDOW vivod SET FILTER TO ENDIF DEACTIVATE WINDOW vvod IF
LASTKEY()=27 EXIT ENDIF ENDDO PACK CLOSE ALL CLEAR SET TALK OFF
SELECT B USE Goods SELECT A USE Suply INDEX ON indgoods TO Indg
SELECT C USE Delivery INDEX ON inddel TO Indexdel SELECT Suply SET
RELATION TO inddel INTO Delivery SELECT Goods INDEX ON namgoods TO
Indnum SET RELATION TO indgoods INTO Suply SET SKIP TO Suply BROWSE
TITLE 'Товары' ; 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 = 'Общая сумма' CLOSE ALL 3. 1.
Линейная программа ********** установки *********** CLEAR SET TALK
OFF CLOSE ALL USE state IN a && открыть в зоне а файл STATE USE
sotr IN b && открыть в зоне b файл CADR *********** работа с
таблицей state ************** SELECT a BROWSE ; TITLE 'Штаты ^Т –
удал ^N - добав ^W – coxp ' ; FIELDS cod : H = ‘Код’ , ; dolg : H =
'Должность' , ; zarp : H = 'Оклад' , ; kol : H = 'Количество'
*********** поиск данных в таблице STATE *********** CLEAR с =
0
@ 5, 10 SAY 'Задайте код должности: ' GET с PICTURE '###' READ @ 6,
2 SAY 'Результат поиска' LOCATE ALL FOR cod = C DO WHILE ! EOF ( )
? 'Должность - ', dolg, ' Оклад - ', zarp CONTINUE ENDDO WAIT
'Продолжение – ENTER ' WINDOW ******** работа с таблицей sotr
**************** SELECT b BROWSE ; TITLE 'Список - ^ T-удал ^ N -
добав ^W - сохр' ; FIELDS cod : Н = 'Код' , ; 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 SET FORMAT TO ******** установление
связи******************** SELECT b SET ORDER TO cod SELECT a SET
ORDER TO cod SET RELATION TO cod INTO b SET SKIP 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
SET TALK OFF CLOSE ALL SET SHADOWS ON USE state IN a USE cadr IN b
************** МЕНЮ **************** DEFINE POPUP mmenu DEFINE BAR1
OF mmenu PROMPT 'Информация'
DEFINE BAR2 OF mmenu PROMPT 'Штатное расписание предприятия' DEFINE
BAR3 OF mmenu PROMPT 'Список сотрудников' DEFINE BAR4 OF mmenu
PROMPT 'Состояние' DEFINE BAR5 OF mmenu PROMPT 'Запрос' DEFINE BAR6
OF mmenu PROMPT 'Выход' ON SELECTION BAR6 OF mmenu DEACTIVATE POPUP
ON SELECTION BAR1 OF mmenu DO about ON SELECTION BAR4 OF mmenu DO
p2table ON SELECTION BAR5 OF mmenu DO pspr ON BAR2 OF mmenu
ACTIVATE POPUP wow ON BAR3 OF mmenu ACTUVATE POPUP sos DEFINE POPUP
wow DEFINE BAR1 OF wow PROMPT ‘Просмотр' DEFINE BAR2 OF wow PROMPT
'Поиск' ON SELECTION BAR1 OF wow DO pstate ON SELECTION BAR2 OF wow
DO psearch ON SELECTION POPUP wow DO wow DEFINE POPUP sos DEFINE
BAR1 OF sos PROMPT 'Просмотр' DEFINE BAR2 OF sos PROMPT 'Поиск' ON
SELECTION BAR1 OF sos DO pstate ON SELECTION BAR2 OF sos DO psearch
ON SELECTION POPUP sos DO sos ACTIVATE POPUP mmenu ************
работа с таблицей state ************** PROCEDURE pstate SELECT a
BROWSE ; TITLE 'Штаты ^T - удал ^N - добав ^W - coxp' ; FIELDS cod
: Н = 'Код' , ; dolg : H = 'Должность' , ; zarp : H = 'Оклад' , ;
kol : H = 'Количество' RETURN ******** поиск данных в таблице STATE
************ PROCEDURE psearch CLEAR c = 0 @ 10, 15 SAY 'Задайте
код должности: ' ; GET с PICTURE '###' READ @ 12, 10 SAY 'Результат
поиска' LOCATE ALL FOR cod = c DO WHILE ! EOF ( ) ? 'Должность - ',
dolg, 'Оклад - ', zarp CONTINUE ENDDO WAIT 'Продолжение – ENTER '
WINDOW CLEAR RETURN ******** работа с таблицей cadr ***************
PROCEDURE pcadr SELECT b BROWSE ; TITLE 'Список ^T - удал ^N -
добав ^W - сохр' ; FIELDS cod : 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
SELECT b SET ORDER TO cod SELECT a SET ORDER TO cod SET RELATION TO
cod INTO b SET SKIP TO b BROWSE ; TITLE 'Информация' ; FIELDS A.
dolg : H = 'Должность' , ; B. fio : H = 'Ф. И. О. ' , ; A. zarp : H
= 'Оклад' , ; nal = a. zarp*0. 2 : H = 'Налог' SET RELATION 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 SET ORDER TO cod
SELECT A SET ORDER TO cod SET RELATION TO cod INTO b SET SKIP TO
B
SELECT A. dolg, A. kol, COUNT(B. fio) AS cnt, SUM(A. zarp) AS ssum
; FROM state A, cadr B INTO CURSOR qq ; WHERE B. cod = A. cod ;
GROUP by A. dolg BROWSE TITLE 'Занятые должности' ; FIELDS dolg : Н
= 'Должность' , ; kol : Н = 'По штату' , ; cnt : Н = 'Занято' , ;
ssum : Н = 'Суммарный оклад' CLEAR SET RELATION 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 с. Бемер С. FoxPro 2. 6
для WINDOWS. - Киев: Торгово-издательское бюро BHV. - 1995. -463 с.
Билеты, решения и методичка по Информатике (2.0)
200
0
52 минуты
Понравилась работу? Лайкни ее и оставь свой комментарий!
Для автора это очень важно, это стимулирует его на новое творчество!