Программирование на языке программирования Turbo Pascal

Автор работы: Алексей Живолуп, 19 Октября 2010 в 00:28, курсовая работа

Описание

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

Содержание

нет

Работа состоит из  1 файл

Введение.doc

— 36.50 Кб (Скачать документ)

Введение 

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

 

      1. Описание программы. 

      1.1 Описание основной части программы. 

      Как и все программы на языке  Turbo Pascal, наша программа(приложение 1) начинается с заголовка, со слов Program <название программы>( в данном случае Jeave_Kurs). Далее идет директива Uses c необходимыми нам модулями (CRT и GRAPH) – это необходимо для того чтобы указать с какими операторами и устройствами мы будем работать.

      После заголовка идет раздел описаний, где мы вводим данные нам функции, с помощью оператора1 Function. После идет описание переменных оператором Var. В нашем случае  почти все переменные типа Real (рациональные), за исключением двух переменных, они типа Integer (целые). Далее следует ряд процедур.

      После процедур идет основная часть программы. Начинается она с оператора Begin и заканчивается оператором End, которые являются операторными скобками. Начинаем программу оператором очистки экрана Clrscr. Далее, помимо всех процедур мы должны вывести на экран координаты Х точек пересечения графиков, и найти разность значений функций в данных точках. Это мы делаем с помощью оператора присваивания «:=» и оператора вывода на экран Writeln. Также в основной программе мы перечисляем все процедуры, которые нам надо выполнить в необходимой последовательности. Заканчиваем программу, как уже писалось выше, оператором End, и ставим точку(что не мало важно)! 

      1.2 Процедура GRF.  

      Данная  процедура служит для инициализации  графического режима. Переменная gd – указывает сведения о типе монитора, а переменная gm – указывает путь, где найти модуль graph. 

      1.3 Процедура RIS. 

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

      Начинается  процедура также с описания переменных, далее идет сама процедура. Сначала мы задаем координаты точки начала координат(в пикселях), далее с помощью оператора Line мы чертим оси координат. В скобках через запятую указываются начальные и конечные координаты курсора(в виде: Line(x0,y0,x1,y1)). Далее находим цену деления получившихся осей. После, с помощью цикла с параметром (For), делаем риски на наших осях, и оператором Outtextxy подписываем их (в скобках после координат надписи пишется текст, которым мы хотим подписать). Для того чтобы подписать риски по порядку и в цикле, мы меняем тип переменной i на string. Далее мы переносим наш курсор в начальную точку первого графика ( оператор moveto), и задаем цикл для построения графика. График строим оператором Lineto (линия из одной точки в другую). Для того чтобы график получился более плавным – делим каждый интервал оси на 40 частей.

      Аналогично  строим график второй функции.

      Далее точно так же оператором Outtextxy подписываем получившиеся графики. 

      1.4 Процедура TOCH. 

      Данная  процедура служит для нахождения координат точек пересечения графиков функций. Будем использовать метод половинного деления.

      Нам дан отрезок АВ. Находим середину отрезка: x = (A+B)/2, и вычисляем значения функций в этой точке. Из двух полуинтервалов выбирается тот, на концах которого разности значений функций имеют разные знаки. Например:                (f(a)-g(a))*(f(x)-g(x))<0, b:=x и рассматриваем отрезок ax, иначе a:=x и рассматриваем отрезок xb. Это повторяется до тех пор, пока ширина отрезка не достигнет минимального значения e.

      Сходимость  метода гарантируется за известное  количество шагов.

      |a-b|≤e  за один раз e=(b-a)/2, тогда за n раз  e=(b-a)/2n,

                2n = (b-a)/e,

                                                      ln(2)*n = ln((b-a)/e),

                                                      n = ln((b-a)/e)/ln(2).

      Вводим с клавиатуры значения А и В (координаты между которыми находится точка пересечения графиков. Это делаем оператором Writeln. После находим разности значения функций в данных точках (fa и fb), и задаем минимальную ширину интервала е. Далее определяем какое количество раз будет повторяться наш метод (цикл). Так как число должно быть целым, то необходимо применить оператор округления Round. После этого задаем цикл, в котором присутствует условный оператор  If. Если условие выполняется, то далее выполняется то действие, которое стоит после слова then, если же нет, то выполняется то, что стоит после слова else, и цикл выполняется заново, до тех пор пока ширина интервала не достигнет своего минимального значения.

      Вывод координат точек пересечения  на экран, мы выполняем в основной программе. 

      1.5 Процедура Int. 

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

      Для этого делим нашу фигуру на n частей, и находим сумму площадей этих частей:

      S = h/3*(y0+4y1+2y2+…+4yn-1+yn) = h/3*(y0+yn+4 ) =

      = h/3*(Sнач+C ),  где С сначала равно 4, а затем меняется по формуле:    С = 6-С.

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

      Теперь  выводим результат на экран (оператор Writeln). 

Информация о работе Программирование на языке программирования Turbo Pascal