
- •Вопросы ко 2 ступени Государственного экзамена
- •1.Программа «Параллелепипед»
- •2 Программа « Вклад»
- •3. Программа «Тест»
- •4. Программа «Текущее время и текущая дата»
- •5. Программа Бросок кубика.
- •6. Программа «Хамелеон».
- •7. Программа «Обычный калькулятор».
- •8. Программа «Хронометр»
- •9. Программа «Простейший плеер»
- •10. Программа «Вычисление процентов».
- •11. Программа «диалог» Постановка задачи
- •План разработки программы,
- •12. Программа "Двигающая кнопка"
- •13. Программа «Календарь»
- •14. Программа «банкомат»
- •15. Программа «Изменение заголовка формы»
- •16. Программа "Прыгающая кнопка"
- •17. Программа «Угадай число»
- •18. Программа «Падение с ускорением»
- •19. Программа «Альбом»
- •20. Программа «Головоломка».
- •21. Программа «Мячик, отскакивающий от границ окна»
- •22. Программа «справочник» Постановка задачи
- •План разработки программы,
- •23. Программа «ваш вес» Постановка задачи
- •План разработки программы
- •24. Программа «Убегающая кнопка»
- •25. Программам «Электронные часы».
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.