И. И. Мечникова лаборатория кафедра компьютерных методов экспериментальной экспериментальной физики физики компьютерный практикум

Вид материалаПрактикум

Содержание


В а р и а н т 1
В а р и а н т 2
В а р и а н т 3
В а р и а н т 4
В а р и а н т 5
В а р и а н т 6
Приложение Полный перечень процедур и функций стандартного модуля Graph
Подобный материал:
1   2   3   4   5

6. Задание



В соответствии с одним из предложенных ниже вариантов напишите программу построения графиков на экране компьютера. Предусмотрите построение рамки, оцифровку координатных осей и вывод пояснительных надписей. Если это необходимо, предварительно с помощью отдельной программы исследуйте отображаемые на графиках функции на экстремумы для определения цены деления на координатных осях.
^

В а р и а н т 1



Математический маятник совершает малые колебания с амплитудой µ §и частотой w над диском, вращающимся с угловой скоростью W. В этом случае кривая, описываемая концом маятника по поверхности диска, задается уравнениями


µ §


Постройте эту кривую для µ § если


µ §
^




В а р и а н т 2



Рассчитайте кривые распределения молекул газа по скоростям (распределение Максвелла)

µ §


для азота при температурах Т = 100 К, 200 К, ... 500 K в интервале изменения скорости v от 0 до 1000 м/c . Масса молекулы азота µ §, постоянная Больцмана µ §.
^

В а р и а н т 3



Колебания прямоугольной формы можно представить рядом Фурье вида


µ § .


Постройте кривую f(t), сохраняя в ряду только 3 первых члена. Кроме того, точками разных цветов изобразите графики каждого из трех слагаемых суммы. Расчеты проведите в интервале µ §.


^

В а р и а н т 4



Постройте графики функции Ферми


µ §


для температур 200 K, 500 K, 1000 K, 2000 K и 5000 К в области изменения энергии µ § мэВ.

Энергия Ферми F = 1000 мэВ.

Постоянная Больцмана µ §.


^

В а р и а н т 5



Рассчитайте кривые спектральной плотности лучистой энергии, испускаемой абсолютно черным телом, по формуле Планка


µ §


в диапазоне длин волн l от 50 до 1000 нм для значений температуры Т тела 6000 К, 7000 К, 8000 К, 9000 К и 10000 К. Постоянная Планка µ § скорость света µ § постоянная Больцмана µ §.


^

В а р и а н т 6



Рассчитайте радиальную плотность вероятности обнаружения электрона в атоме водорода в 3s, 3p и 3d состояниях по формулам


µ §


(Расстояние от ядра r выражено в первых боровских радиусах.)

Постройте графики рассчитанных зависимостей в области изменения аргумента µ § .


____________________________

^

Приложение

Полный перечень процедур и функций стандартного модуля Graph



Для более полного ознакомления с графической библотекой пользуйтесь встроенной справочной системой Turbo-Pascal.


Процедура Arc(X,Y : integer; StAngl, EndAngl, Radius : word) .

Вычерчивает дугу окружности радиуса Radius с центром в точке с координатами X,Y начиная с угла StAngl до угла EndAngl.


Процедура Bar(X1,Y1,X2,Y2 : integer) .

Штрихует (но не обводит) прямоугольник текущим цветом и образцом.


Процедура Bar3D(X1,Y1,X2,Y2 : integer; DEPTH : word; TOP : Boolean) .

Обводит и закрашивает трехмерный параллепипед.


Процедура Circle(X,Y : integer; Radius : word) .

Вычерчивает окружность радиуса Radius с координатами центра X и Y.


Процедура ClearDevice.

Очищает графический экран.


Процедура ClearViewPort.

Очищает графическое окно.

Процедура CloseGraph.

Закрывает графический режим экрана и переводит его в текстовый режим.


Процедура DetectGraph(var GraphDriver,GraphMode : integer) .

Возвращает текущий графический драйвер и его режим работы.


Процедура DrawPoly(NumPoints: word; var PolyPoints) .

Вычерчивает ломаную по заданным координатам.


Процедура

Ellipse(X,Y : integer; StAngle, EndAngle : word;XRadius, YRadius : word) .

Вычерчивает дугу эллипса.


Процедура FillEllipse(X,Y : integer; XRadius, YRadius : word) .

Обводит линией и штрихует эллипс.


Процедура FillPoly(NumPoints : word; var PolyPoints) .

Обводит линией и штрихует замкнутый многоугольник.


Процедура FloodFill(X,Y : integer; Border : word) .

Штрихует произвольную замкнутую фигуру.


Процедура GetArcCoords(var ArcCoords : ArcCoordsType) .

Возвращает координаты центра, начала и конца дуги.


Процедура GetAspectRatio( var Xasp, Yasp : word) .

Возвращает два числа, позволяющих оценить отношение сторон

графического экрана.


Функция GetBkColor : word .

Возвращает значение типа word, содержащее текущий цвет фона.


Функция GetColor : word .

Возвращает текущий цвет , установленный процедурой SetColor.


Процедура GetDefaultPalette ( var Pal : PaletteType) .

Возвращает структуру палитры, устанавливаемой по умолчанию.


Функция GetDriveName : string .

Возвращает имя загруженного графического драйвера.


Процедура GetFillPattern(var FillPattern : FillPatternType).

Возвращает образец закраски, установленный процедурой SetFillPattern.


Процедура GetFillSettings(var FillInfo : FillSettingsType).

Возвращает образец и цвет штриховки.


Функция GetGraphMode : integer .

Возвращает код установленного режима работы графического адаптера.


Процедура GetImage(x1,y1,x2,y2 : integer; var BitMap) .

Копирует в память часть графического экрана.

Процедура GetLineSettings(var LineInfo : LineSettingsType) .

Возвращает текущий стиль линий.


Функция GetMaxColor : word .

Возвращает максимальный доступный код цвета.


Функция GetMaxMode : integer .

Возвращает количество возможных режимов работы графического адаптера.


Функция GetMaxX : integer .

Возвращает максимальную горизонтальную координату экрана.


Функция GetMaxY : integer .

Возвращает максимальную вертикальную координату экрана.


Функция GetModeName(ModeNumder : word) : string .

Возвращает имя текущего режима работы графического адаптера.


Процедура

GetModeRange(GraphDriver : integer;var LoMode, HiMode : integer) .

Возвращает диапазон режимов работы заданного графического драйвера.


Процедура GetPalette(var Palette : PaletteType) .

Возвращает размер и цвета текущей палитры.


Функция GetPaletteSize : integer .

Возвращает размер текущей палитры.


Функция GetPixel(X, Y : integer) : word .

Возвращает цвет указанного пикселя.


Процедура GetTextSettings(var TextInfo : TextSettingsType) .

Возвращает текущий стиль и выравнивание текста.


Процедура GetViewSettings(var ViewPort : ViewPortType) .

Возвращает координаты и признак отсечки текущего графического окна.


Функция GetX : integer .

Возвращает горизонтальную координату графического указателя.


Функция GetY : integer .

Возвращает вертикальную координату графического указателя.


Процедура GraphDefaults .

Восстанавливает стандартные значения следующих параметров графического режима :графическое окно, палитра, цвет линий и цвет фона, стиль линий, стиль и цвет штриховки, активный шрифт, стиль и выравнивание текста. Перед обращением к процедуре необходимо установить графический режим работы экрана.


Функция GraphResult : integer .

Возвращает код ошибки для графического режима работы экрана.

Процедура Line(x1,y1,x2,y2 : integer) .

Вычерчивает линию между двумя произвольными точками.


Процедура LineRel(DX,DY : integer) .

Вычерчивает линию от текущего положения указателя к точке, заданной приращением координат.


Процедура LineTo(X,Y : integer) .

Вычерчивает линию от текущего положения указателя к нужной точке.


Процедура MoveRel(DX,DY : integer) .

Переводит графический указатель в точку,заданную приращением координат.


Процедура MoveTo(X,Y : integer) .

Переводит графический указатель в заданную точку.


Процедура OutText(TextString : string) .

Выводит текстовую строку на графический экран.


Процедура OutText(X,Y : integer; TextString : string) .

Выводит текстовую строку в заданное место графического экрана.


Процедура PieSlice(X,Y : integer; StAngle, EndAngle, Radius : word) .

Вычерчивает и штрихует сектор окружности.


Процедура PutImage(X, Y : integer; var BitMap, BitBit : word) .

Выводит на графический экран копию фрагмента изображения.


Процедура PutPixel(X, Y : integer; Color : word) .

Устанавливает новый цвет пикселя.


Процедура Rectangle(x1, y1, x2, y2 : integer) .

Вычерчивает прямоугольник.


Процедура RestoreCrtMode .

Осуществляет перевод экрана в текстовый режим.


Процедура Sector(X, Y : integer; StAngle, EndAngle, XRadius,YRadius : word).

Вычерчивает и штрихует сектор эллипса.


Процедура SetActivePage(Page : word) .

Устанавливает активную страницу графического экрана.


Процедура SetAllPalette(var Palette) .

Изменяет все цвета палитры.


Процедура SetAspectRatio(Xasp, Yasp : word) .

Изменяет масштабный коэффициент отношения сторон графического экрана.


Процедура SetBkColor(Color : word) .

Изменяет цвет фона графического экрана.


Процедура SetFillPattern(Pattern : FillPatternType; Color : word) .

Устанавливает произвольный образец штриховки.


Процедура SetFillStyle(Pattern, Color : word) .

Устанавливает образец и цвет штриховки.


Процедура SetGraphBufSize(Size : word) .

Изменяет размер внутреннего буфера, используемого в процедуре штриховки (заполнения) замкнутой фигуры. По умолчанию размер этого буфера составляет 4 Кбайта, что достаточно для штриховки многоугольника с 650 вершинами. Процедуру необходимо вызывать до инициации графического режима.


Процедура SetGraphMode(Mode : integer) .

Устанавливает новый режим работы графического адаптера.


Процедура SetLineStyle(LineStyle, Pattern, Thickness : word) .

Устанавливает стиль линий.


Процедура SetPalette(ColorNum : word; Color : shortint) .

Устанавливает один из цветов палитры.


Процедура SetRGBPalette(ColorNum, Red, Green, Blue : integer) .

Устанавливает цветовую гамму для дисплея VGA и IBM-8514.


Процедура SetTextJustify(Horiz, Wert : word) .

Осуществляет горизонтальное и вертикальное выравнивание текста.


Процедура SetTextStyle(Font,Direction, CharSize : word) .

Устанавливает стиль текста.


Процедура SetUserCharSize(MultX, DivX, MultY, DivY) .

Устанавливает пропорции выводимых символов.


Процедура SetViewPort(x1, y1, x2, y2 : integer; ClipOn : Boolean) .

Устанавливает графическое окно.


Процедура SetVisualPage(PageNo : word) .

Делает видимой нужную страницу графического экрана.


Процедура SetWriteMode(WriteMode : integer).

Устанавливает способ взаимодействия вычерчиваемых линий с уже существующим на экране изображением.


Функция TextHeight(Text : string) : word .

Возвращает максимальную высоту символов в пикселях.


Функция TextWidth(Text : string) : word .

Возвращает длину символьной строки в пикселях.


* * *





'