BigEdu.ru
» » » Програма яка зображає хід променя в оптичному прозорому середовищі
Вернуться назад

Програма яка зображає хід променя в оптичному прозорому середовищі

Анотація
1. Постановка задачі. – В даному розділі описуються можливі варіанти і перспективи використання моделювання фізичних процесів за допомогою комп'ютерного моделювання.
2. Математична модель. – Описуються вхідні дані програми, очікувані результати, математичні формули та фізичні процеси.
3. Описання алгоритму. – Приводиться повне словесне описання розробленого алгоритм вирішення задачі по крокам і під алгоритмам.
4. Описання програми. – Аналіз мов програмування. Описання стандартних функцій і процедур. Описання реалізації інтерфейсу користувача. Інструкції для користувача програми.
5. Висновок. – Які результати зробленої під час виконання курсового проекту роботи, що нового засвоєно.
Програма створена в середовищі програмування Turbo Pascal 7.0, яка працює під управлінням операційних систем DOS або сімейства Windows.

Вступ
Стратегія швидкого розвитку та підвищення темпів науково-технічного прогресу визначає в якості каталізуючої умови необхідність широкого впровадження та застосування ЕОМ в різних сферах науки, техніки та економіки. Широкий спектр сучасних заходів обчислювальної техніки від керуючих мікроЕОМ і ПЕОМ до великомасштабних інформаційно-обчислювальних сіток, необхідність їх ефективного використання для рішення науково-технічних, проектних і економічних задач пред‘являють високі вимоги грамотності.
Однією з таких мов програмування є TurboPascal.
Мова Pascal була створена швейцарським професором Ніклаусом Віртом наприкінці 60-х – на початку 70-х років і названа на честь видатного французького математика і філософа Блеза Паскаля. Спочатку ця мова була створена для вивчення програмування, однак завдяки великим можливостям структурного програмування вона стала широко застосовуватися в різних галузях: науці, техніці, економіці, інформаційних системах тощо. Pascal є першою серйозною мовою з якою знайомляться майбутні програмісти.
Під час введення програми та її редагування ви можете застосувати навички роботи в текстовому редакторі. Текст можна набирати в режимі вставки і заміни.
У Pascal програма повинна мати певну структуру. За заголовком іде розділ uses, у якому зазначаються бібліотечні модулі, що підключаються.
Наступними розділами програми на Pascal є описи міток, констант, типів даних та змінних. Якщо в програмі створені процедури і функції, то вони будуть наведені в розділі описів.
Виконуваною частиною програми є розділ операторів, який іде за розділом описів. У ньому виконуються дії над попередньо описаними змінними, константами, функціями. Саме в цьому розділі одержують результат, заради якого складалася програма.
Не всі названі розділи обов'язково мають бути присутніми у програмі. У простих програмах можуть бути лише заголовок, опис змінних і розділ операторів. Взагалі будь-який розділ, крім розділу операторів, може бути відсутнім у програмі.
Трансляція програми на Pascal здійснюється за допомогою компілятора, який входить до складу системи TurboPascal. У ході компіляції можуть виводитися повідомлення про помилки. Помилкою є будь-яке відхилення від синтаксису мови Pascal.

1. Постановка задачі
Темою моєї курсової роботи є «Оптичне прозоре середовище складається з n-анізотропних шарів з різними показниками переломлення. Промінь світла падає на верхній шар під кутом a. Зобразити хід променя в середовищі».
Мета курсової роботи полягає в тому, щоб за допомогою комп’ютерного моделювання зобразити кут заломлення променя в оптичному середовищі, яке складається з n-анізотропних шарів.
2. Математична модель
При проходженні світла через межу двох прозорих середовищ падаючий промінь розділяється на два: відбитий і заломлений. Напрям цих променів визначається законами відбиття і заломлення світла.
Закон заломлення формулюється наступним чином: переломлений промінь лежить в одній площині з падаючим променем і нормаллю відновлений в точці падіння. Відношення синуса кута падіння до синуса кута заломлення є величина постійна для даних величин:
Величина n12 називається відносним показником заломлення другої речовини до першої.
Використавши відношення закону переломлення можна надати вигляду:

З цієї формули видно, що при переході світла з більш щільного середовища в оптично менш щільну промінь віддаляється від нормалі до поверхні. Збільшення кута падіння і1 супроводжується більш швидким ростом кута падіння і2 і по досягненні кутом і1 значення:
І пред =arcsin n 12
Кут падіння стає рівним п\2.
Величина Іпред називається граничним кутом .
Список вхідних даних програми складається з: кількості поверхонь, кута падіння променя, коефіцієнта переломлення для кожного середовища.
Після вводу всіх даних програма починає вираховувати всі кути, і координати точок, через які проходить промінь.
Спочатку промінь падає з верхньої точки екрану з координатами (320,0) т.О1. Для знаходження кожної іксової координати точки Оn, використовується формула:
Xn=Xn-1 +∆X;

Де ∆X різниця в одиницях на осі Х між точками Оnі On-1.
∆X=50*cos(αn)/(sin(αn)+0.0000000001);
В останній формулі до sin(αn) додається число 0.0000000001, це робиться для того, щоб при вводі αn=90 уникнути ділення на нуль, так як число дуже маленьке воно не вплине на кінцевий результат. ∆Y=50;
Де ∆Y – різниця на осі Y між точками Оn і On-1, так як поверхності розміщені на однаковій відстані ∆Y= const.
Кожний наступний кут знаходиться за формулою:
αn = π/2 – arcsin (sin(π/2 – αn-1)*kn-1/kn)
Функція arcsin описана в вихідному тексті програми.
Таким чином необхідно побудувати ланцюжка ліній, для проведення кожної із них необхідно вирахувати координати точок, через які будуть вони проведенні.
Описання змінних
Найменування величини Ідентифікатор Тип Коментар
Кількість шарів n Integer Вхідний тип
Кут заломлення A[i] Real Вхідний тип
Показник переломлення A1 Real Вхідний тип
Ініціалізація графічного режиму Gd, gm Integer Вхідний тип
3. Описання алгоритму
Головна програма
Крок 0: Процедура вводу inp;
Крок 1: Процедура розрахунку даних raz4et;
Крок 2: Процедура ініціалізації графіки prepare;
Крок 3: Процедура виводушарів Lines;
Крок 4: Процедура виводукута Out;
Описання процедури inp:
Крок 0: Ввід кількостішарів;
Крок 1: Ввід кута паденняпроменя;
Крок 2: Цикл «for» iвід 1 до n:
Крок 3: Вводимо i-й коефіц. заломлення
Описання процедури raz4et:
Крок 0: Ініціюємо початкову точку випроміненняпроменя;
Крок 2: Переводимокут падіння з градусів в радіани;
Крок 3: Розраховуємо різницю координат по іксу;
Крок 4: Знаходимоіксову координату першої точки заломлення;
Крок 5: Задаемоігрикову координату першої точки заломлення
Крок 6: Цикл «for» i від 1 до n:
Крок 7: Розраховуємо кут заломлення;
Крок 8: Розраховуємо різницю координат по іксу;
Крок 9: Знаходимоіксову координату i-й точки заломлення;
Крок 10: Розраховуємоігрикову координату i-й точки заломлення;
Описання процедури Prepare:
Крок 0: Присвоюємо змінній «а» значенняпоточного відеорежиму;
Крок 1: Ініціюємо графіку в Паскале;
Описання процедури Lines:
Крок 0: Змінюємопоточний колір на червоний;
Крок 1: Цикл «for» iвід 1 до n:
Крок 2: Проводимо лінію (round (d*i), 0, round (d*i), getmaxy);
Описання процедури Out;
Крок 0: Цикл «for» i від 0 до n:
Крок 1: Змінюємопоточний колір на білий;
Крок 2: Проводимо промінь;
Крок 3: Переводимо розмір кутаіз радіанів в градуси для виводу;
Крок 4: Змінюємопоточний колір на світло-сірий;
Крок 5: Виводимо текст біля точки заломлення, де текст – розмір кута;
4. Описання програми
На даний момент ми знаємо дві мови програмування, це С і Pascal. Для вибору мови зрівнюємо його по наступним критеріям.
Простота мови програмування напряму залежить від кількості елементарних конструкцій. Зрозуміло, що програміст, який має справу з більш поширеними мовами програмування прагне вивчити лише її підмножину, часто не усвідомлюючи зниження ефективності власних програм через не оптимальне використання засобів мови. Простота мови напряму впливає на зрозумілість програми так як використання різних підмножин мов автором читачем еквівалентному частковій або повній незрозумілості. Другим фактором, який знижує простоту мови програмування є різноманітність властивостей, так як наявність деяких способів здійснення деякої дії. З цієї точки зору Pascal більш вигідний, ніж С, в якій програміст може додати одиницю чотирма різними способами:
count=count+1;
count+=1;
count++;
++count.
Третьою потенційною проблемою простоти є пере загрузка операторів, так як наявність у символу, який позначає оператор, декількох значень. Але для стандартів Pascal і ANSI C ця проблема не виникає.
Ортогональність мови програмування значить, що оператори, які керують і структури даних мови можна виразити за допомогою відносно невеликої кількості елементарних конструкцій, які користуються обмеженим числом доступів. Назва «ортогональність» виникла від математичного поняття ортогональних незалежних векторів. Ортогональність виникає із симетрії відношення між елементарними елементами.
Ортогональність тісно пов'язана з простотою, чим більш ортогональною є структура мови, тим менше винятків із правил. Менше виключень – це означає, що мова більш систематична, її легко вивчати і не треба йти на компроміси, сто «виключень із правил, підтверджує правило».
Мова С містить дві різновидності структур даних: масиви і записи, при цьому записи можуть повертатися функціями, а масиви ні. Членом структури може бути змінна будь-якого типу, за виключенням змінної типуvoid, і структури того же типу. При цьому елемент може мати бути будь-який тип, за виключенням типу void, і крім того вони не можуть бути функціями. Ще один приклад не ортогальності: параметри передаються по значенню, якщо вони не є масивами, оскільки ім'я масиву без індексу інтерпретується в програмах на мові С, як адреса першого елементу масиву. В контексті ортогональності мова Pascal безумовно більш послідовна.
Легкість створення програм характеризує зручність мови для створення програм в вибраній області. Характеристики легкості створення програм і читабельність мови часто співпадають, що пояснюється тим, що в процесі створення програми авторам часто доводиться звертатися до написаного коду.Тут як і при оцінці читабельності мови, порівняння потрібно проводити в контексті конкретної області застосування мови. Не секрет, що мова Pascal створювалася Віртом, як навчальна, а мова С спочатку проектувався для системного програмування. З іншої сторони мова С не зовсім зручна для початку вивчення програмування, що, як уже було сказано, викликано його неортогональністю, і як буде показано далі, нестрогістю типізації, що не сприяє появі гарного, стабільного стилю програмування при навчанні. Хоча при наявності досвідних викладачів останній пункт стає надто обґрунтованим.
Я вважаю, що саме мова Pascal більше підходить для виконання моєї курсової роботи, так як він більш простий і зрозуміліший, ніж С.
Підпрограма може бути розроблена для різних випадків використання. Перед викликом підпрограми за допомогою параметрів її надають конкуренту інформацію для виконання саме тих дій, які треба виконати.
Структура підпрограми повторяє структуру Pascal – програми. Інтерфейс її програми міститься в її заголовку. Описання локальних об'єктів і операторів підпрограми складають внутрішню його частину і мають синтаксис блоку.
Підпрограма в мові програмування Pascal розділяються на два види: функції і процедури. Хоча вони мають одне і те же значення і аналогічну структуру, процедури і функції розрізняються призначенням і способом їх використання. Процедури слугують для завдання сукупності дій, направлених на зміну зовнішньої по відношенні до них програмного стану. Суть функцій складається в першу чергу в тому, щоб визначити алгоритм вирахування нового значення деякого типу.
В заголовку підпрограми може бути вказаних список формальних параметрів. При визові підпрограми замість них вказують список фактичних параметрів. Між ними повинно виконуватися відповідність типів.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Курсовые работы по информатике Анотація 1. Постановка задачі. – В даному розділі описуються можливі варіанти і перспективи використання моделювання фізичних процесів за допомогою
Оценок: 346 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru