МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
КАФЕДРА
КОМПЬЮТЕРНЫХ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Курсовая работа
по дисциплине
«Системное программирование»
2006
Аннотация
Курсовая работа по дисциплине «Системное программирование» на тему: «Программирование Windows – приложений» содержит ___ страниц машинописного (рукописного) текста, __ рисунков, __ таблиц, ___страниц приложения.
В программе рассмотрена программа вычисления значения определённого интеграла.
Вступление
Вначале я хотел бы поговорить о ОС, а именно о Windows 2000.
Windows 2000 – операционная система (ОС) фирмы Microsoft, основанная на технологии WindowsNT 5.0. NT или NewTechnology была создана группой разработчиков под руководством Дейва Катлера, ранее работавшего в DEC над проектом VMS. Дейв Катлер пришел в Microsoftв 1988 году специально для работы над проектом NT. NT, в отличии остальных ОС Microsoft.
Windows 2000 – полностью 32-разрядная ОС с приоритетной многозадачностью и улучшенной реализацией работы с памятью. В основе проекта W2kлежат те же принципы, которые когда-то обеспечили успех NT:
· Совместимость. Система имеет привычный интерфейс ОС семейства Windows, поддержку файловых систем NTFS5,NTFS4,FAT16,FAT32. Большинство приложений написанных под MS-DOS, NT4, а также некоторые программы под OS/2 запускаются и функционируют без проблем. При проектировании NT учитывалась возможность работы системы в различных сетевых средах, поэтому в поставку входят средства для работы в UNIX- и NOVELL –сетях.
· Переносимость. Система работает на различных процессорах семейства х86 производства INTEL и AMD. Реализация поддержки процессоров других архитектур возможна, но потребует некоторых усилий.
· Масштабируемость. В W2k реализована поддержка технологий SMP и COW. Количество процессоров при использовании SMP может достигать 32.
· Система безопасности полностью удовлетворяет спецификации С2 по терминологии АНБ США. Правда, для полной поддержки потребуется оборудование, которое также удовлетворяет этой спецификации.
· Распределенная обработка. W2k имеет встроенные в систему сетевые возможности, что обеспечивает возможность связи с различными типами компьютеров-хостов благодаря наличию разнообразных транспортных протоколов и технологий «клиент-сервер».
· Надежность и отказоустойчивость. Архитектура OC защищает приложения от повреждения друг с другом и самой операционной системой. При этом используется отказоустойчивая структурированная обработка особых ситуаций на всех архитектурных уровнях, которая включает восстанавливаемую файловую систему NTFS и обеспечивает защиту с помощью встроенной системы безопасности и усовершенствованных методов управления памятью.
· Локализация. Система предоставляет возможности для работы во многих странах мира на национальных языках, что достигается применении стандарта ISOUnicode.
1.ТЕОРИТИЧЕСКИЕ АСПЕКТЫ ПРОГРАММЫ
1.1 Краткие теоретические сведения
В задании необходимо вычислить определенный интеграл 1) по формуле трапеций с тремя десятичными знаками и вычислить определенный интеграл 2) по формуле Симпсона при n=50.
Криволинейной трапецией называют часть плоскости, ограниченную снизу Ох, а сверху дугой ab (некоторой линией, уравнением которой является y=f(x)), слева и справа прямыми x=a и x=b.
Пусть нам дана криволинейная трапеция. Требуется вычислить площадь криволинейной трапеции.
Участок b-a разбиваем на n отрезков. Элементарная площадь Si=f(Si)*(b-a)/n.
Площадью криволинейной трапеции S называют предел:
когда n стремится к бесконечности так, что наибольший из участков разбиения стремится к нулю.
Рассмотрим функцию f(x), определенную и непрерывную на заданном отрезке ab.
Построим для этой функции сумму вида:
Эту сумму будем называть n-й интегральной суммой, построенной для функции f(x) на отрезке ab.
Если существует предел n-й интегральной суммы указанного вида при n стремящемся к бесконечности, так что наибольший из участков разбиения стремится к нулю, то то этот предел называют определенным интегралом функции f(x), на отрезке ab и обозначают:
а,b - нижний и верхний пределы интегрирования.
Основные свойства определенного интеграла
1) Интеграл от суммы равен сумме интегралов (конечное число слагаемых)
2)Постоянный множитель можно выносить за знак постоянного интеграла:
3)Если поменять местами пределы интегрирования, знак интеграла измениться на противоположный:
4)Какие бы ни были числа a,b,c:
5)Свойство об оценке определенного интеграла:
Если м и М соответственно наименьшее и наибольшее значения функции f(x) на ab, то справедлива следующая оценка:
Вычисление методом трапеций
Для того, чтобы вычислить интеграл 1) по методу трапеций, необходимо определить число n – частей, на которые необходимо разбить криволинейную трапецию, чтобы достичь требуемой точности (три знака после запятой).
Предположим, есть некая криволинейная трапеция. Разбиваем криволинейную трапецию сначала на произвольное число частей n, то есть получаем n1- обыкновенных трапеций. Рассчитываем суммарную площадь трапеций (S1). Далее разбиваем криволинейную трапецию на n2>n1 частей и также рассчитываем суммарную площадь трапеций (S2). Следующий шаг – вычисление разности S2-S1. Eсли |
S2-S1|<=0.001, то вычисления можно прервать и взять за искомую площадь (значение интеграла) площадь S
2. Если |S2-S1|>0.001, то S1:=S2, N1:=N2,N2:=N2*2, до тех пор, пока не будет достигнута требуемая точность.
Расчетная формула метода трапеций:
где
Y-функция интеграла;
A-нижний предел интеграла;
B- верхний предел интеграла;
H-точность ;
N-количество итераций;
Расчетная формула метода Симпсона:
S=(h/3)*(y0+4*(y1+y3+…+yn-1)+2*(y2+y4+…+yn-2)+yn)
S-результат вычисления;
h-точность ;
y0-начальное значение полученное от нижнего предела;
yn-значение полученное от верхнего предела;
1.2 Среда программирования
При выборе программного средства разработки своей программы я остановился на DELHI. Почему?
Для начала истории.
Delphi - это греческий город, где жил дельфийский оракул. И этим именем был назван новый программный продукт с феноменальными характеристиками. Шесть месяцев назад компания Borland представила на суд программистской общественности новый программный продукт, о котором к моменту его выхода ходило множество слухов. Первая версия продукта явилась результатом разработки, которая велась компанией в обстановке строжайшей секретности в течение двух с половиной лет. Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре "клиент-сервер". Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).
В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.
Основной упор этой модели в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать.
В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Для начала - неплохо. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, советуем, прежде чем попытаться начинать решать проблему "с нуля", просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм в настоящее время превышает число 250, хотя, возможно, я не обо всех знаю. Скептики, возможно, не поверят мне, когда я скажу, что на Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Тем не менее, это так. Во многом это объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.