Курсовой проект

  • 23021. Разработка программы на Delphi
    Компьютеры, программирование

    № п/пНовые понятия Содержание 1 2 3 1База данныхсовокупность данных, числовых значений показателей, используемых при анализе и расчетах. При применении ЭВМ файл (файлы) данных, для обращения к которому используют средства системы управления Б.Д 2Диалоговая программапрограмма, рассчитанная на удобное взаимодействие пользователя и ЭВМ 3Кодированиеперевод алгоритмической структуры на язык программирования 4Командысообщения, посредством которых осуществляется управление ходом диалога 5Менюспособ проведения диалога, когда на экран выводится информация в виде списка альтернатив, а пользователь выбирает нужный пункт. 6Ошибкасообщение о том, что работа программного комплекса прервана, так как введенные пользователем входные данные не могут быть обработанны 7Процедурапонятие, определяющее аппарат подпрограмм; часть программы предназначенная для решения определённой задачи или подзадачи 8Справкасообщение в виде справочной информации, что следует делать дальше и почему это надо делать при затруднениях, возникающих в процессе работы пользователя с программным комплексом. 9Тестированиедействия по контролю правильности функционирования программы 10Формаокно приложения на этапе разработки 11Файл проектаавтоматически создаваемый файл, связывающий вместе все файлы приложения и содержащий код инициализации

  • 23022. Разработка программы на Ассемблере
    Компьютеры, программирование

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

    • ZF - флаг/признак нулевого результата (Zero), устанавливается в 1, если получен нулевой результат, иначе (ZF)=0.
    • CF - флаг переноса (Carry) устанавливается, если в результате выполнения операции из старшего бита переносится или занимается 1 при сложении или вычитании, иначе (CF)=0. На CF влияют также команды сдвига и умножения.
    • SF - флаг знака результата (Sign) равен единице, если результат отрицательный, т.е. он дублирует старший знаковый бит результата.
    • PF - флаг четности (Parity). (PF)=1, если сумма по модулю два всех битов результата равна нулю (число единичных битов - четное).
    • AF - флаг дополнительного переноса (Auxiliary) устанавливается, если есть перенос из старшего бита младшей тетрады (бит D3) в младший бит старшей тетрады (бит D4). Используется в операциях над упакованными BCD числами.
    • OF - флаг переполнения (Overflow) устанавливается, когда результат операции превысит одно- или двухбайтовый диапазон чисел со ЗНАКОМ, а также в некоторых других случаях. Другое определение: (OF)=1, если перенос/заем в старший бит результата не равен переносу/заему из старшего бита.
  • 23023. Разработка программы на языке Borland Object Pascal (Ide Borland Delphi)
    Компьютеры, программирование

    1unit Unit1;23interface45uses6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,7 Dialogs, StdCtrls;89type10 TForm1 = class(TForm)11 Memo1: TMemo;12 buOpen: TButton;13 buProverka: TButton;14 lbRezultat: TLabel;15 odFile: TOpenDialog;16 buClose: TButton;17 procedure buOpenClick(Sender: TObject);18 procedure buProverkaClick(Sender: TObject);19 procedure buCloseClick(Sender: TObject);20 private21 { Private declarations }22 public23 { Public declarations }24 end;2526var27 Form1: TForm1;2829implementation3031{$R *.dfm}3233procedure TForm1.buOpenClick(Sender: TObject);34begin35 if odFile.Execute then36 begin37 Memo1.Lines.Clear;38 Memo1.Lines.LoadFromFile(odFile.FileName);39 lbRezultat.Caption:= '';40 end;41end;4243procedure TForm1.buProverkaClick(Sender: TObject);44var45 sFile, sLabelName: string;46 i, iKol, j: integer;47begin48 sFile:= Memo1.Lines.Text;49 if sFile<>'' then50 begin51 iKol:= 0;52 i:= pos('goto ', sFile);53 while i<>0 do54 begin55 delete(sFile, 1, i+4);56 i:= pos(';', sFile);57 j:= pos(#13, sFile);58 if ((j<>0)and(j<i))or(i=0) then59 begin60 lbRezultat.Caption:= 'Ошибка: Отсутствует ;';61 lbRezultat.Font.Color:= clRed;62 Exit;63 end;64 sLabelName:= copy(sFile, 1, i-1);65 if not (sLabelName[1] in ['A'..'Z', 'a'..'z'])then66 Begin67 lbRezultat.Caption:= 'Ошибка: Неверное имя метки '+ sLabelName;68 lbRezultat.Font.Color:= clRed;69 Exit;70 end;71 for i:= 2 to length(sLabelName) do72 if not(sLabelName[i] in ['0'..'9', 'A'..'Z', 'a'..'z']) then73 begin74 lbRezultat.Caption:= 'Ошибка: Неверное имя метки '+ sLabelName;75 lbRezultat.Font.Color:= clRed;76 Exit;77 end;78 i:= pos(sLabelName+':' ,sFile);79 if i=0 then80 begin81 lbRezultat.Caption:= 'Ошибка: Отсутсвует переход на метку '+ sLabelName;82 lbRezultat.Font.Color:= clRed;83 Exit;84 end;85 inc(iKol);86 i:= pos('goto ', sFile);87 end;88 if lbRezultat.Caption='' then89 begin90 lbRezultat.Caption:= 'Правильное задание '+ IntToStr(iKol)+ ' инструкций безусловного перехода';91 lbRezultat.Font.Color:= clNavy;92 end;93 end;94end;9596procedure TForm1.buCloseClick(Sender: TObject);97begin98 Close;99end;100101end.

    1. Запуск приложения
  • 23024. Разработка программы на языке C++
    Компьютеры, программирование

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

  • 23025. Разработка программы на языке LISP для построения кривых Серпинского i-го порядка
    Компьютеры, программирование

    Эта процедура инициируется главной программой по одному разу для каждой кривой Серпинского, образующих приведенный рисунок. Употребление явного параметра для уровня гарантирует окончание работы, так как глубина рекурсии не может быть больше k. Главная программа строится по образцу S. Ее задача - установить начальную точку кривой, т.е. исходные координаты пера (Px и Py) и единичную длину приращения h. Квадрат, где рисуется кривая, помещается в середине экрана, заданной ширины и высоты.

  • 23026. Разработка программы нахождения всех полных подграфов (клик) данного графа
    Компьютеры, программирование

    Задачей программы ставится нахождение всех полных подграфов (клик) данного неориентированного графа. Помимо этого программа должна обладать следующими возможностями:

    1. Создание и редактирование неориентированного графа.
    2. Загрузка и сохранение графа в файл, как в виде матрицы смежности, так и в собственном формате файла программы.
    3. Обеспечивать интерактивность графа (граф можно создавать/изменять при помощи мыши, изменения в графе сразу же отображаются на экране).
    4. Обладать средствами экспорта изображения графа в графические файлы формата png и bmp (формат jpg мало подходит для этих целей, так как на однородном фоне хорошо заметны артефакты конверсии изображения).
    5. Предоставлять средства просмотра найденных в графе клик, а также экспорта их в графические файлы или сохранения в матричном или графовом формате.
    6. Обладать средствами генерации отчета о найденных кликах.
    7. Предоставлять возможность распечатать созданный граф.
  • 23027. Разработка программы обработки экономической информации
    Компьютеры, программирование

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

  • 23028. Разработка программы определительных испытаний
    Компьютеры, программирование

    АBСDE33Левая границаПравая границаЧастотаВероятности?²34Экспоненциальное распределение35808450,017616,329336849280,033120,294537929690,0156275,4446389610070,0150145,12293910010470,0144247,466340104108100,01385109,61664110811650,026118,55894211612050,0122927,001443Сумма349,834445Нормальное распределение46808450,03175,820147849280,15560,059048929690,13170,3576499610070,15460,31755010010470,15510,328051104108100,13310,86985210811650,15881,70575311612050,032815,441954Сумма14,899555Гамма-распределение56808450,03106,124357849280,16520,169758929690,13880,1927599610070,15760,37886010010470,15220,272961104108100,12651,19696210811650,14971,36856311612050,032815,442164Сумма15,145965 Равномерное распределение66808450,037274,071967849280,23001,852268929690,11501,0151699610070,11500,04827010010470,11500,048271104108100,11501,96437210811650,23004,82547311612050,04232,907074Сумма16,732475Критическое значение критерия16,74960237

  • 23029. Разработка программы при помощи языка низкого уровня ассемблер
    Компьютеры, программирование

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

  • 23030. Разработка программы при помощи языка программирования языка Delphi
    Компьютеры, программирование

     

    1. unit Unit1;
    2. interface
    3. uses
    4. Windows, Messages, SysUtils, Variants, Classes, Graphics,
    5. Controls, Forms,Dialogs, Menus, StdCtrls, Buttons, ExtCtrls,
    6. Grids;
    7. type
    8. TForm1 = class(TForm)
    9. MainMenu1: TMainMenu;
    10. N1: TMenuItem;
    11. NOpen: TMenuItem;
    12. NSave: TMenuItem;
    13. NSaveAs: TMenuItem;
    14. NCreate: TMenuItem;
    15. N6: TMenuItem;
    16. NExit: TMenuItem;
    17. NInfo: TMenuItem;
    18. NShow: TMenuItem;
    19. SaveDlg: TSaveDialog;
    20. OpenDlg: TOpenDialog;
    21. Label1: TLabel;
    22. Label2: TLabel;
    23. Label3: TLabel;
    24. Label4: TLabel;
    25. Label9: TLabel;
    26. EHDD: TEdit;
    27. ERAM: TEdit;
    28. EMonitor: TEdit;
    29. RGrInet: TRadioGroup;
    30. EName: TEdit;
    31. SGrid1: TStringGrid;
    32. BBPrev: TBitBtn;
    33. BBNext: TBitBtn;
    34. BBDelete: TBitBtn;
    35. BBAdd: TBitBtn;
    36. BBUpdate: TBitBtn;
    37. BBSearch: TBitBtn;
    38. procedure FormCreate(Sender: TObject);
    39. procedure NCreateClick(Sender: TObject);
    40. procedure NOpenClick(Sender: TObject);
    41. procedure NShowClick(Sender: TObject);
    42. procedure NSaveClick(Sender: TObject);
    43. procedure NSaveAsClick(Sender: TObject);
    44. procedure NExitClick(Sender: TObject);
    45. procedure NInfoClick(Sender: TObject);
    46. procedure BBPrevClick(Sender: TObject);
    47. procedure BBNextClick(Sender: TObject);
    48. procedure BBUpdateClick(Sender: TObject);
    49. procedure BBAddClick(Sender: TObject);
    50. procedure BBDeleteClick(Sender: TObject);
    51. procedure BBSearchClick(Sender: TObject);
    52. private
    53. { Private declarations }
    54. public
    55. { Public declarations }
    56. end;
    57. TComp = record
    58. Name:string[20];
    59. HDD:real;
    60. RAM:integer;
    61. Monitor:string[20];
    62. Inet:boolean; {true - есть, false - нет}
    63. end;
    64. ATComp = array of TComp;
    65. var
    66. Form1: TForm1;
    67. F:file of TComp;
    68. Comp:TComp;
    69. AComp:ATComp;
    70. CurK:integer;
    71. Fname:string;
    72. implementation
    73. uses Unit2;
    74. {$R *.dfm}
    75. // поиск компьютера по имени
    76. Function GetComp(name:string;AComp:ATComp;var Comp:TComp):boolean;
    77. var i:integer;
    78. begin
    79. for i:=0 to Length(AComp)-1 do
    80. if AComp[i].Name = Name then
    81. begin
    82. Comp:=AComp[i];
    83. GetComp:=true;
    84. exit;
    85. end;
    86. GetComp:=false;
    87. end;
    88. // вывод информации об одном компьютерера из типизированного файла на экранную форму
    89. Procedure ShowComp(Comp:TComp);
    90. begin
    91. Form1.EName.Text:=Comp.Name;
    92. Form1.EHDD.Text:=FloatToStr(Comp.HDD);
    93. Form1.ERAM.Text:=IntToStr(Comp.RAM);
    94. if Comp.Inet then
    95. Form1.RgrInet.ItemIndex := 1
    96. else
    97. Form1.RgrInet.ItemIndex:=0;
    98. Form1.EMonitor.Text:=Comp.Monitor;
    99. end;
    100. // вывод информации о компьютере из типизированного файла в таблицу
    101. Procedure ShowCompInGrid(Comp:TComp;Sgr:TStringGrid;Row:integer);
    102. begin
    103. Sgr.Cells[0,Row]:=IntToStr(Row);
    104. Sgr.Cells[1,Row]:=Comp.Name;
    105. Sgr.Cells[2,Row]:=FloatToStr(Comp.HDD);
    106. Sgr.Cells[3,Row]:=IntToStr(Comp.RAM);
    107. Sgr.Cells[4,Row]:=Comp.Monitor;
    108. if Comp.Inet then
    109. Sgr.Cells[5,Row]:='есть'
    110. else
    111. Sgr.Cells[5,Row]:='нет';
    112. end;
    113. // вывод содержимого массива FComp в таблицу
    114. Procedure ShowAComp(AComp:ATComp;Sgr:TStringGrid);
    115. var i,ln:integer;
    116. begin
    117. ln:=Length(AComp);
    118. if ln = 0 then
    119. Sgr.RowCount:=2
    120. else
    121. Sgr.RowCount:=ln+1;
    122. SGr.FixedRows:=1;
    123. for i:=0 to LN-1 do
    124. ShowCompInGrid(AComp[i],Sgr,i+1);
    125. end;
    126. // добавление новой записи в массив
    127. procedure TForm1.BBAddClick(Sender: TObject);
    128. var
    129. k:integer;
    130. begin
    131. Comp.Name:=EName.Text;
    132. Comp.HDD:=StrToFloat(EHDD.Text);
    133. Comp.RAM:=StrToInt(ERAM.Text);
    134. Comp.Monitor:=EMonitor.Text;
    135. Comp.Inet:=RgrInet.ItemIndex = 1;
    136. //
    137. if GetComp(Comp.Name,AComp,Comp) then
    138. begin
    139. MessageBox(0,PAnsiChar(String('Ошибка! Запись компьютера с именем '+Comp.Name+' уже существует!')),'Ошибка',0);
    140. exit;
    141. end;
    142. k:=Length(AComp);
    143. SetLength(AComp,k+1);
    144. AComp[k]:=Comp;
    145. CurK:=k;
    146. ShowAComp(AComp,SGrid1);
    147. end;
    148. // переход на предыдущую запись массива
    149. procedure TForm1.BBPrevClick(Sender: TObject);
    150. begin
    151. curK:=CurK-1;
    152. if CurK<0 then CurK:=Length(AComp)-1;
    153. if CurK < Length(AComp) then
    154. ShowComp(AComp[CurK]);
    155. end;
    156. // переход на последующую запись массива
    157. procedure TForm1.BBNextClick(Sender: TObject);
    158. begin
    159. curK:=CurK+1;
    160. if CurK>=Length(AComp) then CurK:=0;
    161. if CurK < Length(AComp) then
    162. ShowComp(AComp[CurK]);
    163. end;
    164. // сохранение содержимого массива в типизированном файле
    165. procedure TForm1.NSaveClick(Sender: TObject);
    166. var i:integer;
    167. begin
    168. if Fname = '' then
    169. MessageBox(0,'Имя файла не задано!','Ошибка',0)
    170. else begin
    171. AssignFile(F,Fname);
    172. Rewrite(f);
    173. for i:=0 to Length(AComp)-1 do
    174. write(f,AComp[i]);
    175. CloseFile(F);
    176. end;
    177. end;
    178. // сохранение в содержимого массива в типизированном файле
    179. // с возможностью указания имени файла
    180. procedure TForm1.NSaveAsClick(Sender: TObject);
    181. var i:integer;
    182. begin
    183. if SaveDlg.Execute then
    184. begin
    185. Fname:=SaveDlg.FileName;
    186. AssignFile(F,Fname);
    187. Rewrite(f);
    188. for i:=0 to Length(AComp)-1 do
    189. write(f,AComp[i]);
    190. CloseFile(F);
    191. end;
    192. end;
    193. // открытие типизированного файла и вывод его содержимого на форму
    194. procedure TForm1.NOpenClick(Sender: TObject);
    195. var K:integer;
    196. begin
    197. if OpenDlg.Execute then
    198. begin
    199. Fname:=OpenDlg.FileName;
    200. AssignFile(F,Fname);
    201. ReSet(f);
    202. k:=0;
    203. SetLength(AComp,0);
    204. while not eof(f) do
    205. begin
    206. read(f,Comp);
    207. SetLength(AComp,k+1);
    208. AComp[k]:=Comp;
    209. k:=k+1;
    210. end;
    211. CloseFile(F);
    212. ShowAComp(AComp,SGRid1);
    213. end;
    214. end;
    215. // удаление текущей записи из массива записей AComp
    216. procedure TForm1.BBDeleteClick(Sender: TObject);
    217. var i,Ln:integer;
    218. begin
    219. Ln:=Length(AComp);
    220. for i:=CurK to Ln-2 do
    221. AComp[i]:=AComp[i+1];
    222. if Ln>0 then
    223. SetLength(AComp,Ln-1);
    224. if CurK<ln then
    225. ShowComp(AComp[CurK]);
    226. ShowAComp(AComp,SGrid1);
    227. end;
    228. // Создание нового массива записей
    229. procedure TForm1.NCreateClick(Sender: TObject);
    230. begin
    231. CurK:=0;
    232. SetLength(AComp,0);
    233. Fname:='';
    234. ShowAComp(AComp,SGrid1);
    235. end;
    236. // созание формы - формирование шапки таблицы
    237. procedure TForm1.FormCreate(Sender: TObject);
    238. begin
    239. SGrid1.Cells[0,0]:='№ п/п';
    240. SGrid1.Cells[1,0]:='Имя ПК';
    241. SGrid1.Cells[2,0]:='Объём памяти';
    242. SGrid1.Cells[3,0]:='Объём ОП';
    243. SGrid1.Cells[4,0]:='Тип монитора';
    244. SGrid1.Cells[5,0]:='Подключение к Internet';
    245. end;
  • 23031. Разработка программы профессиональной подготовки заливщиков металла
    Педагогика

     

    1. Ананьев Б.Г. Индивидуальное развитие человека и константность восприятия / Б.Г. Ананьев, М.Д. Дворятпина, Н.А. Кудрявцева. М.: Просвещение, 1968.
    2. Ананьев Б. Г. Теория ощущений. - Л.: ЛГУ, 1961.
    3. Беляева А.П. Дидактические принципы профессиональной подготовки в профтехучилищах: Методическое пособие.- М.:Высш.шк.,1991.
    4. Вопросы психологии памяти: Сб. ст. / Под ред. А.А. Смирнова. М.: Изд-во АПН РСФСР, 1958.
    5. Железнякова Н.Н., Никитина И.П. Основы профессионально-педагогической деятельности. М., 2001.
    6. Занина Л.В., Меньшикова Н.П. Основы педагогического мастерства. Ростов н/Д:Феникс, 2005.
    7. Кулюткин Ю.Н. Психология обучения взрослых. М.: Просвещение, 1985.
    8. Морева Н.И. Технологии профессионального обучения.- М., 2008.
    9. Панина Т.С. Современные способы активизации обучения.- СПб., 2006.
    10. Пидкасистый А.И. Педагогика.- Ростов н/Д., 2003.
    11. Подласый И.П. Педагогика. в 2-х томах.- М., 2005.
    12. Пурин В.Д. Педагогика среднего профессионального образования Ростов н/Д: Феникс, 2006.
    13. Семёнов В.И. Обучающие семинары.- М., 2002.
    14. Скакун В.А. Методика перподавания специальных предметов. М.: Издательский центр "Академия", 2007.
    15. Степанова Е.И. Психология взрослых основа акмеологии. СПб.: СПб акмеологическая академия, 1995.
    16. Тарифно-квалификационная характеристика заливщика металла.
    17. Фельдшгейн Д.И. Проблемы возрастной и педагогической психологии: Избр. психол. тр. М.: Междунар. пед. академия. 1995.
    18. Фридман Л.М. Педагогический опыт глазами психолога. - М., 1987.
    19. Харламов А.Ф. Педагогика.- Киев, 1998.
    20. Эрганова Н.Е. Методика профессионального обучения. М.: Издательский центр "Академия", 2007.
  • 23032. Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с з...
    Компьютеры, программирование

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

  • 23033. Разработка программы решения системы линейных уравнений
    Компьютеры, программирование

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

  • 23034. Разработка программы рисования замкнутых многоугольников на языке С++, с использованием библиотеки VCL
    Компьютеры, программирование

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

  • 23035. Разработка программы с помощью языка программирования Delphi
    Компьютеры, программирование

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

    1. unit Unit1;
    2. interface
    3. uses
    4. Windows, Messages, SysUtils, Variants, Classes, Graphics,
    5. Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;
    6. type
    7. TFormTest = class(TForm)
    8. BitBtn1: TBitBtn;
    9. Label1: TLabel;
    10. LbNom: TLabel;
    11. StaticText1: TStaticText;
    12. RGroup1: TRadioGroup;
    13. BNewTest: TButton;
    14. procedure FormCreate (Sender: TObject);
    15. procedure BitBtn1Click (Sender: TObject);
    16. procedure BNewTestClick (Sender: TObject);
    17. procedure FormClose (Sender: TObject; var Action: TCloseAction);
    18. procedure FormActivate (Sender: TObject);
    19. private
    20. {Private declarations}
    21. public
    22. {Public declarations}
    23. end;
    24. TTest = record
    25. vopr:string;// вопрос
    26. ans:array [0..3] of string;// ответы
    27. korans:byte;// номер правильного ответа
    28. end;
    29. CVoprosi = class
    30. test: array of TTest;
    31. procedure AddTest (_vopr,_ans0,_ans1,_ans2,_ans3:string;_korans:byte);
    32. procedure Mix;
    33. end;
    34. var
    35. SFam, Sgr:string;// фамилия и группа учащегося
    36. fName:string;
    37. f: TEXTFILE;
    38. FormTest: TFormTest;
    39. BasaV:CVoprosi;
    40. CurN:byte;// номер текущего вопроса
    41. Ratio:byte;// количество правильных ответов
    42. implementation
    43. uses Unit2;
    44. {$R *.dfm}
    45. // метод для добавления нового теста в базу
    46. Procedure CVoprosi. AddTest (_vopr,_ans0,_ans1,_ans2,_ans3:string; _korans:byte);
    47. var ln:integer;
    48. begin
    49. ln:=Length(test);
    50. SetLength (test, ln+1);
    51. test[ln].vopr:= _vopr;
    52. test[ln].ans[0]:= _ans0;
    53. test[ln].ans[1]:= _ans1;
    54. test[ln].ans[2]:= _ans2;
    55. test[ln].ans[3]:= _ans3;
    56. test[ln].korans:= _korans;
    57. end;
    58. // перемешивание базы вопросов
    59. Procedure CVoprosi. Mix;
    60. var
    61. i, i1, i2, ln:byte;
    62. TestTmp:TTest;
    63. begin
    64. ln:=Length(test);
    65. for i:=1 to 20 do
    66. begin
    67. i1:=Random(ln);// случайный №1
    68. i2:=Random(ln);// случайный №2
    69. // меняем местами вопросы №1 и №2
    70. TestTmp:=test[i1];
    71. test[i1]:=test[i2];
    72. test[i2]:=TestTmp;
    73. end;
    74. end;
    75. procedure TFormTest. FormCreate (Sender: TObject);
    76. begin
    77. // формирование базы вопросов
    78. BasaV:=CVoprosi. Create;
    79. BasaV. AddTest ('Что выведет следующая программа?'+#10+#13+'var i, sum:sіnglе;'+#10+#13+
    80. 'bеgin'+#10+'sum:=1;'+#10+
    81. ' for і:=2 to 10 dо sum:=sum+i;'+#10+
    82. ' WrіtеLn(sum);'+#10+'еnd.',
    83. '10', '55', '9', 'произойдет ошибка компиляции', 3);
    84. BasaV. AddTest ('Какое значение вернет выражение?'+#10+' chr (ord(«A»)+3)',
    85. 'A3', '68', ' «D» ', ' «C» ', 2);
    86. BasaV. AddTest ('С чего не может начинаться идентификатор?',
    87. 'с малой латинской буквы', 'с большой латинской буквы', 'с подчеркивания', 'с цифры', 3);
    88. BasaV. AddTest ('Что из нижеперечисленного может быть использовано как идентификатор?',
    89. 'ord', 'for1', 'cardinal', 'C#21', 1);
    90. BasaV. AddTest ('Какой из приведенных типов целочисленный?',
    91. 'real', 'byte', 'double', 'single', 1);
    92. BasaV. AddTest ('Какой из приведенных типов можно использовать для хранения дробных чисел?',
    93. 'byte', 'word', 'double', 'integer', 2);
    94. BasaV. AddTest ('Какая из приведенных инструкций является циклом с заданным числом повторений?',
    95. 'while <…> do ', 'for <…> do ', 'repeat until <…>', 'if <> then ', 1);
    96. BasaV. AddTest ('Какая из приведенных инструкций является циклом с предусловием?',
    97. 'for <…> do ', 'while <…> do ', 'repeat until <…>', 'if <> then ', 1);
    98. BasaV. AddTest ('Какая из приведенных инструкций является циклом с постусловием?',
    99. 'for <…> do ', 'while <…> do ', 'repeat until <…>', 'if <> then ', 2);
    100. BasaV. AddTest ('Какая из приведенных инструкций является инструкцией ветвления?',
    101. 'for <…> do ', 'while <…> do ', 'repeat until <…>', 'if <> then ', 3);
    102. BasaV. AddTest ('Какая из приведенных инструкций целочисленного деления?',
    103. 'MOD', 'DIV', '/', 'ODD', 1);
    104. BasaV. AddTest ('Какая из приведенных инструкций остаток от деления?',
    105. 'MOD', 'DIV', '/', 'ODD', 0);
    106. BasaV. AddTest ('Какая из приведенных инструкций вещественного деления?',
    107. 'MOD', 'DIV', '/', 'ODD', 2);
    108. BasaV. AddTest ('Какая из приведенных инструкций проверка на четность?',
    109. 'MOD', 'DIV', '/', 'ODD', 3);
    110. BasaV. AddTest ('Укажите функцию округления по правилам арифметики:',
    111. 'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 2);
    112. BasaV. AddTest ('Укажите функцию выделения дробной части числа:',
    113. 'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 1);
    114. BasaV. AddTest ('Укажите функцию округления к нулю с целочисленным результатом:',
    115. 'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 0);
    116. BasaV. AddTest ('Укажите функцию округления к нулю с вещественным результатом:',
    117. 'TRUNC()', 'FRAC()', 'ROUND()', 'INT()', 3);
    118. BasaV. AddTest ('Укажите функцию открытия существующего файла:',
    119. 'ASSIGNFILE()', 'REWRITE()', 'RESET()', 'CLOSEFILE()', 2);
    120. BasaV. AddTest ('Укажите функцию создания нового файла и открытия его для записи:',
    121. 'ASSIGNFILE()', 'REWRITE()', 'RESET()', 'CLOSEFILE()', 1);
    122. randomize;
    123. end;
    124. // ***************************
    125. // активизация формы с тестами
    126. // ***************************
    127. procedure TFormTest. FormActivate (Sender: TObject);
    128. var ln:integer;
    129. begin
    130. fName:=SFam+' ('+SGr+')'+'.txt';
    131. assignfile (f, fName);
    132. rewrite(f);
    133. BNewTest. Visible:=false;
    134. // перемешивание базы вопросов
    135. BasaV. Mix;
    136. // количество правильных ответов
    137. Ratio:=0;
    138. // текущий вопрос 0
    139. curN:=0;
    140. // отображаем первый вопрос на форме
    141. StaticText1. Caption:=BasaV.test[curN].vopr;
    142. RGroup1. Items[0]:=BasaV.test[curN].ans[0];
    143. RGroup1. Items[1]:=BasaV.test[curN].ans[1];
    144. RGroup1. Items[2]:=BasaV.test[curN].ans[2];
    145. RGroup1. Items[3]:=BasaV.test[curN].ans[3];
    146. RGroup1. ItemIndex:=0;
    147. Ln:=Length (BasaV.test);
    148. LbNom. Caption:= IntToStr (curN+1) + ' из ' + IntToStr(Ln);
    149. end;
    150. // ***************************
    151. // обработчик нажатия на кнопку «Принять ответ»
    152. // ***************************
    153. procedure TFormTest. BitBtn1Click (Sender: TObject);
    154. var
    155. sRes, S:string;
    156. ln:byte;
    157. begin
    158. // проверка ответа
    159. Ln:=Length (BasaV.test);
    160. if (CurN<ln) then
    161. begin
    162. // записываем лог ответов в файл
    163. S:= BasaV.test[curN].vopr + ' (ответил: '+
    164. BasaV.test[curN].ans [RGroup1. ItemIndex]+')';
    165. writeln (f, S);
    166. // проверяем, правильно ли был сделан ответ
    167. if (RGroup1. ItemIndex = BasaV.test[curN].Korans) then
    168. Ratio:= Ratio +1;
    169. CurN:=CurN+1;
    170. if CurN=ln then// была последняя запись
    171. begin
    172. // сообщение с результатом
    173. sRes:= 'Итоговая оценка: '+FloatToStr (Ratio*12/ln);
    174. // запись результа в файл
    175. writeln (f, Sfam+Sgr);
    176. writeln (f, sRes);
    177. CloseFile(f);
    178. end;
    179. end;
    180. if CurN>=ln then
    181. begin
    182. sRes:= 'Итоговая оценка: '+FloatToStr (Ratio*12/ln);
    183. Application. MessageBox (PAnsiChar(sRes), PAnsiChar (SFam+Sgr));
    184. BNewtest. Visible:=true;
    185. exit;
    186. end;
    187. // отображаем следующий вопрос на форме
    188. StaticText1. Caption:=BasaV.test[curN].vopr;
    189. RGroup1. Items[0]:=BasaV.test[curN].ans[0];
    190. RGroup1. Items[1]:=BasaV.test[curN].ans[1];
    191. RGroup1. Items[2]:=BasaV.test[curN].ans[2];
    192. RGroup1. Items[3]:=BasaV.test[curN].ans[3];
    193. RGroup1. ItemIndex:=0;
    194. LbNom. Caption:= IntToStr (curN+1) + ' из ' + IntToStr(Ln);
    195. end;
    196. // ***************************
    197. // закрыте формы с тестами
    198. // ***************************
    199. procedure TFormTest.BNewTestClick (Sender: TObject);
    200. begin
    201. Close;
    202. end;
    203. // ***************************
    204. // активизация формы с авторизации
    205. // ***************************
    206. procedure TFormTest. FormClose (Sender: TObject; var Action: TCloseAction);
    207. begin
    208. FormAvto. Show;
    209. end;
    210. end.
  • 23036. Разработка программы сжатия и восстановления файлов с помощью фиксированного блочного кода постоянного смещения
    Компьютеры, программирование

    Краткое описание работы приложения:

    1. При нажатии кнопки Button1 “Считать для сжатия” происходит получение имени считываемого файла и пути до него. Измеряется размер файла (функция FileSize). Полностью очищаются Label.
    2. При нажатии кнопки Button2 “Проверить” происходит обнуление всех необходимых для работы переменных. Запускается процесс считывания (по-байтово) и анализа сжимаемого файла, в результате которого высчитывается средняя длинна кодового слова. Она необходима для определения возможности сжатия. В зависимости от полученного результата выводится сообщение о том, что файл можно сжимать, в противном случае, что нельзя. Так же формируется массив частот повторений символов в файле, необходимый для соотнесения кодовых слов и символов в файле.
    3. При нажатии Button3 “Сжать” происходит побайтовое считывание сжимаемого файла с помощью команды BlockRead. Далее происходит соотнесение считанного байта кодовому слову. Алгоритм соотнесения основан на частоте появлений символов в файле. Чем чаще данный символ встречается в файле, тем меньшей длинны ему присваивается кодовое слово. Запись нового файла производится с помощью команды BlockWrite так же по-байтово. Новому файлу присваивается новое расширение. Когда файл полностью считан, выполняется проверка на наличие оставшихся битов. Если таковые имеются, то пустое пространство забивается нулями до тех пор, пока количество битов не будет равно 8.
    4. При нажатии Button4 “Считать для восстановления” происходит получение имени сжатого файла, пути до него.
    5. При нажатии Button5 “Восстановить" происходит побайтового считывание файла. Алгоритм разжатия состоит из двух этапов. На первом этапе происходит считывание файла блоками размером в 1 байт. Производится запись считанных байтов в специальную переменную. Когда длина переменной составляет 16 символов или более, начинается анализ считанной информации. Производится проверка на соответствие кодовым словам и последующая запись полученных значений в новый файл. На втором этапе производится проверка на остаток и удаление лишних данных (случай, когда было выполнено дополнение нулями при сжатии).
  • 23037. Разработка программы совершенствования системы управления филиала красноярской ТЭЦ–2 ОАО "Енисейская ТГК"
    Менеджмент

    Система направления оценки эффективности исследованияОсновные критерии оценки эффективностиОценка в баллах (0-1)АБВ1. Достижение цели1.1. Степень достижения цели 1.2. Расширение доли рынка 1.3. Сохранение организации как целостной системы 1.4. Получение прибыли0,7 0,7 0,9 0,82. Качество функционирования2.1. Соотношение централизации и децентрализации 2.2. Рост гибкости организационной структуры 2.3. Соподчиненность дерева целей и уровня иерархии 2.4. Эффективность текущей обрабатывающей информации 2.5. Скорость и точность выделения информации по запросам 2.6. Надежность и безопасность информации 2.7. Наличие необходимой информации 2.8. Своевременность информации 2.9. Экономичность от масштаба сбора, обработки и передачи информации0,5 0,5 0,5 0,5 0,7 0,7 0,7 0,7 0,63. Экономичность3.1. Удельный вес издержек управления в общих издержках 3.2. Затраты на подготовку управленцев 3.3. Затраты на управленческое консультирование 3.4. Эффективность управленческих ресурсов 3.5. Точность управленческих решений 3.6. Надежность решений 3.7. Быстрота подготовки управленческих решений 3.8. Гибкость и последовательность принятия решений0,5 0,1 0,1 0,9 0,8 0,7 0,7 0,64. Изменение в качестве рабочей силы4.1. Гибкость системы продвижения по службе 4.2. Полномочия работников и их ответственность 4.3. Степень удовлетворения от выполненных работ0,2 0,6 0,75. Внешние и внутренние социально-экономические условия5.1. Способность СТЕП-факторного анализа 5.2. Наличие обоснованных целей0,5 0,7Нормативное число - 26. Итого15,6Проведенный экспертным методом анализ эффективности системы управления исследуемой организации позволил выявить все те же недостатки: отсутствие гибкости в продвижении работников по службе; из финансовых расчетов мы можем наблюдать, что компания несет убытки. Но в то же время следует отметить высокий профессионализм, присутствующий у руководящих работников исследуемой организации.

  • 23038. Разработка программы создания виртуальной фотогалереи
    Компьютеры, программирование

    -12)%20and%20(tx>0)%20and%20(tx<8)begin%20form3.number:=16;%20showimage(form3.number);%20end;(ty>-9)%20and%20(ty<-3)%20and%20(tx>3)%20and%20(tx<12)begin%20form3.number:=12;%20showimage(form3.number);%20end;(ty>-3)%20and%20(ty<4)%20and%20(tx>3)%20and%20(tx<12)begin%20form3.number:=11;%20showimage(form3.number);%20end;(ty>4)%20and%20(ty<12)%20and%20(tx>3)%20and%20(tx<12)begin%20form3.number:=10;%20showimage(form3.number);%20end;(ty<-6)%20and%20(ty>-12)%20and%20(tx>-8)%20and%20(tx<0)begin%20form3.number:=17;%20showimage(form3.number);%20end;(ty>-9)%20and%20(ty<-3)%20and%20(tx>-12)%20and%20(tx<-3)begin%20form3.number:=15;%20showimage(form3.number);%20end;(ty>-3)%20and%20(ty<4)%20and%20(tx>-12)%20and%20(tx<-3)begin%20form3.number:=14;%20showimage(form3.number);%20end;(ty>4)%20and%20(ty<12)%20and%20(tx>-12)%20and%20(tx<-3)begin%20form3.number:=13;%20showimage(form3.number);%20end;(ty>2)%20and%20(ty<12)%20and%20(tx>-6)%20and%20(tx<6)begin%20form3.number:=9;%20showimage(form3.number);%20end;(ty>12)%20and%20(ty<20)%20and%20(tx>1)%20and%20(tx<12)begin%20form3.number:=8;%20showimage(form3.number);%20end;(ty>20)%20and%20(ty<28)%20and%20(tx>1)%20and%20(tx<12)begin%20form3.number:=7;%20showimage(form3.number);%20end;(ty>28)%20and%20(ty<36)%20and%20(tx>1)%20and%20(tx<12)begin%20form3.number:=6;%20showimage(form3.number);%20end;(ty>12)%20and%20(ty<20)%20and%20(tx>-11)%20and%20(tx<-1)begin%20form3.number:=5;%20showimage(form3.number);%20end;(ty>20)%20and%20(ty<28)%20and%20(tx>-11)%20and%20(tx<-1)begin%20form3.number:=4;%20showimage(form3.number);%20end;(ty>28)%20and%20(ty<35)%20and%20(tx>-11)%20and%20(tx<-1)begin%20form3.number:=3;%20showimage(form3.number);%20end;(ty>30)%20and%20(ty<35)%20and%20(tx>0)%20and%20(tx<8)begin%20form3.number:=1;%20showimage(form3.number);%20end;(ty>30)%20and%20(ty<35)%20and%20(tx>-8)%20and%20(tx<0)begin%20form3.number:=2;%20showimage(form3.number);%20end;;Key=VK_F1begin:=false;.HelpFile:='Help\Help.hlp';.HelpCommand(HELP_FINDER,0);;Key=VK_F2beginlockShowCursor(true)ShowCursor(false);:=not%20lock;;">Key = VK_ESCAPE then(true);.Visible:=true;.DirectoryListBox1.Directory:=form2.directory+'/download';.FilterComboBox1.Filelist.Mask:='*.bmp';kolfile:=1 to 17 dofileexists(form2.directory+'/download/fotogallery'+inttostr(kolfile)+'.bmp') thendeletefile(form2.directory+'/download/fotogallery'+inttostr(kolfile)+'.bmp') then.FileListBox1.DeleteSelected;.colpic[kolfile]:=false;;.DirectoryListBox1.Directory:=form2.directory;.FilterComboBox1.Filelist.Mask:=form2.mask;.close;;Key=VK_Return(ty<-6) and (ty>-12) and (tx>0) and (tx<8)begin form3.number:=16; showimage(form3.number); end;(ty>-9) and (ty<-3) and (tx>3) and (tx<12)begin form3.number:=12; showimage(form3.number); end;(ty>-3) and (ty<4) and (tx>3) and (tx<12)begin form3.number:=11; showimage(form3.number); end;(ty>4) and (ty<12) and (tx>3) and (tx<12)begin form3.number:=10; showimage(form3.number); end;(ty<-6) and (ty>-12) and (tx>-8) and (tx<0)begin form3.number:=17; showimage(form3.number); end;(ty>-9) and (ty<-3) and (tx>-12) and (tx<-3)begin form3.number:=15; showimage(form3.number); end;(ty>-3) and (ty<4) and (tx>-12) and (tx<-3)begin form3.number:=14; showimage(form3.number); end;(ty>4) and (ty<12) and (tx>-12) and (tx<-3)begin form3.number:=13; showimage(form3.number); end;(ty>2) and (ty<12) and (tx>-6) and (tx<6)begin form3.number:=9; showimage(form3.number); end;(ty>12) and (ty<20) and (tx>1) and (tx<12)begin form3.number:=8; showimage(form3.number); end;(ty>20) and (ty<28) and (tx>1) and (tx<12)begin form3.number:=7; showimage(form3.number); end;(ty>28) and (ty<36) and (tx>1) and (tx<12)begin form3.number:=6; showimage(form3.number); end;(ty>12) and (ty<20) and (tx>-11) and (tx<-1)begin form3.number:=5; showimage(form3.number); end;(ty>20) and (ty<28) and (tx>-11) and (tx<-1)begin form3.number:=4; showimage(form3.number); end;(ty>28) and (ty<35) and (tx>-11) and (tx<-1)begin form3.number:=3; showimage(form3.number); end;(ty>30) and (ty<35) and (tx>0) and (tx<8)begin form3.number:=1; showimage(form3.number); end;(ty>30) and (ty<35) and (tx>-8) and (tx<0)begin form3.number:=2; showimage(form3.number); end;;Key=VK_F1begin:=false;.HelpFile:='Help\Help.hlp';.HelpCommand(HELP_FINDER,0);;Key=VK_F2beginlockShowCursor(true)ShowCursor(false);:=not lock;;

  • 23039. Разработка программы сортировки данных на языке Turbo Pascal
    Компьютеры, программирование

    № п/пПонятиеОпределениеАлгоритм сортировкиэто алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в остальных полях хранятся какие-либо данные, никак не влияющие на работу алгоритма. Внешняя сортировкаоперирует с запоминающими устройствами большого объёма, но с доступом не произвольным, а последовательным (упорядочение файлов), т.е. в данный момент мы 'видим' только один элемент, а затраты на перемотку по сравнению с памятью неоправданно велики. Внутренняя сортировкаоперирует с массивами, целиком помещающимися в оперативной памяти с произвольным доступом к любой ячейке. Данные обычно упорядочиваются на том же месте, без дополнительных затрат. Времяосновной параметр, характеризующий быстродействие алгоритма. Называется также вычислительной сложностью. Для упорядочения важны худшее, среднее и лучшее поведение алгоритма в терминах мощности входного множества A. Гетерогенный массивмассив, в разные элементы которого могут быть непосредственно записаны значения, относящиеся к различным типам данных. Гипертекстпринцип организации информационных массивов, при котором отдельные информационные элементы связаны между собой ассоциативными отношениями, обеспечивающими быстрый поиск необходимой информации и/или просмотр взаимосвязанных данных. Динамический массивмассив, размер которого может меняться во время исполнения программы. Естественность поведенияэффективность метода при обработке уже упорядоченных, или частично упорядоченных данных. Алгоритм ведёт себя естественно, если учитывает эту характеристику входной последовательности и работает лучше. Индекс массивацелое число, либо значение типа, приводимого к целому, указывающее на конкретный элемент массива. Информационный массивсовокупность зафиксированной информации, предназначенная для хранения и использования и рассматриваемая как единое целое. Сортировка простыми обменами, сортировка пузырькомпростой алгоритм сортировки. Для понимания и реализации этот алгоритм - простейший, но эффективен он лишь для небольших массивов. Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает - массив отсортирован. Сортировка простыми обменами, сортировка пузырькомпростой алгоритм сортировки. Для понимания и реализации этот алгоритм - простейший, но эффективен он лишь для небольших массивов. Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает - массив отсортирован. Сортировка слияниемалгоритм сортировки, который упорядочивает списки (или другие структуры данных, доступ к элементам которых можно получать только последовательно, например - потоки) в определённом порядке. Сортировка Шеллаалгоритм сортировки, являющийся усовершенствованным вариантом сортировки вставками. Идея метода Шелла состоит в сравнении элементов, стоящих не только рядом, но и на определённом расстоянии друг от друга. Иными словами - это сортировка вставками с предварительными "грубыми" проходами. Топологическая сортировкаупорядочивание вершин бесконтурного ориентированного графа согласно частичному порядку, заданному ребрами орграфа на множестве его вершин.

  • 23040. Разработка программы тестирования
    Компьютеры, программирование

    =1%20theni:=1%20to%20tek_vopros%20do(ispol_voprosy[i]=nomer)%20or%20(nomer>schitano_voprosov)%20then%20goto%201;nomer:=trunc(schitano_voprosov)+1;_voprosy[tek_vopros]:=nomer;.vivod_poley_voprosa;:=1;i:=1%20to%20strok_v_voprose%20do//%20n%20301j:=1%20to%20Trunc(length(vse_voprosy[nomer].vopros[i])/bukv_stroke_voprosa)+1%20donot((i=1)%20and%20(j=1))%20then.Caption:=vopros.Caption+#13+copy(vse_voprosy[nomer].vopros[i],(j-1)*bukv_stroke_voprosa+1,bukv_stroke_voprosa).Caption:=vopros.Caption+copy(vse_voprosy[nomer].vopros[i],(j-1)*bukv_stroke_voprosa-1,bukv_stroke_voprosa);%20//%20k%20301.Text:='';;TForm1.CancelClick(Sender:%20TObject);;;TForm1.nachaloClick(Sender:%20TObject);.ShowModal;not(form2.vvedenie_imeni)%20then%20exit.name:=form2.name.Text;.familiya:=form2.Familiya.Text;.group:=form2.gruppa.Text;form1.proverka%20then%20close;;.Cursor:=crappstart;.chtenie_voprosov;.Cursor:=crdefault;_vopros:=1;.vivod_voprosa;.SetFocus;.Enabled:=true;;TForm1.OtvetgotovClick(Sender:%20TObject);i:integer;i:=1%20to%20max_otvetov-1%20do//n%20200otvet.Text=vse_voprosy[nomer].otvety[i]%20then//n%20201('%d0%9e%d1%82%d0%b2%d0%b5%d1%82%20%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9',mtconfirmation,[mbok],0);_na_voprosy[tek_vopros]:=true;_vopros:=tek_vopros+1;.SetFocus;tek_vopros=voprosov_v_teste+1%20then//n%20202('%d0%92%d1%8b%20%d0%b7%d0%b0%d0%ba%d0%be%d0%bd%d1%87%d0%b8%d0%bb%d0%b8%20%d1%82%d0%b5%d1%81%d1%82%20%d0%bf%d0%be%20%d0%bf%d1%80%d0%b5%d0%b4%d0%bc%d0%b5%d1%82%d1%83%20%d0%9e%d0%a1%20%d0%b2%d0%b0%d1%88%d0%b0%20%d0%be%d1%86%d0%b5%d0%bd%d0%ba%d0%b0%20'+inttostr(form1.resultat),mtconfirmation,[mbok],0);.resultat:=inttostr(form1.resultat);.zapis_v_data_base;;;%20//k%20202.vivod_voprosa;;;%20//%20k%20201;%20//%20k%20200not(otvety_na_voprosy[tek_vopros])%20then//n%20203('%d0%9e%d1%82%d0%b2%d0%b5%d1%82%20%d0%bd%d0%b5%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9',mtconfirmation,[mbok],0);_na_voprosy[tek_vopros]:=false;_vopros:=tek_vopros+1;tek_vopros=voprosov_v_teste+1%20then//n%20204('%d0%92%d1%8b%20%d0%b7%d0%b0%d0%ba%d0%be%d0%bd%d1%87%d0%b8%d0%bb%d0%b8%20%d1%82%d0%b5%d1%81%d1%82%20%d0%bf%d0%be%20%d0%bf%d1%80%d0%b5%d0%b4%d0%bc%d0%b5%d1%82%d1%83%20%d0%9e%d0%a1%20%d0%b2%d0%b0%d1%88%d0%b0%20%d0%be%d1%86%d0%b5%d0%bd%d0%ba%d0%b0%20'+inttostr(form1.resultat),mtconfirmation,[mbok],0);.resultat:=inttostr(form1.resultat);.zapis_v_data_base;;;%20//%20k%20204.vivod_voprosa;;%20//%20k%20203.SetFocus;;TForm1.FormCreate(Sender:%20TObject);i,j:integer;j:=1%20to%20max_voprosov%20doi:=1%20to%20strok_v_voprose%20do_voprosy[j].vopros[i]:='';;i:=1%20to%20voprosov_v_teste%20do_na_voprosy[i]:=false;_voprosy[i]:=0;;fileexists(put_k_parolu)%20then">:nomer:=trunc(random(schitano_voprosov))+1;tek_vopros>=1 theni:=1 to tek_vopros do(ispol_voprosy[i]=nomer) or (nomer>schitano_voprosov) then goto 1;nomer:=trunc(schitano_voprosov)+1;_voprosy[tek_vopros]:=nomer;.vivod_poley_voprosa;:=1;i:=1 to strok_v_voprose do// n 301j:=1 to Trunc(length(vse_voprosy[nomer].vopros[i])/bukv_stroke_voprosa)+1 donot((i=1) and (j=1)) then.Caption:=vopros.Caption+#13+copy(vse_voprosy[nomer].vopros[i],(j-1)*bukv_stroke_voprosa+1,bukv_stroke_voprosa).Caption:=vopros.Caption+copy(vse_voprosy[nomer].vopros[i],(j-1)*bukv_stroke_voprosa-1,bukv_stroke_voprosa); // k 301.Text:='';;TForm1.CancelClick(Sender: TObject);;;TForm1.nachaloClick(Sender: TObject);.ShowModal;not(form2.vvedenie_imeni) then exit.name:=form2.name.Text;.familiya:=form2.Familiya.Text;.group:=form2.gruppa.Text;form1.proverka then close;;.Cursor:=crappstart;.chtenie_voprosov;.Cursor:=crdefault;_vopros:=1;.vivod_voprosa;.SetFocus;.Enabled:=true;;TForm1.OtvetgotovClick(Sender: TObject);i:integer;i:=1 to max_otvetov-1 do//n 200otvet.Text=vse_voprosy[nomer].otvety[i] then//n 201('Ответ правильный',mtconfirmation,[mbok],0);_na_voprosy[tek_vopros]:=true;_vopros:=tek_vopros+1;.SetFocus;tek_vopros=voprosov_v_teste+1 then//n 202('Вы закончили тест по предмету ОС ваша оценка '+inttostr(form1.resultat),mtconfirmation,[mbok],0);.resultat:=inttostr(form1.resultat);.zapis_v_data_base;;; //k 202.vivod_voprosa;;; // k 201; // k 200not(otvety_na_voprosy[tek_vopros]) then//n 203('Ответ неправильный',mtconfirmation,[mbok],0);_na_voprosy[tek_vopros]:=false;_vopros:=tek_vopros+1;tek_vopros=voprosov_v_teste+1 then//n 204('Вы закончили тест по предмету ОС ваша оценка '+inttostr(form1.resultat),mtconfirmation,[mbok],0);.resultat:=inttostr(form1.resultat);.zapis_v_data_base;;; // k 204.vivod_voprosa;; // k 203.SetFocus;;TForm1.FormCreate(Sender: TObject);i,j:integer;j:=1 to max_voprosov doi:=1 to strok_v_voprose do_voprosy[j].vopros[i]:='';;i:=1 to voprosov_v_teste do_na_voprosy[i]:=false;_voprosy[i]:=0;;fileexists(put_k_parolu) then