Формулировка. Дано натуральное число меньше 256. Сформировать число, представляющее собой его квадрат.
Решение. Задача является аналогом задачи 2. Единственное отличие состоит в том, что условие данной задачи требует предварительное сохранение результата в некоторой переменной. Так как нам ничего не сообщается о необходимости сохранить исходное число, то для получения квадрата мы можем использовать ту же самую переменную, в которую считывали число с клавиатуры. Обозначим эту переменную как a.
В условии задачи дается ограничитель величины вводимого числа – фраза «меньше 256». Это означает, что оно может быть охвачено типом byte. Но что произойдет, если в переменную a будет введено число 255, и затем мы попытаемся присвоить ей его квадрат 65025? Естественно, это вызовет переполнение типа данных, так как используемой для переменной a ячейки памяти не хватит для того, чтобы вместить число 65025. Значит, для ее описания мы должны использовать более емкий числовой тип. При этом типом минимальной размерности, охватывающим данный отрезок (от 1 (это 12) до 65025), является тип word. Его мы и будем использовать при описании a.
Далее нужно сформировать в переменной a квадрат. Для этого присвоим ей ее прежнее значение, умноженное само на себя:
a := a * a;
Теперь остается вывести результат на экран. Для этого будем использовать оператор writeln.
Код:
- program SqrOfNum;
- var
- a: word;
- begin
- readln(a);
- a := a * a;
- writeln(a)
- end.