1) var f:text; a:array[1..7] of real; i,k,c,x:integer; s:string; begin for i:=1 to 7 do begin readln(x); a[i]:=x; end; assign(f,'file.txt'); rewrite(f); for i:=1 to 7 do begin str(a[i],s); writeln(f,s); end; close(f); reset(f); k:=0; while not eof(f) do begin readln(f,s); val(s,x,c); if x<0 then k:=k+1; end; close(f); if k<>0 then writeln('В массиве ',k,' отрицательных элемента(ов)'); else writeln('В массиве нет отрицательных элементов'); erase(f); end.
2) Var a,b,c,d:integer;
Function max(a,b:integer):integer; begin if a>b then max:=a else max:=b; end;
Begin readln(a,b,c,d); a:=(max(a,b)); b:=(max(c,d)); writeln('max=',max(a,b)); End.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ReadlnString('Введите строку:').Select(c->LowCase(c)); var nd:=s.GroupBy(c->c).Select(c->(c.Key,c.Count)).OrderBy(kv->kv[0]); var n:=nd.Count; nd.Select(kv->(kv[0],kv[1]/n)).ForEach(kv->Writeln(kv[0],' : ',kv[1]:5:3)) end.
Пример работы Введите строку: В чащах юга жил бы цитрус? Да, но фальшивый экземплярЪ! : 0.250 ! : 0.028 , : 0.028 ? : 0.028 а : 0.139 б : 0.028 в : 0.056 г : 0.028 д : 0.028 е : 0.028 ж : 0.028 з : 0.028 и : 0.083 й : 0.028 к : 0.028 л : 0.083 м : 0.028 н : 0.028 о : 0.028 п : 0.028 р : 0.056 с : 0.028 т : 0.028 у : 0.028 ф : 0.028 х : 0.028 ц : 0.028 ч : 0.028 ш : 0.028 щ : 0.028 ъ : 0.028 ы : 0.056 ь : 0.028 э : 0.028 ю : 0.028 я : 0.028
2. Школьное решение в стиле ТурбоПаскаль 1983г.
uses Crt; const uc:string[33]=''; lc:string[33]=''; var s:string; i,n,k,p:integer; mc:array[1..255] of char; mn:array[1..255] of byte; c:char; begin ClrScr; Write('Введите строку: '); Readln(s); n:=Length(s); for i:=1 to 255 do mn[i]:=0; k:=0; for i:=1 to n do begin c:=s[i]; p:=Pos(c,uc); if p>0 then c:=lc[p]; p:=Ord(c); if mn[p]=0 then begin mc[p]:=s[i]; mn[p]:=1; k:=k+1 end else mn[p]:=mn[p]+1 end; for i:=1 to 255 do if mn[i]<>0 then Writeln(mc[i],' : ',mn[i]/k:5:3); ReadKey end.
var f:text; a:array[1..7] of real; i,k,c,x:integer; s:string;
begin
for i:=1 to 7 do
begin
readln(x);
a[i]:=x;
end;
assign(f,'file.txt');
rewrite(f);
for i:=1 to 7 do
begin
str(a[i],s);
writeln(f,s);
end;
close(f);
reset(f);
k:=0;
while not eof(f) do
begin
readln(f,s);
val(s,x,c);
if x<0 then k:=k+1;
end;
close(f);
if k<>0 then writeln('В массиве ',k,' отрицательных элемента(ов)');
else writeln('В массиве нет отрицательных элементов');
erase(f);
end.
2)
Var a,b,c,d:integer;
Function max(a,b:integer):integer;
begin
if a>b then max:=a
else max:=b;
end;
Begin
readln(a,b,c,d);
a:=(max(a,b));
b:=(max(c,d));
writeln('max=',max(a,b));
End.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString('Введите строку:').Select(c->LowCase(c));
var nd:=s.GroupBy(c->c).Select(c->(c.Key,c.Count)).OrderBy(kv->kv[0]);
var n:=nd.Count;
nd.Select(kv->(kv[0],kv[1]/n)).ForEach(kv->Writeln(kv[0],' : ',kv[1]:5:3))
end.
Пример работы
Введите строку: В чащах юга жил бы цитрус? Да, но фальшивый экземплярЪ!
: 0.250
! : 0.028
, : 0.028
? : 0.028
а : 0.139
б : 0.028
в : 0.056
г : 0.028
д : 0.028
е : 0.028
ж : 0.028
з : 0.028
и : 0.083
й : 0.028
к : 0.028
л : 0.083
м : 0.028
н : 0.028
о : 0.028
п : 0.028
р : 0.056
с : 0.028
т : 0.028
у : 0.028
ф : 0.028
х : 0.028
ц : 0.028
ч : 0.028
ш : 0.028
щ : 0.028
ъ : 0.028
ы : 0.056
ь : 0.028
э : 0.028
ю : 0.028
я : 0.028
2. Школьное решение в стиле ТурбоПаскаль 1983г.
uses Crt;
const
uc:string[33]='';
lc:string[33]='';
var
s:string;
i,n,k,p:integer;
mc:array[1..255] of char;
mn:array[1..255] of byte;
c:char;
begin
ClrScr;
Write('Введите строку: ');
Readln(s);
n:=Length(s);
for i:=1 to 255 do mn[i]:=0;
k:=0;
for i:=1 to n do begin
c:=s[i];
p:=Pos(c,uc);
if p>0 then c:=lc[p];
p:=Ord(c);
if mn[p]=0 then begin
mc[p]:=s[i];
mn[p]:=1;
k:=k+1
end
else mn[p]:=mn[p]+1
end;
for i:=1 to 255 do
if mn[i]<>0 then Writeln(mc[i],' : ',mn[i]/k:5:3);
ReadKey
end.