Смекни!
smekni.com

Методические рекомендации для преподавателя Дисциплина «Проектирование информационных систем» (стр. 3 из 9)

Условие

Самостоятельно создать калькулятор с окном для картинки. При этом после подсчета результата в окне должна появляться одна картинка, если результат четное число, и другая картинка , если результат число нечетное. Написать комментарии к командам процедур и предъявить программу с комментариями преподавателю.

Внешний вид формы с кнопками может быть, например, такой.

Занятия 2

На выполнение занятий 2 отводится 4ч.

Тема: Создание учетной карточки для студенческого отдела кадров

Введение

Открыть Word и в свою папку для заданий по дисциплине записать задание и рабочий файл с проектом программы.

Задание 1

1. Разработать интерфейс и программу "Учетная карточка студента".

Учетная карточка должна содержать:

- Реквизит с буквой алфавита по фамилии студента (вверху слева)

- Заголовок - Учетная карточка студента – стиль 1 с выравниванием по центру

- Далее выравнивание по левому краю метки и рядом окна для ввода

- Фамилия

- Имя

- Отчество

- Год рождения

- Год поступления

- Группа

- Адрес

- Дата заполнения

- Одно поле для фотографий - паспортная фотография и художественная фотография.

- Две кнопки для вызова той или другой фотографии в указанное поле.

Сохранить форму в отдельной папке, вложенной в папку с именем группы.

2. Все свойства указанных позиций посмотреть в "инспекторе объектов" и переписать в таблицу, созданную в файле Word.

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

4. Каждому студенту заполнить все поля карточки ( в адресе номер дома и квартиры при желании можно указать вымышленные), включая фотографии (можно дополнить позже). Заполненную карточку сохранить под отдельным именем проекта (в отдельной папке).

Задание 2

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

2. Рассмотреть свойства опций AutoSize и Stretch, используемых для изменения формата изображений, и описать методику их использования в своем рабочем Word-файле.

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

4.

Подсказки

Для вызова той или иной фотографии или картинки, необходимо предварительно иметь их, например, в формате bmp в своей папке.

Для программирования кнопки Button1 необходимо два раза кликнуть на ней левой клавишей мыши. В результате активизируется окно текста программы с заготовкой процедуры Button1Click, которая будет обрабатывать событие клика на кнопке Button1:

procedure TForml.Button1Click(Sender: Tobject);

begin

end;

В заготовку необходимо вставить текст программы реакции на это событие. Процедура однократного переключения будет, например, иметь такой вид:

procedure TForml.ButtonlClick(Sender: TObject);

begin

Image1. Visible:= False; {Портретная фотография становится видимой)

Image2.Visible:= True; {Художественная фотография становится невидимой)

end;

С помощью данной процедуры свойство видимости для объекта Image1 включаем, а это же свойство для объекта Image2 выключаем.

Вариант многократного переключения можно организовать с помощью двух кнопок. Для второй кнопки действия будут противоположные.

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

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

Т.е. до задания свойств видимости рисунка, эти свойства проверяются и, в зависимости от их истинности или ложности, задаются противоположные значения.

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


Занятие 3. Контрольное

На выполнение занятия 3 отводится 4ч.

Задание

1. Разработать программу калькулятора. Для тех, кто не очень свободно читает листинг, рекомендуется сначала составить блок-схему алгоритма в соответствии с заданием и с учетом приведенного упрощенного листинга.

2. Снабдить программу необходимыми комментариями.

3. Подготовиться к ответам на вопросы, содержащиеся в листинге примера.

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

Листинг

unit calc_;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton; // 1. как это получается?

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

ButtonPlus: TButton;

ButtonMinus: TButton;

ButtonEnter: TButton;

ButtonC: TButton;

Button0: TButton;

ButtonZ: TButton;

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

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button0Click(Sender: TObject);

procedure ButtonZClick(Sender: TObject);

procedure ButtonCClick(Sender: TObject);

procedure ButtonPlusClick(Sender: TObject);

procedure ButtonMinusClick(Sender: TObject);

procedure ButtonEnterClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1; // 2. что это означает?

Implementation // 3. что это такое?

{$R *.dfm}

var

accum: real; // это что?

oper: integer; // это что?;

f: integer;

{ f = 0 признак ожидания ввода чего? f = 1 соответственно чего? }

procedure TForm1.Button0Click(Sender: TObject);

begin

if f = 0 //

then begin

Edit1.Text := '0'; // 4. что такое Edit1 и Edit1.Text (и точка)?

f := 1;

end

else

if Edit1.Text <> '0' // это позволяет не выводить 0 в начале числа, но

// 5. поясните как это делается?

then Edit1.Text := Edit1.Text + '0';

end;

procedure TForm1.Button1Click(Sender: TObject);

begin // 6. поясните, что делает эта процедура?

if f = 0

then begin

Edit1.Text := '1';

f := 1;

end

else Edit1.Text := Edit1.Text + '1'; // 7. что делает эта операция?

end;

procedure TForm1.Button2Click(Sender: TObject); // ?

begin

if (f = 0)

then begin

Edit1.Text := '2';

f := 1;

end

else Edit1.Text := Edit1.Text + '2';

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

if f = 0

then begin

Edit1.Text := '3';

f := 1;

end

else Edit1.Text := Edit1.Text + '3';

end;

procedure TForm1.Button4Click(Sender: TObject); // ?

begin

if f = 0 then

begin

Edit1.Text := '4';

f := 1;

end

else Edit1.Text := Edit1.Text + '4';

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

if (f = 0)

then begin

Edit1.Text := '5';

f := 1;

end

else Edit1.Text := Edit1.Text + '5';

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

if f = 0

then begin

Edit1.Text := '6';

f := 1;

end

else Edit1.Text := Edit1.Text + '6';

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

if f = 0

then begin

Edit1.Text := '7';

f := 1;

end

else Edit1.Text := Edit1.Text + '7';

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

if f = 0

then begin

Edit1.Text := '8';

f := 1;

end

else Edit1.Text := Edit1.Text + '8';

end;

procedure TForm1.Button9Click(Sender: TObject);

begin

if f = 0

then begin

Edit1.Text := '9';

f := 1;

end

else Edit1.Text := Edit1.Text + '9';

end;

procedure TForm1.ButtonZClick(Sender: TObject); // 8. что делает эта процедура?

begin

if Edit1.Text = '0' then

begin

Edit1.Text := '0,';

f := 1;

end;

if Pos(',',Edit1.Text) = 0 then // 9. что делает эта операция?

Edit1.Text := Edit1.Text + ',';

end;

procedure DoOper; // что делает процедура?

var

numb: real; //10. это число на индикаторе, поясните //что означает эта строка?

begin

// 11. accum что содержит?

// 12. oper – это что?

// 13 а где находится операнд?.

numb := StrToFloat(Form1.Edit1.Text);

case oper of

0: accum := numb;

1: accum := accum + numb;

2: accum := accum - numb;

end;

Form1.Edit1.Text := FloatToStr(accum); // 14. что делает эта операция?

end;

procedure TForm1.ButtonPlusClick(Sender: TObject); // что делает процедура?

{ Подсказка: надо выполнить предыдущую операцию, вывести результат на индикатор, запомнить текущую операцию и установить режим ожидания первой цифры нового числа}

begin

if f = 0

then oper := 1

else begin // Подсказка: на индикаторе есть число

DoOper; // 15. что делает эта операция?

oper :=1; // 16. что делает эта операция?

f:=0;

end;

end;

procedure TForm1.ButtonMinusClick(Sender: TObject); // что делает процедура?

begin

if f = 0

then oper := 2

else begin

DoOper; // 17. что делает эта операция?

oper :=2; // 18. что делает эта операция?

f:=0;

end;

end;

// кнопка "="

procedure TForm1.ButtonEnterClick(Sender: TObject); // 19. что делает эта процедура?

begin

if f = 0

then oper := 0

else begin

DoOper; // 20. это что?

oper :=0;

f:=0;

end;

end;

// 21 кнопка "с" - что делает?

procedure TForm1.ButtonCClick(Sender: TObject);

begin

Edit1.Text := '0';

accum := 0;

oper := 0;

f := 0;

end;

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

// 22. что делает эта процедура?

begin

Key := Chr(0);

end;

procedure TForm1.FormCreate(Sender: TObject); // 23. что делает эта процедура?

begin

oper := 0;

end;

end.

Рекомендация

Дать указание студентам по завершению упражнения в Word вставить табличку, поместить в нее ответы на все указанные вопросы и предъявить их преподавателю.

Занятия 4 .