
Где ошибка!!!!! var b,N:integer; var d:integer; var g,h:real; begin readln(N); b:=0; for d:=1 to
N do begin h:=d; if sqrt(h) mod 1 =0 then b:=b+1; end; write(' ',b); end.

Ответы на вопрос

Ответ:
Объяснение:
ошибка тут
if sqrt(h) mod 1 =0
оператор mod - возвращает остаток от деления (a mod b), причём a,b - целые.
В Вашем случае sqrt(h) - вернёт не целое число, а вещественное. Поэтому возникает ошибка совместимости типов
если нужно узнать целое ли число получается после корня, можно так
a:=sqrt(h)
a-trunc(a)
тут находим разницу между числом а и целой частью числа а.



Код, который вы предоставили, содержит ошибки. Вот подробное объяснение:
Ошибка 1:
В строке `write('+',b);` вы пытаетесь использовать оператор `+` для конкатенации строки и числа. Однако, в Pascal для конкатенации строк используется оператор `+`, а для сложения чисел используется оператор `+`. Чтобы исправить эту ошибку, замените `write('+',b);` на `write('+', b);`.Ошибка 2:
В строке `if sqrt(h) mod 1 = 0 then b:=b+1;` вы пытаетесь использовать оператор `mod` для проверки, является ли результат деления `sqrt(h)` на `1` равным `0`. Однако, в Pascal оператор `mod` используется только для целочисленных операндов. Чтобы исправить эту ошибку, замените `if sqrt(h) mod 1 = 0 then b:=b+1;` на `if frac(sqrt(h)) = 0 then b:=b+1;`.Ошибка 3:
В строке `h:=d;` вы присваиваете переменной `h` значение переменной `d`. Однако, вам нужно присвоить переменной `h` квадратный корень из `d`. Чтобы исправить эту ошибку, замените `h:=d;` на `h:=sqrt(d);`.Исправленный код будет выглядеть следующим образом:
```pascal var N, b, d: integer; h: real; begin readln(N); b := 0; for d := 1 to N do begin h := sqrt(d); if frac(h) = 0 then b := b + 1; end; write('+', b); end. ```
Теперь код должен работать правильно и выводить количество чисел, квадратный корень которых является целым числом.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili