§ 2. Арганізацыя вылічэнняў

2.2. Рашэнне задач

Прыклад 2.2. Напішыце праграму для рашэння геаметрычнай задачы. Зададзены квадрат з даўжынёй стараны a. Знайсці яго плошчу і даўжыню дыяганалі.

Этапы выканання задання

I. Зыходныя даныя: пераменная  (даўжыня стараны).

II. Вынік: пераменныя (плошча) і  (даўжыня дыяганалі).

III. Алгарытм рашэння задачы.

1. Увод зыходных даных.
2. Вылічэнне значэнняў плошчы выконваецца па формуле S = a2 даўжыні дыяганалі — па формуле d = «math style=¨font-family:`Courier New`¨ xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mstyle mathsize=¨18px¨»«mo»§#160;«/mo»«mi mathvariant=¨normal¨»a«/mi»«msqrt»«mn»2«/mn»«/msqrt»«/mstyle»«/math».
3. Вывад выніку.

IV. Апісанне пераменных: a, s, d — double.

Прыклад 2.3. Напішыце праграму для рашэння фізічнай задачы.

Хлопчык, які стаіць на беразе, кідае ў возера каменьчык. Пункт кідання знаходзіцца на вышыні h над паверхняй вады. Пачатковая скорасць каменьчыка v0 накіравана гарызантальна. Каменьчык падае ў ваду на адлегласці l ад берага. Вызначыце модуль пачатковай скорасці каменьчыка і модуль скорасці, з якой ён увайшоў у ваду.

Этапы выканання задання

I. Зыходныя даныя: пераменныя h і l (вышыня над паверхняй вады і адлегласць ад берага).

II. Вынік: пераменныя v0 і v (пачатковая скорасць і скорасць, з якой каменьчык увайшоў у ваду).

III. Алгарытм рашэння задачы.

1. Увод зыходных даных.

2. Каменьчык удзельнічае адначасова ў двух рухах: раўнамерным са скорасцю v0 па гарызанталі і роўнапаскораным без пачатковай скорасці па вертыкалі. У канцы палёту праекцыі хуткасці і каардынаты каменьчыка будуць: vx = v0; t; vy = gt; «math style=¨font-family:Arial¨ xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mstyle mathsize=¨16px¨»«mi»y«/mi»«mo»§#160;«/mo»«mo»=«/mo»«mo»§#160;«/mo»«mi»h«/mi»«mo»§#160;«/mo»«mo»=«/mo»«mo»§#160;«/mo»«mfrac»«mrow»«mi»g«/mi»«msup»«mi»t«/mi»«mn»2«/mn»«/msup»«/mrow»«mn»2«/mn»«/mfrac»«/mstyle»«/math». Тады«math style=¨font-family:Arial¨ xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mstyle mathsize=¨16px¨»«mi»t«/mi»«mo»§#160;«/mo»«mo»=«/mo»«mo»§#160;«/mo»«msqrt»«mfrac»«mrow»«mn»2«/mn»«mi»h«/mi»«/mrow»«mi»g«/mi»«/mfrac»«/msqrt»«/mstyle»«/math».

3. Пачатковая скорасць вылічваецца па формуле «math style=¨font-family:Arial¨ xmlns=¨http://www.w3.org/1998/Math/MathML¨»«msub»«mi»v«/mi»«mn»0«/mn»«/msub»«mo»=«/mo»«mfrac»«mi»l«/mi»«mi»t«/mi»«/mfrac»«mo».«/mo»«/math» Значэнне скорасці, з якой каменьчык увайшоў у ваду, можна вылічыць па формуле  «math style=¨font-family:Arial¨ xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mi»v«/mi»«mo»§#160;«/mo»«mo»=«/mo»«mo»§#160;«/mo»«msqrt»«msubsup»«mi»v«/mi»«mi»x«/mi»«mn»2«/mn»«/msubsup»«mo»§#160;«/mo»«mo»+«/mo»«mo»§#160;«/mo»«msubsup»«mi»v«/mi»«mi»y«/mi»«mn»2«/mn»«/msubsup»«/msqrt»«/math».

4. Вывад выніку.

IV. Апісанне пераменных: h, l, g, t, vy, v0, v — double.

Пры напісанні праграм зввяртайце ўвагу на фармаціраванне тэксту праграмы (прыклад 2.4).

1. У першай пазіцыі на экране пішуць толькі каманды  #include <iostream>, #include <cmath>, using namespace std;, int main() ставяць фігурныя дужкі, а астатнія каманды пішуць са зрухам на 2—4 пазіцыі ўправа.

2. Калі ў праграме некалькі частак, то іх можна аддзяліць адна ад адной пустым радком.

Для аўтаматычнага фармаціравання кода можна выкарыстаць каманду Format use AStyle з кантэкставага меню рабочай вобласці  (пыклад 2.5).

Прыклад 2.2.

V. Праграма:

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

  double a;

  cout << "vvedi a"<<endl;

  cin >> a;

  double s = a * a;

  double d = a * sqrt(2);

  cout << "s=" << s;

  cout << "  d=" << d << endl;

  return 0;

}

VI. Тэсціраванне праграмы. Увядзіце значэнне  = 2. Вынік:

Праверыць правільнасць вылічэнняў можна на калькулятары.

Прыклад 2.3.  

V. Праграма:

#include <iostream>

#include <cmath>

 

using namespace std;

 

int main()

{

  double h, l;

  cout << "vvedi h, l"<< endl;

  cin >> h >> l;

  double g = 10;

  double t = sqrt(2 * h / g);

  double vy = g * t;

  double v0 = l / t;

  double v = sqrt(v0*v0 + vy*vy);

  cout << "v0=" << v0;

  cout << "  v=" << v << endl;

  return 0;

}

 

VI. Тэсціраванне праграмы:

Запусціце праграму і ўвядзіце значэнні h = 1.8 і l = 4.8.

Результат должен быть следующим:

Праверыць правільнасць вылічэнняў можна на калькулятары.

У праграме можна выкарыстоўваць каментарыі — тэкст, які не аналізуецца пры запуску праграмы на выкананне. Тэкст пасля сімвалаў // лічыцца каментарыем і вылучаецца шэрым колерам. У каментарыях зручна запісваць умову задачы і тлумачэнні да каманд.

Прыклад 2.4. Праграма з каментарыямі і адфармаціраваным кодам:

Калі для каментарыяў выкарыстоўваць сімвалы ///, то яны вылучаюцца больш ярка. Зрабіць вылучаны блок каментарыем можна з дапамогай Crtl+Shift+C, зняць каментарый — Crtl+Shift+X,

Прыклад 2.5. Кантэкставае меню рабочай вобласці: