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; var x, z: byte; const p = 12; a = 6; b = 10; c =11; begin x: = (p*(p-a)*(p-b)*(p-c))^(1/2); z: =sqrt(x); writeln(x,z); end. и через "sqrt"- оператор не хочет выдавать корень из х. что я не так делаю? подскажите.
148
287
Ответы на вопрос:
Если не ошибаюсь, то x и z являются типа byte. требовать от переменных этого типа извлечение корня неправильно. так как это по определению целые положительные числа, размером до 256. от переменной, из которой извлекают корень, требуется тип значения - действительное число. так что лучше сразу объявить эти две переменные типа double (похоже так в паскале). в первом же случае лучше извлечь корень с операции sqrt. снова, если не ошибаюсь, операция возведения в степени в паскале довольно трудоемка что ли. она определяется через exp и ln. так что лучше не заморачиваться, а воспользоваться оператором sqrt.
3. pascal var s, a: integer; g: longint; begin s: =0; readln(g); while g > 0 do begin a: =g mod 10; g: =g div 10; s: =s+a; end; writeln(s) end.
Популярно: Информатика
-
Nagoshkaa21.04.2023 09:50
-
КристинаСоболева09.06.2020 02:05
-
муза200731.12.2022 21:15
-
alinanamcat1202.05.2020 06:44
-
gurulezz125711.06.2022 19:16
-
ExLuSsiVe15.07.2020 04:17
-
ееее7019.10.2022 23:03
-
AngelChan200411.10.2022 23:43
-
Вейпер22813.03.2021 18:02
-
megapunzaru20021.06.2020 03:20