Нельзя преобразовать тип real к integer.
integer содержит только целые числа, а real действительные.
Программа работать не будет.
64 символа - это 6 бит на хранение каждого, т.к.
2^6 = 64
Всего симовлов 100
информационная ёмкость сообщения 6*100 = 600 бит
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016
begin
var f:=OpenWrite('phones.txt');
var n:=ReadLnInteger('Количество номеров: ');
Writeln('Вводите номера телефонов в формате 8(xxx)xxx-xx-xx;');
var s:string;
for var i:=1 to n do begin
s:=ReadLnString(IntToStr(i)+':');
Writeln(f,s)
end;
f.Close;
var s1:=ReadLines('phones.txt').ToArray;
Writeln('Содержимое файла');
s1.Println(NewLine);
f:=OpenWrite('phones.txt');
foreach var e in s1 do begin
s:=e.Where(x->x in ['0'..'9']).JoinIntoString('');
Writeln(f,s)
end;
f.Close;
Writeln('Новое содержимое файла');
ReadLines('phones.txt').PrintLn(NewLine);
end.
<u><em>Тестовое решение:</em></u>
Количество номеров: 3
Вводите номера телефонов в формате 8(xxx)xxx-xx-xx;
1: 8(999)111-22-33
2: 8(888)222-33-44
3: 8(777)333-44-55
Содержимое файла
8(999)111-22-33
8(888)222-33-44
8(777)333-44-55
Новое содержимое файла
89991112233
88882223344
87773334455
<u>PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
Writeln((ReadInteger.ToString.Where(t->t='9')).Count=1)
end.
<u>Примеры</u>
35423
False
13290192
False
132903
True
39•27•35=36855(байт) - в этом тексте. в 1 килобаите=1024 баит. 36855÷1024=36(килобаит)-в тексте.