Математическое моделирование физических задач на ЭВМ
Приложение
I. Рисунки с видами экрана при работе с программой 20
Рисунок №1. Общий вид экрана 20
Рисунок №2. Меню – Файл . 21
Рисунок №3. Открытие файла, сохраненного на диске 22
Рисунок №4. Вид экрана с изображением схемы 23
Рисунок №5. Вывод результата вычисления токов в ветвях схемы . 24
Рисунок №6. Просмотр направления токов в ветвях схемы . 25
Рисунок №7. Вид экрана при сохранении схемы в файл 26
Рисунок №8. Меню – Окно . 27
Рисунок №9. Окно помощи выводимое на экран при нажатии клавиши F1 . 29
II. Листинг программы на языке Паскаль 30
1. Основная программа 30
2. Модуль с библиотекой элементов 36
3. Модуль вычисления токов ветвей . 48
I. Рисунки с видами экрана при работе с программой
Рисунок №1. Общий вид экрана.
Меню
Меню элементов
Рабочее поле
Указатель мыши
Строка статуса
Индекатор свободной памяти Рисунок №2. Меню – Файл.
Меню – Файл
Рисунок №3. Открытие файла, сохраненного на диске.
Открытие файла со схемой
Рисунок №4. Вид экрана с изображением схемы.
Изображение схемы
Расчет схемы
Рисунок №5. Вывод результата вычисления токов в ветвях схемы.
Результаты вычислений
Токи
Резисторы Рисунок №6. Просмотр направления токов в ветвях схемы.
Значения токов
Направления токов
Рисунок №7. Вид экрана при сохранении схемы в файл.
Сохранение схемы
Рисунок №8. Меню – Окно.
Работа с окнами
Рисунок №9. Вид экрана при закрытии всех окон.
Указатель мыши
Меню
Строка статуса
Информация о свободной памяти Рисунок №10. Окно помощи выводимое на экран при нажатии клавиши F1.
Закрытие окна
Окно с помощью программы
Горизонтальный скролинг
Вертикальный скролинг
II. Листинг программы на языке Паскаль.
1. Основная программа
Program UzPotenc; {Метод узловых потенциалов}
{$F+,O+,X+,V-,R-,I-,S-}
Uses
Crt, Applic1, Objects, Drivers, Dialogs, Views, Menus, App, StdDlg,
Fonts, HelpFile, MsgBox, TxtRead, WInDows, PalObj, Grv16, DemoHlp,
Types2;
Type TNewApp=Object(TMyApp)
Procedure ReCounte; Virtual;
End;
Var MyApp:TNewApp;
Type
PMyCollection=^TMyCollection;
TMyCollection=Object(TCollection)
Procedure FreeItem(Item:poInter); Virtual;
End;
Procedure CurView; {Просмотр значений токов}
Var R,R1:TRect;
D:PDialog;
L:PListBox;
C:PMyCollection;
Sb:PScrollBar;
i:Integer;
s:String;
Begin
Sb:=Nil;
MyApp.ShemeWInDow^.GeTextentWIn(R);
R.B.X:=R.A.X+(R.B.X-R.A.X) Div 4;
D:=New(PDialog,Init(R,'Значения токов'));
D^.GeTextentWIn(R);
Inc(R.A.Y,CurrentFont^.Height*2);
R1.Copy(R);
R1.A.X:=R1.B.X-CurrentFont^.Width*2;
If RCount>(R.B.Y-R.A.Y) Div CurrentFont^.Height
Then
Begin
Sb:=D^.StAndardScrollBar(sbVertical+sbHAndleKeyBoard);