Програмування задачі Б

 

Виконання задачі Б. Порядок дій і команддо виконання в лабораторній роботі умовної богатофайлової компіляції програмних модулів.

Крок 1. Копіюємо файли програмних модулів для умовної компіляції:

Ø Створіть папку Lab2_B на диску D:\ у папці Lab2;

Ø Cкопіюйте файли Input_abE.cpp, Avt_step. cpp, Sum_ord. cpp з папки Lab2_A2 в папку Lab2_B.

Крок 2. Створюємо текст файлу F_x_B.cpp у папці Lab2_B:

Запишіть у файл F_x_B.cpp наступні оператори і коментарі

/* F_х_B.cpp */

//--Необхідно зняти коментар для обраного методу інтегрування,

//-- щоб виконувалась умовна компіляція

//----#define METOD ('PR') /* Метод прямокутників*/

//----#define METOD ('TR') /* Метод трапецій*/

#define F(x) sqrt(0.3*x+1.2)/(1.6*x+sqrt(x*x+0.5))

Крок 3. Активізуємо програмного майстра (помічника) Consol Wіzard і проект файлів програми С++:

Ø Виконайте команду New у меню Fіle в керуючому вікні С++ Buіlder, щоб відкрилося вікно New Іtems, де виберить Consol Wіzard;

Ø Установить у вікні Consol Wіzard опцію С++ і збережить налаштування через ОК. В результаті у вікні С++ Buіlder буде показана назва Project2, а у заголовку вікна редактора коду буде назва Unіt1.cpp і у полі редактора коду буде записаний у програму наступний шаблон:

//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

return 0;

}

//---------------------------------------------------------------------------

Ø Виконайте в меню Fіle команду Save Project As та змінюємо назву фалу Unіt1 на файл U_Lab2_B.cpp, а назву проекту Project2.bpr на назву P_Lab2_B.bpr.

Крок 4. Створюємо у вікні редактора коду програмний модуль U_Іnteg_pr.cpp для обчислення інтеграла до заданої функції F(x) по методу прямокутників:

/* U_Integ_prB.cpp */

//---------------------------------------------------------------------------

#include <vcl.h>

#include <system.hpp>

#include <stdio.h>

#include <math.h>

#include <conio.h>

float d[3];

float h;

#include "D:\Lab2\Lab2_B\Input_abE.cpp"

#include "D:\Lab2\Lab2_B\Avt_step.cpp"

#include "D:\Lab2\Lab2_B\Sum_ord.cpp"

//--------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{ float IL,IR;

clrscr();

input_data();

avt_step(d[0], d[1], d[2]);

gotoxy(33,11);

char S1[30],S2[30];

CharToOem("Визначення інтегралів\n",S1);

printf(S1);

IL=sum_ord(d[0], /* початок інтервалу інтегрування*/

d[1]-h, /* кінець інтервалу інтегрування*/

h)*h; /* h - крок зміни аргументу F(x)*/

IR=sum_ord(d[0]+h, /* початок інтервалу інтегрування*/

d[1], /* кінець інтервалу інтегрування*/

h)*h; /* h - крок зміни аргументу F(x)*/

CharToOem("\n ІНТЕГРАЛ ДОРІВНЮЄ", S2);

printf(S2);

printf("\n IL= %f",IL);

printf("\n IR= %f",IR);

printf("\n (IL + IR)/2 = %f",(IL+IR)/2);

getch();

return 0;

}

//---------------------------------------------------------------------------

Крок 5. Створюємо у вікні редактора коду програмний модуль U_Іnteg_tr.cpp для обчислення інтегралу до заданої функції F(x) по методу трапецій:

/* U_Integ_trB.cpp */

//---------------------------------------------------------------------------

#include <vcl.h>

#include <system.hpp>

#include <stdio.h>

#include <math.h>

#include <conio.h>

float d[3],h;

#include "D:\Lab2\Lab2_B\Input_abE.cpp"

#include "D:\Lab2\Lab2_B\Avt_step.cpp"

#include "D:\Lab2\Lab2_B\Sum_ord.cpp"

//--------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{ float Itr;

clrscr();

input_data();

avt_step(d[0], d[1], d[2]);

gotoxy(33,11);

char S1[30],S2[30];

CharToOem("Визначення інтегралів\n",S1);

printf(S1);

Itr=sum_ord(d[0], /* початок інтервалу інтегрування*/

d[1], /* кінець інтервалу інтегрування */

h)*h /* h - крок зміни аргументу F(x)*/

-0.5*F(d[0])*h /* корекція по ординаті F(a)*/

-0.5*F(d[1])*h; /* корекція по ординаті F(b)*/

CharToOem("\n ІНТЕГРАЛ ДОРІВНЮЄ", S2);

printf(S2);

printf("\n Itr = %f",Itr);

getch();

return 0;

}

//---------------------------------------------------------------------------------------------

Крок 6. Створюємо у вікні редактора коду основний програмний модуль U_Lab2_B.cpp з функциєю main():

/ * U_Lab2_B.cpp * /

//-------------------Умовна компіляція файлів--------------------

//--------------------закрита зона----------------------

#pragma hdrstop

//--------------------закрита зона----------------------

#include "F_x_B.cpp"

#ifdef METOD

#if METOD == 'PR'

#include "U_Integ_prB.cpp"

#else

#include "U_Integ_trB.cpp"

#endif

#else

#include <conio.h>

//--------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

clrscr();

window(10,10,80,25);

textcolor(WHITE+BLINK);

char S1[30],S2[30];

CharToOem("\n Інтеграл не обчислюється",S1);

сprintf(S1);

textbackground(YELLOW);

textcolor(BLACK);

gotoxy(12,4);

char S1[30],S2[30];

CharToOem("\n Ви забули задати метод інтегрування",S2);

сprintf(S2);

gotoxy(12,6);

textcolor(WHITE);

cputs(" У файлі -> F_x_B.cpp задайте метод інтегрування функції");

textmode(LASTMODE);

getch();

return 0;

}

#endif

//--------------------------------------------------------------------

Крок 7. У файлі F_x_B.cpp задаємо обчислення інтегралу методом прямокутників і перевіряємо правильність роботи програми С++:

Ø Виконайте умовну компіляцію командою Run або F9 для файлу U_Lab2_B.cpp і перевірте правильність роботи програми С++ у

вікні MS DOS для таких значень змінних: а = 10; b = 45; E = 0.2.

Крок 8. У файлі F_x_B.cpp задаємо обчислення інтегралу методом трапецій і перевіряємо правильність роботи програми С++:

Ø Виконайте умовну компіляцію командою Run або F9 для файлу U_Lab2_B.cpp і перевірте правильність роботи програми у вікні

MS DOS для таких значень змінних: а = 10; b = 45; E = 0.2.

Крок 9. Відновлюємо у файлі F_x_B.cpp наступні коментарі (не задаємо METOD)

//---- #define METOD ('PR') /* Метод прямокутників*/

//---- #define METOD ('TR') /* Метод трапеції*/

і перевіряємо правильність роботи програми С++:

Ø Виконайте умовну компіляцію командою Run або F9 для файлу U_Lab2_B.cpp і перевірте правильність роботи програми С++ у вікні MS DOS.

 

2.4 Контрольні питання до лабораторної роботи № 2

1. Пояснить призначення богатофайлової компіляції файлів при одержанні виконавчого коду прикладної програми.

2. Пояснить, яка компіляція файлів називається "умовною".

3. Як налаштовується C++ Buіlder для одержання виконавчого коду консольної програми С++ для роботи в MS DOS.

4. Які види вказівок препроцесору застосовуються при розробці програми С++ у лабораторній роботі № 2.

5. Яка функція виконує узгодження кодів для вивіду на дисплей написів шрифтом кирилиці у програмах для виконання в MS DOS.

6. Покажить, яким чином можна у програмі С++ використовувати

вказівку препроцесору #define Debug.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: