Смекни!
smekni.com

Turbo Basic прикладной (стр. 2 из 2)

нет

B(2,i)=5 да вывод A$

I=1,50

нет да вывод A$

B(3,i)=5

конец

ТЕКСТ ПРОГРАММЫ

Программа для ввода информации:

1 open "fpd.fpd" for output as#1

2 data "Ахтямов Р.Р ","Барашев А.Г. ","Бояркин М.Л ","Брыкин А.О. "

3 data "Брюхавецкая Л.В. ","Бугаев А.О. ","Гринблат Ю.И. ","Дедух Л.В. "

4 data "Дербеденев П.А. ","Дружинин К.В. ","Дьяченко Т.С. ","Ермакова Н.В. "

5 data "Ефремовцева Е.Е. ","Захезин А.Е. ","Ишмухаметов А.М. ","Кановалов И.И. "

6 data "Карпенко Д.В. ","Кирин Ю.Ю. ","Кияткина Н.П. ","Князев П.С. "

7 data "Козырева Е.А. ","Краснихина К.В. ","Кучеров М.А. ","Лобанов Р.А. "

8 data "Мажаев В.В. ","Макушев Е.А ","Олювин П.С. ","Полетаев И.В. "

9 data"Пырьев Д.А. ","Ратушинскиий А. ","Романов П.С. ","Ронжин В.А. "

10 data "Русина В.Ю. ","Самойловский М.А.","Саночкин М.В. ","Синицын Д.С. "

11 data "Скворцов Д.А. ","Солдатова Е.Д. ","Спадарь В.Г. ","Султанов Б.Ж. "

12 data "Тимашова Е.Н. ","Токарь М.А. ","Урику С.И. ","Федоров В.В. "

13 data "Федоров И.А. ","Хакимова Э.Ш ","Хисамова О.Р. ","Чернов С.А. "

14 data"Шаповал А.В ","Шутченко И.Ю. "

15 data 4,3,2,3,5,3,3,3,2,2,3,5,4,3,2,3,3,2,3,3,3,4,3,3,3,2,4,3,4,3,2,3,2,3,3,5,3,3,3,4,3,3,3,4,3,5,2,2,5,3

16 data 4,3,2,2,5,3,2,2,3,3,3,4,3,5,2,3,3,2,3,2,2,5,3,3,3,2,5,3,5,3,2,3,3,3,3,3,2,3,3,4,3,2,4,4,3,4,2,2,5,3

17 data 5,3,3,3,5,3,3,3,2,3,3,5,3,5,2,3,3,2,4,3,3,5,4,4,3,2,4,3,5,3,2,3,3,3,5,5,3,4,3,4,3,3,5,5,3,4,2,2,4,3

18 DIM A$(50):DIM B(150)

19 FOR I=1 TO 50

20 READ A$(I):PRINT #1,A$(I)

21 NEXT I

22 FOR I=1 TO 150

23 READ B(I):PRINT #1,B(I)

24 NEXT I

25 CLOSE #1

ОСНОВНАЯ ПРОГРАММА

10 OPEN "fpd.fpd" FOR INPUT AS#1

15 CLS:SCREEN 12

20 DIM A$(50):DIM B(3,50)

30 FOR I=1 TO 50

40 INPUT #1,A$(I)

60 NEXT I

70 FOR I=1 TO 3

80 FOR J=1 TO 50

90 INPUT #1,B(I,J)

110 NEXT J

120 NEXT I

130 CLOSE #1

132 open "tablica.bas" for output as#2

135M$="+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"

136 N$="+++++++++++++++++++++++++++++++"

137 print #2,m$;"+++++++++++++"

138 LOCATE 1,1:PRINT M$

140 LOCATE 3,25:PRINT N$

141 LOCATE 5,1:PRINT M$

142 LOCATE 22,1:PRINT M$

150 FOR I=1 TO 22

152 LOCATE I,1:PRINT "+"

154 LOCATE I,25:PRINT "+"

156 LOCATE I,56:PRINT "+"

157 LOCATE I,65:PRINT "+"

160 NEXT I

162 FOR I=1 TO 22

164 LOCATE I,44:PRINT "+"

168 LOCATE I,36:PRINT "+"

170 NEXT I

172 LOCATE 23,5:PRINT "ХОТИТЕ ПРОДОЛЖИТЬ НАЖМИТЕ SPACE"

174 locate 2,6:b$=" Фамилия":print b$

176 locate 3,11:c$="Имя":print c$

178 locate 4,9:d$="Отчество":print d$

179 locate 2,34:r$="Дисциплина ":print r$

180 locate 2,58:i$="Средний":print i$

182 locate 3,60:j$="бал":print j$

184 locate 4,26:g$=" мат":print g$

186 locate 4,37:h$=" Физ":print h$

188 locate 4,46:f$="нач\гео":print f$

189 print #2,"+ ";b$;" + ";r$;" + ";i$;" +"

200 print #2,"+ ";d$;" +";n$;"+ ";j$;" +"

201 print #2,"+ ";c$;" +";g$;" + ";h$;" + ";f$;" + +"

202 print #2,m$;"+++++++++++++"

204 p=0:dim q(50):dim pol(50)

205 for i=1 to 50

210 k=b(1,i):f=b(2,i):c=b(3,i)

215 p=(k+f+c)/3:q(i)=p:pol(i)=i

216 p=0

227 next i

230 p=0:k=1:j=1

235 for n=1 to 50

237 for i=1 to 49

240 if q(i)<q(i+1) then c=q(i+1):q(i+1)=q(I):q(I)=c:c=pol(i+1):pol(i+1)=pol(i):pol(I)=c

245 next i

246 next n

247 for i=1 to 50

248 p=q(I):g=pol(i)

250 if k=16 then goto 260

251 if k=31 then goto 260

252 if k=46 then goto 260

255 goto 300

260 if inkey$=" " then k=1:goto 300

270 goto 260

300 locate k+6,2:print a$(g)

310 locate k+6,31:print b(1,g)

315 locate k+6,39:print b(2,g)

320 locate k+6,49:print b(3,g)

330 locate k+6,59:print using "#.##";p

335 print #2,"+";a$(g);" + ";b(1,g);" + ";b(2,g);" + ";b(3,g);" + "

336 print using "#.##";p;:print #2," +"

360 k=k+1

375 next i

390 for o=12 to 21

391 locate o,1:print " "

392 next o

393 locate 12,1:print m$

394 print #2,m$;"+++++++++++++"

395 close #2

397 if inkey$=" " then goto 400

398 goto 397

400 cls:PRINT "Отличники по математике":print

410 FOR I=1 TO 50

420 IF B(1,I)=5 THEN PRINT A$(I)

430 NEXT I

432 if inkey$=" " then goto 440

433 goto 432

440 cls: PRINT "Отличники по физике":print

443 FOR I=1 TO 50

445 IF B(2,I)=5 THEN PRINT A$(I)

450 NEXT I

451 if inkey$=" " then goto 455

452 goto 451

455 cls:

PRINT "Отличники по начертательной геометрии ":print

460 FOR I=1 TO 50

465 IF B(3,I)=5 THEN PRINT A$(I)

470 NEXT I

490 END

ПОДРОБНОЕ ПОСТРОЧНОЕ ОПИСАНИЕ ХОДА ПРОГРАММЫ

Программа ввода информации:

1 подготовка файла fpd.fpd для записи в него информации;

2-17 ввод исходных данных с помощью заявителя DATA;

18 заявление массива А$ размерностью 50 для хранения фамилий

и массива B размерностью 150 для хранения оценок ;

19-21 цикл для записи фамилий студентов в файл последовательного доступа;

22-24 цикл для записи оценок студентов в файл последовательного доступа;

25 закрытие файла последовательного доступа;

Основная программа:

10 подготовка файла fpd.fpd для считывания него информации;

15 очистка экрана и установка его высокой разрешающей способности;

20 заявление массива А$ размерностью 50 для хранения фамилий

и массива B размерностью 3*50 для хранения оценок студентов;

30-60 цикл для считывания фамилий студентов;

70-120 циклы для считывания оценок студентов;

130 закрытие файла последовательного доступа fpd.fpd;

132 подготовка файла tablica.bas для записи в него таблицы;

135 присваивание переменной M$ текстовой константы;

136 присваивание переменной N$ текстовой константы;

137 печать константы M$ и некоторой текстовой константы в файл tablica.bas;

138-170 вывод на экран рамки таблицы;

172 вывод на экран под таблицей текстового сообщения;

174-188 вывод на экран названий колонок («шапки» таблицы);

189-202 запись в файл tablica.bas «шапки» таблицы;

204 объявление массивов для хранения среднего балла студентов;

205 открытие цикла для расчета среднего балла;

210 присваивание переменной k значение оценки по математике,

присваивание переменной f значение оценки по физике,

присваивание переменной c значение оценки по нач. геометрии;

215 расчет среднего балла и присваивание переменной p среднего

арифметического значение оценок i-го студента (присваивание переменной p массиву q, а массиву pol присваиваем номер студента (i));

216 обнуление переменной р;

227 закрытие цикла для расчета среднего балла;

230 обнуление р,

присваивание переменной k значения 1,

присваивание переменной j значения;

235-246 циклы для сортировки номера студентов и их среднего балла по возрастанию

(пузырьковая система);

247 открытие цикла для вывода данных о студентах на экран и в файл tablica.bas;

250-252 условие для вывода на экран данных о студентах по 15 человек;

255 если условие 250-252 не выполняется то происходит вывод студентов в столбик;

260 если условие 250-252 выполнилось, то требование нажать пробел для вывода следующей

группы;

270 пока не выполнится условие 260 программа будет ждать;

300-330 вывод данных о студентах в таблицу (на экран);

335 вывод данных о студентах в файл tablica.bas;

360 увеличение счетчика k на единицу;

375 закрытие цикла вывода информации на экран и в файл tablica.bas;

390-394 очистка экрана от старых данных с 12 по 21 строку;

395 закрытие файла tablica.bas;

397 условие для вывода на экран фамилий отличников по математике;

398 ожидание программой нажатия на пробел;

400 очистка экрана и печать текстового сообщения;

410-430 цикл с условием вывода на экран фамилий отличников по данной дисциплине;

432 условие для вывода на экран фамилий отличников по физике;

433 ожидание программой нажатия на пробел;

440 очистка экрана и печать текстового сообщения;

443-450 цикл с условием вывода на экран фамилий отличников по данной дисциплине;

451 условие для вывода на экран фамилий отличников по нач. геометрии;

452 ожидание программой нажатия на пробел;

455 очистка экрана и печать текстового сообщения;

460-470 цикл с условием вывода на экран фамилий отличников по данной дисциплине;

480 конец программы.

КОНТРОЛЬНЫЙ ПРИМЕР ПРОВЕРКИ РЕШЕНИЯ ЗАДАЧИ

Ахтямов Р.Р.

Математика 4

Физика 4

Начертательная геометрия 5

Средний бал (4+4+5)/3=4,33

Результат:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+ Фамилия + Дисциплина + Средний +

+ Отчество ++++++++++++++++++++++++++++ бал +

+ Имя + мат + Физ + нач&bsol;гео + +

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+ Ахтямов Р.Р. + 4 + 4 + 5 + 4.33 +

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

1. Зельднер Григорий Алексеевич . «Microsoft BASIC», Москва,ABF,1995,432 стр.

2. Камиль Мусин Евгеньевич . «BASIC»,Москва, ABF,1994,399 стр.

Copying 2001ã all rights reserved â