1. Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы. Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. В каталоге находятся 5 файлов: fort.docx; ford.docx; lord.doc; orsk.dat; port.doc. Определите, по какой из масок из них будет отобрана указанная группа файлов: fort.docx; ford.docx; lord.doc; port.doc. 1) *o?*.d?* 2) ?o*?.d* 3) *or*.doc? 4) ?or?.doc?
С процедурами и функциями (высосано из пальца, ибо не нужно) // PascalABC.NET 3.2, сборка 1400 от 13.03.2017 // Внимание! Если программа не работает, обновите версию!
function ArrMin(a:array of integer):=a.Min;
procedure NewSequence(a:array of integer; del:integer; var s:sequence of integer); begin s:=a.Where(x->x<>del) end;
begin var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println; var b:sequence of integer; NewSequence(a,ArrMin(a),b); b.Println end.
fort.docx; ford.docx; lord.doc; port.doc.
1) *o?*.d?*
2) ?o*?.d*
3) *or*.doc?
4) ?or?.doc?
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var m:=a.Min;
var b:=a.Where(x->x<>m); b.Println;
end.
Пример
n= 30
-3 6 -2 5 -1 -10 3 9 8 5 2 9 4 -10 8 10 6 9 -8 4 -7 2 10 -7 -7 -5 1 2 0 -3
-3 6 -2 5 -1 3 9 8 5 2 9 4 8 10 6 9 -8 4 -7 2 10 -7 -7 -5 1 2 0 -3
С процедурами и функциями (высосано из пальца, ибо не нужно)
// PascalABC.NET 3.2, сборка 1400 от 13.03.2017
// Внимание! Если программа не работает, обновите версию!
function ArrMin(a:array of integer):=a.Min;
procedure NewSequence(a:array of integer; del:integer; var s:sequence of integer);
begin
s:=a.Where(x->x<>del)
end;
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var b:sequence of integer;
NewSequence(a,ArrMin(a),b);
b.Println
end.