Var d:integer; const a=650; b=1; c=1000; begin write('Введите объём видеофайла в мегабайтах: '); readln(d); if d>a then write('Видеофайл не помещается на носитель информации"А"!',#10) else writeln('Памяти хватает для записи на носитель "А"! ',#10); if d>b then write('Видеофайл не помещается на носитель информации"B"!',#10) else writeln('Памяти хватает для записи на носитель "B"! ',#10); if d>c then write('Видеофайл не помещается на данный носитель информации"С"!',#10) else writeln('Памяти хватает для записи на носитель "C"! ',#10); readln; end.
И пояснение, как это работает, т.е. по сути алгоритм на русском языке. ArrRandom(30,0,1000) создает массив из 30 элементов и заполняет его случайными значениями из диапазона [0,1000]. Далее этот массив обрабатывается методом Println, который направляет значения элементов на вывод, разделяя их запятой с последующим пробелом и в конце вывода добавляет смену строки. Затем элементы массива проходят фильтр Where(x->Odd(x)), который пропускает через себя только те значения, которые удовлетворяют условию Odd(значение элемента)=True, а мы знаем, что Odd() возвращает True для нечетного аргумента. Далее фильтр элементы обрабатываются методом Average, который умеет принимать набор значений и возвращать их среднее. И наконец, процедура Writeln выводит полученное значение, предваряя его текстовым пояснением.
d:integer;
const
a=650;
b=1;
c=1000;
begin
write('Введите объём видеофайла в мегабайтах: ');
readln(d);
if d>a then write('Видеофайл не помещается на носитель информации"А"!',#10) else
writeln('Памяти хватает для записи на носитель "А"! ',#10);
if d>b then write('Видеофайл не помещается на носитель информации"B"!',#10) else
writeln('Памяти хватает для записи на носитель "B"! ',#10);
if d>c then write('Видеофайл не помещается на данный носитель информации"С"!',#10) else
writeln('Памяти хватает для записи на носитель "C"! ',#10);
readln;
end.
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016
begin
Writeln('Ср.арифм=',ArrRandom(30,0,1000).Println(', ').
Where(x->Odd(x)).Average)
end.
Тестовое решение:
611, 443, 634, 637, 44, 297, 286, 431, 130, 767, 388, 513, 827, 681, 619, 810, 586, 697, 206, 823, 294, 238, 354, 138, 411, 141, 873, 864, 715, 564
Ср.арифм=592.875
И пояснение, как это работает, т.е. по сути алгоритм на русском языке.
ArrRandom(30,0,1000) создает массив из 30 элементов и заполняет его случайными значениями из диапазона [0,1000]. Далее этот массив обрабатывается методом Println, который направляет значения элементов на вывод, разделяя их запятой с последующим пробелом и в конце вывода добавляет смену строки. Затем элементы массива проходят фильтр Where(x->Odd(x)), который пропускает через себя только те значения, которые удовлетворяют условию Odd(значение элемента)=True, а мы знаем, что Odd() возвращает True для нечетного аргумента. Далее фильтр элементы обрабатываются методом Average, который умеет принимать набор значений и возвращать их среднее. И наконец, процедура Writeln выводит полученное значение, предваряя его текстовым пояснением.