12. Занесите информацию о десяти странах мира в массивы NАМЕ (название страны), K (численность населения), S (площадь страны). Напишите программу на Паскаль, выводящую названия стран в порядке возрастания плотности их населения.
Ответ
Программа на Паскале, которая сортирует страны в порядке возрастания плотности населения и выводит их названия:
program SortCountriesByPopulationDensity;
const
SIZE = 10; // Количество стран
type
Country = record
name: string;
population: Integer;
area: Real;
density: Real;
end;
var
countries: array[1..SIZE] of Country;
i, j: Integer;
tempCountry: Country;
procedure CalculateDensity(var country: Country);
begin
if country.area <> 0 then
country.density := country.population / country.area
else
country.density := 0;
end;
begin
writeln('Введите информацию о 10 странах:');
for i := 1 to SIZE do
begin
write('Название страны: ');
readln(countries[i].name);
write('Численность населения: ');
readln(countries[i].population);
write('Площадь страны: ');
readln(countries[i].area);
CalculateDensity(countries[i]);
end;
for i := 1 to SIZE - 1 do
begin
for j := i + 1 to SIZE do
begin
if countries[j].density < countries[i].density then
begin
tempCountry := countries[i];
countries[i] := countries[j];
countries[j] := tempCountry;
end;
end;
end;
writeln('Страны в порядке возрастания плотности населения:');
for i := 1 to SIZE do
writeln(countries[i].name);
end.
Программа предусматривает ввод информации о 10 странах, включая их названия, численность населения и площадь. Затем она рассчитывает плотность населения для каждой страны и сортирует страны в порядке возрастания плотности населения. Наконец, программа выводит названия стран в заданном порядке.