Предмет: Информатика, автор: kronofficial

В руки аналитика попала программа, которая выводит на экран число 6420. Однако при копировании исходного кода произошла ошибка. Помогите ему определить, что должно было быть на месте символа █. var

i,size:integer;

  r:array of char;

begin

size := ord('&') - ord('!');

setlength(r,size);

i := ord('+');

for i := (ord('$') - ord('$')) to 
(ord(
'%') - ord('!')) do

begin

r[i] := chr(ord('█') - ord(#9)- 
(ord(
'>') - ord('<')) * i);

end;

r[ord('.')-ord('*')] := 
chr(ord(
'~')-ord('~'));

for i := to size - do

write(r[i]);

end.

Ответы

Автор ответа: karicha2000
0
Знак "?"

если все расписать, то получится так:

size=5
for i:=0 to 4 do
  begin 
   r[i]:= chr(█-9-2*i)
  end;
r[4]= пустой
for i:=0 to 4 do 
write(r[i]);

Число 6420.
htmlкод 6 - 54, и его по идее достаточно, чтобы найти 

вернемся на строчку, где был 

r[i]:= chr(█-9-2*i)
r[0]:= chr(█-9-2*0)=chr(54) 
█-9=54
█=54+9=63
Cмотрим, какой знак находится под номером 63, и это  "?"

и, действительно, если подставить ? в программу и проверить, в конце выдает 6420 :) 
Приложения:
Похожие вопросы