
Предмет: Информатика
ГДЗ Учебник по Информатике 9 класс БосоваЗанесите информацию о десяти странах мира в массивы NAME
ЧАТ-БОТ: ГДЗ с нейронкой
§ 1.4 Обработка одномерных массивов целых чисел на языке Паскаль
Задание 12. Занесите информацию о десяти странах мира в массивы NAME (название страны), k (численность населения), S (площадь страны). Напишите программу, выводящую названия стран в порядке возрастания плотности их населения.
Программа на языке Паскаль:
program Zadacha12;
const
N = 10; // количество стран
var
NAME: array[1..N] of string; // массив для названий стран
k: array[1..N] of integer; // массив для численности населения
S: array[1..N] of real; // массив для площади стран
Density: array[1..N] of real; // массив для плотности населения
i, j: integer; // переменные для итерации
tempString: string; // временная переменная для обмена строками
tempInt: integer; // временная переменная для обмена численностью
tempReal: real; // временная переменная для обмена площадями
begin
// Ввод информации о странах
for i := 1 to N do
begin
Write('Введите название страны ', i, ': ');
ReadLn(NAME[i]); // ввод названия страны
Write('Введите численность населения страны ', i, ': ');
ReadLn(k[i]); // ввод численности населения
Write('Введите площадь страны ', i, ': ');
ReadLn(S[i]); // ввод площади страны
end;
// Вычисление плотности населения
for i := 1 to N do
begin
if S[i] <> 0 then // проверка на нулевую площадь
Density[i] := k[i] / S[i] // вычисление плотности населения
else
Density[i] := 0; // если площадь равна нулю, плотность = 0
end;
// Сортировка стран по плотности населения (пузырьковая сортировка)
for i := 1 to N - 1 do
for j := 1 to N - i do
if Density[j] > Density[j + 1] then
begin
// Обмен значениями плотности
tempReal := Density[j];
Density[j] := Density[j + 1];
Density[j + 1] := tempReal;
// Обмен названий стран
tempString := NAME[j];
NAME[j] := NAME[j + 1];
NAME[j + 1] := tempString;
// Обмен численности населения
tempInt := k[j];
k[j] := k[j + 1];
k[j + 1] := tempInt;
// Обмен площадей
tempReal := S[j];
S[j] := S[j + 1];
S[j + 1] := tempReal;
end;
// Вывод стран в порядке возрастания плотности населения
WriteLn('Страны в порядке возрастания плотности населения:');
for i := 1 to N do
begin
WriteLn(NAME[i], ': Плотность = ', Density[i]:0:2);
end;
end.
Программа на языке Python:
# Константа для количества стран
N = 10
# Инициализация списков для хранения названий стран, численности населения, площадей и плотности
NAME = [''] * N # Названия стран
k = [0] * N # Численность населения
S = [0.0] * N # Площадь стран
Density = [0.0] * N # Плотность населения
# Ввод информации о странах
for i in range(N):
NAME[i] = input(f'Введите название страны {i + 1}: ') # Ввод названия страны
k[i] = int(input(f'Введите численность населения страны {i + 1}: ')) # Ввод численности населения
S[i] = float(input(f'Введите площадь страны {i + 1}: ')) # Ввод площади страны
# Вычисление плотности населения
for i in range(N):
if S[i] != 0: # Проверка на нулевую площадь
Density[i] = k[i] / S[i] # Вычисление плотности населения
else:
Density[i] = 0 # Если площадь равна нулю, плотность = 0
# Сортировка стран по плотности населения (пузырьковая сортировка)
for i in range(N - 1):
for j in range(N - 1 - i):
if Density[j] > Density[j + 1]:
# Обмен значениями плотности
Density[j], Density[j + 1] = Density[j + 1], Density[j]
# Обмен названий стран
NAME[j], NAME[j + 1] = NAME[j + 1], NAME[j]
# Обмен численности населения
k[j], k[j + 1] = k[j + 1], k[j]
# Обмен площадей
S[j], S[j + 1] = S[j + 1], S[j]
# Вывод стран в порядке возрастания плотности населения
print('Страны в порядке возрастания плотности населения:')
for i in range(N):
print(f'{NAME[i]}: Плотность = {Density[i]:.2f}')