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

При решении любой задачи человеку приходится выполнять следующие действия:

  • определение исходных данных (что дано в задаче);
  • определение результатов (что нужно получить);
  • обработка исходных данных в соответствии с известными правилами так, чтобы получить результат;
  • проверка и анализ полученного результата.

При решении задач по физике и химии, их принято оформлять соответствующим образом (пример 18.1).

Применяя данные правила к решению задачи по программированию получим следующие этапы решения задачи:

I Определение исходных данных.
II Определение результатов.
III Составление алгоритма решения задачи.
IV Определение типов данных для переменных, используемых при реализации алгоритма.
V Написание программы.
VI Тестирование программы.
VII Анализ результатов

В примере 18.2 описанные этапы отображены в виде блок-схемы.

Тестирование программы – это проверка правильности работы программы при разных наборах исходных данных

Анализ данных предполагает проверку правильности результата работы программы. Он может выполняться различными способами: вручную, с помощью технических средств, программно. Для каждой задачи, рассматриваемой далее, будем описывать все эти этапы.

18.1. Вычисление значения арифметического выражения

Пример 18.3. Даны x, y, z. Написать программу для вычисления значения выражения

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

I. Определение исходных данных: переменные x, y, z.
II. Определение результатов: переменная a.
III. Алгоритм решения задачи.

1. Ввод исходных данных.
2. Вычисление значения выражения.
3. Вывод результата.

IV. Описание переменных: все переменные, определенные для решения задачи, имеют тип float.

В приведенном примере для каждой команды ввода записан текст, с пояснениями о том, значение какой переменной нужно вводить. 

При написании программ для вычисления значения арифметического выражения часто допускают следующие ошибки (пример 18.4)

18.2. Использование языка программирования для решения задач

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

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

I. Определение исходных данных: переменная а (длина стороны).
II. Определение результатов: переменные S (площадь) и P (периметр).
III. Алгоритм решения задачи.

1. Ввод исходных данных.
2. Вычисление значений площади производится по формуле 𝑆 = 𝑎2 и периметра по формуле 𝑃 = 4𝑎.
В программе этим формулам будут соответствовать команды присваивания: S = a ** 2 и P = 4 * a.
3. Вывод результата.

IV. Описание переменных: все переменные имеют тип float.

Обратите внимание на запись операторов присваивания, соответствующих математическим формулам.

Пример 18.6. Напишите программу для решения физической задачи. Расстояние между двумя городами s км. Самолет пролетает это расстояние за t часов. Определите скорость самолета.

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

I. Определение исходных данных: переменные s (расстояние) и t (время).
II. Определение результатов: переменная v (скорость).
III. Алгоритм решения задачи.

1. Ввод исходных данных.
2. Согласно формуле расстояния: 𝑠 = 𝑣𝑡.
Отсюда выразим v:

3. Вывод результата.

IV. Описание переменных: все переменные, имеют тип float.

В программе можно использовать комментарии – текст, который не анализируется при запуске программы на выполнение.

Текст после символов # считается комментарием и выделяется на экране красным цветом. В комментариях удобно записывать условие задачи и пояснения к командам (пример 18.7).

Пример 18.1. Оформление задач.
Физика:

ФизикаХимия:

Химия

Слева записывается, что дано (определение исходных данных) и что нужно получить (определение результатов), справа – последовательность действий, приводящая к решению задачи (обработка исходных данных). Проверка и анализ полученного результата проводятся вручную.

Пример 18.2. Этапы решения задачи по программированию:

В программировании, в отличие от физики, химии и др., проверка правильности работы программы производится с помощью компьютерного тестирования.
Для анализа данных можно, например, произвести вычисления на калькуляторе. В промышленном программировании для проверки правильности работы одной программы часто пишется другая программа.

Пример 18.3.

V. Программа:

 x = float(input('x = '))
 y = float(input('y = '))
 z = float(input('z = '))
 a = (2 * x + y - z) / (3 + x * x)
 print('a =', a)

 

VI. Тестирование программы:

Запустите программу и введите значения: x = 2, y = 3.1, z = 4. Проверьте, результат должен быть следующим:

 x = 2
 y = 3.1
 z = 4
 a = 0.4428571428571428

VII. Проверить правильность вычислений можно на калькуляторе.
Все данные в программе были определены как рациональные числа. При тестировании допускается ввод и целых значений (переменные x и z), так как целые числа являются подмножеством рациональных.

Пример 18.4. Часто допускаемые ошибки.

Пример 18.5.

V Программа:

 a = float(input('a = '))
 S = a ** 2
 P = 4 * a
 print('площадь =', S)
 print('периметр =', P)

 

VI Тестирование программы:

Запустите программу и введите значение a=5.17

Проверьте, результат должен быть следующим:

 a = 5.17
 площадь = 26.7289
 периметр = 20.68

VII Правильность вычислений можно проверить на калькуляторе.

Пример 18.6.

V Программа:

 s = float(input('S = '))
 t = float(input('t = '))
 v = s / t
 print('скорость =', v)

 

VI Тестирование программы:

Запустите программу и введите значения s=3550 и t=4.
Проверьте, результат должен быть следующим:

 s = 3350
 t = 4
 скорость = 837.5

VII Правильность вычислений можно проверить на калькуляторе.

Пример 18.7. Программа с комментариями.

Для того чтобы сделать комментарием сразу несколько строк, нужно их выделить и выполнить команду Format → Comment Out Region или воспользоваться комбинацией клавиш Alt + 3. Команда вставит вначале каждой выделенной строки знаки ##. Команда Format → Uncomment Region (Alt + 4) превращает комментарии в обычный текст.Format

1. Перечислите основные этапы решения задачи по программированию.
2. Что понимают под тестированием программы?
3. Для чего можно использовать комментарии?

Упражнения

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

2. Напишите программу для решения геометрической задачи.

1. Найти длину окружности и площадь круга заданного радиуса.
2. *Найти угол при основание равнобедренного треугольника, если известен угол при вершине.

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

1. Велосипедист едет с постоянной скоростью v (км/ч). За сколько минут он проедет расстояние в S километров.
2. *Автомобиль проходит первую часть пути длиной S1 км за t1 минут, участок пути длиной S2 км за t2 минут и наконец, участок длиной S3 км за t3 минут. Найдите среднюю скорость автомобиля, выраженную в км/ч.

4. Напишите программу для решения химической задачи.

1. В организме человека на долю атомов кислорода приходится 65 % от массы тела. Найдите массу атомов кислорода для своей массы тела.
2. *Масса одного атома кислорода 2.656∙10−26 кг (это число в программе на языке Python записывается так: 2.656E-26, буква E – английская). Определите сколько атомов кислорода содержится в вашем теле.

 

Проверь себя