Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Гневко С.В., Крылов Г.Г., Шапочкина И.В.
Рецензенты канд физ.-мат. Н.Н. Дорожкин канд физ.-мат. А.И. Слободянюк
Приведены заготовки проектов для выполнения лабораторных работ по курсу «Программирование и математическое моделирование: Программирование в системе 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, необходимый для написания работы, Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1397; Нарушение авторского права страницы