Результат: ученик выполняет числовые преобразования в осмысленной точке вычисления, применяет операции Math, выбирает правило округления и отделяет хранимое значение от его пользовательского или машинного представления.
Содержание:
-
Различить неявные и явные преобразования
- расширяющее преобразование без явного синтаксиса;
- сужающее преобразование через приведение типа;
- проверка допустимости преобразования компилятором;
- преобразование значения и неизменность исходной переменной;
- невозможность считать любое расширение полностью без потерь.
-
Проследить преобразование целых типов
- знаковые и беззнаковые диапазоны;
- сужение и отбрасывание старших битов в непроверяемом контексте;
- использование
checkedдля обнаружения непредставимого результата; - преобразование до арифметической операции, а не только после неё.
-
Проследить преобразование дробных типов
- целое в
float,doubleиdecimal; - дробное значение в целый тип с отбрасыванием дробной части;
- потеря точности при переходе к менее точному типу;
- явная граница между
decimalи двоичными дробными типами; - недопустимость преобразования как замены предметной проверки диапазона.
- целое в
-
Использовать базовые операции
MathAbs,Min,MaxиClamp;Pow,Sqrtи другие требуемые функцией задачи операции;Floor,CeilingиTruncate;- предусловия математической операции;
- проверка конечности и представимости результата.
-
Выбирать правило округления
Math.Round; число знаков;MidpointRounding; банковское и направленное округление;- различие округления, усечения, пола и потолка;
- округление только в предметно определённой точке;
- опасность повторного округления промежуточных результатов.
-
Отделить значение от представления
- интерполяция строк;
- стандартные форматы
G,F,N,E,PиX; - форматирование числа без изменения хранимого значения;
- машинное представление и человекочитаемый отчёт;
- явное указание числа знаков только при наличии требования.
-
Управлять культурой форматирования
- текущая культура пользователя;
CultureInfo.InvariantCultureдля машинных данных;- десятичный разделитель и разделитель групп;
- согласование культуры записи и последующего разбора;
- устойчивое представление для контрольных и файловых данных.
-
Проверять полную цепочку вычисления
- тип каждого промежуточного выражения;
- место явного преобразования;
- момент округления;
- формат вывода;
- независимое восстановление либо проверка результата.

