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

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

Задача

Рассмотрим вариант решения задания из учебника Босова 9 класс, Бином: 12. Занесите информацию о десяти европейских странах в массивы n (название страны), k (численность населения), s (площадь страны). Напишите программу, выводящую названия стран в порядке возрастания плотности их населения. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 9 bosova9 2-2/12 938

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

Нужно вычислить плотность населения для каждой страны по формуле $$p=\frac{k}{s}$$, а затем расположить страны по возрастанию полученных значений.

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

Страна$$k$$$$s$$$$p=\frac{k}{s}$$
Норвегия4,23850,0109
Эстония1,645,10,0355
Беларусь9,0181,90,0496
Литва3,765,20,0567
Болгария8,090,70,0883
Франция57,5561,80,1024
Польша38,0313,00,1214
Италия56,5301,20,1909
Германия80,0356,00,2247
Великобритания56,6244,10,2823

После сортировки по возрастанию плотности получаем порядок стран:

  1. Норвегия
  2. Эстония
  3. Беларусь
  4. Литва
  5. Болгария
  6. Франция
  7. Польша
  8. Италия
  9. Германия
  10. Великобритания

program kks;
const
  coint = 10;
  k: array[1..coint] of real = (4.2, 1.6, 9.0, 3.7, 8.0, 57.5, 38.0, 56.5, 80.0, 56.6);
  s: array[1..coint] of real = (385, 45.1, 181.9, 65.2, 90.7, 561.8, 313.0, 301.2, 356.0, 244.1);
  ni: array[1..coint] of string = (‘Норвегия’, ‘Эстония’, ‘Беларусь’, ‘Литва’, ‘Болгария’, ‘Франция’, ‘Польша’, ‘Италия’, ‘Германия’, ‘Великобритания’);
var
  n: array[1..coint] of string;
  p: array[1..coint] of real;
  px: real;
  nx: string;
  i, ix, j: integer;
begin
  for i := 1 to coint do
    n[i] := ni[i];

  for i := 1 to coint do
    p[i] := k[i] / s[i];

  for i := 1 to coint — 1 do
  begin
    ix := i;
    for j := i + 1 to coint do
      if p[j] < p[ix] then
        ix := j;
    px := p[i];
    nx := n[i];
    p[i] := p[ix];
    n[i] := n[ix];
    p[ix] := px;
    n[ix] := nx;
  end;

  for i := 1 to coint do
    writeln(n[i]:14, ‘ ‘, p[i]:8:4);
end.

Ответ: Норвегия, Эстония, Беларусь, Литва, Болгария, Франция, Польша, Италия, Германия, Великобритания.



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