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

14



Министерство общего и профессионального

образования Российской федерации



Южно-Уральский Государственный университет

Кафедра строительных материалов





















КУРСОВОЙ ПРОЕКТ

По дисциплине «Информатика»



























 Выполнил студент

 группы АС-145 Ахтямов Руслан Рашидович

 Руководитель проекта  Абызов Виктор Александрович

 Нормоконтроль  Семеняк Григорий Сергеевич

 К защите

 Проект защитил с оценкой





































Челябинск 2001



ВВЕДЕНИЕ



Информатика является одной из важных научных дисциплин. Она изучает методы представления, накопления, передачи и обработки информации с помощью электронно-вычислительных машин. Знание информатики необходимо для плодотворной творческой деятельности инженера любой специальности. Эта дисциплина требует необходимые знания по математике и другим предметам.

	Разработка данного курсового проекта основано на разработке программы расчета среднего балла студентов АС-145 и АС-144 по результатам зимней сессии. Эта программа  достаточно актуальна. При различного  рода дополнениях в эту программу можно рассчитать средние балы любого количества студентов, любых групп. Так же можно ее использовать для выявления отличников по определенным предметам, для возможного их поощрения. Эта программа может облегчить работу кураторов, деканата по надзору за успеваемостью студентов, а так же для начисления стипендии студентам. Программа может сохранять таблицы в файлы, что значительно облегчают работу.

	Программа затрагивает широкий круг вопросов. Ее разработка отвечает интересам всего изучаемого курса информатики, потому что она требует самостоятельного углубленного изучения информации для программирования, которая не входит в курс обучения по данной дисциплине.











































































ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

Разработать программу расчета среднего балла студентов групп АС-144, АС-145 по результатам зимней сессии.









































































































СОДЕРЖАНИЕ РАБОТЫ

		Титульный лист 												1

Введение													2

Задание на курсовую работу										3

Содержание работы												4

Аннотация													5

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

Блок-схема алгоритма решения задачи									7

Текст программы												8

Подробное построчное описание хода работы программы.						11

Контрольный пример проверки решения задачи								13

Список используемой литературы										14























































































АННОТАЦИЯ

Курсовой проект по дисциплине «Информатика»

Курсовой проект посвящен для расчета среднего балла студентов АС-144 и АС-145 по результатам зимней сессии, а так же выявление отличников по определенным дисциплинам. Он может применен подобных расчетов в любых других группах.

	Педагогической задачей курсового проекта является глубокое и детальное изучение такого языка программирования, как Turbo Basic.

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

	К тексту курсового проекта прилагается блок-схема алгоритма решения задачи построчное описание хода программы контрольный пример проверки решения задачи и дискета которая содержит файл программы.



















































































Формулировка задачи. Основные понятия и определения, 

встречающиеся в расчетно-пояснительной записке.

Формулировка задачи:



Разработать программу расчета среднего балла студентов групп АС-144, АС-145 по результатам зимней сессии.

Исходные данные: результаты сдачи экзаменов на день окончания зимней сессии 2001 года.

Дополнительные условия разработки программы:

Исходные данные для программы вводить с помощью файла последовательного доступа;

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

Вывести на экран по алфавиту фамилии студентов, получивших оценку «отлично», сгруппировав их по дисциплинам.



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



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

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

Файл последовательного доступа – файлы  созданные последовательностью символов в кодах 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=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 закрытие файла последовательного доступа;



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

подготовка файла 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            +

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

















































































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



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

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



















			













































































	Copying 2001    all rights reserved