Var a,k1,k2,s:integer; begin writeln('Вводите целые числа. Конец ввода - 0'); k1:=0; k2:=0; s:=0; readln(a); while a<>0 do begin if (a mod 2 = 0)and(a<0) then k1:=k1+1; if a mod 2 <> 0 then begin k2:=k2+1; s:=s+a; end; readln(a); end; writeln('количество четных отрицательных чисел = ',k1); if k2>0 then writeln('среднее арифметическое нечётных чисел = ',s/k2) else writeln('в последовательности нет нечётных чисел'); end.
Пример: Вводите целые числа. Конец ввода - 0 18 -45 10 -62 70 0 количество четных отрицательных чисел = 1 среднее арифметическое нечётных чисел = -45
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017 // Внимание! Если программа не работает, обновите версию!
Нулевой шаг: создание типизированного файла нужной структуры
begin var f:file of real; Assign(f,'MyReal.bin'); Rewrite(f); loop 2 do begin SeqRandomInteger(10,1,100).Select(t->t/10).ForEach(t->Write(f,t)); SeqRandomInteger(10,-100,-1).Select(t->t/10).ForEach(t->Write(f,t)); end; f.Seek(0); // начало файла var b:real; while not Eof(f) do begin Read(f,b); Print(b) end; Println; f.Close end.
begin var f1,f2:file of real; Assign(f1,'MyReal.bin'); Reset(f1); if f1.FileSize mod 20<>0 then begin Writeln('Количество компонент во входном файле не кратно 20'); Exit end; Assign(f2,'MyReal2.bin'); Rewrite(f2); var buf:=new real[5]; var b:real; while not Eof(f1) do begin // переписываем пять положительных loop 5 do begin Read(f1,b); Write(f2,b) end; // считываем пять положительных в буфер for var i:=0 to 4 do Read(f1,buf[i]); // переписываем пять отрицательных loop 5 do begin Read(f1,b); Write(f2,b) end; // пишем пять положительных из буфера foreach var t in buf do Write(f2,t); // переписываем пять отрицательных loop 5 do begin Read(f1,b); Write(f2,b) end end; f1.Close; // контрольное чтение f2.Seek(0); // к началу while not Eof(f2) do begin Read(f2,b); Print(b) end; Writeln; f2.Close end.
Мощность алфавита N = 2^i = 512.
i = 9 бит — используется при кодировании одного символа данного текста.
I = n * i = 400 * 9 бит = 3600 бит.
Переведём полученный информационный объём из битов в байты. Для этого разделим число на 8.
I = 3600 бит = 3600 / 8 байт = байт.
ответ: I = 450 байт.