Вопрос по информатике:
Program tutor;
var
x: byte;
const
P = 12;
A = 6;
B = 10;
C =11;
begin
X:= (P*(P-A)*(P-B)*(P-C))^(1/2);
Writeln(x);
end.
Что в этой программе не так? Я хочу извлечь корень из х, а программа пишет "ОШИБОЧНЫЙ ИДЕНТИФИКАТОР".
Program tutor;/strong>
var
X, Z: byt
- 12.12.2017 01:13
- Информатика
- remove_red_eye 8739
- thumb_up 60
Ответы и объяснения 1
Если не ошибаюсь, то X и Z являются типа byte. Требовать от переменных этого типа извлечение корня неправильно. Так как это по определению целые положительные числа, размером до 256. От переменной, из которой извлекают корень, требуется тип значения - действительное число. Так что лучше сразу объявить эти две переменные типа double (похоже так в Паскале).
В первом же случае лучше извлечь корень с помощью операции sqrt. Снова, если не ошибаюсь, операция возведения в степени в Паскале довольно трудоемка что ли. Она определяется через exp и ln. Так что лучше не заморачиваться, а воспользоваться оператором sqrt.
- 13.12.2017 11:33
- thumb_up 19
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.