Упражнения
Атом Резерфорда-Бора. Для атома водорода найти радиус боровской орбиты по заданному номеру. Радиус выразить в метрах и пикометрах.
Требования к выполнению. Использовать целые и вещественные числа. На форме разместить следующие компоненты:
Пример.
procedure TForm1.Button1Click(Sender: TObject);
const
PI4 = 4*Pi;
EPS0 = 8.85e-12; // Электрическая постоянная (Ф/м)
PLANK = 1.05e-34; // Постоянная Планка (Дж*с)
ME = 9.11e-31; // Масса электрона (кг)
E = 1.6e-19; // Элементарный заряд (электрон, протон)
ZH = 1; // Атомный номер водорода
PIKO = 1e-12;
var
n : Byte;
r : Double;
begin
n := SpinEdit1.Value;
r := n*n*PI4*EPS0*PLANK*PLANK/(ME*ZH*E*E);
// Label3.Caption := FloatToStrF(r, ffFixed, 9, 3);
Label3.Caption := FloatToStr(r);
Label5.Caption := FloatToStrF(r/PIKO, ffFixed, 9, 3);
end;
Спектр водорода: серия Бальмера. Для атома водорода найти длины волн, соответствующие переходам из состояний En, En-1, En-2, в состояние E2.
Требования к выполнению. Использовать целые и вещественные числа. На форме разместить следующие компоненты:
Пример.
procedure TForm1.Button1Click(Sender: TObject);
const
PI2 = 2*Pi;
C = 3e8;
RIDBERG = 2.07e16;
M_BALMER = 2;
LEN = ' м';
var
n_max, n : Byte;
lambda : Double;
begin
ListBox1.Clear;
n_max := SpinEdit1.Value;
for n := M_BALMER + 1 to n_max do begin
lambda := PI2*C/(RIDBERG*(1/(M_BALMER*M_BALMER)-1/(n*n)));
ListBox1.Items.Add(FloatToStr(lambda)+LEN);
end;
end;
Квантовые числа. Известно, что если главное квантовое число принимает значения n = 1, 2, , то азимутальное квантовое число принимает значения l = 0, 1, , (n - 1), магнитное квантовое число принимает значения ml = 0, ±1, ±2, , ±l. По заданному главному квантовому числу выведите все соответствующие ему значения азимутального и магнитного квантовых чисел.
Требования к выполнению. Использовать целые числа. На форме разместить следующие компоненты:
Пример.
procedure TForm1.Button1Click(Sender: TObject); var n, l : Byte; begin Memo1.Clear; n := SpinEdit1.Value; for l := 0 to n - 1 do begin Memo1.Lines.Add(IntToStr(l)); end; end; procedure TForm1.Button2Click(Sender: TObject); var n, mlmax : Byte; ml : Integer; begin Memo2.Clear; n := SpinEdit1.Value; mlmax := n - 1; for ml := -mlmax to mlmax do begin Memo2.Lines.Add(IntToStr(ml)); end; end;
*Спектр водорода: серия Лаймана. Для атома водорода найти длины волн, соответствующие серии Лаймана.
**Спектр водорода. Для атома водорода найти длины волн, соответствующие сериям Лаймана, Бальмера, Пашена, Брэкета, Пфунда.
Требования к выполнению. Для каждой серии нужно отвести отдельный элемент Memo. Выводить длины волн только для тех серий, которые отмечены с помощью компонентов CheckBox.
Домашнее задание
Атом Резерфорда-Бора 2. Для атома водорода вывести радиусы боровских орбит в список ListBox. Количество орбит задается с помощью SpinEdit, вывод начинать с первой.
Требования. Радиусы округлить с точностью до сотых, используя FloatToStrF.
*Атом Резерфорда-Бора 3. Для атома водорода вывести значения энергии электрона, который находится на указанных боровских орбитах.
Требования. Номера орбит внести в компонент ListBox, а соответствующие энергии в компонент Memo.