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

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

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 'Информация'