рефераты рефераты
Главная страница > Курсовая работа: Разработка программы с помощью языка программирования Delphi  
Курсовая работа: Разработка программы с помощью языка программирования Delphi
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

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

Появится новый вопрос, ответ на который реализуется аналогичным способом. Если были пройдены все вопросы, выводится сообщение с оценкой, которая пропорциональна количеству правильных ответов. Все ответы правильные – оценка равна 12. Все ответы неправильные – оценка равна 0. Пример окна с сообщением об оценке приведено на рисунке 4.3.

Рисунок 4.3

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

Протокол с вариантами ответов, которые были введены учащимся заносятся в текстовый файл на жестком диске с именем «<фамилия>+<группа>.txt» в том же каталоге, где находится исполняемый файл. Пример протокола с правильными вариантами ответов приведен в приложении В.


Выводы

Данный курсовой проект был выполнен в полном соответствии поставленному заданию и отлажен в среде DELPHI 7.0. В ходе выполнения курсовой работы была разработана программа для тестирования студентов по программированию с графическим интерфейсом. База содержит 20 вопросов по основам языка Pascal. Программа может бать использована в образовательных целях.

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

В результате выполнения данной курсовой работы, я убедилась в широких возможностях языка программирования Delphi 7.


Перечень ссылок

1.  Валентин Озеров «Советы по Delphi», 1999

2.  Зуев Е.А. Программирование на языке Turbo Pascal 6. 0,7.0. – М.: Радио и связь, Веста, 1993.

3.  Фаронов В.В. Turbo Pascal 7.0. Начальный курс. – М.: Нолидж, 2000.

4.  Фаронов В.В. «DELPHI. Программирование на языке высокого уровня». – Питер, 2005.

5.  Дятченко Д.А. Методические указания к выполнению курсовой работы по дисциплине «Программирование и алгоритмическе языки» – Северодонецк, 2005.


 
Приложение А

Алгоритм программы

Рисунок А.1 – Обработка событий экранных форм программы


Рисунок А.2 – Алгоритм процедуры BitBtn1Click


Приложение Б

Модуль формы авторизации

1.  unit Unit2;

2.  interface

3.  uses

4.  Windows, Messages, SysUtils, Variants, Classes, Graphics,

5.  Controls, Forms, Dialogs, StdCtrls, Buttons;

6.  type

7.  TFormAvto = class(TForm)

8.  Label1: TLabel;

9.  Label2: TLabel;

10.  Label3: TLabel;

11.  EFam: TEdit;

12.  EGroup: TEdit;

13.  BitBtnStart: TBitBtn;

14.  procedure BitBtnStartClick (Sender: TObject);

15.  private

16.  {Private declarations}

17.  public

18.  {Public declarations}

19.  end;

20.  var

21.  FormAvto: TFormAvto;

22. 

23.  implementation

24.  uses Unit1;

25.  {$R *.dfm}

26.  procedure TFormAvto. BitBtnStartClick (Sender: TObject);

27.  begin

28.  SFam:=EFam. Text+ ' ';

29.  SGr:=EGroup. Text;

30.  hide;

31.  FormTest. Show;

32.  end;

33.  end.

Модуль формы тестирования

34.  unit Unit1;

35.  interface

36.  uses

37.  Windows, Messages, SysUtils, Variants, Classes, Graphics,

38.  Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;

39.  type

40.  TFormTest = class(TForm)

41.  BitBtn1: TBitBtn;

42.  Label1: TLabel;

43.  LbNom: TLabel;

44.  StaticText1: TStaticText;

45.  RGroup1: TRadioGroup;

46.  BNewTest: TButton;

47.  procedure FormCreate (Sender: TObject);

48.  procedure BitBtn1Click (Sender: TObject);

49.  procedure BNewTestClick (Sender: TObject);

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

51.  procedure FormActivate (Sender: TObject);

52.  private

53.  {Private declarations}

54.  public

55.  {Public declarations}

56.  end;

57.  TTest = record

58.  vopr:string; // вопрос

59.  ans:array [0..3] of string; // ответы

60.  korans:byte; // номер правильного ответа

61.  end;

62.  CVoprosi = class

63.  test: array of TTest;

64.  procedure AddTest (_vopr,_ans0,_ans1,_ans2,_ans3:string;_korans:byte);

65.  procedure Mix;

66.  end;

67.  var

68.  SFam, Sgr:string; // фамилия и группа учащегося

69.  fName:string;

70.  f: TEXTFILE;

71.  FormTest: TFormTest;

72.  BasaV:CVoprosi;

73.  CurN:byte; // номер текущего вопроса

74.  Ratio:byte; // количество правильных ответов

75.  implementation

76.  uses Unit2;

77.  {$R *.dfm}

78.   // метод для добавления нового теста в базу

79.  Procedure CVoprosi. AddTest (_vopr,_ans0,_ans1,_ans2,_ans3:string; _korans:byte);

80.  var ln:integer;

81.  begin

82.  ln:=Length(test);

83.  SetLength (test, ln+1);

84.  test[ln].vopr:= _vopr;

85.  test[ln].ans[0]:= _ans0;

86.  test[ln].ans[1]:= _ans1;

87.  test[ln].ans[2]:= _ans2;

88.  test[ln].ans[3]:= _ans3;

89.  test[ln].korans:= _korans;

90.  end;

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

92.  Procedure CVoprosi. Mix;

93.  var

94.  i, i1, i2, ln:byte;

95.  TestTmp:TTest;

96.  begin

97.  ln:=Length(test);

98.  for i:=1 to 20 do

99.  begin

100.  i1:=Random(ln); // случайный №1

101.  i2:=Random(ln); // случайный №2

102.   // меняем местами вопросы №1 и №2

103.  TestTmp:=test[i1];

104.  test[i1]:=test[i2];

105.  test[i2]:=TestTmp;

106.  end;

107.  end;

108.  procedure TFormTest. FormCreate (Sender: TObject);

109.  begin

110.   // формирование базы вопросов

111.  BasaV:=CVoprosi. Create;

112.  BasaV. AddTest ('Что выведет следующая программа?'+#10+#13+'var i, sum:sіnglе;'+#10+#13+

113.  'bеgin'+#10+'sum:=1;'+#10+

114.  ' for і:=2 to 10 dо sum:=sum+i;'+#10+

115.  ' WrіtеLn(sum);'+#10+'еnd.',

116.  '10', '55', '9', 'произойдет ошибка компиляции', 3);

117.  BasaV. AddTest ('Какое значение вернет выражение?'+#10+' chr (ord(«A»)+3)',

118.  'A3', '68', ' «D» ', ' «C» ', 2);

119.  BasaV. AddTest ('С чего не может начинаться идентификатор?',

120.  'с малой латинской буквы', 'с большой латинской буквы', 'с подчеркивания', 'с цифры', 3);

121.  BasaV. AddTest ('Что из нижеперечисленного может быть использовано как идентификатор?',

122.  'ord', 'for1', 'cardinal', 'C#21', 1);

123.  BasaV. AddTest ('Какой из приведенных типов целочисленный?',

124.  'real', 'byte', 'double', 'single', 1);

125.  BasaV. AddTest ('Какой из приведенных типов можно использовать для хранения дробных чисел?',

126.  'byte', 'word', 'double', 'integer', 2);

127.  BasaV. AddTest ('Какая из приведенных инструкций является циклом с заданным числом повторений?',

128.  'while <…> do ', 'for <…> do ', 'repeat until <…>', 'if <> then ', 1);

129.  BasaV. AddTest ('Какая из приведенных инструкций является циклом с предусловием?',

130.  'for <…> do ', 'while <…> do ', 'repeat until <…>', 'if <> then ', 1);

131.  BasaV. AddTest ('Какая из приведенных инструкций является циклом с постусловием?',

132.  'for <…> do ', 'while <…> do ', 'repeat until <…>', 'if <> then ', 2);

133.  BasaV. AddTest ('Какая из приведенных инструкций является инструкцией ветвления?',

134.  'for <…> do ', 'while <…> do ', 'repeat until <…>', 'if <> then ', 3);

135.  BasaV. AddTest ('Какая из приведенных инструкций целочисленного деления?',

136.  'MOD', 'DIV', '/', 'ODD', 1);

137.  BasaV. AddTest ('Какая из приведенных инструкций – остаток от деления?',

138.  'MOD', 'DIV', '/', 'ODD', 0);

139.  BasaV. AddTest ('Какая из приведенных инструкций вещественного деления?',

Страницы: 1, 2, 3, 4, 5

рефераты
Новости