Автор работы: Пользователь скрыл имя, 21 Января 2012 в 19:56, курсовая работа
Важной вехой в развитии программирования явилось создание и широкое распространение языка С++. Этот язык, сохранив средства ставшего общепризнанным стандартом для написания системных и прикладных программ языка С (процедурно-ориентированный язык), ввел в практику программирования возможности нового технологического подхода к разработке программного обеспечения, получившего название “объектно-ориентированное программирование”. Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ.
Введение 3
1 Постановка задачи 4
1.1 Анализ предметной области 4
1.2 Описание метода решения задачи 5
2 Описание программного обеспечения 8
2.1 Входные данные 8
2.2 Выходные данные 9
2.3 Требования к надёжности 10
2.4 Структурная диаграмма 10
2.5 Описание функций 11
3 Описание работы программного модуля 13
3.1 Руководство пользователя 13
3.2 Тестирование 14
Заключение 16
Список использованных источников 17
Приложение А 18
Содержание
Введение 3
1 Постановка задачи 4
1.1 Анализ предметной области 4
1.2 Описание метода решения задачи 5
2 Описание программного обеспечения 8
2.1 Входные данные 8
2.2 Выходные данные 9
2.3 Требования к надёжности 10
2.4 Структурная диаграмма 10
2.5 Описание функций 11
3 Описание работы программного модуля 13
3.1 Руководство пользователя 13
3.2 Тестирование 14
Заключение 16
Список использованных источников 17
Приложение А 18
Введение
Важной вехой в развитии программирования явилось создание и широкое распространение языка С++. Этот язык, сохранив средства ставшего общепризнанным стандартом для написания системных и прикладных программ языка С (процедурно-ориентированный язык), ввел в практику программирования возможности нового технологического подхода к разработке программного обеспечения, получившего название “объектно-ориентированное программирование”. Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ. Объектный подход информационного моделирования предметных областей все более успешно применяется в качестве основы для структуризации их информационных отражений.
С++ - это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества С++ обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование С++ в качестве инструментального языка позволяет получать быстрые и компактные программы.
Преимущества языка С++ становятся очевидными при реализации больших программных проектов. Первые же шаги при программировании на С++ требуют от студента тщательного проектирования программы, а также определенной дисциплины при программировании.
Основной
целью данной курсовой работы является
закрепление навыков
Положение
уровня Ферми является одной из основных
характеристик состояния
где Nc – плотность состояний в зоне проводимости;
Nv – плотность состояний в пограничной зоне;
Nd – плотность донорных состояний;
Ec –
энергия зоны проводимости;
Ev – энергия донорного
уровня;
Ed – энергия пограничной зоны;
T – абсолютная температура;
K – постоянная Больцмана.
Энергия Ферми Ef — максимальное значение энергии, которое может иметь электрон при температуре абсолютного нуля. Энергия Ферми совпадает со значениями химического потенциала газа фермионов при Т = 0 К, то есть уровень Ферми для электронов играет роль уровня химического потенциала для незаряженных частиц.
Таким образом, уровнем Ферми или энергией Ферми в металлах является энергия, которую может иметь электрон при температуре абсолютного нуля. При нагревании металла происходит возбуждение некоторых электронов, находящихся вблизи уровня Ферми (за счет тепловой энергии, величина которой порядка KT). Но при любой температуре для уровня с энергией, соответствующей уровню Ферми, вероятность заполнения равна 1/2. Все уровни, расположенные ниже уровня Ферми, с вероятностью больше 1/2 заполнены электронами, а все уровни, лежащие выше уровня Ферми, с вероятностью больше 1/2 свободны от электронов.
В полупроводниках при очень низких температурах уровень Ферми лежит посередине между дном зоны проводимости и потолком валентной зоны. (Для донорных полупроводников — полупроводников n-типа проводимости — уровень Ферми лежит посередине между дном зоны проводимости и донорным уровнем). С повышением температуры вероятность заполнения донорных состояний уменьшается, и уровень Ферми перемещается вниз. При высоких температурах полупроводник по свойствам близок к собственному, и уровень Ферми устремляется к середине запрещенной зоны. Аналогичные закономерности проявляются и полупроводниках р-типа проводимости.
Существование
энергии Ферми является следствием
принципа Паули. Величина энергии Ферми
существенно зависит от свойств
системы. Понятие об энергии Ферми
используется в физике твердого тела,
в ядерной физике, в астрофизике и т. д.
1.2
Описание метода решения задачи
В данной курсовой работе, в соответствии с выданным заданием, необходимо разработать программу, находящую значение уровня Ферми методом последовательных приближений или метод итераций.
Сущность
этого способа состоит в
Предположим, что уравнение f(x)=0 при помощи некоторых тождественных преобразований приведено к виду x= φ(x).
Заметим, что такое преобразование можно вести разными способами, и при этом будут получаться разные функции φ(x) в правой части уравнения. Уравнение эквивалентно уравнению x=x+λ(x)f(x) при любой функции λ(x) ≠ 0. Таким образом, можно взять φ(x)=x+λ(x)f(x) и при этом выбрать функцию (или постоянную) λ ≠ 0 так, чтобы функция φ(x) удовлетворяла тем свойствам, которые понадобятся нам для обеспечения нахождения корня уравнения.
Для нахождения корня уравнения x=φ(x) выберем какое-либо начальное приближение x0 (расположенное, по возможности, близко к корню x*). Далее будем вычислять последующие приближения
x1, x2, … , xi , xi+1, … ,
по формулам
x1= φ(x0); x2= φ(x1); … ; xi+1= φ(xi); … ,
то есть используя каждое вычисленное приближение к корню в качестве аргумента функции φ(x) в очередном вычислении пока не будет достигнута точность
|xi+1-xi| ≤ е ,
Такие вычисления по одной и той же формуле xi+1=φ(xi), когда полученное на предыдущем шаге значение используется на последующем шаге, называются итерациями. Итерациями называют часто и сами значения xi, полученные в этом процессе (то есть, в нашем случае, последовательные приближения к корню).
Также необходимо разработать
способ ввода исходных данных
с клавиатуры, либо из двоичного
файла по запросу пользователя.
Предусмотреть корректировку
Программный модуль необходимо разработать на языке программирования С++. Структура проекта – многофайловая. Выбор нужного действия должен осуществляться при помощи меню. Выход из программы также осуществляется при помощи меню.
2. Описание программного обеспечения
2.1
Входные данные
Входные данные программы, нахождения значений уровня Ферми методом последовательных приближений, приведены в Таблице 1.
Таблица 1 – Входные данные
Название | Обозначение | Диапазон возможных значений |
Пункт меню | por_nom | 1-10 |
Имя файла | file_name | Ограничений нет |
Начальное значение | s.Ef[0] | [h.na4[0]; h.kon[0]] |
Точность | s.epx[0] | Числовой |
Плотность состояний в зоне проводимости | h.Nc[0] | Числовой |
Плотность состояний в пограничной зоне | h.Nv[0] | Числовой |
Плотность донорных состояний | h.Nd[0] | Числовой |
Энергия зоны проводимости | h.Ec[0] | Числовой |
Энергия донорного уровня | h.Ev[0] | Числовой |
Энергия пограничной зоны | h.Ed[0] | Числовой |
KT | h.KT[0] | Числовой |
Начало диапазона | h.na4[0] | Числовой |
Конец диапазона | h.kon[0] | Числовой |
Требования к входным данным:
а)
Предусмотреть возможность
б)
При обнаружении ошибки выдать соответствующее
сообщение и повторить ввод.
2.2
Выходные данные
Выходные данные программы, нахождения значений уровня Ферми методом последовательных приближений, приведены в Таблице 2.
Таблица 2 – Выходные данные
|
|
|
Количество итераций | r | Число |
Начальное значение | x | Число |
Новое значение | s.Ef[0] | Число |
Точность | fabs(x- s.Ef[0]) | Число |
Плотность состояний в зоне проводимости | h.Nc[0] | Число |
Плотность состояний в пограничной зоне | h.Nv[0] | Число |
Плотность донорных состояний | h.Nd[0] | Число |
Энергия зоны проводимости | h.Ec[0] | Число |
Энергия донорного уровня | h.Ev[0] | Число |
Энергия пограничной зоны | h.Ed[0] | Число |
KT | h.KT[0] | Число |
Начало диапазона | h.na4[0] | Число |
Конец диапазона | h.kon[0] | Число |
Все
выходные данные выводятся на экран или
записываются в файл.