Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.students.chemport.ru/materials/pascal/p3.pas
Дата изменения: Thu Jan 15 18:04:42 2009
Дата индексирования: Mon Oct 1 21:05:14 2012
Кодировка: Windows-1251
{Программа по теме 3, задание 1.
Расчет с точностью eps=1е-6 при частоте 10, 100, 1000 1/см
статистической суммы по состояниям осциллятора и средней
энергии гармонического осциллятора. Расчеты оформляются в виде
таблицы значений при температуре от 100 до 2000 К с шагом 100
и при вводимой с клавиатуры частоте колебаний}
uses wincrt;
const
h=1.986e-16;
k=1.381e-16;
eps=1e-6;
var
tl,th:integer;
f,s,w,x,p,t,a:real;
begin
{Ввод частоты колебаний}
write('Частота колебания(см-1):');
read(w);
{tl - начальное значение температуры; th - конечное значение температуры}
tl:=100;Th:=2000;
writeln('Температура Сумма по состояниям Средняя энергия');
{Начало большого цикла - цикла по температуре}
while tl<=th {условие прекращения работы цикла} do
begin
s:=0;f:=0;x:=1;p:=0;t:=0;
{Начало малого цикла - цикла по частоте.
Здесь s-частота, f-статистическая сумма по состояниям,
x-слагаемое из статистической суммы, p-числитель выражения
для средней энергии гармонического колебания}
while x>=eps {условие прекращения работы цикла} do
begin
x:=exp((-1)*(s+0.5)*h*w/k/tl);
f:=f+x;
p:=p+(s+0.5)*w*x;
s:=s+1;
end;
{Конец малого цикла}
a:=p/f;{Здесь a-средняя энергия гармонического колебания}
writeln(tl:10,' ',f:9:4,' ',a:15);
tl:=tl+100;{Изменение значения температуры на 100 К}
end;
{Конец большого цикла}
end.