Гневко С.В., Крылов Г.Г., Шапочкина И.В.
Лекции.ИНФО


Гневко С.В., Крылов Г.Г., Шапочкина И.В.



 

 

Рецензенты

канд физ.-мат. Н.Н. Дорожкин

канд физ.-мат. А.И. Слободянюк

 

 

    Программирование в системе Delphi : Методические указания к лабораторным работам для студентов физического факультета / Авторы : Гневко С.В., Крылов Г.Г., Шапочкина И.В.. – Мн. : БГУ, 2005. – 47 с.

 

 

Приведены заготовки проектов для выполнения лабораторных работ по курсу «Программирование и математическое моделирование: Программирование в системе Delphi», указаны связанные с выполнением лаботарорных работ необходимые компоненты, приведены индивидуальные задания по лабораторным работам.

.

Предназначено для студентов 1 курса всех специальностей физического факуль­тета.

 

 

© БГУ, 2005

Введение

Курс программирования и математического модели­рования для студентов, обучающихся по специальности физика должен включать обучение с исполь­зова­нием современных технологий программи­рования для современных операционных систем. В этой связи выбор в качестве языка программирования – языка Object Pascal и инстру­ментальной системы быстрой разработки приложений Delphi является оптимальным, так как она строится на интуитивно понятном интер­фейсе, сочетает всю полноту использования библиотек стандартных ком­понентов системы Microsoft Windows с возможностью визуальных средств быстрой разработки прило­жений.

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

Возможность изучения документации при подготовке к работе обеспечивается при этом имеющимися в электронном виде двумя учебниками по языку Object Pascal и среде разработки Dephi (в дальнейшем мы будем ссылаться на них как на Уч. Д1, Уч. Д2), которые размещаются на каждом рабочем месте.

Каждая рассмотренная лабораторная работа пред­ставлена следующим образом:

· цель работы;

· перечень основных компонент, необходимых для выпол­нения работы;

· пример разработки приложения с минимальной функцио­нальностью;

· примерный перечень заданий для выполнения студентами.

 

Задания для разработки различаются по уровню сложности, что позволяет преподавателю дифферен­ци­рованно подойти к обучению каждого студента.

 


ЛАБОРАТОРНАЯ РАБОТА Л-2.1

 

Работа в интегрированной среде разработки Delphi.
Приложение с простым меню и реакцией на клавиатуру

и мышь.

Основной целью первой лабораторной работы является изучение возможностей работы в среде разработки, получение навыков работы с массивами, свойствами объектов, написание кода обработки стандарт­ных событий.

 

Материал Уч. Д1, необходимый для написания работы, -

LES01.htm – LES03.htm, LES07.htm,LES10.htm

 

Перечень основных компонент, необходимых для выполнения работы

TFORM, TCANVAS, MessageDlg

 

Пример разработки приложения с минимальной функциональностью

 

Ниже приведена программа, обладающая следующей функциональ­ностью.

Имеется меню, содержащее пункты – Выход и О программе, нажатие на любую клавишу выдает сообшение «Клавиша=>», нажатие на клавишу мыши выдает сообщение – «правая/левая (x,y)»

 

unit L2_1; {Основной модуль работы № 1 }

Interface

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus;

Type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

public

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure FormKeyPress(Sender: TObject; var Key: Char);

end;{class}

 

Var

Form1: TForm1;

Implementation

{$R *.dfm}

 

{Реакция на событие – пункт меню «Выход»}

procedure TForm1.N1Click(Sender: TObject);

begin

Close;

end;

 

{Реакция на событие – пункт меню «О программе»}

procedure TForm1.N2Click(Sender: TObject);

begin

MessageDlg('Мини Лаб №1', mtInformation, [mbOk], 0);

end; {Proc}

 

{Реакция на событие – мышь}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

case Button of

mbLeft: begin

Canvas.TextOut(X, Y, 'Левая('+IntToStr(X)+','+ IntToStr(Y)+')');

end;

mbRight:begin

Canvas.TextOut(X, Y, 'Правая('+IntToStr(X)+','+ IntToStr(Y)+')');

end;

end;

end; {proc}

 

{Реакция на событие – клавиатура}

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

var

st: string;

begin

st:='Клавиша=> '+Key; MessageDlg(st, mtInformation, [mbOk], 0);

end; {Proc}

end.{Unit}

Примерный перечень заданий для выполнения

 

1. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Определить номера точек с минимальной / максимальной коорди­натами по X и по Y. Начало работы алгоритма - по нажатию правой кнопки мыши, результат выдать в окно диалога.

2. На форму поместить N точек (каждая точка помещается на форму по нажатию левой / правой кнопок мыши и имеет номер 1..N). Оп­ре­делить номера точек с минимальной / максимальной коорди­на­та­ми по X и по Y. Задачу решить отдельно для групп точек, созданных по левой и по правой кнопке мыши. Начало работы алгоритма - по нажатию определенной клавиши на клавиатуре.

3. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Упорядочить точки по возрастанию / убыванию координаты X. Начало работы алгоритма - по нажатию правой кнопки мыши, результат выдать в окно функцией TextOut.

4. На форму поместить N точек (каждая точка помещается на форму по нажатию правой кнопки мыши и имеет номер 1..N). Упоря­дочить точки по возрастанию / убыванию координаты Y. Начало работы алгоритма - по нажатию левой кнопки мыши, результат выдать, написав номер в позициях (x,y) каждой точки.

5. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Вычислить расстояния всех точек до точки, помещенной на форму первой. Начало работы алгоритма - по нажатию правой кнопки мыши, результат выдать в окно диалога.

6. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Вычислить расстояния всех точек до точки, помещенной на форму последней по нажатию правой кнопки мыши. Начало работы алгоритма - по нажатию определенной клавиши на клавиатуре, результат выдать в окно диалога.

7. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Найти точку, максимально удаленную от точки, первой помещенной на форму по нажатию правой кнопки мыши. Начало работы алгоритма - по нажатию определенной клавиши на клавиатуре, результат выдать в окно функцией TextOut.

8. На форму поместить N точек (каждая точка помещается на форму по нажатию правой кнопки мыши и имеет номер 1..N). Найти точку, минимально удаленную от точки, последней помещенной на форму по нажатию левой кнопки мыши. Начало работы алгоритма - по нажатию определенной клавиши на клавиатуре, результат выдать в окно диалога.

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

10. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Вычислить расстояния между всеми парами точек с нечетными номерами. Начало работы алгоритма - по нажатию правой кнопки мыши, результат подписать функцией TextOut в серединах отрезка, соеди­няющих пары точек.

11. На форму поместить N точек (каждая точка помещается на форму по нажатию левой / правой кнопок мыши и имеет номер 1..N). Вычислить сумму расстояний между всеми парами точек с четными номерами. Задачу решить отдельно для групп точек, созданных по левой и по правой кнопке мыши. Начало работы алгоритма - по нажатию определенной клавиши на клавиатуре, результат выдать функцией TextOut в середине окна.

12. На форму поместить N точек (каждая точка помещается на форму по нажатию правой кнопки мыши и имеет номер 1..N). Упорядочить точки по возрастанию / убыванию расстояния до точки, заданной последним нажатием левой кнопки мыши. Начало работы алгоритма - по нажатию определенной клавиши на клавиатуре, результат выдать функцией TextOut, подписав номера каждой точки.

13. На форму поместить 2 точки нажатием левой кнопки мыши. Определить координаты точки, лежащей в середине отрезка, соединяющего данные точки. Вычислить расстояние от найденной точки до правого нижнего угла формы и до точек, заданных нажатием правой кнопки мыши. Начало работы алгоритма - по нажатию определенной клавиши на клавиатуре, результат выдается в окне диалога.

14. * На форму поместить N точек (каждая точка помещается на форму по нажатию правой кнопки мыши и имеет номер 1..N). Определить порядок соединения точек незамкнутой непересекаю­щейся ломанной. Начало работы алгоритма - по нажатию левой кнопки мыши. Точки подписать их номерами, порядок соединения выдать парами номеров точек у правой границы окна.

15. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Определить порядок соединения точек замкнутой ломанной, проводимой в порядке возрастания координат (x,y) . Начало работы алгоритма - по нажатию правой кнопки мыши. Точки подписать их номерами, порядок соединения выдать парами номеров точек у правой границы окна.

16. На форму поместить N точек (каждая точка помещается на форму по нажатию левой кнопки мыши и имеет номер 1..N). Вычислить сумму расстояний от точки с номером (N div 2) до всех остальных. Результат выдать в диалог.


ЛАБОРАТОРНАЯ РАБОТА Л-2.2

 

Пользовательские типы данных, ввод и вывод.

 

Основной целью второй лабораторной работы является изучение базовых структурных типов данных – строк, записей, массивов и их использование, а также элементарные приемы ввода-вывода данных в Delphi.

 

Материал Уч. Д1, необходимый для написания работы,









Читайте также:

  1. А.В. Наговицын, И.В. Фролова
  2. Внутриполитическая борьба за власть и установление режима личной власти И.В. Сталина
  3. Запись беседы фон Риббентропа с И.В. Сталиным и В.М. Молотовым
  4. Из статьи И.В. Сталина «Год великого перелома». 7 ноября 1929 г.
  5. Интервью И.В. Сталина газете «Правда»
  6. Кругликова Г.Г., Линкер Г.Р.
  7. Крылонебный контрфорс образован бугром верхней челюсти и крыловидным отростком клиновидной кости. Воспринимает жевательное давление от моляров и передает на основании черепа.
  8. Мышечные признаки: возникает при смещении нижней челюсти вправо и характеризуется тем, что в состоянии сокращения находится левая латеральная крыловидная мышца.
  9. Политическая борьба 20-х – 30-х годов. Формирование культа личности И.В. Сталина
  10. Послание И.В. Сталина Франклину Д. Рузвельту (11 июня 1943 г.)
  11. Послание И.В. Сталина Франклину Д. Рузвельту (7 апреля 1945 г.)


Последнее изменение этой страницы: 2016-03-17; Просмотров: 121;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная