В программке Паскаль ошибка в n3...... Как поправить ? И описание.
В программке Паскаль ошибка в n3...... Как поправить ? И описание.
Условия для программки были такие : Программка, которая проверяет состоит ли трёхзначное число из одинаковых цифр ( к примеру 555)
Var n,n1,n2,n3:integer;
begin;
readln (n);
n1:=n mod 10;
n:=n div 10;
n2:=n mod 10;
n3:=n div100
if (n1=n2) and (n2=n3) then writeln ('Y') else writeln ('N');
end.
Разъяснение:
Что дотрагивается ошибки в строке n3, то быстрее всего проблема в пропущенной ";".
Исправленная строчка: n3:=n div 100;
А что дотрагивается задачки, то она не удовлетворяет условию, так как:
1. В строке "n:=n div 10;" переприсваиваете значение переменной "n". То есть, если при начале работы программки мы вводим "999", то в строке "n:=n div 10;" значение переменной "n" уже будет не "999", а "99". От этого идет и иная ошибка.
2. Учитывая предшествующий пункт, то строчка "n3:=n div 100" является ошибочной. Потому что переменная "n" одинакова 99 и, применяя операцию "div 100", получаем "0", так как при целочисленном делении 99 на 100 мы получаем "0". Из-за этого программка будет работать неправильно.
Решение заморочек:
Если желаете бросить тот же метод, то следует заместо переменной "n" в строке "n:=n div 10;" использовать иную переменную.
Пример исправной задачки:
Var n,n1,n2,n3, k :integer;
begin
readln (n);
n1:=n mod 10;
k:=n div 10;
n2:=k mod 10;
n3:=n div 100;
if (n1=n2) and (n2=n3) then writeln ('Y') else writeln ('N');
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.