конец
ТЕКСТ ПРОГРАММЫ
Программа для ввода информации:
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
Результат:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Фамилия + Дисциплина + Средний +
+ Отчество ++++++++++++++++++++++++++++ бал +
+ Имя + мат + Физ + нач\гео + +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Ахтямов Р.Р. + 4 + 4 + 5 + 4.33 +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Зельднер Григорий Алексеевич . «Microsoft BASIC», Москва,ABF,1995,432 стр.
2. Камиль Мусин Евгеньевич . «BASIC»,Москва, ABF,1994,399 стр.
Copying 2001ã all rights reserved â