Курсовая работа: Преломление света на границе раздела двух сред
n1 – вещественное, хранит показатель преломления второй среды.
alpha – вещественное, хранит угол падения луча в градусах.
Результаты:
alpha1 – вещественное, хранит угол преломления луча.
Промежуточные данные:
radalpha – вещественное, хранит угол падения в радианах.
radalpha1 – вещественное, хранит угол преломления в радианах.
4.2. Описание процедур и функций
|
|
|
|
|
|
|
Рис.4.1. Схема взаимосвязей процедур и функций
Функции:
ReCalc (n: real; n1: real; alpha: real): real – возвращает угол преломления. n, n1 – показатели преломления, alpha – угол падения.
Menu(number: Integer): Integer – реализует работу с меню, возвращает выбранный пункт. number – предыдущий выбранный пункт меню.
ChangeN(flag: integer): real – возвращает новое значение показателя преломления. Если flag равен 1 – задается для первой среды, если 2 – для второй.
ChangeAl(n: real; n1: real; alpha: real): real – возвращает новое значение угла падения. n, n1 – показатели преломления, alpha – угол падения.
arcsin (x: real): real – возвращает арксинус аргумента x.
Процедуры:
MainCycle() – выполняет основной цикл программы.
GraphMode() – выполняет инициализацию графического режима.
Paint(n: real; n1: real; alpha: real) – отображает график, демонстрирующий преломление луча. n, n1 – показатели преломления, alpha – угол падения.
Recv() – выполняет вывод на экран реквизитов пользователя. Реквизиты хранятся в файле recv. txt.
SaveData(n: real; n1: real; alpha: real) – выполняет запись результатов в файл result. txt. n, n1 – показатели преломления, alpha – угол падения.