Чисельне інтегрування функції

Автор: Пользователь скрыл имя, 29 Апреля 2014 в 10:20, курсовая работа

Краткое описание

Основна частина курсової робота містить чотири розділи, в яких розглянуто:
в першому розділі виконується аналіз задачі, що вирішується, а саме:
детальне вивчення завдання, доповнення необхідними додатковими умовами, формування виду вхідних даних та даних що необхідно отримати в результаті виконання програми,
вивчаються існуючі способі вирішення поставленої задачі в інформаційних джерелах та надається оцінка існуючим способам рішення;
обирається спосіб розв’язку, реалізації поставленої задачі.
в другому розділі здійснюється вибір технології та мови програмування
в третьому розділі розкривається творчій процес рішення, а саме:
розробка структурної схеми програми;
розробка інтерфейсу;
опис і розробка алгоритму розв’язку;
опис програми;

Оглавление

Реферат
1 Вступ
2 Основна частина
2.1 Аналіз розв’язуваної задачі
2.2 Дослідження джерел існуючої інформації
3 Вибір мови і технології програмування
4 Опис творчого процесу розв’язку задачі
4.1 Структура програмного виробу
4.2 Інтерфейс користувача
4.3 Розробка алгоритму програми
4.4 Опис програми
4.5 Структура файлів вхідних даних
4.6 Опис роботи програми
5 Вимоги до програмної та інформаційної сумісності
6 Висновок
7 Список використаних джерел

Файлы: 1 файл

Kursovaa(Денис).doc

— 295.00 Кб (Скачать)

 
РОЗРОБКА АЛГОРИТМУ ПРОГРАМИ

 

Блок-схеми процедур та функцій описані в додатках.

 

ОПИС ПРОГРАМИ

Основна програма

    1. ім’я — TERMPAPER
    • глобальні константи:

a — верхня межа інтегрування;

b — нижня межа інтегрування;

    • Типи користувача:

Відсутні.

    • Глобальні змінні:

h,x,integ:real;

klav:char – символ, що вводиться  з клавіатури.

s:char – значення змінної;

f1,f2,f3:text—текстові файли;

st:string — рядок інформації  про програму.

    1. Пиризначення — виводить на екран текстове меню за допомогою якого організовується діалог користувача і програми.

Процедури та функції

Функція FUNCTION F(x:real):real. Дана функція в собі містить рівняння F:=exp(1/x+sin(x)).

Процедура PROCEDURE WORK – це сам процес інтегрування функції, де а,b – межі інтегрування, які нам відомі і результат записує в файл.

Процедура PROCEDURE INPUT – це процес введення числа – кількості розбиттів, що вводимо з клавіатури. Перевіряємо на парність: якщо непарне, то додаємо одиницю і виконуємо процедуру WORK.

Процедура PROCEDURE INPUTFILE аналогічна до попередньої, але зчитування числа йде з файлу.

Процедура PROCEDURE EKRAN виконує виведення на екран з файлу по одному рядку результат роботи програми.

Процедура PROCEDURE PROPROG виконує виведення на екран з файлу по одному рядку інформацію про програму.

СТРУКТУРА ФАЙЛІВ ВХІДНИХ ТА ВИХІДНИХ ДАННИХ

Файл вхідних даних vvod.txt має таку структуру:

8

В рядку міститься кількість точок розбиттів графіка функції;

Вихідним файлом є файл rez.txt, який містить результат обчислення визначеного інтегралу функції.

 

ІНСТРУКЦІЯ КОРИСТУВАЧА

При запуску програми з'явиться Меню з наступними пунктами:

    • Обробка даних з клавіатури
    • Обробка даних з файлу
    • Вивести результат на екран
    • Про програму
    • Вихід

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

При виборі другого пункту меню  програма автоматично зчитає число яке було збережено у файлі vvod.txt. Після введення потрібно буде натиснути пробіл для виходу в головне меню.

Після вибору третього пункту на екран буде виведено результат обчислення інтегралу. Для завершення потрібно буде натиснути пробіл.

При виборі четвертого пункту меню «Про програму» користувач може побачити інформацію про саму програму та її розробника.

При виборі п'ятого пункту програма завершує своє функціонування.

 

ВИМОГИ ДО ПРОГРАМНОЇ ТА ІНФОРМАЦІЙНОЇ СУМІСНОСТІ

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

Комплект поставки:

    • kursova.exe- виконуваний файл;
    • kursova.pas – код програми;
    • start.bat – загрузочний файл;
    • vvod.txt – контрольний файл вхідних даних;
    • rez.txt – контрольний файл із результатом;
    • proprog.txt – файл з інформацією про програму.

Мінімальні апаратні вимоги:

Процесор – 120 МГц

300 Кб  оперативної пам’яті

100 Кб  місця на диску

Операційна система DOS або Windows

Операційна оболонка.

Для встановлення програми на комп’ютер потрібно створити на жорсткому диску папку , а потім скопіювати у неї перераховані вище файли.

Для завантаження програми потрібно запустити виконуваний файл start.bat з операційної оболонки NC або Far Manager.

 

ВИСНОВОК

У даній курсовій роботі вирішена задача інтегрування функції методом парабол. Розроблено алгоритм рішення поставленої задачі.

Складена і налагоджена програма мовою Pascal.

У процесі налагодження програми була отримана цілком працездатна програма.

Проведено тестування програми, проаналізовані отримані результати.

Аналіз результатів показав, що поставлена задача успішно розв’язується.

 

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

    1. Ляшенко М.Я., Головань М.С. Чисельні методи: Підручник. Либідь. 1996. – 288 с.
    2. Крылов В. И., Шульга А. Т. Справочная книга по численному интегрированию. – М.: Наука, 1966.
    3. Хемминг Р. В. Численные методы. – М.: Наука, 1972. – 399 с.
    4. Плис А.И., Сливина Н.А. Mathcad. Математический практикум для инженеров и экономистов: – М.: Финансы и статистика, 2003. – 656с.
    5. Крилов В. И. и др. Начала теории вычислительных методов. Интегральное уравнение, некорректные задачи и улучшение сходимости. – Минск: Наука и техника, 1984. –   263 с.
    6. Прикладные методы и программирование в численном анализе. – М.: Изд-во Моск. ун – ту, 1985. – 185 с.
    7. Вирт Н. Алгоритмы + структуры данных = программы. Пер. с англ. — М.:Мир 1985. —406с.
    8. Иванов Б.Н. Дискретная математика. Алгоритмы и программы: Учеб. пособие. — М.: Лаборатория Базовых Знаний, 2001 — 288с.
    9. Дискретная математика для программистов/ Ф.А.Новиков. — СПб.: Питер, 2001. — 304с.
 

ДОДАТКИ

Лістинг програми:

program TERMPAPER;

uses crt;

const punkt:array[1..5] of string[30]=

('Обробка  даних з клавiатури','Обробка даних  з файлу',

'Вивести результат на екран','Про програму','Вихiд');

VAR i,y:byte;

a,b,h,x,integ:real;

k:integer;

klav,s:char;

f1,f2,f3:text;

st:string;

FUNCTION F(x:real):real;

BEGIN

  F:=exp(1/x+sin(x));

END;

PROCEDURE WORK;

BEGIN

  a:=5;

  b:=15;

  h:=(b-a)/k;

  integ:=F(a)+F(b)+4*F(a+h);

  for i:=1 to (k div 2 ) -1 do

   begin

    x:=a+2*h*i;

    integ:=integ+2*F(x)+4*F(x+h);

   end;

  integ:=h*integ/3;

  assign(f1,'rez.txt');

  rewrite(f1);

  writeln(f1,integ);

  close(f1);

END;

PROCEDURE INPUT;

BEGIN

  write('Введiть  кiлькiсть(парне) => ');

  read(k);

   if (k mod 2)>0 then

    begin

     k:=k+1;

     writeln('Число не парне, тому було  замiнено на ',k);

    end;

  WORK;

END;

PROCEDURE INPUTFILE;

BEGIN

  assign (f2,'vvod.txt');

  reset(f2);

  while not eof (f2) do

   begin

    readln(f2,s);

   end;

  k:=ord(s)-48;

  if (k mod 2)>0 then

    begin

     k:=k+1;

     writeln('Число не парне, тому було  замiнено на ',k);

    end;

   close(f2);

   WORK;

END;

PROCEDURE EKRAN;

  var f1:text;

        s:string;

BEGIN

Assign (f1,'rez.txt');

reset(f1);

while not eof (f1) do

begin

readln(f1,s);

writeln(s);

end;

close(f1);

END;

PROCEDURE PROPROG;

BEGIN

  assign (f3,'proprog.txt');

  reset(f3);

  while not eof (f3) do

   begin

    readln(f3,st);

    writeln(st);

   end;

  close(f3);

END;

PROCEDURE ZASTAVKA;

BEGIN

  window(1,1,80,24);

  clrscr;

  textcolor(15);

  for i:=1 to 5 do

   Begin

    gotoxy(15,i*2);

    writeln(punkt[i]);

   End;

END;

PROCEDURE BLOKCURSOR;

ASSEMBLER;

ASM

MOV AH, 01

MOV CH, 32

MOV CL, 15

INT 10H

END;

PROCEDURE NORMALCURSOR;

ASSEMBLER;

ASM

MOV AH,01

MOV CH,14

MOV CL,15

INT 10H

END;

BEGIN

BLOKCURSOR;

y:=1;

ZASTAVKA;

repeat

  textcolor(12);

  gotoxy(13,y*2);

  write(chr(42));

  klav:=readkey;

  gotoxy(13,y*2);

  write(' ');

  if ord(klav)=72 then

   if y>1 then dec(y)

   else y:=5;

   if ord(klav)=80 then

    if y<5 then inc(y)

    else y:=1;

   if ord(klav)=27 then

    begin

     y:=5;

     klav:=chr(13);

    end;

   if (ord(klav)=13)and(y<5) then

    begin

     clrscr;

     case y of

      1:

      begin

       clrscr;

       NORMALCURSOR;

       textcolor(15);

       writeln(punkt[y]);

       INPUT;

       writeln('Для завершення натиснiть  пробiл');

        repeat until keypressed;

       clrscr;

       BLOKCURSOR;

       ZASTAVKA;

       klav:=chr(27);

      end;

      2:

      begin

       clrscr;

       NORMALCURSOR;

       textcolor(15);

       writeln(punkt[y]);

       INPUTFILE;

       writeln('Spase BAR');

        repeat until keypressed;

       clrscr;

      BLOKCURSOR;

       ZASTAVKA;

       klav:=chr(27);

      end;

      3:

      begin

       clrscr;

       NORMALCURSOR;

       textcolor(15);

       writeln(punkt[y]);

       EKRAN;

       writeln('Spase BAR');

        repeat until keypressed;

       clrscr;

       BLOKCURSOR;

       ZASTAVKA;

       klav:=chr(27);

      end;

      4:

      begin

       clrscr;

       NORMALCURSOR;

       textcolor(15);

       writeln(punkt[y]);

       PROPROG;

       writeln('Spase BAR');

        repeat until keypressed;

       clrscr;

       BLOKCURSOR;

       ZASTAVKA;

       klav:=chr(27);

      end;

     end;

    end;

UNTIL (ord(klav)=13)and(y=5)

END.

 

Блок-схеми:

  1. FUNCTION F


 

 
  1. PROCEDURE WORK


 

 
  1. PROCEDURE INPUT


 

 
  1. PROCEDURE INPUTFILE


 

 
  1. PROCEDURE EKRAN


 
  1. PROCEDURE PROPROG

Бердичів 2012


Информация о работе Чисельне інтегрування функції