На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Программа нахождения значение уровня Ферми методом последовательных приближений или метод итераций

Информация:

Тип работы: курсовая работа. Добавлен: 20.10.2012. Сдан: 2012. Страниц: 18. Уникальность по antiplagiat.ru: < 30%

Описание (план):


    Содержание
Введение            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 

 

    Введение 

    Важной  вехой в развитии программирования явилось создание и широкое распространение  языка С++. Этот язык, сохранив средства ставшего общепризнанным стандартом для написания системных и прикладных программ языка С (процедурно-ориентированный язык), ввел в практику программирования возможности нового технологического подхода к разработке программного обеспечения, получившего название “объектно-ориентированное программирование”. Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ. Объектный подход информационного моделирования предметных областей все более успешно применяется в качестве основы для структуризации их информационных отражений.
    С++ - это язык программирования общего назначения, хорошо известный своей  эффективностью, экономичностью, и  переносимостью. Указанные преимущества С++ обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование С++ в качестве инструментального языка позволяет получать быстрые и компактные программы.
    Преимущества  языка С++ становятся очевидными при  реализации больших программных  проектов. Первые же шаги при программировании на С++ требуют от студента тщательного проектирования программы, а также определенной дисциплины при программировании.
    Основной  целью данной курсовой работы является закрепление навыков программирования в С++ при решении определенной задачи.
 

    Постановка задачи
      Анализ предметной области
 
    Положение уровня Ферми является одной из основных характеристик состояния электронов (электронного газа) в твердом теле. В квантовой теории вероятность  заполнения энергетических состояний  электронами, в нашем случае определяется функцией: 

      
                                                                            (1) 
 

    где 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, полученные в этом процессе (то есть, в нашем случае, последовательные приближения к корню).
      Также необходимо разработать  способ ввода исходных данных  с клавиатуры, либо из двоичного  файла по запросу пользователя. Предусмотреть корректировку отдельных  исходных данных. Предусмотреть  вывод результатов на экран, либо в текстовый файл по запросу пользователя, а также постройка графика по конечным данным в Microsoft Office Excel 2007.
    Программный модуль необходимо разработать на языке  программирования С++. Структура проекта – многофайловая. Выбор нужного действия должен осуществляться при помощи меню. Выход из программы также осуществляется при помощи меню.
 

    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] Число
 
    Все выходные данные выводятся на экран или записываются в файл. 
 

    2.3 Требование к надежности 

    Требование  к надежности программы, нахождения значений уровня Ферми методом последовательных приближений, приведены в Таблице 3.
    Таблица 3 – Требование к надежности
    Причина возникновения  ошибки
Реакция программы Метод её исправления
Ввод  не существующего пункта меню Выдаётся  сообщение, повторяется запрос Заново  ввести данные
Не  введены начальные значения
Исходные  данные находятся вне допустимого  диапазона 
Ввод  не существующего имени файла
 
 
    2.4 Структурная диаграмма 

    На  рисунке 1 представлена структурная  диаграмма программного модуля.
    
    
      

      

    Рисунок 1 - Структурная диаграмма программного модуля. 

    Вся программа делится на два уровня.
    Функция main – это основная функция, из которой вызываются все остальные. Функция main выдает на экран меню программы и возвращает номер выбранного пользователем пункта меню.
    Функция excel осуществляет подключение к Microsoft Office Excel 2007.
    Функция struct хранит сртуктуру программы.
    Функция klav осуществляет ввод исходных данных как с клавиатуры.
    Функция file осуществляет ввод исходных данных из бинарного файла.
    Функция zapic_ich осуществляет сохранение исходных данныx в файл.
    Функция rechenie осуществляет вывод данных на экран.
    Функция file_vuvod осуществляет вывод данных в бинарный файл.
    Функция graf строит график в Microsoft Office Excel 2007.
    Функция formyla_red позволяет изменить данные формулы и сохранить в файл formyla.
    Функция formyla_pros позволяет просмотреть данные формулы.
    Функций formyla_zag загружает данные формулы из файла formyla.
    Функуия restart очищает экран.
    Функция zast используется для вывода на экран заставки. 

    2.5 Описание функций  

    Директива #include подключает стандартный заголовочный файл.
    Ключевое слово int описывает локальные переменные целочисленного типа.
    Ключевое  слово char описывает локальные переменные символьного типа.
    Ключевое  слово struct описывает структурированный тип данных.
    Ключевое  слово const описывает постоянные.
    Конструкция <Тип функции> <Имя функции>(<Тип переменной 1> [,Тип переменной 2, …]) обозначает заголовок  функции.. Передача аргументов в функцию осуществляется по значению либо по адресу (если в качестве параметра передан указатель).
    Оператор return возвращает значение переменной в вызывающую функцию.
    Конструкция void main (void)описывает заголовок основной функции программы main(). Данная функция не возвращает никакого результата и не имеет параметров (ключевое слово void). С данной функции всегда начинается выполнение любой программы на языке С.
    Функция printf осуществляет вывод на экран дисплея сообщения.
    Функция scanf осуществляет ввод с клавиатуры значения переменной.
    Условный  оператор if … else проверяет условие и если оно истинно, то выполняет оператор присваивания. Если условие ложно, то выполняется оператор присваивания, стоящий после ключевого слова else.
    Функция for осуществляет цикл повторений циклической переменной от начального значения до конечного с некоторым шагом.
    Функции while и do … while осуществляет цикл повторений c предусловием и пост условием соответственно.
    Функция getch возвращает код нажатой клавиши.
    Функция strtcmp сравнивает две строки и возвращает отрицательный результат если первая строка по алфавиту идет раньше второй, положительный – если вторая идет раньше первой и нуль – если строки одинаковы.
    Функция sizeof возвращает размер переменной в байтах.
    Функция fopen открывает, а функция fclose – закрывает файл. 

 

     3 Описание работы программного  продукта
    3.1 Руководство пользователя 

    При запуске программы на экране должна появиться заставка, отображающая краткую информацию о разработчике, с просьбой нажать любую клавишу, после чего появится меню программы. Пользователь выбирает нужный пункт. При выборе определенного пункта меню после нажатия клавиши ВВОД выполняется соответствующая функция. Рассмотрим подробнее функции, запускаемые при выборе того или иного пункта меню.
    При выборе первого или второго пункта меню программа запросит ввести исходные данные, либо с клавиатуры, либо из бинарного файла, созданного ранее. Если пользователем будет указано «Из бинарного файла», далее программа попросит имя файла. Если файл не существует, то на экран выводится соответствующее сообщение. Если файл открыт успешно, то с него происходит считывание исходных данных, с выводом на экран.
    При выборе третьего пункта меню возможно только после ввода исходных данных, иначе, на экран выводится соответствующее  сообщение или производится запись исходных данных в файл, с указанием имени файла.
    При выборе четвертого или пятого пункта меню также возможно только после ввода исходных данных, иначе, на экран выводится соответствующее сообщение или программа производит расчет данных, либо с выводом на экран, либо в текстовый файл, с указанием имени файла.
    При выборе шестого пункта меню программа строит график Microsoft Office Excel 2007.
    При выборе седьмого пункта меню программа  изменяет исходные данные самой формулы, с вводом новых значений.
    При выборе восьмого пункта меня программа  дает возможность просмотреть исходные данные формулы.
    При выборе девятого пункта меня программа очищает экран.
    При выборе десятого пункта меню программа  завершает работу. 

    3.2 Тестирование программного модуля 

    Для тестового примера найдём уровень  Ферми методом последовательных приближений.
    На  рисунке 2 представлен результат  работы Microsoft Office Excel 2007. 

 

    Рисунок 2 – Результат работы Microsoft Office Excel 2007. 

    На  рисунке 3 представлен результат  работы программного модуля.
    
 

    Рисунок 3 – Результат работы программного модуля.
    На  рисунке 4 представлена работа  программного модуля, реагирующая на ошибочный ввод исходных данных. 

    
 

    Рисунок 4 – Ошибочный ввод исходных данных. 

    На  рисунке 5 представлена работа  программного модуля, реагирующая на выбор пунктов меню, если исходные данные не введены. 

    
 

    Рисунок 5 – Исходные данные не введены. 
Заключение

    Таким образом, в ходе выполнения курсовой работы были закреплены и усовершенствованы  навыки программирования на языке С++, а также написана программа для  решения поставленной задачи. Программа прошла тестирование и готова к реализации на практике.
 

     Список использованных источников
 
    
    Морозов В. П., Шураков В. В. Основы алгоритмизации, алгоритмические языки и системное  программирование: Учебное пособие. – М.: Финансы и статистика, 1994. – 224 с.
    Шилд Г. Программирование на BORLAND  C++  для профессионалов/ Пер. с англ. – Мн.: ООО “Попурри”, 1998. – 800 с.
    Касаткин А. И., Вальвачев А. Н. Профессиональное программирование на языке Си: От Turbo C  к Borland C++: Справ. Пособие; Под общ. ред. А. И. Касаткина. – Мн.: Вышэйшая школа, 1992. – 240 с.
 

Приложение  А
Текст файла index.cpp 

#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>
#include <iostream>
#include "zact.h"
#include "struct.h" 
#include "klav.h"
#include "restart.h"
#include "rechenie.h"
#include "formyla_red.h"
#include "formyla_zag.h"
#include "formyla_pros.h"
#include "zapis_ich.h" 
#include "file.h" 
#include "file_vuvod.h"
#include "excel.h"
#include "graf.h"
void main()
{
      int por_nom;
      SetConsoleOutputCP(1251);
      zast();
      formyla_zag();
      while(1)
      {
      printf("Выберите  нужное действие:\n");
      printf("1.Ввод исходных данных с клавиатуры\n");
      printf("2.Ввод исходных данных с файла\n");
      printf("3.Добавить исходные данные в файл\n");
      printf("4.Вывод данных на экран\n");
      printf("5.Вывод данных в файл\n");
      printf("6.Построить  график в Microsoft Office Excel 2007\n");
      printf("7.Редактировать данные формулы\n");
      printf("8.Просмотреть данные формулы\n");
      printf("9.Очистить экран\n");
      printf("10.Выход\n");
      printf("Ваш  выбор:\n");
      scanf("%d",&por_nom);
      switch (por_nom)
      {
      case 1:
            klav();
            break;
      case 2:
            file();
            break;
      case 3:
            zapis_ich();
            break;
      case 4:
            rechenie();
            break;
      case 5:
            file_vuvod();
            break;
      case 6:
            graf();
            break;
      case 7:
            formyla_red();
            formyla_zag();
            break;
      case 8:
            formyla_pros();
            break;
      case 9:
            restart();
            break;
      case 10:
            exit(0);
      default: 
            printf("Указанного номера меню нет\n\n");
            }
      }
} 

Текст файла excel.h 

#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\MSO.DLL" \
rename( "RGB", "MSORGB" )
using namespace Office;
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.