41 байт
Объяснение:
Данные на карте = Код + Номер + Доп.Информация (25 байт)
Код: (1 код содержит 15 знаков)
Включает латинские буквы (большие и строчные) = 26×2, десятичные цифры = 10, и особые знаки из комплекта @#$%^&*() = 9
N = 26 × 2 + 10 + 9 = 72
N = 2^i
64 < 72 < 128
2^6 < 72 < 2^7 (берём большее)
i = 7 бит
1 код = 15 × 7 = 105 бит = 105 ÷ 8 = 13,125 (округляем в большую сторону) = 14 байт
Номер:
N = 1000
512 < 1000 < 1024
i = 10 бит
1 номер = 10 ÷ 8 = 1,25 (округляем в большую сторону) = 2 байта
Данные на карте = 14 байт (код) + 2 байта (номер) + 25 байт (доп.инф.) = 41 байт
ответ: 41 байт
uses crt;
type TRec = Record
FIO: String[20];
TEL: String[7]
end;
var rec: TRec; i:integer;
who:string; flag:boolean;
a: array [1..20] of TRec;
begin
a[1].FIO := 'Иванов Петр';
a[1].TEL := '+374844';
a[2].FIO := 'Крылова Света';
a[2].TEL := '+373129';
a[3].FIO := 'Соловей Иван';
a[3].TEL := '+370929';
//создай дальше до 10 сама
write('Write fio '); readln(who);
for i:=1 to 3 do
begin
if a[i].FIO = who then
begin
writeln('Номер ',who,' = ',a[i].TEL) ;
flag:=true;
end
else
flag:=false;
end;
if flag=false then
writeln('cannot find ',who);
readln;
end.