Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вопросы и ответы ГОС программ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.23 Mб
Скачать

23. Программа «ваш вес» Постановка задачи

Пусть оптимальный вес человека определяется как рост минус 100. Если фактический вес человека меньше оптимального, то будем считать его худым, если больше, то полным.

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

План разработки программы

1. Открыть новый проект.  2. Разместить в форме экземпляры компонентов в соответствии с рисунком . В Edit1 будем вводить вес в кг, а в Edit2 – рост в см. 3. Сохранить код программы и проект под именами, например, Unit5.pas и Pr5.dpr.

4. Ввести в раздел VAR переменные для сохранения значений:

фактического веса (faktW),  оптимального веса (optW),  роста (Rost)  разницы между оптимальным весом и фактическим (Delta).

В начале будем считать, что все данные у нас целые числа:

VAR factW, optW, Rost, Delta : integer; 

5. Создать процедуру, реагирующую на щелчок по кнопке Button1, и заполнить ее следующим кодом:

Выделенный объект

Вкладка окна Object Inspector

Имя свойства/ Имя события

Значение/Действие

Button1

Events

OnClick

factW := StrToInt(Edit1.text); Rost := StrToInt(Edit2.Text); OptW :=Rost - 100; Delta := abs(factW - OptW); if OptW = factW then  Label3.caption := 'Ваш вес идеален!' else  if OptW > factW then  Label3.caption := 'Вам надо поправиться на '+IntToStr(Delta)+' кг.'  else Label3.caption := 'Вам надо похудеть на '+IntToStr(Delta)+' кг.'

Пояснение Функция StrToInt преобразует строку в целое число, функция IntToStr выполняет обратное действие – целое число преобразует в строку.

24. Программа «Убегающая кнопка»

Программа создает кнопку на которую нельзя никак нажать. Расположите на форме компонент Button1: TButton с вкладки Standart и задайте в Инспекторе объектов (Object Inspector) его свойтсво Caption

Caption: Нажми меня

Теперь переключитесь на вкладку Events здесь же, напротив события OnMouseMove, в пустом поле сделайте двойной щелчок. Это автоматически создаст процедуру с именем Button1MouseMove. Впишите следующий код

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Button1.Top := Random(Form1.ClientHeight - Button1.Height);

Button1.Left := Random(Form1.ClientWidth - Button1.Width);

end;

Запустите программу Run

25. Программам «Электронные часы».

Цель работы - написать программу "Электронные часы", в окне которой отображается текущее время, дата и день недели.

Описание плана разработки программы

1. Открыть новый проект.

2. Разместить на форме экземпляры компонентов: Label, Timer.

3. Выполнить следующие действия:

3.1. Ввести константы, отвечающие за названия дней недели и месяцев.

3.2. Объявить процедуру ShowTime вручную для доступа к компонентам формы напрямую.

3.3. Процедура ShowTime отображает текущее время.

3.4. Процедура FormTime обрабатывает событие Paint.

3.5. Процедура TimerlTimer обрабатывает сигнал таймера.

3.6. Процедура FormCreate обрабатывает событие OnCreate.

Листинг программы:

Form1: TForm1;

implementation

const

stDay : array[1..7] of string[11] =

('воскресенье','понедельник','вторник', 'среда','четверг','пятница','суббота');

stMonth : array [1..12] of string[8] =

('января','февраля','марта', 'апреля','мая','июня','июля', 'августа','сентября','октября', 'ноября','декабря');

{$R *.dfm}

procedure TForm1.ShowTime; var Time : TDateTime; // текущее время begin

Time := Now(); // получить системное время Label1.Caption := FormatDateTime('hh:mm:ss',Time); end;

procedure TForm1.Timer1Timer(Sender: TObject); begin

ShowTime; // отобразить время end;

procedure TForm1.FormCreate(Sender: TObject); var

Present: TDateTime; // текущая дата и время Year, Month, Day : Word; // год, месяц и число, как // отдельные числа

begin

Present:= Now; // получить текущую дату DecodeDate(Present, Year, Month, Day); Label2.Caption := 'Сегодня '+IntToStr(Day)+ ' ' +

stMonth[Month] + ' '+ IntToStr(Year)+

' года, '+ stDay[DayOfWeek(Present)];

// настроить и запустить таймер

Timer1.Interval := 1000; // период сигналов таймера 1 с Timer1.Enabled := True; // пуск таймера end;

procedure TForm1.FormPaint(Sender: TObject); begin

ShowTime; // отобразить часы end;

end.