Обработка таблиц с помощью Qbasic и Excel. Разработка алгоритма решения задачи на языке QBASIC, страница 7

Выбор записей разговоров по отдельному городу

Табл. 4

Города

Телефон

Фамилия

Дата разговора

Дата оплаты

Время соедин

Время окончан

Тариф

Москва

33-32-42

Якина

05.09.02

07.09.02

16:35

16:40

13,4

Москва

33-32-42

Якина

05.09.02

05.09.02

8:10

8:14

13,4

Москва

33-32-42

Якина

29.09.02

30.09.02

15:18

15:30

13,4

Москва

54-20-54

Оприна

25.09.02

25.09.02

14:15

14:50

13,4

Выбор записей разговоров по отдельному клиенту не ранее установленной даты

Табл. 5

Города

Телефон

Фамилия

Дата разговора

Дата оплаты

Время соедин

Время окончан

Тариф

Томск

54-45-89

Буланов

21.09.02

21.09.02

23:15

23:28

10

Томск

54-45-89

Буланов

23.09.02

28.09.02

20:18

20:50

10





ПРИЛОЖЕНИE  В. Текст программы на языке QBASIC и  результаты вычисления

REM  Ведомость оплаты телефонных переговоров

CLS

INPUT "Введите размерность (количество строк-разговоров в таблице)"; m

m = 20 ' Ввод размерности m (количество записей в таблице)

OPEN "A:\TELEF\res.txt" FOR OUTPUT AS #2

DIM G$(m), T$(m), f$(m), DR(m), DPL(m), VS(m)

DIM VO(m), TAR(m), RD(m), KM(m), PL(m), P(m), OS(m)

DATA "Бикин","55-88-22","Климов",15,24,10.30,10.35,2.3

DATA "Вильнюс","55-88-22","Климов",15,20,20.5,21.05,14

DATA "Вологда","54-45-89","Буланов”,10,10,17.15,17.25,7.1

DATA "Донецк","53-20-16","Аннин" ,7,15,13.20,13.25,12.2

DATA "Ижевск","32-40-99","Сидоров",6,7,12.10,12.20,7

DATA "Ленск","54-45-89","Буланов",3,10,15.50,16.00,4.4

DATA "Москва","33-32-42","Якина ",5,7,16.35,16.4,13.4

DATA " Москва","33-32-42"," Якина ",5,5,8.10,8.14,13.4

DATA " Москва","33-32-42"," Якина ",29,30,15.18,15.3,13.4

DATA " Москва","54-20-54","Оприна ",25,25,14.15,14.5,13.4

DATA "Норильск","37-11-68","Рыбаков",15,15,14.30,14.35,6

DATA "Омск","32-40-99","Сидоров"  ,24,27,12.1,12.19,8

DATA "Омск","32-40-99","Сидоров"  ,14,20,21.1,21.17,8

DATA "Пермь","36-42-12","Юдин" ,8,9,19.10,19.15,8.2

DATA "Ростов","33-32-42","Якина",10,10,17.30,17.40,10

DATA "Самара","55-88-22","Климов",3,4,10.00,10.10,7.4

DATA "Самара","21-13-99","Климов",12,12,20.50,21.00,7.4

DATA "Томск”,"54-45-89","Буланов",21,21,23.15,23.28,10

DATA "Томск","54-45-89","Буланов",23,28,20.18,20.50,10

DATA "Улан-Удэ","37-26-45","Грушева",14,16,9.15,9.20,12

FOR i = 1 TO m

READ G$(i), T$(i), f$(i), DR(i), DPL(i), VS(i), VO(i), TAR(i)

NEXT i

FOR i = 1 TO m

RD(i) = DPL(i) - DR(i)

I1 = INT(VS(i)): I2 = INT(VO(i))

D1 = VS(i) - I1: D2 = VO(i) - I2

IF I1 = I2 THEN KM(i) = (D2 - D1) * 100 ELSE KM(i) = (60 - D1 * 100) + D2 * 100

PL(i) = TAR(i) * KM(i)

REM **** расчет пени P (m)