М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
57788
57788
11.03.2021 18:18 •  Информатика

Впрограмме паскаль ошибка в как исправить ? и описание. условия для программы были такие : программа, которая проверяет состоит ли трёхзначное число из одинаковых цифр ( например 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:=n div100

д.б. так: n3:=n div 10

4,8(89 оценок)
Ответ:
hnbgh7hyng
hnbgh7hyng
11.03.2021

Объяснение:

Что касается ошибки в строке 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.

4,5(41 оценок)
Открыть все ответы
Ответ:
taniataolia
taniataolia
11.03.2021
Program TaskA;
Var r1, r2: Integer;
Procedure S(r1, r2: Integer);
Var s: Real;
Begin
If r1 > r2 Then
s := Pi * (r1 * r1 - r2 * r2)
Else
s := Pi * (r2 * r2 - r1 * r1);
WriteLn('Площадь кольца: ', s:5:2);
End;
Begin
Write('r1 = ');
ReadLn(r1);
Write('r2 = ');
ReadLn(r2);
S(r1, r2);
ReadLn;
End.

Program TaskA;
Var r1, r2: Integer;
Function S(r1, r2: Integer): Real;
Begin
If r1 > r2 Then
result := Pi * (r1 * r1 - r2 * r2)
Else
result := Pi * (r2 * r2 - r1 * r1);
End;
Begin
Write('r1 = ');
ReadLn(r1);
Write('r2 = ');
ReadLn(r2);
WriteLn('Площадь кольца: ', S(r1, r2):5:2);
end.
4,6(71 оценок)
Ответ:
11Аслан11
11Аслан11
11.03.2021
Program TaskA;
Var r1, r2: Integer;
Procedure S(r1, r2: Integer);
Var s: Real;
Begin
If r1 > r2 Then
s := Pi * (r1 * r1 - r2 * r2)
Else
s := Pi * (r2 * r2 - r1 * r1);
WriteLn('Площадь кольца: ', s:5:2);
End;
Begin
Write('r1 = ');
ReadLn(r1);
Write('r2 = ');
ReadLn(r2);
S(r1, r2);
ReadLn;
End.

Program TaskA;
Var r1, r2: Integer;
Function S(r1, r2: Integer): Real;
Begin
If r1 > r2 Then
result := Pi * (r1 * r1 - r2 * r2)
Else
result := Pi * (r2 * r2 - r1 * r1);
End;
Begin
Write('r1 = ');
ReadLn(r1);
Write('r2 = ');
ReadLn(r2);
WriteLn('Площадь кольца: ', S(r1, r2):5:2);
end.
4,5(55 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ