Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум по_Delphi

.pdf
Скачиваний:
118
Добавлен:
27.05.2015
Размер:
2.09 Mб
Скачать

begin

b := StrToFloat (Edit2.Text); c := cos (b);

end; Edit3.Text := FloatToStr (c);

Добавить на форму кнопки для вычисления функций Tg(x), Log ab.

2.Создать программу, выполняющую перевод чисел из десятичной системы счисления в двоичную систему и обратно.

Рис. 43.

61

Практическая работа № 21 «Строковый калькулятор»

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

Рис. 44.

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

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

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

Фрагмент программы

procedure TForm1.Button2Click(Sender: TObject); begin

s:=Edit1.Text;

k:=StrToInt(Edit2.Text);

t:=StrToInt(Edit3.text);

Delete(s,k,t);

Edit10.Text:=s;

end;

procedure TForm1.Button3Click(Sender: TObject); begin

s:=Edit1.Text;

q:=StrToInt(Edit4.Text);

w:=Edit5.Text;

Insert(w,s,q);

edit11.Text:=s;

end;

procedure TForm1.Button4Click(Sender: TObject); begin

s:=Edit1.Text;

p:=StrToInt(Edit6.Text);

l:=StrToInt(Edit7.Text);

62

Copy(s,p,l);

s1:=copy(s,p,l);

Edit12.Text:=s1;

end;

procedure TForm1.Button5Click(Sender: TObject); begin

s:=Edit1.Text;

r:=Edit9.Text;

a:=Pos(r,s);

edit13.Text:=IntToStr(a);

end;

procedure TForm1.Button6Click(Sender: TObject); begin

s:=edit1.Text;

b:=Length(s);

edit14.Text:=IntToStr(b); end;

63

Практическая работа № 22 Нахождение индекса в массиве случайных чисел

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

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

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

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

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

 

 

 

Таблица 22.

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

Вкладка окна

Имя свойства/

Действие

Object Inspector

имя события

Form1

Properties

Caption

Установка имени формы «Новый

 

 

 

проект»

 

Events

OnCreate

Очистить значения свойств Text

 

 

 

текстовых полей

Button1

Properties

Caption

Введите название «Очистить»

 

Events

Onclick

Очистить значения свойств Text

 

 

 

текстовых полей

Button2

Properties

Caption

Введите название «Закрыть»

 

Events

Onclick

Обработка события закрытия

 

 

 

формы

Button3

Properties

Caption

Введите название «Найти первый

 

 

 

индекс»

 

Events

Onclick

Обработка события нахождения

 

 

 

индекса введенного числа

Button4

Properties

Caption

Введите название «Ввести

 

 

 

случайным образом»

 

Events

Onclick

Ввод массива случайным образом

Edit1

Properties

Caption

Очистить значение свойства Text

Edit2

Properties

Caption

Очистить значение свойства Text

Edit3

Properties

Caption

Очистить значение свойства Text

4.Введите переменные ik, k, i : integer; s : string; a : array [1..15] of integer.

5.Сохраните проект, запустите и протестируйте его.

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

procedure Tform1.FormCreate(Sender: Tobject); begin

Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end;

procedure Tform1.Button1Click(Sender: Tobject); begin

Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end;

procedure Tform1.Button2Click(Sender: Tobject); begin

close;

64

end;

procedure Tform1.Button3Click(Sender: Tobject); begin

k := StrToInt (Edit2.Text);

For i:= 1 to 15 do

if k = a[i] then ik := i;

if ik = 0 then Edit3.Text := ‘number ubsent’ else Edit3.Text := IntToStr (ik);

end;

procedure Tform1.Button4Click(Sender: Tobject); begin

randomize; s := ‘’;

For i := 1 to 15 do begin

a[i] := random (26);

s := concat (s, IntToStr (a[i]), #32); end;

Edit1.Text := s; end;

end.

Вид проекта по действиям:

Рис. 45.

65

Практическая работа № 23 Находение минимального и максимального числа в массиве

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

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

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

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

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

 

 

 

Таблица 23.

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

Вкладка окна

Имя свойства/

Действие

Object Inspector

имя события

Form1

Properties

Caption

Установка имени формы «Поиск»

 

Events

OnCreate

Очистить значения свойств Text

 

 

 

текстовых полей

Button1

Properties

Caption

Введите название «Очистить»

 

Events

Onclick

Очистить значения свойств Text

 

 

 

текстовых полей

Button2

Properties

Caption

Введите название «Закрыть»

 

Events

Onclick

Обработка события закрытия

 

 

 

формы

Button3

Properties

Caption

Введите название «Поиск»

 

 

 

 

 

Events

Onclick

Обработка события нахождения

 

 

 

минимального и максимального

 

 

 

чисел во введенном массиве

Edit1

Properties

Caption

Очистить значение свойства Text

Edit2

Properties

Caption

Очистить значение свойства Text

Edit3

Properties

Caption

Очистить значение свойства Text

4.Введите переменные

s, ss: string ; a: array [1..15] of integer; I, j, k, max, min, p, code : integer.

5.Сохраните проект, запустите и протестируйте его.

Листинг подпрограмм

procedure Tform1.FormCreate(Sender: Tobject); begin

Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end;

procedure Tform1.Button1Click(Sender: Tobject); begin

Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end;

procedure Tform1.Button2Click(Sender: Tobject); begin

close;

66

end;

procedure Tform1.Button3Click(Sender: Tobject); begin

s :=Edit1.Text;

s := concat (s, #32); i := 0;

while Length(s) > 0 do begin

i := i+1;

p := pos (#32,s);

ss := copy (s,1,p-1); Val (ss,k,code); a[i] := k; delete(s,1,p);

end;

max := a[1];

For j := 1 to i do

if max < a[j] then max := a[j]; min := a[1];

For j := 1 to i do

if min > a[j] then min := a[j]; Edit3.Text := IntToStr (max); Edit2.Text := IntToStr (min);

end;

Рис. 46.

67

Практическая работа № 24 «Текущее время и текущая дата»

Цель работы - создать программу, которая выводит текущее время и текущую дату.

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

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

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

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

 

 

 

Таблица 24.

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

Вкладка окна

Имя свойства/

Действие

Object Inspector

имя события

Form1

Properties

Caption

Установка имени формы «Таймер»

Button1

Properties

Caption

Введите название «Текущее время»

 

Events

Onclick

DateTime:=Time;

 

 

 

Edit1.Text:=TimeToStr(DateTime);

Button2

Properties

Caption

Введите название «Текущая дата»

 

 

 

 

 

Events

Onclick

Edit2.Text:=DateToStr(Date);

 

 

 

 

Edit1

Properties

Caption

Очистить значение свойства Text

Edit2

Properties

Caption

Очистить значение свойства Text

Рис. 47.

Листинг подпрограмм var

DateTime : TdateTime;

procedure Tform1.Button1Click(Sender: Tobject); begin

DateTime:=Time;

Edit1.Text:=TimeToStr(DateTime); end;

procedure Tform1.Button2Click(Sender: Tobject); begin

Edit2.Text:=DateToStr(Date); end;

end.

68

Практическая работа № 25 «Электронные часы»

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

Рис. 48.

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

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

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

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

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

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

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

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

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

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

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm) Timer1: TTimer;

Label1: TLabel; // время

Label2: TLabel; // дата и день недели procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure ShowTime;

private

{Private declarations } public

{Public declarations } end;

var

Form1: TForm1;

implementation

69

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.

70