Автор: Пользователь скрыл имя, 01 Апреля 2013 в 13:51, контрольная работа
Семантика - правила и условия, определяющие соотношения между элементами языка и их смысловыми значениями, а также интерпретацию содержательного значения синтаксических конструкций языка. Объекты языка программирования не только размещаются в тексте в соответствии с некоторой иерархией, но и дополнительно связаны между собой посредством других понятий, образующих разнообразные ассоциации. Например, переменная, для которой синтаксис определяет допустимое местоположение только в описаниях и некоторых операторах, обладает определенным типом, может использоваться с ограниченным множеством операций, имеет адрес, размер и должна быть описана до того, как будет использоваться в программе.
F: TextFile;
begin
AssignFile(F, ExtractFilePath(Application.
Rewrite(F);
with GridTermin do
begin
writeln(F,RowCount);
writeln(F,ColCount);
for i:=1 to RowCount-1 do
for j:=1 to ColCount-1 do
begin
writeln(F,GridTermin.Cells[j,
end;
end;
CloseFile(F);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if SaveDialog1.Execute then
Memo2.Lines.SaveToFile(
end;
procedure TForm1.GetWorlds(s:integer);
var sttmp,stl,stword:string;
oldI,i,j:integer;
FLAG:BOOLEAN;
begin
ListBox1.Clear;
begin
FLAG:=FALSE;
stTmp:=Memo1.Lines[s];
oldI:=1;
for i:=1 to length(sttmp) do
begin
for j:=0 to high(Liksem) do
if sttmp[i]=Liksem[j][1] then
begin
if (sttmp[i]=':') and (i<>length(sttmp)) and (sttmp[i+1]='=') then
begin
stl:=sttmp[i]+sttmp[i+1];
stword:=copy(sttmp,oldI,i-
oldI:=i+2;
end else
begin
stl:=sttmp[i];
stword:=copy(sttmp,oldI,i-oldI
oldI:=i+1;
end;
IF (stword<>'') and (stword<>' ') THEN ListBox1.Items.Add(stword);
IF (stl<>'') and (stl<>' ') THEN ListBox1.Items.Add(stl);
FLAG:=TRUE;
break;
end;
end;
IF NOT FLAG THEN
ListBox1.Items.Add(sttmp);
end;
end;
procedure TForm1.Button10Click(Sender: TObject);
var i,s:integer;
begin
VARFLAG:=FALSE;
Memo2.Clear;
LitGrid.CleanupInstance;
SimGrid.CleanupInstance;
for i:=0 to LitGrid.RowCount-1 do
LitGrid.Rows[i].Clear;
for i:=0 to SimGrid.RowCount-1 do
SimGrid.Rows[i].Clear;
LitGrid.RowCount:=2;
SimGrid.RowCount:=2;
for s:=0 to Memo1.Lines.Count-1 do
begin
GetWorlds(s);
Memo2.Lines.Add('');
for i:=0 to ListBox1.Count-1 do
Memo2.Lines[s]:=Memo2.Lines[s]
end;
end;
end.