Разработка программы с помощью языка программирования Delphi

Автор работы: Пользователь скрыл имя, 20 Февраля 2015 в 18:39, курсовая работа

Описание работы

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

Файлы: 1 файл

КУРСОВАЯ РАБОТА.doc

— 289.00 Кб (Скачать файл)

144.  'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 2);

145.  BasaV. AddTest ('Укажите функцию выделения дробной части числа:',

146.  'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 1);

147.  BasaV. AddTest ('Укажите функцию округления к нулю с целочисленным результатом:',

148.  'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 0);

149.  BasaV. AddTest ('Укажите функцию округления к нулю с вещественным результатом:',

150.  'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 3);

151.  BasaV. AddTest ('Укажите функцию открытия существующего файла:',

152.  'ASSIGNFILE()', 'REWRITE()', 'RESET()', 'CLOSEFILE()', 2);

153.  BasaV. AddTest ('Укажите функцию создания нового файла и открытия его для записи:',

154.  'ASSIGNFILE()', 'REWRITE()', 'RESET()', 'CLOSEFILE()', 1);

155.  randomize;

156.  end;

157.   // ***************************

158.   // активизация формы с тестами

159.   // ***************************

160.  procedure TFormTest. FormActivate (Sender: TObject);

161.  var ln:integer;

162.  begin

163.  fName:=SFam+' ('+SGr+')'+'.txt';

164.  assignfile (f, fName);

165.  rewrite(f);

166.  BNewTest. Visible:=false;

167.   // перемешивание базы вопросов

168.  BasaV. Mix;

169.   // количество правильных ответов

170.  Ratio:=0;

171.   // текущий вопрос 0

172.  curN:=0;

173.   // отображаем первый вопрос на форме

174.  StaticText1. Caption:=BasaV.test[curN].vopr;

175.  RGroup1. Items[0]:=BasaV.test[curN].ans[0];

176.  RGroup1. Items[1]:=BasaV.test[curN].ans[1];

177.  RGroup1. Items[2]:=BasaV.test[curN].ans[2];

178.  RGroup1. Items[3]:=BasaV.test[curN].ans[3];

179.  RGroup1. ItemIndex:=0;

180.  Ln:=Length (BasaV.test);

181.  LbNom. Caption:= IntToStr (curN+1) + ' из ' + IntToStr(Ln);

182.  end;

183.   // ***************************

184.   // обработчик нажатия на кнопку «Принять ответ»

185.   // ***************************

186.  procedure TFormTest. BitBtn1Click (Sender: TObject);

187.  var

188.  sRes, S:string;

189.  ln:byte;

190.  begin

191.   // проверка ответа

192.  Ln:=Length (BasaV.test);

193.  if (CurN<ln) then

194.  begin

195.   // записываем лог ответов в файл

196.  S:= BasaV.test[curN].vopr + ' (ответил: – '+

197.  BasaV.test[curN].ans [RGroup1. ItemIndex]+')';

198.  writeln (f, S);

199.   // проверяем, правильно ли был сделан ответ

200.  if (RGroup1. ItemIndex = BasaV.test[curN].Korans) then

201.  Ratio:= Ratio +1;

202.  CurN:=CurN+1;

203.  if CurN=ln then // была последняя запись

204.  begin

205.   // сообщение с результатом

206.  sRes:= 'Итоговая оценка: '+FloatToStr (Ratio*12/ln);

207.   // запись результа в файл

208.  writeln (f, Sfam+Sgr);

209.  writeln (f, sRes);

210.  CloseFile(f);

211.  end;

212.  end;

213.  if CurN>=ln then

214.  begin

215.  sRes:= 'Итоговая оценка: '+FloatToStr (Ratio*12/ln);

216.  Application. MessageBox (PAnsiChar(sRes), PAnsiChar (SFam+Sgr));

217.  BNewtest. Visible:=true;

218.  exit;

219.  end;

220.   // отображаем следующий вопрос на форме

221.  StaticText1. Caption:=BasaV.test[curN].vopr;

222.  RGroup1. Items[0]:=BasaV.test[curN].ans[0];

223.  RGroup1. Items[1]:=BasaV.test[curN].ans[1];

224.  RGroup1. Items[2]:=BasaV.test[curN].ans[2];

225.  RGroup1. Items[3]:=BasaV.test[curN].ans[3];

226.  RGroup1. ItemIndex:=0;

227.  LbNom. Caption:= IntToStr (curN+1) + ' из ' + IntToStr(Ln);

228.  end;

229.   // ***************************

230.   // закрыте формы с тестами

231.   // ***************************

232.  procedure TFormTest.BNewTestClick (Sender: TObject);

233.  begin

234.  Close;

235.  end;

236.   // ***************************

237.   // активизация формы с авторизации

238.   // ***************************

239.  procedure TFormTest. FormClose (Sender: TObject; var Action: TCloseAction);

240.  begin

241.  FormAvto. Show;

242.  end;

243. 

244.  end.

 

Приложение В

Моя программа выполняет тестирование студентов по программированию. При открытии программы появляется окно (рис В.1), тестирования в котором нужно вести Фамилию Имя и Группу. Тестирование состоит из 20 вопросов, в каждом вопросе четыре варианта ответа необходимо выбрать один правильный (рис В.2). В конце тестирования появляется окно в котором выводится бал за количество ответов по 12 бальной системе (рис В.3).

Рисунок В.1 – Окно авторизации

Рисунок В.2 – Внешний вид формы FormTest

 

Рисунок В.3 – Итог 

 

 


Информация о работе Разработка программы с помощью языка программирования Delphi