- •Введение
- •Контрольная работа №1, 2
- •1.1. Задания к выполнению контрольной работы
- •1.2. Требования к выполнению заданий:
- •1.3. Обеспечение дисциплины методическими материалами
- •1.4. Для каждого задания 3. 1. – 3. 11. Выполнить:
- •2. Методические указания к выполнению заданий. Теория и практика
- •2.1. Практические основы работы в иср Delphi.
- •2. 2. 1. Класс
- •2. 2. Основы Объектно-ориентированного проектирования и программирования. Теория и практика
- •2. 2. 2. Конструирование проекта
- •Окно формы
- •Страница Additional
- •2.2.3. Базовые понятия программирования в Delphi
- •Проект и его состав
- •Состав модуля:
- •2. 2. 4. Структура программ
- •2. 2. 5. Правила оформления приложений и программ:
- •2. 2. 6. Элементы программы
- •Состав компонентов:
- •Приложение 1.
- •Inc( CurrentSpeed,15); //Увеличиваем скорость
Inc( CurrentSpeed,15); //Увеличиваем скорость
end;
Label1.caption:=Label1.caption+
'Вы превысили максимально допустимую скорость !';
end;
end.
Задание 3. 4. Код модуля проекта «Суммирование элементов главной диагонали матрицы в таблице»
procedure TForm1.FormCreate(Sender: TObject);
var i:byte;
begin
Brush.Style:=bsSolid;
Brush.Style:=bsDiagCross;
Brush.Color:=cllime;
for i:=0 to StringGrid1.ColCount-1 do
begin
StringGrid1.ColWidths[i]:=30;
StringGrid1.Cells[0,i]:=IntToStr(i);
StringGrid1.Cells[i,0]:=IntToStr(i);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var sum,i,j:byte;
begin
sum:=0;
for i:=1 to StringGrid1.ColCount-1 do
for j:=1 to StringGrid1.ColCount-1 do begin
if i=j then sum:=sum+
StrToInt(StringGrid1.Cells[i,j])
*SpinEdit1.value;
end;
Label1.Caption:=''+'Сумма элементов главной диагонали =';
SpinEdit2.Value:=sum;
end;
end.
Задание 3. 5. Код модуля проекта «Реализация товаров на примере работы с таблицами»
procedure TForm1.FormCreate(Sender: TObject);
var i:byte;
begin
for i:=1 to 4 do
begin
StringGrid1.ColWidths[i]:=40;
StringGrid1.Cells[i,0]:=inttostr(i);
StringGrid1.Cells[0,i]:='Tovar'+inttostr(i);
end;
StringGrid1.Cells[0,5]:='SumKol';
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var SumKol,i,j,f:Integer;
begin
for j:=1 to 4 do begin
SumKol:=0;
for i:=1 to 4 do begin
SumKol:= SumKol+strToInt(StringGrid1.Cells[j,i]);
StringGrid1.Cells[j,5]:=IntToStr(SumKol);
end;
end;
for i:=1 to 4 do begin
f:=StrToInt(StringGrid1.Cells[i,5]);
series1.AddXY(i,f,'',clred);
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
form1.Hide;
end;
end.
Задание 3. 6. Код модуля проекта «Графическое отображение данных»
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
With Series1 do
begin
Add(500,'Noutbook1',clRed);
Add(1000,'Noutbook2',clRed);
Add(1500,'Noutbook3',clRed);
Add(700,'Noutbook4',clRed);
Add(1800,'Noutbook5',clRed);
end;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
With Series2 do
begin
Add(19500,'Noutbook1',clRed);
Add(39000,'Noutbook2',clLime);
Add(21900,'Noutbook3',clGreen);
Add(37600,'Noutbook4',clBlack);
Add(41000,'Noutbook5',clOlive);
end;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
var
i:byte;
begin
Series4.Clear;
Series5.Clear;
for i:=0 to 100 do begin
Series4.AddXY(0.02*Pi*i,sin(0.02*Pi*i),'',clRed);
Series5.AddXY(0.02*Pi*i,Cos(0.02*Pi*i),'',clGreen);
end;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
With Series3 do
begin
Add(500,'Noutbook1',clRed);
Add(1000,'Noutbook2',clRed);
Add(1500,'Noutbook3',clRed);
Add(700,'Noutbook4',clRed);
Add(1800,'Noutbook5',clRed);
end;
end;
end.Задание 3. 7. Код модуля проекта «Сортировка массива из случайных величин»
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form1.Hide
end;
procedure TForm1.Button1Click(Sender: TObject);
Var mas1:array of integer;
K,i,j,kk:integer;
begin
panel1.Caption:='';
panel2.Caption:='';
K:=TrackBar1.Position; //установка движка трека
SetLength(mas1,K) ; //динамический массив
{ввод массива}
For i:=0 to k-1 do
begin
mas1[i]:=random(50); //заполнение массива случайными числам
panel1.Caption:=panel1.Caption+' '+inttostr(mas1[i]);
end;
{сортировка}
For j:=0 to k-1 do begin
kk:=0;
For i:=0 to k-1 do begin
if mas1[j]<mas1[i] then
begin
kk:=mas1[i];
mas1[i]:=mas1[j];
mas1[j]:=kk;
end;
end;
end;
// вывод отсортированного массива в панели
For i:=0 to k-1 do
panel2.Caption:=panel2.Caption+' '+inttostr(mas1[i]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Brush.Style:=bsSolid;
Brush.Style:=bsCross;
Brush.Color:=clRed;
Label1.Caption:=IntToStr(TrackBar1.Position);
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Label1.Caption:=IntToStr(TrackBar1.Position);
end;
end.
Задание 3. 8. Текст кода модуля проекта «Перевод чисел из 2 –ой системы счисления в 10 – ю и наоборот»
procedure TForm1.okClick(Sender: TObject);
begin
If Edit1.Text<>'' then
case RadioGroup1.ItemIndex of
0:if Test2
then Rewer2_10
else ShowMessage('Это не двоичное число');
1: if Test10
then Rewer10_2
else ShowMessage('Это не десятичое число');
end
else ShowMessage('Пустая строка');
end;
//
function TForm1.Test2:Boolean;
var
i:byte;
ok:Boolean;
s:string;
begin
s:=Edit1.Text; ok:=True;i:=0;
while (i<length(s)) and ok do begin
i:=i+1; ok:=s[i] in ['0','1'];
end;
test2:=ok;
end;
function TForm1.Test10:Boolean;
var
i:byte;
ok:Boolean;
s:string;
begin
s:=Edit1.Text; ok:=True;i:=0;
while (i<length(s)) and ok do begin
i:=i+1; ok:=s[i] in ['0'..'9'];
end;
test10:=ok;
end;
Procedure TForm1.Rewer10_2;
var i:byte;
l:integer;
s:string;
begin
l:=StrToInt(Edit1.Text);s:='';
While l <>0 do begin
s:=IntToStr(l mod 2)+s;l:=l div 2;
end;
label1.caption:=s;
end;
Procedure TForm1.Rewer2_10;
var i:byte;
l:integer;
s:string;
begin
s:=Edit1.Text; l:=0;
for i:=1 to length(s) do l:=2*l+ ord(s[i])-ord('0');
//
label1.caption:=IntToStr(l);
end;
end.
Задание 3. 9. Текст кода модуля проекта «Вычисление среднего арифметического массива»
procedure TForm1.FormCreate(Sender: TObject);
begin
Brush.Style:=bsCross;
Brush.Color:=cllime;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
j,i:byte;
ms:array[1..25] of Double;
begin
LstBox.Clear;
LstBx2.Clear;
j:=0;
for i:=1 to 25 do
ms[i]:=0;
for i:=1 to 25 do begin
LstBox.Items.Add(FloatToStrF(random*50,ffFixed,4,2));
end;
repeat
LstBox.Selected[j]:=true;
If LstBox.Items[j]<>'' then begin
LstBx2.Items.Add(LstBox.Items[j]);
Inc(j,3);end;
until j>25;
for i:=1 to LstBx2.Count-1 do
ms[i]:= StrToFloat(LstBx2.Items[i]);
Edit1.Text:=FloatToStr(Mean(ms));
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
Задание 3. 10. Код модуля проекта «Работа с текстовым файлом в режиме Opendialog»
procedure TForm1.Button1Click(Sender: TObject);
var
S:string;
f:TextFile;
FileName:string[15];
begin
// Настраиваем диалог на отбор текстовых файлов
OpenDialog1.Filter:='Текстовые файлы(*.txt)' +
'Файлы Паскаля(*.pas)';
//выполняем диалог и анализируем результат
if OpenDialog1.Execute and
FileExists(OpenDialog1.FileName)then
begin
//Если результат успешный- выбран нужный файл
// открываем найденный файл
AssignFile(F,OpenDialog1.FileName);
reset(F);
memo1.Lines.Clear;
While not EOF(F) do
begin
Readln(F,S);
//заполняем memo1
memo1.Lines.Add(S);
end;
CloseFile(F);
End
else
ShowMessage('not file');
end;
end.
Приложение 3. Сообщение об ошибках
В результате компиляции могут быть сделаны замечания(), предупреждения() и сообщения об ошибках, см. ниже - Пример сообщений об ошибках.
Сообщения компилятора располагаются в окне, расположенном ниже окна редактора кода.
Различают три разновидности сообщений: ошибки, подсказки, предупреждения.
Без устранения ошибки дальнейшая сборка проекта невозможна.
Подсказка подразумевает предложения компилятора по оптимизации кода.
Предупреждения не влияют на ход сборки проекта, но дают знать, что могут встретиться проблемы при выполнении программы. В нижеследующем примере приведены сообщения компилятора о 5 - ти ошибках, связанных с:
Отсутствием символа «:» .
Несоответствием типов.
В откомпилированной программе могут также появляться сообщения, возникающие по причине вводимых данных, отсутствии файла, на который есть ссылка и т. д.:
Ошибки выполнения программы, например, деление на 0.
Логические(получен неверный результат).
Пример сообщений об ошибках.
Так выглядит кодовая часть проекта с декларацией ошибок.

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
|
№№ п.п. |
Автор |
НАИМЕНОВАНИЕ |
Год издания |
|
1 |
Тюкачев Н., Михайлова Е. |
Программирование в DELPHI для начинающих. |
БХВ Петербург,2007г. |
|
2 |
Тюкачев Н., Михайлова Е. |
Основы программирования в DELPHI. Учебное пособие. |
Воронеж. ВГУ, 2004, 283с. |
|
3 |
Поган А. |
Мастер – Класс. Delphi. Руководство программиста |
Москва. Изд - во «ЭКСМО»,2006г. |
|
4 |
Тюкачев Н., Свиридов Ю. |
Delphi 5. Создание мультимедийных приложений. |
СПб., Москва, Минск. 2001г. |
|
5 |
Фаронов В. |
Delphi. Программирование на языке высокого уровня. |
М:Питер, 2003,639с. |
|
6 |
Хватова Ф., Ермина М. |
Методические материалы (электронная форма) |
2011- 2012г |
