Var s:string; m,mn,m1,m2:set of char; i,k,l:integer; begin writeln('Введите последовательность русских слов:'); readln(s); m:=['Б','б','В','в','Г','г','Д','д','Ж','ж','З','з','Й','й','Л','л','М','м','Н','н','Р','р']; k:=0; for i:=1 to length(s) do if not (s[i] in ['А'..'Я','а'..'я',' ','.']) then k:=k+1; if k>0 then writeln('Ошибка ввода') else begin while pos(' ',s)>0 do delete(s,pos(' ',s),1); if s[length(s)]='.' then s[length(s)]:=' '; k:=0; mn:=[]; m1:=m; m2:=m; for i:=1 to length(s) do begin mn:=mn+[s[i]]; if s[i]=' ' then begin k:=k+1; if k mod 2=1 then m1:=m1*mn else m2:=m2*mn; mn:=[]; end; end; mn:=m1-m2; print(mn); end; end.
Пример: Введите последовательность русских слов: напечатать в алфавитном порядке звонкие буквы. {н}
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018 // Внимание! Если программа не работает, обновите версию!
begin var L:='бвгджзйлмнр'.ToList; var s:=ReadlnString; var p:=Pos('.',s); if p>0 then s:=s[:p]; var aw:=s.ToWords; var i:=1; while i<=aw.Length-1 do begin var L1:=L.ToList; foreach var c in L1 do if not aw[i-1].Contains(c) then L.Remove(c) else if aw[i].Contains(c) then L.Remove(c); i+=2 end; if L.Count>0 then L.Println(',') else Writeln('Нет звонких согласных, удовлетворяющих условию') end.
program fdjh;
uses crt;
var
F:text;
in_name, z:string;
max,n,i,d:integer;
begin
writeln('Введiть iм`я файлу');
read(in_name);
assign(F,in_name);
rewrite(F);
writeln('Введiть розмiр файлу');
read(n);
for i:=1 to n do
begin
d:=random(101)-25;
z := inttostr(d);
write(F,z+#13#10);
end;
close(F);
reset(F);
max := -25;
while not eof(F) do
begin
readln(F,z);
d := StrToINt(z);
if (d > max) and (d mod 4 = 0) then
max:=d;
end;
if max = -25 then writeln('Максимальний кратний 4 в файлі не існує')
else writeln('Максимальний кратний 4 = ',max);
close(F);
end.