1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова
Задание 12 Параграф 1.4 ГДЗ Босова 9 класс 2023 (Информатика)
Босова
9 класс
Автор
Босова

Задание 12 Параграф 1.4 ГДЗ Босова 9 класс 2023 (Информатика)

Задача

Сортировка массива плотности населения производится методом «пузырька». Сортировка происходит по двум массивам: плотности населения и по данным этой сортировки меняется соответственно и массив названий стран.
const
N = 10;
var
name: array [1..N] of string = (‘Китай’, ‘Индия’, ‘Россия’, ‘Бразилия’, ‘Индонезия’, ‘Нигерия’, ‘Пакистан’, ‘США’, ‘Мексика’, ‘Бангладеш’);
k: array [1..N] of longint = (1411750000, 1414843757, 146424729, 215000000, 277329163, 214568727, 222903998, 301693000, 129150971, 165775000);//численность
s: array[1..N] of longint = (9598960, 3287590, 17075000, 8511970, 1919440, 1267000, 803940, 9363000, 1972550, 130170); // площадь
plt: array[1..N] of real; // плотность начеления
i, j: integer;
c: real;
st: string;
begin
for i := 1 to 10 do
plt[i] := k[i] / s[i];//формирование массива плотности населения
for i := 1 to 10 do //сортировка по плотности
for j := i + 1 to 10 do
if plt[i] > plt[j] then
begin
c := plt[j]; plt[j] := plt[i]; plt[i] := c;
st := name[j]; name[j] := name[i]; name[i] := st;
end;
for i := 1 to 10 do writeln(name[i]:10, ‘ ‘, plt[i]:15:2);
end.
Окно вывода:
Россия 8.58
Бразилия 25.26
США 32.22
Мексика 65.47
Индонезия 144.48
Китай 147.07
Нигерия 169.35
Пакистан 277.26
Индия 430.36
Бангладеш 1273.53

Подробный ответ

Сначала для каждой страны находим плотность населения по формуле $$\rho = \frac{K}{S}$$, где $$K$$ — численность населения, $$S$$ — площадь страны.

Затем сортируем массив плотностей по возрастанию методом «пузырька». При перестановке элементов массива плотностей одновременно меняем местами и названия стран в массиве name.

const
  N = 10;
var
  name: array [1..N] of string = (‘Китай’, ‘Индия’, ‘Россия’, ‘Бразилия’, ‘Индонезия’, ‘Нигерия’, ‘Пакистан’, ‘США’, ‘Мексика’, ‘Бангладеш’);
  k: array [1..N] of longint = (1411750000, 1414843757, 146424729, 215000000, 277329163, 214568727, 222903998, 301693000, 129150971, 165775000);
  s: array [1..N] of longint = (9598960, 3287590, 17075000, 8511970, 1919440, 1267000, 803940, 9363000, 1972550, 130170);
  plt: array [1..N] of real;
  i, j: integer;
  c: real;
  st: string;
begin
  for i := 1 to N do
    plt[i] := k[i] / s[i];

  for i := 1 to N do
    for j := i + 1 to N do
      if plt[i] > plt[j] then
      begin
        c := plt[j]; plt[j] := plt[i]; plt[i] := c;
        st := name[j]; name[j] := name[i]; name[i] := st;
      end;

  for i := 1 to N do
    writeln(name[i]:10, ‘ ‘, plt[i]:15:2);
end.

После сортировки страны выводятся в порядке возрастания плотности населения:

Россия — 8.58
Бразилия — 25.26
США — 32.22
Мексика — 65.47
Индонезия — 144.48
Китай — 147.07
Нигерия — 169.35
Пакистан — 277.26
Индия — 430.36
Бангладеш — 1273.53

Ответ

Россия, Бразилия, США, Мексика, Индонезия, Китай, Нигерия, Пакистан, Индия, Бангладеш.



Общая оценка
4.8 / 5
Другие учебники
Другие предметы