// PascalABC.NET 3.0, сборка 1076 begin var n:=ReadInteger('Число элементов массива='); var a:=ArrRandom(n,-25,25); Write('Исходный массив: '); a.Println; var k:=a.Where(x->sqr(x)>sqr(a[0])).Count; if k>0 then Writeln ('Найдено ',k,' элементов, квадрат которых больше квадрата первого') else Writeln ('Нет ни одного элемента, квадрат которого больше квадрата первого') end.
Тестовое решение: Число элементов массива=15 Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16 Найдено 7 элементов, квадрат которых больше квадрата первого
Условие задачи совершенно некорректное или авторы задачи не в теме или ты что-то напутала, но попробую хоть чем то Не понятно, освобождается ли тот кусок ОЗУ после его выгрузки на флешку.
Если НЕТ(а именно так чаще всего и бывает), то ответ - не изменится.
2. Если ДА, то не известно, этот кусок - буфер для загрузки только одного изображения, в который изображения последовательно считываются по одному, а затем по одному выгружаются на флешку, в конце буфер очищается.
2.1 Если алгоритм такой как описан, то ответ такой
Если до начала операции копирования было N байт свободно, то в процессе работы было (N-16К) свободно, а по окончании копирования опять N.
2.2 Если буфер больше одной фотографии, допустим, на m фотографий, то
До начала операции копирования было N свободных, во время копирования (N - m*16K) свободно, по окончанию копирования снова N.
Вот где-то так, ну а N зависит от многих факторов, а именно - физически установленный размер ОЗУ, занятая часть ОЗУ на момент запуска операции копирования, что зависит от типа ОС, запущенных процессов и пр.
Ну и ещё сама программа копирования ведь тоже размещается в ОЗУ и если её величина Р байт, то в процессе копирования(п. 2.2) будет свободно (N - m*16K-P) байт.
Так что ответ вот такой, потому что задача сформулирована, повторюсь, КРАЙНЕ НЕКОРРЕКТНО, без понимания происходящих процессов.
begin
var n:=ReadInteger('Число элементов массива=');
var a:=ArrRandom(n,-25,25);
Write('Исходный массив: '); a.Println;
var k:=a.Where(x->sqr(x)>sqr(a[0])).Count;
if k>0 then Writeln
('Найдено ',k,' элементов, квадрат которых больше квадрата первого')
else Writeln
('Нет ни одного элемента, квадрат которого больше квадрата первого')
end.
Тестовое решение:
Число элементов массива=15
Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16
Найдено 7 элементов, квадрат которых больше квадрата первого
Условие задачи совершенно некорректное или авторы задачи не в теме или ты что-то напутала, но попробую хоть чем то Не понятно, освобождается ли тот кусок ОЗУ после его выгрузки на флешку.
Если НЕТ(а именно так чаще всего и бывает), то ответ - не изменится.
2. Если ДА, то не известно, этот кусок - буфер для загрузки только одного изображения, в который изображения последовательно считываются по одному, а затем по одному выгружаются на флешку, в конце буфер очищается.
2.1 Если алгоритм такой как описан, то ответ такой
Если до начала операции копирования было N байт свободно, то в процессе работы было (N-16К) свободно, а по окончании копирования опять N.
2.2 Если буфер больше одной фотографии, допустим, на m фотографий, то
До начала операции копирования было N свободных, во время копирования (N - m*16K) свободно, по окончанию копирования снова N.
Вот где-то так, ну а N зависит от многих факторов, а именно - физически установленный размер ОЗУ, занятая часть ОЗУ на момент запуска операции копирования, что зависит от типа ОС, запущенных процессов и пр.
Ну и ещё сама программа копирования ведь тоже размещается в ОЗУ и если её величина Р байт, то в процессе копирования(п. 2.2) будет свободно (N - m*16K-P) байт.
Так что ответ вот такой, потому что задача сформулирована, повторюсь, КРАЙНЕ НЕКОРРЕКТНО, без понимания происходящих процессов.