Program qw; uses crt; Type Atlas=Record country,capital:string; area,people:real; end; ps=File of atlas; Var f:ps; z,t:atlas; Begin assign(f,'1.dat'); rewrite(f); z.country:='Латвия'; z.area:=67.7; z.people:=2.6; z.capital:='Рига'; write(f,z); z.country:='Литва'; z.area:=65.2; z.people:=3.4; z.capital:='Вильнюс'; write(f,z); z.country:='Польша'; z.area:=313; z.people:=34.8; z.capital:='Варшава'; write(f,z); z.country:='Украина'; z.area:=603.7; z.people:=50; z.capital:='Киев'; write(f,z); z.country:='Россия'; z.area:=17075.4; z.people:=139; z.capital:='Москва'; write(f,z); Close(f); assign(f,'1.dat'); reset(f); read(f,t); while not(eof(f)) do begin read(f,z); if t.people/t.area < z.people/z.area then t:=z; end; close(f); writeln('Cтранa с наибольшей плотностью населения:'); writeln(t.country,' (плотность населения равна ',t.people/t.area:9:6,' млн на кв.км)'); end.
Program MashaLukianova; uses crt; const n=12; var mas:array[1..n] of integer; b,i,left,right,temp:integer; begin writeln('*** alphaues is thinking... ***'); writeln('*** OK ***'); writeln(); write('Введите загадочное число B '); readln(b); writeln('Элементы массива:'); {создание и вывод начального массива} randomize; for i:=1 to n do begin mas[i]:=random(100)-50; write (mas[i]:4); end; writeln(); left:=0; right:=n; while left <> right do {просматриваем массив с концов к середине, пока "левый" и "правый" текущие элементы не встретятся} begin if mas[left+1]<=b then
{если текущий "левый" элемент меньше или равно В, то просто идём смотреть следующий } begin left:=left+1; end else if mas[right]>=b then {если текущий "правый" элемент больше или равно В, то просто идём смотреть следующий }
begin right:=right-1; end else
{иначе меняем "левый" и "правый" местами} begin temp:= mas[left+1]; mas[left+1]:=mas[right]; mas[right]:=temp; left:=left+1; right:=right-1; end; end; writeln(); {вывод массива-результата} for i:=1 to n do begin write (mas[i]:4); end; writeln(); end.
Program qw;
uses crt;
Type
Atlas=Record
country,capital:string;
area,people:real;
end;
ps=File of atlas;
Var f:ps;
z,t:atlas;
Begin
assign(f,'1.dat');
rewrite(f);
z.country:='Латвия'; z.area:=67.7;
z.people:=2.6; z.capital:='Рига';
write(f,z);
z.country:='Литва'; z.area:=65.2;
z.people:=3.4; z.capital:='Вильнюс';
write(f,z);
z.country:='Польша'; z.area:=313;
z.people:=34.8; z.capital:='Варшава';
write(f,z);
z.country:='Украина'; z.area:=603.7;
z.people:=50; z.capital:='Киев';
write(f,z);
z.country:='Россия'; z.area:=17075.4;
z.people:=139; z.capital:='Москва';
write(f,z);
Close(f);
assign(f,'1.dat');
reset(f);
read(f,t);
while not(eof(f)) do
begin
read(f,z);
if t.people/t.area < z.people/z.area then t:=z;
end;
close(f);
writeln('Cтранa с наибольшей плотностью населения:');
writeln(t.country,' (плотность населения равна ',t.people/t.area:9:6,' млн на кв.км)');
end.
Program MashaLukianova;
uses crt;
const n=12;
var
mas:array[1..n] of integer;
b,i,left,right,temp:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
write('Введите загадочное число B ');
readln(b);
writeln('Элементы массива:');
{создание и вывод начального массива}
randomize;
for i:=1 to n do
begin
mas[i]:=random(100)-50;
write (mas[i]:4);
end;
writeln();
left:=0;
right:=n;
while left <> right do {просматриваем массив с концов к середине, пока "левый" и "правый" текущие элементы не встретятся}
begin
if mas[left+1]<=b then
{если текущий "левый" элемент меньше или равно В, то просто идём смотреть следующий }
begin
left:=left+1;
end
else
if mas[right]>=b then
{если текущий "правый" элемент больше или равно В, то просто идём смотреть следующий }
begin
right:=right-1;
end
else
{иначе меняем "левый" и "правый" местами}
begin
temp:= mas[left+1];
mas[left+1]:=mas[right];
mas[right]:=temp;
left:=left+1;
right:=right-1;
end;
end;
writeln();
{вывод массива-результата}
for i:=1 to n do
begin
write (mas[i]:4);
end;
writeln();
end.