Объект Свойство Значение Label1 Caption Моя первая программа



бет6/23
Дата25.09.2023
өлшемі1.52 Mb.
#478523
түріПрограмма
1   2   3   4   5   6   7   8   9   ...   23
Лабораторные

КОНТРОЛЬНЫЕ ЗАДАНИЯ


  1. Добавьте под таблицей диаграмму, иллюстрирующую получающийся график

  2. Добавьте поле со списком, где можно было бы выбрать вид вычисляемой функции

ЛИТЕРАТУРА

    1. Delphi 5: учебный курс, С. Бобровский, Питер 2002 г.

    2. Аладьев В.З., Хунт Ю.Я., Шишаков М.Л., Основы информатики. Учебное пособие, М., Филин, 1998, 496с.

    3. Информатика. Учебник под ред. Проф. Н.В. Макаровой, Финансы и статистика, 2001, 768с.

    4. Балафанов Е.К., Бурибаев Б., Даулеткулов А.. 30 уроков по информатике, Алматы, Джагамбек, 1999г, 442с (на русском и казахском языках)

    5. Фигурнов В.З. IBM PC для пользователя, 7 изд., Москва, ИНФРА, 1998, 328с.

    6. Каймин В.А., Питеркин В.М., Уртминцев А.Г. Информатика. Учебное пособие, 1998, 208с.

    7. Кенин А.М., Печенкин Н. Окно в мир компьютеров, Екатеринбург, Деловая книга, 1996

Лабораторная работа № 5


Основы программирования в Delphi
ЦЕЛЬ РАБОТЫ
Цель лабораторной работы – освоение студентами основных понятий программирования, интерфейса среды программирования методов управления свойствами компонент.
СОЗДАНИЕ ПРОСТЕЙШИХ ПРОГРАММ

  1. Откройте среду программирования Delphi

  2. Из палитры компонентов перетяните на форму кнопку BitBtn1

  3. В свойстве Caption задайте название кнопки – например Заполнение

  4. Дважды щёлкните по кнопке и введите следующий код после названия модуля:

var
i, j : Longint;
здесь описываются две переменные и им присваивается тип Longint

  1. После слова Begin введите следующий код:

BitBtn1.Enabled:=False;
with Canvas do
for i:=1 to Width do begin
Application.ProcessMessages;
for j:=1 to Height do
Pixels[i,j]:=i*j;
end;
BitBtn1.Enabled:=True;

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

  2. С охраните программу и запустите её командой Run/Run

  3. При нажатии на кнопку будет происходить заполнение формы рисунком

  4. Попробуйте менять код в подчёркнутой строчке, подставляя различные функции от I и j (i+j, i*i+j*j, и т.д.)

  5. Закройте созданное приложение и создайте новый проект

  6. Поместите на форму две кнопки, поле со списком, две полосы прокрутки вертикальную и горизонтальную, объект Shape1, объект ColorDialog1 и поле со списком как показано рядом

  7. Переименуйте кнопку Button1 в Цвет формы и дважды щёлкните по ней

  8. Введите после слова Begin следующий код:

if ColorDialog1.Execute then
Form1.Color := ColorDialog1.Color;

  1. Сохраните проект и запустите его. Щёлкните по первой кнопке и выберите цвет. Цвет формы изменится

  2. Вторую кнопку переименуйте в Цвет фигуры и поместите в неё такой код:

if ColorDialog1.Execute then
Shape1.Brush.Color := ColorDialog1.Color;

  1. Снова запустите программу и попробуйте изменять цвет фигуры

  2. Переключитесь на страничку “Events” в Инспекторе Объектов и создайте заготовки метода для отклика на событие OnChange для каждой полосы прокрутки. Напишите в каждом из методов по одной строчке следующим образом:

Shape1.Width := ScrollBar1.Position * 3;
и
Shape1.Height := ScrollBar2.Position * 2;

  1. Запустите программу и испробуйте в действии

  2. Выберите компонент ComboBox1 и щёлкните на кнопке с тремя точками напротив свойства Items и в открывшемся редакторе введите столбиком следующее:

StRectangle
StSquare
StRoundRect
StRoundSquare
StEllipse
StCircle

  1. Закройте редактор и дважды щёлкните по компоненту ComboBox1

  2. Введите следующую строчку кода:

Shape1.Shape := TShapeType(ComboBox1.ItemIndex);

  1. Запустите программу и испробуйте нововведения в работе

  2. Сохраните результат

  3. Поместите на форму новый компонент MineMenu1

  4. Дважды по нему щёлкните и введите название первого пункта: Цвета, второго пункта – Фигуры и третьего пункта – Выход

  5. В первом пункте введите подпункты Цвет формы, а во втором – Цвет фигуры

  6. Во втором пункте введите следующие подпункты: Прямоугольник, Квадрат, Закругленный прямоугольник, Закругленный квадрат, Эллипс, Окружность

  7. В третьем пункте не будет никаких подпунктов

  8. В подпунктах Цвет формы и Цвет фигуры наберите те же строчки кода, что и для соответствующих кнопок. После этого кнопки можно удалить

  9. Свойству Tag подпункта Прямоугольник назначьте значение 0, подпункту Квадрат – 1 и т.д.

  10. Для каждого подпункта введите следующую строчку кода:

Shape1.Shape := TShapeType((Sender as TMenuItem).Tag);

  1. Удалите из формы поле со списком и проверьте программу в работе

  2. В событии OnResize формы после названия модуля введите следующий код:

var
Menu,
Caption,
Frame: Integer;

  1. После слова begin введите:

Caption := GetSystemMetrics(sm_cyCaption);
Frame := GetSystemMetrics(sm_cxFrame) * 2;
Menu := GetSystemMetrics(sm_cyMenu);
Scrollbar1.Max := Width;
Scrollbar2.Max := Height;
Scrollbar2.Left := Width - Frame - Scrollbar2.Width;
Scrollbar2.Height := Height - Frame - Caption - Menu;
Scrollbar1.Top :=
Height - Scrollbar2.Width - Frame - Caption - Menu;
Scrollbar1.Width := Width - Scrollbar2.Width - Frame;

  1. В свойствах формы установите свойство Visible для вертикальной и горизонтальной полос прокрутки на false

  2. Запустите программу и попробуйте изменять размер окна

  3. Сохраните проект

ЛИТЕРАТУРА

    1. Delphi 5: учебный курс, С. Бобровский, Питер 2002 г.

    2. Аладьев В.З., Хунт Ю.Я., Шишаков М.Л., Основы информатики. Учебное пособие, М., Филин, 1998, 496с.

    3. Информатика. Учебник под ред. Проф. Н.В. Макаровой, Финансы и статистика, 2001, 768с.

    4. Балафанов Е.К., Бурибаев Б., Даулеткулов А.. 30 уроков по информатике, Алматы, Джагамбек, 1999г, 442с (на русском и казахском языках)

    5. Фигурнов В.З. IBM PC для пользователя, 7 изд., Москва, ИНФРА, 1998, 328с.

    6. Каймин В.А., Питеркин В.М., Уртминцев А.Г. Информатика. Учебное пособие, 1998, 208с.

    7. Кенин А.М., Печенкин Н. Окно в мир компьютеров, Екатеринбург, Деловая книга, 1996

Лабораторная работа № 6


Использование функций и процедур
ЦЕЛЬ РАБОТЫ
Цель лабораторной работы – освоение студентами основных понятий программирования, интерфейса среды программирования методов управления свойствами компонент.
ФУНКЦИИ И ПРОЦЕДУРЫ

  1. Откройте среду программирования Delphi

Построение графиков функций

  1. Д обавьте на форму следующие компоненты Chart, CheckListBox, RadioGroup, как на рисунке.

  2. В начале модуля опишите две функции:

function f1(x: real): real;
begin
Result:=sin(x);
end;
function f2(x: real): real;
begin
Result:=cos(x);
end;

  1. На создание формы пропишите следующий код:

procedure TForm1.FormCreate(Sender: TObject);
var i: integer; x: real;
begin
CheckListBox1.Checked[0]:=True;
CheckListBox1.Checked[1]:=True;
Series1.Clear;
Series2.Clear;
for i:=1 to 100 do
begin
x:=Pi*0.02*i;
Series1.AddXY(x,f1(x),'',clRed);
Series2.AddXY(x,f2(x),'',clGreen)
end;
end;

  1. Самостоятельно добавьте код, который выводит на экран график отмеченной на компоненте функции, обе функции одновременно или пустые оси

  2. Используя свойство диаграммы Chart1.View3D, добавьте код переключения графика из плоского в объёмный вид. Для определения какая из радиокнопок включена, используйте свойство RadioGroup1.ItemIndex

Фигуры Лиссажу


  1. Создайте показанную выше форму, и после директивы компилятору {$R *.dfm} опишите следующие переменные и константы:

Var
AX, AY : Integer; { Амплитуда }
FricX, FricY : Integer; { Частота }
FX, FY : Real; { Фаза }
Const
Step = 0.01; { Шаг прорисовки }
AxX = 300; AxY = 150; { Смещение по оси }

  1. Опишите следующую пользовательскую процедуру, обеспечивающую рисование графика:

Procedure Tform1.Draw;
Var J : Real;
X,Y : Integer;
Begin
Series1.Clear;
Label1.Caption:='"Эталонный" сигнал на входе X: '+IntToStr(AX)+' SIN('+IntToStr(FricX)+'f+'+IntToStr(Trunc(FX))+'*PI/12'+')';
Label2.Caption:='Исследуемый сигнал на входе Y: '+IntToStr(AY)+' SIN('+IntToStr(FricY)+'f+'+IntToStr(Trunc(FY))+'*PI/12'+')';
J:=0;
While J<=2*PI Do
Begin
X:=AxX+Trunc(AX*Sin(FricX*J+2*PI/12*FX));
Y:=AxY+Trunc(AY*Cos(FricY*J+2*PI/12*FY));
Series1.AddXY(X,Y,'',clGreen);
J:=J+Step;
End;
End;

  1. Для нормальной работы приложения необходимо добавить строчку procedure draw; в описание класса TForm1, после описания классов компонент.

  2. На создание формы запишите код,, который нарисует фигуру Лиссажу с начальными значениями переменных:

AX := 100; AY := 100; { Амплитуда }
FricX := 1; FricY := 1; { Частота }
FX := 0; FY := 0; { Фаза }
draw;

  1. Создайте обработчик события, отлавливающий нажатие определённых клавиш на клавиатуре OnKeyPress:

case Key of
'7': AY := AY + 10;
'8': If FY = 11 Then FY := 0 Else FY := FY+1;
'4': FricY := FricY+1;
'6': FricY := FricY-1;
'1': AY := AY - 10;
'2': If FY = 0 Then FY := 11 Else FY := FY-1;
end;
draw;


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   23




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет