Оқушы мұғалімге электронды пошта арқылы 15КБ болатын файлды жібереді. Егер желінің өткізу қабілеті 1024бит/сек болса, файлдың жіберілу уақытын анықтаңыз
Var f:file of char; C:char; k,s:integer; Begin Assign(f,'file.txt'); Reset(f); k:=0; s:=1; Write('Найденные числа:'); Repeat Read(f,C); if ('0'<=C)and(C<='9') then Begin k:=k+1; Write(' '); While ('0'<=C)and(C<='9')and Not Eof(f) do Begin Write(C); Read(f,C); if C=#13 then s:=s+1; End; End; Until Eof(f); Close(f); WriteLn; WriteLn('Их количество: ',k); WriteLn('Количество строк в файле: ',s); End.
Результат работы программы:
Найденные числа: 1 2 3 7 8 9 11 12 3 2 1 8 1 2 3 4 Их количество: 16 Количество строк в файле: 5
Чтобы программа работала данный файл должен находиться в одной папке с программой:
Для начала напишем максимальное трёхзначное число в восьмеричной системе. Так как в этой системе используются цифры от 0 до 7, то максимальным числом из трёх цифр будет 777₈
Теперь переведём это число в десятичную систему счисления. Для перевода умножаем содержимое каждого разряда на его "вес" (для первого разряда- 8 в нулевой степени, для второго- 8 в первой степени, итд). Получившиеся произведения складываем: 777₈ = 7*8^2 + 7*8^1 + 7*8^0 = 7*64 + 7*8 + 7*1 = 448 + 56 + 7 = 511₁₀
ответ: десятичное число 511.
Сам перевод можно было упростить, если переводить не 777₈ , а число на единицу большее, то есть 777₈ + 1 = 1000₈ Перевод этого числа проще: 1000₈ = 8^3 = 512₁₀ Осталось только отнять единицу, которую мы ранее добавили, и получим 511₁₀
Var
f:file of char;
C:char;
k,s:integer;
Begin
Assign(f,'file.txt');
Reset(f);
k:=0;
s:=1;
Write('Найденные числа:');
Repeat
Read(f,C);
if ('0'<=C)and(C<='9') then
Begin
k:=k+1;
Write(' ');
While ('0'<=C)and(C<='9')and Not Eof(f) do
Begin
Write(C);
Read(f,C);
if C=#13 then s:=s+1;
End;
End;
Until Eof(f);
Close(f);
WriteLn;
WriteLn('Их количество: ',k);
WriteLn('Количество строк в файле: ',s);
End.
Результат работы программы:
Найденные числа: 1 2 3 7 8 9 11 12 3 2 1 8 1 2 3 4
Их количество: 16
Количество строк в файле: 5
Чтобы программа работала данный файл должен находиться в одной папке с программой:
Теперь переведём это число в десятичную систему счисления.
Для перевода умножаем содержимое каждого разряда на его "вес" (для первого разряда- 8 в нулевой степени, для второго- 8 в первой степени, итд). Получившиеся произведения складываем:
777₈ = 7*8^2 + 7*8^1 + 7*8^0 = 7*64 + 7*8 + 7*1 = 448 + 56 + 7 = 511₁₀
ответ: десятичное число 511.
Сам перевод можно было упростить, если переводить не 777₈ , а число на единицу большее, то есть 777₈ + 1 = 1000₈
Перевод этого числа проще: 1000₈ = 8^3 = 512₁₀
Осталось только отнять единицу, которую мы ранее добавили, и получим 511₁₀