Тема5. Строки и файлы.
4В. Ввести фамилию, имя и отчество как одно данное строкового типа. Определить сколько букв «а» есть в фамилии.(для исходной информаций нужно создать файл input.txt и output.txt).
procedureTForm1.Button2Click(Sender: TObject);
begin
if opendialog1.Execute then
memo1.Lines.LoadFromFile(opendialog1.FileName);
end;
procedureTForm1.Button3Click(Sender: TObject);
begin
if savedialog1.execute then
memo1.Lines.SaveToFile(savedialog1.filename+'.txt');
end;
procedureTForm1.Button1Click(Sender: TObject);
var n,i,k:integer;s:string;
begin
assignfile(f1,'input.txt');
assignfile(f2,'output.txt');
reset(f1);
read(f1,s);
rewrite(f2);да
k:=0;
for i:=1 to length(s) do
begin нет
if ((s[i]='а') or (s[i]='А')) then
k:=k+1;
end;
writeln(f2,k);
memo2.lines.add(inttostr(k));
closefile(f1);
closefile(f2);
end;
end.
// 1) – i:=1,length(s),1
// 2) – if ((s[i]='а') or (s[i]='А'))
9С. Составить программу, удаляющую в файле текст после первой точки. (для исходной информаций нужно создать файлinput.txtиoutput.txt).
procedureTForm1.Button1Click(Sender: TObject);
var i,c:integer;s:string;
begin
assignfile(f1,'input.txt');
assignfile(f2,'output.txt');
reset(f1);
read(f1,s);
rewrite(f2);
for i:=1 to length(s) do
begin
if (s[i]='.') then
delete(s,i,c);
c:=length(s)-i;
end;
writeln(f2,s);
memo2.Lines.add(s);
closefile(f1);да
closefile(f2);
end;
procedureTForm1.Button2Click(Sender: TObject);
beginнет
if opendialog1.Execute then
memo1.Lines.LoadFromFile(opendialog1.FileName);
end;
procedureTForm1.Button3Click(Sender: TObject);
begin
if savedialog1.execute then
memo1.Lines.SaveToFile(savedialog1.filename+'.txt');
end;
end.
//1) – i:=1,length(s),1
//2) – if (s[i]='.')
Тема6. Графика
4В.Нарисовать 100 линий, расходящихся в разные места, начиная с центра экрана.
procedureTForm1.Button1Click(Sender: TObject);
var
i:integer;
x,y:real;
begin
for i:= 1 to 100 do // 1)
begin
x:=Image1.Width div 2+(Image1.Width div 2)*sin(i/2);//2)
y:=Image1.Height div 2+(Image1.Height div 2)*cos(i/2);//3)
with Image1.Canvas do
begin
MoveTo(Image1.Width div 2, Image1.Height div 2); //4)
LineTo(round(x),round(y)); // 5)
end;
end;
end;
end.
9С. Создать титульный лист и построить график кубической параболы.
functionf(x:real):real;
begin
f:=x*x*x;
end;
procedureTForm1.Button1Click(Sender: TObject);
var
x1, x2, y1, y2, x, y, dx, mx, my : real;
l, b, w, h, x0, y0: integer;
begin
l := 10;
b := Form1.image1.ClientHeight - 20;
h := Form1.image1.ClientHeight - 40;
w:=Form1.image1.Width- 40;
x1 := 0;
x2 := 5;
dx := 0.01;
y1 := f(x1);
y2 := f(x1);
x := x1;
repeat
y := f(x);
if y < y1 then y1 := y; //2)
if y > y2 then y2 := y;//3)
x := x + dx;
until (x >= x2); //1)
my := h / abs(y2 - y1);
mx := w / abs(x2 - x1);
x0 := l;
y0 := b - Abs(Round(y1 * my));
with form1.Canvas do
begin
MoveTo(l, b); LineTo(l, b - h);
MoveTo(x0, y0); LineTo(x0 + w, y0);
x := x1;
repeat
y := f(x);
Pixels[x0 + Round(x * mx), y0 – Round(y * my)] := clRed;
x := x + dx;
until (x >= x2);//4)
end;
end;
procedureTForm1.formresize(Sender: TObject);
begin
form1.image1.Canvas.FillRect(Rect
(0, 0, ClientWidth, ClientHeight));
end;
end.
end;
end;
end.
Выводы:
Мы научились создавать программы на Delphi, интерфейс программ, изучили разные алгоритмы необходимые для решения разных типов задач. Ознакомились с такими элементами как: button, edit, memo, stringgrid, label, opendialog, savedialog. А так же ознакомились с их свойствами такими как: caption, text, lines. Научились блокировать кнопки, путем создания onkeypress, и использовать showmessage. Останавливать программу(halt), переходить с формы на форму( form(номер).show), очищать memo( memo(номер memo).clear). Так же мы научились пользоваться таким
графическим элементом Delphi как canvas.
Список используемой литературы:
1.Культин Н.Б. Delphiв задачах и примерах. – СПб.: БВХ - Петербург, 2004.-299 с.:ил.
2. Симонович С., Ессеев Г., Алексеев А. Общая информатика. – М.: АСИ-ПРЕСС; Инфорком Пресс, 1998,592 с.
3.Хомоненко А.Д. Самоучитель Delphi.-2-е изд., перераб. и доп./А.Д. Хомоненко, В.Э. Гофман. – СПб.БХВ-Петербург, 2008.-576с.:ис. +CD-ROM
4. Поисковая система Google