Turbo Basic прикладной

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

?щью файла последовательного доступа;

  • Результаты расчета ранжировать по уменьшению(первая строка содержит фамилию студента, имеющего максимальный средний балл) и вывести в виде таблицы на экран и в файл последовательного доступа.
  • Вывести на экран по алфавиту фамилии студентов, получивших оценку отлично, сгруппировав их по дисциплинам.
  •  

    Основные понятия и определения, встречающиеся в расчетно-пояснительной записке:

     

    Стоковые переменные - имена представляются строковые значения, эти значения могут изменяться в ходе выполнения программ.

    Константы группа литер, окруженных двумя кавычками, значения которых не изменяется в ходе программы.

    Файл последовательного доступа файлы созданные последовательностью символов в кодах ASCCI.

    Программа набор кодов символов или кодов команд, выполняемых в определенной последовательности.

    Команда инструкция о выполнении некоторой операции.

    Массив группа строковых и числовых данных, разделяющих между собой одно и то же мы.

    Цикл содержит некоторое количество операций, которое многократно повторяется в программе.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    БЛОК-СХЕМА АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ

    начало

     

    b$=Фамилия, с$=Имя, d$=Отчество,

    r$=дисциплина, I$=Средний,j$=бал,

    g$=матем,h$=физика,f$=нач/геом

     

     

    вывод b$, с$, d$,r$, I$,j$, g$,h$,f$

     

     

    i=1,50

     

    k=b(1,i) f=b(2,i) c=b(3,i) p=(k+f+c)/3

    q(i)=p pol(I)=I p=0

     

     

    n=1,50

     

    I=1,49

     

    Нет C=q(I+1) q(i)=q(I+1) q(i)=c

    q(i)<q(I+1) да c=pol(I+1) pol(I+1)=pol(i) pol(I)=c

     

     

    вывод отсортированных данных на

    экран и в файл

     

     

    I=1,50

     

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

    B(1,i)=5

     

     

    I=1,50

     

    нет

    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