с заданием все испробовала не могу расшифровать. Необходимо прочитать послание: >, разгадав для этого шифр. Известно, что буква > зашифрованного послания, соответствует букве > исходного текста послания.
Что касается ошибки в строке 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');
Объяснение:
Что касается ошибки в строке 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.
program raf105;
var
s,word1: string;
s2:array of string;
i,pointcount: integer;
begin
write('Введите искомое слово: ');
readln(word1);
writeln('Введите строку с предложениями, которые заканчиваются точкой');
readln(s);
for i:=1 to length(s) do
if s[i]='.'
then pointcount:= pointcount + 1;
writeln;
writeln('Предложения в которых найдено искомое слово:');
s2:= s.ToWords(#46);
for i:=0 to pointcount-1 do
if s2[i][1]=' '
then delete(s2[i],1,1);
for i:=0 to pointcount-1 do
if pos(lowercase(word1),lowercase(s2[i])) <> 0
then writeln(s2[i],'.');
end.
PascalABC 3.4.2