20 ноября 2019 года    
Среда | 19:20    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум







Разделы / Программирование / Basic

Модуль для расчета конфигурации электронной оболочки нейтрального атома

БИБЛИОТЕКА

Гайдар Магдануров

Модуль для расчета конфигурации электронной оболочки нейтрального атома

Вообще думаю, что это мало кому пригодится, но раз уж спросили как это сделать. Я нашел программу на QBasic и переделал ее под Visaul Basic.

Public Sub CalcOrb(nn As Integer,RetString as String)
Open "data.gcb" For Input As #1
If nn < 1 Or nn > 120 Then RetString = "Error calculating (element unknown)"
Sum = 0
k = 1
l = 10
GoSub sub1
GoSub sub2
If nn <= 48 Then GoTo sub0
k = 11
l = 20
GoSub sub1
GoSub sub2
sub0:
GoTo end_
sub1:
S1$ = Space$(1)
s2$ = Space$(0)
For i = k To l
Input #1, orb$
Input #1, n
Sum = Sum + n
If Sum > nn Then n = n + nn - Sum
n = Str(n)
a = Space(0)
If Right$(orb$, 1) = "s" Then a = Space$(1)
RetString = RetString + " " + orb$ + n + " "
If Sum > nn Then GoTo sub3
Next i
sub3:
Return
sub2:
Return
Close #1
end_:
End Sub

Текст файла data.gcb:

1s
2
2s
2
2p
6
3s
2
3p
6
4s
2
3d
10
4p
6
5s
2
4d
10
5p
6
6s
2
4f
14
5d
10
6p
6
7s
2
5f
14
6d
10
7p
6
8s
2

(орбиталь, а за ней максимальное кол-во электронов на ней).

Использование:

Dim MyResult as String

Call CalcOrb(NumberOfElement,MyResult)

msgbox MyResult

Гайдар Магдануров

 Модуль для расчета конфигурации электронной оболочки нейтрального атома
Лента новостей


2006 (c) Copyright Hardline.ru