§ 2. Организация вычислений

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

Пример 2.2. Напишите программу для решения геометрической задачи. Задан квадрат с длиной стороны a. Найти его площадь и длину диагонали.

Этапы выполнения задания

I. Исходные данные: переменная a (длина стороны).

II.     Результат: переменные  S (площадь) и d (длина диагонали).

III. Алгоритм решения задачи.

1. Ввод исходных данных.
2. Вычисление значений площади производится по формуле S = a2 длины диагонали — по формуле d = begin mathsize 18px style space straight a square root of 2 end style.
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; begin mathsize 16px style y space equals space h space equals space fraction numerator g t squared over denominator 2 end fraction end style. Тогда begin mathsize 16px style t space equals space square root of fraction numerator 2 h over denominator g end fraction end root end style.

3. Начальная скорость вычисляется по формуле begin mathsize 16px style v subscript 0 equals l over t end style. Значение скорости, с которой камешек вошел в воду, можно вычислить по формуле v space equals space square root of v subscript x superscript 2 space plus space v subscript y superscript 2 end root.

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. Тестирование программы. Введите значение  a = 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. Контекстное меню рабочей области: