Складання програми табуляції функції х=f(а) при зміні а від amin до аmах з кроком da

Страницы работы

Содержание работы

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

СУМСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ

КАФЕДРА КОМП'ЮТЕРНИХ НАУК

ОБОВ’ЯЗКОВЕ ДОМАШНЄ ЗАВДАННЯ

з дисципліни

СИСТЕМНЕ ПРОГРАМУВАННЯ

ВАРІАНТ 14

Виконав: студент групи ІН-83

      Савченко О. О.

                                                                                Перевірив: Прохненко Ю.І.            

СУМИ 2011
Зміст

Завдання №1. 3

Постановка задачі 3

Опис виконання програми. 3

Приклад роботи програми. 4

Завдання №2. 6

Постановка задачі 6

Опис виконання програми: 6

Приклад роботи програми: 8

Завдання №3. 9

Постановка задачі 9

Приклад роботи програми: 11

Список літератури. 13

Завдання №1

Постановка задачі

Скласти програму табуляції функції при зміні а від amin до аmах з кроком da. При запуску програми повинне з'явитися діалогове вікно. В ньому, окрім кнопок Ok і Cancel, має бути стартова кнопка з написом «Пуск» і текстове вікно, в яке можна виводити результати у вигляді послідовності рядків (список). Окрім цього, мають бути три вікна відповідно для введення в них числових значень amin, ах, amах. При введенні цих даних і подальшому натисненні на кнопку «Пуск» в текстовому вікні повинні з'явитися результати роботи програми.

Опис виконання програми

1)  Start Page. Create:Project.

2)  Обираємо тип проекту (Project types) MFC, шаблон – MFC Application,
Name – 1.

3)  У вікні Application Type обираємо dialog based. Прибираємо прапорець Use Unicode libraries та натискаємо на Finish.

4)  Помістимо в діалогове вікно клавішу button1. Змінимо її назву на «Start».  Ім’я кнопки по замовчуванню IDC_BUTTON1 (properties - ID).

5)  Розмістимо в діалоговому вікні елемент ab|Edit Control. Це віконце для занесення мінімального значення аamin. Теж саме робимо для максимального значення аamax, кроку табуляції da. Поруч з кожним з цих вікон розмістимо елемент Aa| Static Text. Для кожного із них у рядку Caption вікна Properties вписати, відповідно, amin, amax, da, b, c.

6)  Помістити в діалоговому вікні елемент  List Box. Це вікно для занесення результатів.

7)  Додамо керовану змінну для кожного елементу Edit Control, та для List Box, у вікні його властивостей вимкнемо сортування строк (у рядку Sort  встановити false).

8)  Додамо обробник натискання кнопки «Start», для цього в режимі конструктора двічі клацнемо по ній. Відкриється файл з заготовкою обробника. Введемо в нього наступний  код:

  1. void CMy1Dlg::OnBnClickedButton1()
  2. {
  3.      CString buf;
  4.      double amin,amax,da,b = 5;
  5.      s_amin.GetWindowTextA(buf);
  6.      amin = atof(buf);
  7.      s_da.GetWindowTextA(buf);
  8.      da = atof(buf);
  9.      s_amax.GetWindowTextA(buf);
  10.      amax = atof(buf);
  11.      for (double a = amin; a <= amax; a += da)
  12.      {
  13.           if (a>=b)
  14.                if ((b<0) && ((a+sqrt(b))<0))
  15.                     buf.Format("No function values   for a = %7.3lf",a);
  16.                else
  17.                     buf.Format("f = %7.3lf   for a = %7.3lf",sqrt(b+pow(cos(a*b),2))/(a+sqrt(b)),a);
  18.           else
  19.                buf.Format("f = %7.3lf   for a = %7.3lf",exp(a*b)*pow(sin(a*b),3),a);
  20.           lb.AddString(buf);
  21.      }
  22. }

Програма готова.

Приклад роботи програми

При запуску програми з’являється вікно в якому вказуємо значення amin, amax, da та натискаємо на клавішу«Start».

Результат табуляції:

Завдання №2

Постановка задачі

Створити однодокументну Windows-програму на С++ISO/ANSI з використанням бібліотеки MFC. Передбачили створення користувачем нестандартного, тобто власного класу Book. В ньому передбачити елемент даних типу CString. В свою чергу, включити об'єкт цього класу як елемент даних в клас документу. Забезпечити процес серіалізації документу. Тобто потрібно забезпечити читання рядка символів, запис її на диск і подальше читання з диска.

Опис виконання програми:

1)  Start Page. Create:Project.

2)  Обираємо тип проекту (Project types) MFC, шаблон- MFC Application,
Name- 3.

3)  У вікні Application Type обираємо single document. Прибираємо прапорець Use Unicode libraries та натискаємо на Finish.

4)  Створемо клас Pen похідний від CObject та для нього атрибут value типу CString та функції input, output, clear, Serialize

  1. void Book::clear(void)
  2. {
  3.      value = "";
  4. }
  5.  
  6. void Book::output(CDC* pDC)
  7. {
  8.      pDC->TextOutA(0,0,value);
  9. }
  10.  
  11. void Book::input(CString v)
  12. {
  13.      value += v;
  14. }
  15.  
  16. void Book::Serialize(CArchive& ar)
  17. {
  18.      CObject::Serialize(ar);
  19.      if(ar.IsStoring())
  20.           ar << value;
  21.      else
  22.           ar >> value;
  23. }

5)  Для забезпечення роботи серіалізації додамо макрос DECLARE_SERIAL(Pen).  в файл Pen.h та IMPLEMENT_SERIAL(Pen, CObject, 0) в файл Pen.cpp

6)  Додамо об’єкт класу Pen до класу CMy3Doc.

7)  Змінимо функцію серіалізації класу CMy3Doс:

  1. void CMy3Doc::Serialize(CArchive& ar)
  2. {
  3.      text_book.Serialize(ar);
  4. }

8)  Забезпечимо занесення символів які вводяться з клавіатури в атрибут об’єкту класу  Pen. Для цього створимо обробник повідомлення натискання клавіші (у властивостях класу View  вкладка Messages)

  1. void CMy3View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
  2. {
  3.      CMy3Doc*pDoc = GetDocument();
  4.      ASSERT_VALID(pDoc);
  5.      if(!pDoc)
  6.           return;
  7.      pDoc->text_book.input(CString((char)nChar));
  8.      Invalidate();
  9.      pDoc->SetModifiedFlag();
  10.      CView::OnChar(nChar, nRepCnt, nFlags);
  11. }

Похожие материалы

Информация о работе