Разработка программы для вычисления интеграла по формуле средних прямоугольников

 

Содержание


Введение

1.Цель разработки программы и анализ ее использования

.Постановка задачи и математическое описание ее решения

.Описание принятых идентификаторов

.Логическая блок-схема решения задачи и ее описание

.1Логическая блок-схема программы

.2Описание блок-схемы программы

.Выбор языка программирования и написание программы на входном языке

.Решение задачи на ЭВМ

.1Краткая характеристика ПЭВМ и используемое ПО

.2Текст программы с описанием

.3Методика отладки программы

.Тестирование программы

Заключение

Список используемых источников

Приложение

Введение


Немногие устройства могут похвастаться такой интересной историей создания, какой по праву гордится принтер.

Принято считать, что его активное использование в бытовых целях началось с 1985 года, а первая модель с функциями цветной печати - Canon BJC-440 - появилась только в 1988 году. Но у этих двух, по современным меркам, «стариков» был прототип, которого можно назвать настоящим «динозавром».

В 1822 году математик Чарльз Бэббидж приступил к разработкам невиданного доселе устройства: самопечатающей машины. Предполагалось, что подобные механизмы будут полезны в банковском деле, инженерии и других областях. В 1934 году Бэббидж даже попытался собрать спроектированную им модель, но так и не довел дело до конца. Через 150 лет идеей закончить его работу загорелись сотрудники Британского музея Науки. И смогли собрать ее по сохранившимся чертежам. Бэббидж был прав: его машина действительно оказалась жизнеспособна, могла делать простейшие расчеты и выводить результаты на бумагу. Но она весила несколько тонн и состояла из тысяч деталей!

Первые принтеры, похожие на современные, появились только в 50-е годы прошлого века. Их история развивалась параллельно с историей компьютера.

Одним из пионеров в производстве высокоскоростных принтеров стала компания Remington-Rand, в 1953 году выпустившая печатное устройство для компьютера Univac. В целом же принтеры каждого типа печати развивались собственным путем.

Годом рождения первого матричного принтера считается 1964-й. Именно тогда компания Seiko Epson заявила об изобретении устройства, способного печатать изображения, состоящие из точек. Принцип струйной печати был создан еще в конце 19 века лордом Рейли, а первый прототип принтера на ее основе появился в 1948 году. Но технология оставалась несовершенной вплоть до 1984 года, когда появился принтер Thinkjet - детище компании Hewlett Packard.

А вот история лазерных принтеров считается самой непродолжительной: их первая модель, разработанная IBM, начала продаваться только в 1975 году. В 1984-м на рынок выходит одна из легенд технического прогресса - первый принтер марки LaserJet от Hewlett Packard. В дальнейшем производители ненамного усовершенствовали технологию печати, но смогли значительно увеличить разрешение и повысить качество.

Но самым интересным из своего семейства можно считать 3D принтер. 3D-печать может осуществляться разными способами и с использованием различных материалов, но в основе любого из них лежит принцип послойного создания (выращивания) твёрдого объекта.

Применяются две технологии формирования слоёв:

)Лазерная

Лазерная печать - ультрафиолетовый лазер постепенно, пиксель за пикселем, засвечивает жидкий фотополимер, либо фотополимер засвечивается ультрафиолетовой лампой через фотошаблон, меняющийся с новым слоем. При этом жидкий полимер затвердевает и превращается в достаточно прочный пластик. Лазерное сплавление - melting - при этом лазер сплавляет порошок из металла или пластика, слой за слоем, в контур будущей детали. Ламинирование - деталь создаётся из большого количества слоёв рабочего материала, которые постепенно накладываются друг на друга и склеиваются, при этом лазер вырезает в каждом контур сечения будущей детали.

)Струйная

Застывание материала при охлаждении - раздаточная головка выдавливает на охлаждаемую платформу-основу капли разогретого термопластика. Капли быстро застывают и слипаются друг с другом, формируя слои будущего объекта. Полимеризация фотополимерного пластика под действием ультрафиолетовой лампы - способ похож на предыдущий, но пластик твердеет под действием ультрафиолета. Склеивание или спекание порошкообразного материала - похоже на лазерное спекание, только порошковая основа (подчас на основе измельченной бумаги или целлюлозы) склеивается жидким (иногда клеющим) веществом, поступающим из струйной головки. При этом можно воспроизвести окраску детали, используя вещества различных цветов.

Существуют образцы 3D-принтеров, использующих головки струйных принтеров. Густые керамические смеси тоже применяются в качестве самоотверждаемого материала для 3D-печати крупных архитектурных моделей. Биопринтеры -- печать 3D-структуры будущего объекта (органа для пересадки) производится стволовыми клетками. Далее деление, рост и модификации клеток обеспечивает окончательное формирование объекта. Также известны две технологии позиционирования печатающей головки: Декартова, когда в конструкции используются три взаимно-перпендикулярные направляющие, вдоль каждой из которых двигается либо печатающая головка, либо основание модели. При помощи трёх параллелограммов, когда три радиально-симметрично расположенных двигателя согласованно смещают основания трёх параллелограммов, прикреплённых к печатающей головке.


1. Цель разработки программы и анализ ее использования


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

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

Программа - это упорядоченная чёткая и точная последовательность команд, подлежащая обработке. Каждая команда содержит указания на конкретную выполняемую операцию: на место нахождения адреса (операнда) и ряд служебных признаков.

Операция - это отдельное действие или ограниченная группа взаимосвязанных действий, направленных на получение частного, в рамках решения задачи, результата.

Команда - это указание компьютерной программе <#"justify">·Системное ПО - это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя. В отличии от прикладного ПО, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами и т.д. К нему относятся:

1)Операционные системы. Представляют собой комплекс системных программ, расширяющий возможности вычислительной системы, а также обеспечивающий управление её ресурсами, загрузку и выполнение прикладных программ, взаимодействие с пользователями. В большинстве вычислительных систем ОС являются основной, наиболее важной (а иногда единственной) частью системного ПО.

2)Встроенные программы. Встроенные программы или firmware <#"justify">1)Офисные приложения: текстовые редакторы, текстовые процессоры, табличные процессоры и др.

)Научное ПО: система математического и статического расчета и анализа, система компьютерного моделирования и др.

)Клиенты для доступа к интернет-сервисам: электронная почта, веб-браузер, банк-клиент, система мгновенного обмена сообщениями и др.

)Мультимедиа: компьютерные игры, аудиоредактор, видеоредактор, графические программы, медиаплеер и др.

)Программные средства защиты: антивирусные программы, антиспамовые программы, межсетевые экраны (файрволлы) и др.

·Инструментальное ПО - это программы <#"justify">1)Компиляторы - программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.

2)Интерпретаторы <#"justify">По способу распространения и использования программное обеспечение классифицируют как несвободное/закрытое, открытое и свободное.

·Несвободное/закрытое ПО - является частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного кода недостаточно). Правообладатель сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах.

·Открытое ПО - имеет открытый исходный код. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет пользователям принимать

участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок - через заимствование исходного кода.

§Свободное ПО - права пользователя на неограниченную установку, запуск, а также свободное использование, изучение, распространение и изменение (совершенствование) защищены юридически.

Данная программа относится к свободному прикладному программному обеспечению.

При создании программ, необходимо придерживаться характеристики качества программных средств.

Качество программного средства (software quality) - это совокупность свойств, которые обуславливают его пригодность удовлетворять заданные или подразумеваемые потребности в соответствии с его назначением.

Характеристики качества программного средства (software quality characteristic) - это набор свойств ПС, посредством которого описывается и оценивается его качество.

Пригодность для применения

·точность - совокупность свойств ПС, характеризующая возможность получения только верных или предусмотренных результатов функционирования;

·защищенность - способность ПО защищать информацию и данные так, чтобы неавторизованные субъекты и процессы не смогли читать или модифицировать их, а авторизованным пользователям и процессам не было отказано в доступе к ним;

·пригодность для применения - разрабатываемое ПО должно быть применимо к задачам, в соответствии с его назначением;

·соответствие стандартам и правилам проектирования - совокупность свойств ПС, характеризующая его соответствие стандартам, соглашениям, договорам, нормам и правилам, принятым в установленном порядке.

Надежность

·отсутствие ошибок - совокупность свойств ПС, характеризующая частоту отказов, обусловленных дефектами ПС;

§устойчивость к ошибкам - совокупность свойств ПС, характеризующая его способность поддерживать необходимый уровень пригодности при проявлении дефектов ПС или нарушении установленных интерфейсов;

§перезапускаемость - это совокупность свойств ПС, характеризующая возможность осуществления, трудоемкость и продолжительность действий по восстановлению им своего уровня пригодности, а также непосредственно подвергшихся воздействию данных, в случае отказа.

Применяемость

·понятность - совокупность свойств ПС, характеризующая затраты усилий пользователя на понимание логической концепции этого ПС;

·обучаемость - это совокупность свойств программного средства, характеризующая затраты усилий, необходимые для освоения правил его применения;

·простота использования - совокупность свойств ПС, характеризующая затраты усилий пользователя непосредственно на эксплуатацию и управление функционированием ПС.

Эффективность

·ресурсная экономичность - совокупность свойств ПС, характеризующая объемы используемых при его функционировании ресурсов и продолжительность их использования;

·временная экономичность - совокупность свойств ПС, характеризующая обеспечиваемые при его функционировании время реакции на запросы, скорость обработки данных и пропускную способность.

Сопровождаемость

·удобство для анализа - совокупность свойств ПС, характеризующая усилия, необходимые для выявления недостатков ПС или причин его отказов, либо для установления частей, которые должны быть видоизменены;

·изменяемость - совокупность свойств ПС, характеризующая усилия, необходимые для внесения в него изменений, связанных с устранением дефектов или приведением в соответствие с изменившейся средой функционирования;

·стабильность - совокупность свойств ПС, характеризующая степень отсутствия риска того, что внесение в него изменений имеет непредвиденные проявления;

·тестируемость - совокупность свойств ПС, характеризующая усилия, необходимые для его проверки после проведения какого-либо видоизменения.

Переносимость

·адаптируемость - совокупность свойств ПС, характеризующая возможности его адаптации для функционирования в различных заданных средах без приложения действий или средств, дополнительных по отношению к тем, которыми для этой цели обеспечено само рассматриваемое средство;

·структурированность - совокупность свойств ПС, характеризующая усилия, необходимые при настройке ПС для функционирования в заданной среде;

·защищаемость - это совокупность свойств ПС, характеризующая его способность предотвращать несанкционированный доступ как случайный, так и умышленный, к программам и данным, а также степень удобства и полноты обнаружения результатов такого доступа или действий по разрушению программ и данных;

·внедряемость - совокупность свойств ПС, характеризующая возможность использования его в качестве другого, замещаемого, ПС в среде функционирования замещаемого ПС, а также необходимые для этого усилия.


2. Постановка задачи и математическое описание её решения

идентификатор программа язык тестирование

В процессе постановки задачи четко формулируется назначение программного обеспечения, и определяются основные требования к нему. Каждое требование представляет собой описание необходимых или желаемых свойств программного обеспечения. Различают:

·функциональные требования - определяющие функции, которые должно выполнить разрабатываемое программного обеспечения; данный программный продукт должен решать интегралы по формуле средних прямоугольников, иметь функцию ввода коэффициентов для подынтегральной функции;

·эксплуатационные требования - определяющие особенности его функционирования; данная программа должна выводить верное решение интеграла при заданных коэффициентах, иметь понятный пользовательский интерфейс;

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

Процесс решения задачи - это поиск точного описания требуемого объекта, при этом, часть свойств целевого объекта описывается в условиях задачи в явном их виде, а другая часть задаётся симметрично.

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

Как известно, определенный интеграл в силу своего построения есть ни что другое, как предел интегральных сумм:



каждая из которых, соответствует некоторому разбиению Dn: отрезка [a, b] и произвольному набору точек для каждого разбиения; .

Наиболее часто используемой формулой, основанной на идее представления определенного интеграла в виде интегральной суммы, является формула прямоугольников, где в качестве берут середины отрезков. Для равномерной сетки эта формула имеет следующий вид:


3. Описание принятых идентификаторов


Идентификатор [data name, identifier] - в информатике <#"justify">Математический идентификаторИдентификатор в программеЗначение идентификатораTitlePageИмя процедуры, выводящей на экран страницу «Титульный лист»AboutPageИмя процедуры, выводящей на экран страницу «О программе»DeveloperPageИмя процедуры, выводящей на экран страницу «Сведения о разработчике»f(x)FИмя функции, производящей вычисление заданной подынтегральной функции; вещественный типSafeReadLnИмя функции, организующей корректный ввод значений коэффициентов; вещественный типInputLineИспользуется для ввода значений коэффициентов; строковый типvalueИспользуется для хранения числового значения строкового представления числа; вещественный типerrИдентификатор признака ошибки; целый типCalculationИмя процедуры, производящей вычисления интеграла, при заданных коэффициентах подынтегральной функцииaaНижний предел интегрирования; вещественный типbbВерхний предел интегрирования; вещественный типhhШаг интегрирования на отрезке [a, b]; вещественный типk1k1Коэффициент числителя; вещественный типk2k2Коэффициент в знаменателе при x; вещественный типk3k3Свободный коэффициент в знаменателе; вещественный типXixТочка (узел) метода; вещественный типYiyРезультат вычисления функции; вещественный типUUРезультат вычисления интеграла; вещественный типiУправляющая переменная цикла; целый типnЧисло точек (узлов), в которых вычисляется значение подынтегральной функции; целый типTitleBarИспользуется для форматированного вывода условий вычисления; строковый типMenuItemИспользуется в качестве селектора оператора Case; целый тип4. Логическая блок-схема решения задачи и ее описание


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

Блок-схема - распространенный тип схем (графических моделей <#"justify">Правила и стандарты составления схем определяет ГОСТ 19.701-90. «Схемы алгоритмов, программ, данных и систем. Условные обозначение и правила выполнения». Данный документ в частности регулирует способ построения схем и внешний вид этих элементов.

ГОСТ 19.701-90:

.2.2. Схема программы состоит из:

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

)линейный символов, указывающих поток управления;

)специальных символов, используемых для облегчения написания и чтения схемы.


4.1 Логическая блок-схема программы


.1.1 Блок-схема основной программы























.1.2 Блок-схема подпрограммы SafeReadLn



.1.3 Логическая блок-схема подпрограммы F









Данные блок-схемы основной программы и подпрограмм представлены в приложении А - Логическая блок-схема.


.2 Описание блок-схемы основной программы


БлокНазваниеОписаниеНачалоНачало работы программы.1Блок ввода-вывода.Вывод на экран формы «Титульный лист».2Подпрограмма.Переменным a и b присваивается результат выполнения подпрограммы SafeReadLn в виде вещественного числа.3Логический блок.Проверка истинности условия a < b. Если условие истинно, то выполняется переход к блоку №4, иначе - к блоку №2.4Подпрограмма.Переменным k1, k2 и k3 присваивается результат выполнения подпрограммы SafeReadLn. Переменной n присваивается округленный до целого результат выполнения подпрограммы SafeReadLn.5Блок вычислений.Переменной h присваивается значение выражения ( b-a ) / n. Переменной x присваивается значение выражения a+h*0.5.6Блок модификации.Открываем цикл со счетчиком, присваиваем переменной i значения от 0 до n-1 с шагом в единицу.7Подпрограмма.Переменной y присваивается результат выполнения подпрограммы F ( с переменными k1, k2, k3, и X в качестве входных параметров), в виде вещественного числа.8Блок ввода-вывода.Вывод значений переменных i, x, y.9Блок вычислений.Переменной U присваивается значение выражения U + y. Переменной x присваивается значение выражения x + h.10Блок вычислений.Переменной U присваивается значение выражения h * U.11Блок ввода-вывода.Вывод значения переменной U.Конец.Завершение работы подпрограммы.

.2.1 Описание блок-схемы подпрограммы SafeReadLn


БлокНазваниеОписаниеНачалоНачало работы подпрограммы.БлокНазваниеОписание1Блок ввода-вывода.Ввод данных в переменную InputLine.2Блок вычислений.Преобразование строкового представления InputLine вещественного числа к числовому значению и его запись в переменную value. В случае успешного преобразования переменной err присваивается нулевое значение, иначе - значение > 0.3Логический блок.Проверка истинности условия err = 0. Если условие истинно, то выполняется переход к блоку №5, иначе - к блоку №4.4Блок ввода-вывода.Вывод текстового сообщения «Ошибка ввода. Попробуйте еще раз: ».5Блок вычислений.Идентификатору функции SafeReadLn присваивается значение переменной value.6Логический блок.Проверка истинности условия err = 0. Если условие истинно, то выполняется выход из цикла и переход в конец программы. Иначе - выполняется переход к блоку №1.Конец.Завершение работы подпрограммы.

.2.3 Описание блок-схемы подпрограммы F


БлокНазваниеОписаниеНачалоНачало работы подпрограммы.1Блок вычислений.Идентификатору функции F присваивается значение выражения k1 / (k2 * x + k3)Конец.Завершение работы подпрограммы.


5. Выбор языка программирования и написание программы на входном языке


Язык программирования - это формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением. Также - искусственный (формальный) язык, предназначенный для записи алгоритмов. ЯП задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора. Одной из важнейших характеристик ЯП является трудоемкость и качество получаемого программного продукта. Чем выше уровень языка, тем меньше трудоемкость программирования. Различают следующие виды языков программирования:.Низкого уровня (языки ассемблера):.машинные;.машинно-ориентированные..Высокого уровня (С++, C#, Java, PHP, Pascal, Delphi и др.):.процедурно-ориентированные;.проблемно-ориентированные..Сверхвысокого уровня (Python, Ruby, Haskell, Perl и др.):.предметно-ориентированные.

Выбор языка программирования для написания той или иной программы зависит, прежде всего, от квалификации программиста и его опыта работы в данном конкретном ЯП, возможностей и особенностей языка, поставленной задачи, от условий заказчика.

В настоящее время наиболее распространенными ЯП являются:

·C (Си) - стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие предшествующего языка B (Би). Изначально создан для использования в ОС UNIX, однако с тех пор он был портирован на многие другие ОС и стал одним из самых используемых. Является самым популярным языком для создания системного ПО, также его часто используют для создания прикладных программ. Активно используется для обучения программированию. Синтаксис языка Си стал основой для многих других языков.

Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.

·C++ (Си ++) - компилируемый статически типизированный язык программирования общего назначения, который возник в начале 1980-х годов, когда сотрудник

Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку Си под собственные нужды. В сравнении с языком Си, наибольшее внимание уделено поддержке объектно-ориентированного и обобщенного программирования. Являясь одним из самых популярных ЯП, С++ широко используется для разработки ПО. Область его применения включает создание ОС, прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). ЯП С++ оказал огромное влияние на другие языки, в первую очередь на Java и C#.

С++ - чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения.

·Java (Джава) - объектно-ориентированный язык программирования, разработанный компанией Sun Microsystem (в последующем приобретенной компанией Oracle) в 1995 году. Изначально разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Впоследствии стал использоваться для написания клиентских приложений и серверного ПО. Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) - программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Это обеспечивает полную независимость от ОС и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует JVM.

На базовой технологии Java основываются многие современные программы (в том числе утилиты, игры и бизнес-приложения).

·Microsoft Visual Basic - средство разработки ПО включающее язык программирования и среду разработки. Язык Visual Basic унаследовал стиль и отчасти синтаксис своего предка - языка Basic (Бейсик), в то же время сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных ЯП. Visual Basic считаетcя хорошим средством быстрой разработки прототипов программы, для разработки приложений БД и для компонентного способа создания программ, работающих под управлением ОС семейства Windows. Данный язык очень сильно привязан к своей среде разработки и к ОС Windows, являясь исключительно инструментом написания Windows-приложений.

Характеризуется высокой скоростью создания приложений с графическим интерфейсом.

В данной курсовой работе программа была разработана и представлена в соответствии с указаниями на языке программирования Pascal версии PascalABC.NET.

в виду следующих причин:

)задание курсовой работы предполагает написание программы на языке Pascal;

)версия ABC.NET была выбрана в связи с разработкой на компьютере с операционной системой Windows 7, которая не поддерживает версию TurboPascal 7 и ниже, из-за отсутствия DOS оболочки;

3)PascalABC.NET является бесплатным программным продуктом.

PascalABC.NET - это система программирования разработанная в 2002 году. Язык системы - это реализация Object Pascal для платформы Microsoft.NET, который содержит все основные элементы современных языков программирования: модули, классы, перегрузку операторов, интерфейсы, исключения, обобщенные классы, сборку мусора, а также некоторые средства параллельного программирования, в том числе директивы OpenMP. Изначально разрабатывалась на факультете математики, механики и компьютерных наук ЮФУ как учебная среда для начального обучения программированию школьников и студентов. Автором является доцент С. С. Михалкович.

Язык Pascal (Паскаль), чьим наследником является ABC, был разработан Никлаусом Виртом в 1970 году как язык со строгой типизацией и интуитивно понятным синтаксисом. В 80-е годы наиболее известной реализацией стал компилятор Turbo Pascal фирмы Borland, в 90-е ему на смену пришла среда программирования Delphi, которая стала одной из лучших сред для быстрого создания приложений под Windows. Delphi ввела в язык Паскаль ряд удачных объектно-ориентированных расширений; обновленный язык получил название Object Pascal.

Pascal ABC и PascalABC.NET всех версий является бесплатным (freeware) программным обеспечением.

6. Решение задачи на ЭВМ


.1 Краткая характеристика ЭВМ и используемое программное обеспечение


Структура ЭВМ представляет собой совокупность элементов и их связей. Выбирая компьютер для решения своих задач, пользователь интересуется функциональными возможностями данной машины.

При написании данной курсовой работы использовался ноутбук со следующей конфигурацией:

·Дисплей B156XW02 V2 15.3'' 1366x786 60Hz

Дисплей - выходное электронное устройство, предназначенное для визуального отображения информации (синонимом термина, но в более узком значении как отображающая поверхность, а не устройство, является «экран»). Используется во всех случаях, когда требуется отображение произвольной информации.

·Клавиатура встроенная стандартная PS/2

Компьютерная клавиатура - одно из основных устройств ввода информации от пользователя в компьютер. Стандартная компьютерная клавиатура, также называемая PC/AT или AT-клавиатурой (поскольку начала поставляться вместе с компьютерами серии IBM PC/AT), имеет 101 или 102 клавиши. Расположение клавиш подчиняется единой общепринятой схеме, спроектированной в расчете на английский алфавит.

·Материнская плата Acer Aspire 5742G v1.09

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

·Процессор Intel® CoreTM i3 2.53 GHz Socket 989 rPGA

Центральный процессор (ЦП, или центральное процессорное устройство - ЦПУ; англ. central processing unit, CPU, дословно - центральное обрабатывающее устройство) - электронный блок либо микросхема - исполнитель машинных инструкций (кода программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Главными характеристиками ЦПУ являются: тактовая частота, производительность, энергопотребление и архитектура.

·ОЗУ (Kingston + Samsung) DDRIII 3Gb 667Mhz

Оперативная память (англ. Random Access Memory, память с произвольным доступом) - энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции. Содержащиеся в оперативной памяти данные доступны только тогда, когда на модули памяти подается напряжение, то есть, компьютер включен. Оперативное запоминающее устройство (ОЗУ) - техническое устройство, реализующее функции оперативной памяти. ОЗУ может изготавливаться как отдельный блок или входить в конструкцию, например однокристальной ЭВМ или микроконтроллера.

·Видеоадаптер AMD Radeon HD 6300M Series 512Mb

Видеокарта (известна также как графический ускоритель, графическая плата, графическая карта, видеоадаптер, графический адаптер) - устройство, преобразующее графический образ, хранящийся, как содержимое памяти компьютера или самого адаптера, в форму, пригодную для дальнейшего вывода на экран монитора. В настоящее время, в первую очередь под графическим адаптером понимают устройство с графическим процессором - графический ускоритель, который и занимается формированием самого графического образа. Обычно видеокарта является платой расширения и вставляется в разъем расширения, универсальный (PCI-Express, PCI, ISA, VLB, EISA, MCA) или специализированный (AGP), но бывает и встроенный (интегрированный) в системную плату (как в виде отдельного чипа, так и в качестве составляющей части северного моста чипсета или ЦПУ). В этом случае устройство, строго говоря, не может быть названо видеокартой. Современные видеокарты не ограничиваются простым выводом изображения, они имеют встроенный графический процессор, который может производить дополнительную обработку, снимая эту задачу с ЦП компьютера.

·Жесткий диск HDD SATA 320Gb\ 5400

Накопитель на жёстких магнитных дисках или НЖМД (англ. hard magnetic disk drive, HDD, HMDD), жесткий диск - запоминающее устройство (устройство хранения информации) произвольного доступа, основанное на принципе магнитной записи. Является основным накопителем данных в большинстве компьютеров. Часто используют в качестве несъемного носителя информации. Основными характеристиками являются интерфейс (совокупность линий связи, сигналов, посылаемых по этим линиям, технических средств, поддерживающих эти линии, и правил (протокола) обмена; пример: SATA, eSATA, SCSI, SAS, FireWire, SDIO и Fibre Channel), ёмкость (количество данных, которые могут храниться накопителем в Gb (гигабайтах), где 1 Gb = 1000Mb (мегабайт)) и количество оборотов шпинделя в минуту (от этого зависят средняя скорость доступа и передачи данных).

·DVD RW DL привод TSSTcorp CDDVDW TS-L633F

Оптический привод - устройство, имеющее механическую составляющую, управляемую электронной схемой, и предназначенное для считывания и, (в некоторых моделях), записи информации с оптических носителей информации в виде пластикового диска с отверстием в центре (компакт диск, DVD и т.д.); процесс считывания/записи информации с диска осуществляется при помощи лазера. В зависимости от типа различают CD/DVD приводы только для чтения (ROM), для чтения/записи (RW), для чтения/записи и записи на двухслойные оптические DVD-носители (DVD RW DL), отличающиеся большей ёмкостью.

Также использовалось следующее оборудование:

·Проводная оптическая мышь A4Tech X-718BK

Манипулятор «мышь» (просто «мышь» или «мышка») - механический манипулятор, преобразующий механические движения в движение курсора на экране.

·МФУ Epson Stylus SX420W

Принтер (от англ. print - печатать) - периферийное устройство компьютера, предназначенное для перевода текста или графики на физический носитель из электронного вида. Получили распространение многофункциональные устройства (МФУ), в которых в одном приборе объединены функции принтера, сканера (устройство выполняющее преобразование изображений в цифровой формат) и копировального аппарата (устройство предназначенное для получения копий документов и изображений на бумаге и других материалах). Такое объединение рационально технически и удобно в работе.

·Плоттер

Графопостроитель, плоттер - устройство для автоматического вычерчивания с большой точностью рисунков, схем, сложных чертежей, карт и другой графической информации на бумаге размером до А0 или кальке. Назначение графопостроителей - высококачественное документирование чертежно-графической информации.

Использовалось следующее программное обеспечение:

·ОС Microsoft Windows 7 Максимальная x64

Версия Windows 7 пришла на смену Windows XP и вышедшей незадолго до этого

Windows Vista, на основе которой и разработана данная версия ОС. Она сохранила возможности предыдущих версий, реализовав более удобный доступ к ним, а также, обзавелась новыми. Так, появилась поддержка Unicode 5.1 и мультитач-управления. Windows 7 поддерживает псевдонимы для папок на внутреннем уровне. К примеру, в некоторых локализованных версиях Windows, была переведена и отображалась с переведенным именем, однако на уровне файловой системы оставалась англоязычной.

Полностью был изменен интерфейс пользователя, по сравнению с Windows XP. Он стал более современным и эстетичным. Изменения претерпела и реализация безопасности Windows: добавлена возможность защиты данных на USB- носителях с помощью Enhanced Storage, с помощью групповой политики и функции AppLocker можно запретить запуск определенных приложений, функция DirectAccess позволяет устанавливать безопасное соединение с сервером в фоновом режиме, в отличие от VPN, которому требуется участие пользователя. Также DirectAccess может применять групповые политики до входа пользователя в систему.

·Microsoft Word 2007

Microsoft Word (часто MS Word, WinWord или просто Word) - текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично-матричных алгоритмов. Является самой распространенной программой для создания, редактирования и форматирования текстовых документов.

·CorelDraw Graphics Suite X5

CorelDraw - векторный графический редактор, разработанный канадской корпорацией Corel. Входит в 3-ку лучших программ по обработке векторных изображений, где занимает первое место. Снабжён интеллектуальными инструментальными средствами, решающими дизайнерские задачи. Обладает рядом преимуществ:

üизменение масштаба без потерь качества информации и без увеличения размеров исходного файла;

üогромная точность;

üнеобъёмный размер файлов по сравнению с растровым;

üотличное качество печати;

üотсутствие экспортированных проблем, связанных с переводом векторного изображения в растровое;

üсовместимость с другими программами;

üподдерживается создание Web-страниц;

üсоздание электронных публикаций в формате .pdf;

·PascalABC.NET (см. пункт №5).


6.2 Текст программы с описанием


Текст программы с описанием представлен в приложении Б - листинг программы.


.3 Методика отладки программы


Отладка - это процесс локализации и исправления ошибок, обнаруженных при тестировании программного обеспечения, при этом синтаксические ошибки исправляются заранее.

Локализация ошибок - это процесс определения оператора программы, выполнение которого вызвало нарушение нормального вычислительного процесса.

Ошибка - это несоответствие между объектом или явлением, принятым за эталон (материальный объект, решение задачи, действие, которое привело бы к желаемому результату), и объектом (явлением), сопоставленным первому.

Ошибки, в свою очередь, при разработке различных видов программ, делятся на первичные и вторичные. Под первичной ошибкой понимают искажение в тексте программы, а под вторичной - искажение выходных результатов.

Наличие вторичных ошибок указывает на присутствие первичных. Для исправления вторичных ошибок, необходимо устранить первичные ошибки методами отладки.

Различают следующие типы ошибок:

.синтаксические, относятся к самым простым - это ошибки, фиксируемые компилятором при выполнении синтаксического и частично семантического анализа программы;

.ошибки компоновки, связаны с проблемами, обнаруженными при разрешении внешних ссылок, - это ошибки, обнаруженные компоновщиком при объединении модулей программы;

.ошибки выполнения, относятся к самой непредсказуемой группе - это ошибки, обнаруженные ОС, аппаратными средствами или пользователем при выполнении программы.

В свою очередь, ошибки выполнения включают в себя:

.ошибки определения данных (передача, преобразование и перезапись данных, неправильные данные);

.ошибки накопления погрешностей (игнорирования ограничений разрядной сетки);

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

Для поиска ошибок и способов их устранения применяют следующие методы отладки, в зависимости от ситуации:

·Метод ручного тестирования. Это самый простой и естественный способ. При обнаружении ошибки, необходимо выполнить тестируемую программу вручную, используя тестовый набор, при работе с которым, было обнаружена ошибка.

Метод очень эффективен, но не применим для больших программ, программ со сложными вычислениями и в тех случаях, когда ошибка связана с неверными представлениями программиста о выполнении некоторых операций. Данный метод часто используется как составную часть других методов отладки.

·Метод индукции. Данный метод основан на тщательном анализе симптомов ошибки, которые могут проявиться как неверные результаты вычислений или как сообщение об ошибке. Если компьютер просто «зависает», то фрагмент проявления ошибки вычисляют исходя из последних полученных результатов и действий пользователя. Полученную таким образом информацию организуют и тщательно изучают, просматривая соответствующий фрагмент программы. В результате этих действий выдвигают гипотезы об ошибках, каждую из которых проверяют. Если гипотеза верна, то детализируют информацию об ошибке, иначе - выдвигают другую гипотезу.

·Метод дедукции. Согласно данному методу вначале формируют множество причин, которые могли бы вызвать данное проявление ошибки. Затем анализируя причины, исключают те, которые противоречат имеющимся данным. Если все причины исключены, то следует выполнить дополнительное тестирование исследуемого фрагмента. В противном случае наиболее вероятную гипотезу пытаются доказать. Если гипотеза объясняет полученные признаки ошибки, то ошибка найдена, иначе - проверяют следующую причину.

·Метод обратного прослеживания. Для небольших программ эффективно применение данного метода. Начинают с точки вывода неправильного результата. для этой точки строится гипотеза о значениях основных переменных, которые могли бы привести к получению имеющегося результата. Далее, исходя из это гипотезы, делают предположения и значениях переменных в предыдущей точке. Процесс продолжают, пока не обнаружат причину ошибки.

Общая методика отладки программного обеспечения включает в себя:

этап. Изучение проявления ошибки - если выдано какое-либо сообщение или выданы неправильные или неполные результаты, то необходимо их изучить и попытаться понять какая ошибка могла так проявиться. При этом используют индуктивный и дедуктивный методы отладки.

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

этап. Определение причины ошибки - изучение результатов второго этапа и формирование гипотез.

этап. Исправление ошибки - внесение необходимых изменений.

этап. Повторное тестирование - повторение всех тестов сначала.

Процесс отладки можно упростить, если следовать рекомендациям структурного подхода программирования:

.Программы наращиваются сверху вниз, от интерфейса к обрабатываемым программам, тестируя и добавляя по ходу подпрограммы;

.Выводить пользователю вводимые им данные для контроля и проверять их на допустимость сразу после ввода;

.Предусматриваются выводы основных данных во всех узловых точках алгоритма.

Также следует тщательнее проверять фрагменты, где уже были обнаружены допущенные ошибки, т.к. по статистике вероятность повторного обнаружения ошибок в них выше. Это вызвано следующим:

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

.Ошибки могут быть результатом того, что программист устал, отвлекся или у него плохое самочувствие.

.Ошибки часто появляются в результате исправления уже найденных ошибок.

При разработке данной программы, были обнаружены следующие ошибки:

.Неизвестное имя MenuItem - синтаксическая ошибка;

.Ожидалась ; - синтаксическая ошибка;

.Нельзя преобразовать тип real к integer - логическая ошибка;

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

Данные синтаксические ошибка были исправлены:

.объявлением переменной MenuItem;

.вставкой пропущенного знака «точка с запятой»;

.заменой типа integer переменной на real.

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


7. Тестирование программы


Тест - совокупность входных данных для программы, а также точное описание всех эталонных результатов, которые вырабатываются данным программным обеспечением, в ходе выполнения.

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

Существуют следующие виды тестов:

·основной - для проверки типичных, часто встречающихся исходных данных;

·вырожденный - для проверки правильности выполнения внешних функций;

·граничный - для проверки работы программы при предельно допустимых параметрах;

·аварийный - для проверки реакции программы на объявление аварийной ситуации.

Тестирование - это процесс выполнения программы с целью проверки правильности результатов ее работы.

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

Выделяют следующие стадии тестирования:

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

.Для контроля выполнения нормализованных программ и данных (необходимо подтверждение правильности выполнения корректировки программы и отсутствие ранее обнаруженных ошибок).

.Для обнаружения ошибок в программе (чем больше ошибок определено на предоставленном этапе, тем выше эффективность тестирования самой программы).

Существуют три способа тестирования:

1.Алгоритмический. Применим к программам для контроля этапов алгоритмизации и программирования. Программисты, начиная подготавливать эталонные результаты, проектируют темы на этапе алгоритмизации, а используют их, соответственно, на этапе отладки.

2.Аналитический (функциональный). Служит в целях контроля (в зависимости от от объявленного метода решения задачи) правильности и решения определенных режимов и установленных диапазонах данных. Тесты проектируют и специализируют на этапе проектирования после выбора метода решения задачи, а используют на завершающем этапе отладки или для анализа результатов пробного счёта

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

Содержательный и аналитические тесты анализируют верность программы в целом или крупных её частей. Алгоритмический способ тестирования - отображает выведение информации о месте нахождения ошибки в программе.

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

Верификация - в узком смысле означает формальное доказательство правильности ПП.

Процесс верификации (verification process) состоит в доказательстве того, что ПП, являющиеся результатами некоторого действия, полностью удовлетворяют требованиям или условиям, зависящим от предшествующих действий.

Для получения эталонных результатов для данной программы в рамках курсовой работы был использован частично-автоматизированный метод с использование стороннего ПО.

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

Выходными данными (результат обработки данных, представляемый для внешнего представления) являются значения уравнения, полученные методом средних прямоугольников.

Согласно заданию курсовой работы, необходимо разработать программу для вычисления интеграла по формуле средних прямоугольников, используя для оценки точности двойной просчет при n1= 6 и n2=8.



Результат вычисления проверочной программы при входных данных:

= 4; b=12; f = 1/4+6*x; n = 6


Результат вычисления проверочной программы при входных данных:

= 4; b=12; f = 1/4+6*x; n = 8

Эталонные результаты, полученные при частично-автоматизированном просчете и результаты, полученные данной программой, совпадают. В целях более точного тестирования программы, произведем сравнение эталонного результата и результата работы программы с другими входными данными.



Результат вычисления проверочной программы при входных данных:

= 1; b=9; f = 4/7+3*x; n = 6


Результат работы разработанной программы

Результат вычисления проверочной программы при входных данных:

= 1;= 9; = 4/7+3*x; = 8


Эталонные результаты, полученные при частично-автоматизированном просчете и результаты, полученные разработанной программой, совпадают во всех случаях. Из этого следует, что программа работает верно.


Заключение


В данной курсовой работе была поставлена задача разработать программу для вычисления интеграла по формуле средних прямоугольников.

Для выполнения поставленной задачи, был составлен алгоритм математического решения, составлена логическая блок-схема и затем написана программа. Было проведено тестирование, путем сравнения ответов при ручном просчете и результатов, полученных с помощью данной программы. Тестирование показало, что программа работает верно.


Приложение


Листинг программыcrt;TitlePage;

begin;

WriteLn();(* *');(' * *', '* *':75); WriteLn(' *','*':77); WriteLn(' *','*':77);(' *','*':77); WriteLn(' *','*':77); WriteLn(' *','*':77); WriteLn(' *','*':77);

WriteLn(' *', 'Программа для вычисления интеграла':54,'*':23);(' *', 'по формуле средних прямоугольников':54,'*':23);

WriteLn(' *','*':77); WriteLn(' *','*':77); WriteLn(' *','*':77); WriteLn(' *','*':77);(' *','*':77); WriteLn(' *','*':77); WriteLn();

WriteLn(' *', 'студентка 361 группы *':77); WriteLn(');

WriteLn(' *','*':77); WriteLn(' *','*':77);

WriteLn(' * * * * *','Для продолжения нажмите Enter':43, '* * * * *':26);;F(k1,k2,k3,x:real):real; { Вычисление подынтегральной функции }

begin:=k1/(k2+k3*x);;SafeReadLn:real; {Защищенный от некорректного ввода ReadLn}

var InputLine:string; //входная строка:real; //буфер для хранения числового значения

err:integer; //значение ошибки(InputLine);(InputLine,value,err);err=0 then SafeReadLn:=valueWrite('Ошибка ввода. Попробуйте еще раз: ');err=0;

end;

{>>> Основная программа }

var a,b,h,k1,k2,k3,x,y,U:real; i,n:integer;:string;; readln;;(' * * * * *','Вычисление интеграла':39, ' * * * * *':28);(' * * *', '* * *':71);(' Введите нижний предел: '); a:=SafeReadLn;

Write(' Введите верхний предел: '); b:=SafeReadLn;

if a>b then; WriteLn(' Ошибка ввода:');

WriteLn('Коэффициент нижнего предела не может быть больше верхнего. Попробуйте еще раз.');;;


Содержание Введение 1.Цель разработки программы и анализ ее использования .Постановка задачи и математическое описание ее решения .Описание прин

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ