Определить для данной последовательности сумму компонентов, значения которых больше 0,4 - Pascal
Формулировка задачи:
Сформировать файл из значений случайных величин. Определить для данной последовательности сумму компонентов, значения которых больше 0,4.
Решение задачи: «Определить для данной последовательности сумму компонентов, значения которых больше 0,4»
textual
Листинг программы
var
f: File Of Real;
i, n: LongWord;
sum, fi: Real;
begin
Assign(f, 'f.dat'); Rewrite(f);
repeat
Write('Сколько чисел? ');
ReadLn(n);
until (n > 0);
Randomize;
for i := 1 to n do
Write(f, Random * 198 - 99);
Close(f); Reset(f);
sum := 0;
Write('Сгенерированная последовательность:');
while (Not EoF(f)) do
begin
Read(f, fi);
Write(' ', fi:0:2);
if (fi > 0.4)
then
sum := sum + fi;
end;
Close(f);
WriteLn; WriteLn('сумма=', sum:0:2);
end.
Объяснение кода листинга программы
- Создается переменная
fтипаFile Of Real, которая представляет собой файл, и переменныеi,n,sum,fiтипаRealдля хранения значений. - Открывается файл
f.datдля записи с помощью функции Assign(f, 'f.dat'); и Rewrite(f);. - Пользователю задается вопрос
Сколько чисел?, и введенное им значение сохраняется в переменнойn. - Повторять пока
nменьше или равно 0, пользователю задается вопрос о количестве чисел. - После ввода положительного значения, генерируется последовательность из
nчисел путем умножения случайного значения от 0 до 1 на 198 и вычета из него 99, эти числа записываются в файлf. - Файл
fсгенерирован и закрывается с помощью Close(f); и Reset(f); - Очищается переменная
sumи выводится сообщениеСгенерированная последовательность:. - Происходит чтение чисел из файла и вывод их на экран. Если значение числа
fiбольше чем 0.4, это значение суммируется с переменнойsum. - Файл
fзакрывается с помощью Close(f);. - На экран выводится сумма всех чисел, значения которых больше 0.4.