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 < 0

Y = -2*X^2 +5*X

CASE X>=0 AND X < 5

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.ИЗОБРАЗИТЕЛЬНЫЕ СРЕДСТВА

Из большого списка возможностей рассмотрим лишь некоторые


Информация о работе «Билеты, решения и методичка по Информатике (2.0)»
Раздел: Информатика, программирование
Количество знаков с пробелами: 69299
Количество таблиц: 3
Количество изображений: 0

Похожие работы

Скачать
85952
0
0

... = πR2, L = 2πR). 28) Критерии выбора конфигурации персонального компьютера. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету ИНФОРМАТИКА. РАСШИРЕННЫЙ КУРС Билет № 9 29) Что называется связью «один к одному»? Определите тип связи между объектами предметной области Институт: ...

Скачать
225204
6
0

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

Скачать
24588
0
0

... такое машинная графика и система машинной графики? Что такое мультимедиа? Что такое гипертекст? Что такое гипермедиа? Что такое электронная таблица? Ответы на задачи из “Дидактических материалов” Казиева В.М. Тема 1. “Информация. Кодирование. Инфологические задачи” Вариант 1 x=41. xn=32n—2. A=7, B=3. Система кодировки - одношаговый код Цезаря. “АВТОМОБИЛЬ” - “БГУПНУВКМЪ”. Вариант 2. x= ...

Скачать
177159
29
21

... в широкую практику разработки программ объектно-ориентированного программирования, впитавшего в себя идеи структурного и модульного программирования, структурное программирование стало фактом истории информатики. Билет № 9 Текстовый редактор, назначение и основные функции. Для работы с текстами на компьютере используются программные средства, называемые текстовыми редакторами или текстовыми ...

0 комментариев


Наверх