zadach73.BAS

{* Задача73 *}

REM basic

' Сформировать файл, содержащий результаты сессии студентов одной группы в виде матрицы в каждой строке, которой хранятся результаты сессии (пять экзаменов) для одного студента. В группе 25 студентов, их фамилии хранятся в отдельном файле. Используя сформированный файл, вывести на экран фамилии отличников.


10 CLS: Dim fa$ (25), re (25,5)
PRINT: PRINT "###################### работает программа: РЗУЛЬТАТЫ СЕССЫ##############": PRINT
PRINT "1. Создания файла для фамилий"
PRINT "2. Создания файла для результатов сессий"
PRINT "3. Просмотр результатов сессий"
PRINT "4. End": PRINT
11 INPUT "Введите порядок работы: "; n: If n > 4 Or n < 1 Then 11
On n GoTo fem, rez, otl, 400
fem: CLS: PRINT "1. Создания файла для фамилий ": PRINT: PRINT
PRINT "Введите фамилий студентов по одному на строке: "
OPEN "fam" For OUTPUT As #1
For i = 1 To 25: INPUT fa$ (i): Next i
For i = 1 To 25: PRINT #1, fa$ (i): Next i
For i = 1 To 25: PRINT fa$ (i): Next i
CLOSE
PRINT "Файл для фамилий создан"
LOCATE 24, 1: PRINT "Для продолжения нажмите любую клавишу"
110 If INKEY$ = "" Then 110
GoTo 10
rez: CLS: PRINT "2. Создания файла для результатов сессий ": PRINT: PRINT
PRINT " Введите результаты сессий по одному на строке "
OPEN "rez" For OUTPUT As #1
For j = 1 To 25
For i = 1 To 5
INPUT re (j, i): PRINT #1, re (j, i)
Next i, j
CLOSE
PRINT "Файл для результатов создан"
LOCATE 24, 1: PRINT "Для продолжения нажмите любую клавишу"
210 If INKEY$ = "" Then 210
GoTo 10
otl: CLS
OPEN "fam" For INPUT As #1
OPEN "rez" For INPUT As #2
For i = 1 To 25: INPUT #1, fa$ (i): Next i
For i = 1 To 25
For j = 1 To 5
INPUT #2, re (i, j)
Next j, i
CLOSE
CLS: x = 0: z = 1: PRINT " Список студентов"
PRINT " № Ф, И, О оценки № Ф, И, О оценки "
For i = 1 To 25
z = z + 1: If z > 14 Then z = 2: x = x + 30
LOCATE z + 1, x + 1: PRINT i; fa$ (i);
LOCATE z + 1, x + 15
For j = 1 To 5
PRINT re (i, j);
Next j
PRINT
Next i
PRINT:
PRINT " " Отличники: ": s = 0: k = 0
For i = 1 To 25
For j = 1 To 5
s = s + re (i, j)
Next j
If s > 24 Then: k = k + 1: PRINT k; "_______ "; fa$ (i)
s = 0
Next i: PRINT
PRINT "Для продолжения нажмите любую клавишу"
300 If INKEY$ = "" Then 300
GoTo 10
400 End