И. И. Мечникова лаборатория кафедра компьютерных методов экспериментальной экспериментальной физики физики компьютерный практикум
Вид материала | Практикум |
СодержаниеВ а р и а н т 1 В а р и а н т 2 В а р и а н т 3 В а р и а н т 4 В а р и а н т 5 В а р и а н т 6 Приложение Полный перечень процедур и функций стандартного модуля Graph |
- И. И. Мечникова лаборатория кафедра компьютерных методов экспериментальной экспериментальной, 104.46kb.
- И. И. Мечникова лаборатория кафедра компьютерных методов экспериментальной экспериментальной, 180.75kb.
- Студент Кафедра «Теоретической и экспериментальной физики ядерных реакторов», 38.99kb.
- Аспирант Кафедра «Теоретической и экспериментальной физики ядерных реакторов», 37.79kb.
- Учебно-методический комплекс дисциплина «физика» Кафедра общей и экспериментальной, 611.05kb.
- Рабочая программа утверждаю: по курсу общей и экспериментальной физики (основы квантовой, 73.65kb.
- Ядерно-физические методы в решении проблем нефтяной отрасли и экологии Казахстана 01., 579.83kb.
- Отчет по исследованиям, проведенным в Лаборатории экспериментальной физики высоких, 1736.85kb.
- Аппаратная инфраструктура измерительных и управляющих систем плазменных установок ияф, 734.94kb.
- Российский государственный гидрометеорологический университет кафедра экспериментальной, 191.53kb.
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 .
Возвращает длину символьной строки в пикселях.
* * *
'