Program n_58;
var
s: array[1..10] of real = (244.1, 357, 132, 43.1, 504.8, 301.2, 312.7, 92.0, 337, 551); // площадь
gn: array[1..10] of real; // густота населения
k: array[1..10] of real = (58100, 81200, 10300, 5190, 39100, 57200, 38500, 9800, 5060, 57800); // количество
n: array[1..10] of string = ('Великобритания', 'Германия', 'Греция', 'Дания', 'Испания', 'Италия', 'Польша', 'Португалия', 'Финляндия', 'Франция');
i, j: integer;
x: real;
r: string;
begin
for i := 1 to 10 do gn[i] := k[i] / s[i];
for i := 1 to 10 do
for j := i + 1 to 10 do
if gn[i] > gn[j] then
begin
x := gn[j];gn[j] := gn[i];gn[i] := x;
r := n[j];n[j] := n[i];n[i] := r;
end;
for i := 1 to 10 do writeln(n[i], ' ', gn[i]:0:2);
end.
Собственно чтобы представить число в двоичную систему счисления, необходимо разделить его на максимально целую часть, которая при умножении на 2 давала нам ближайшее значение к этому числу. Т.е.
число 243: если мы умножим 121 на 2: 121*2=242;Т.е. 121 умноженное на 2 и есть ближайшее число к 243, но им не является, т.к. остаток 1, мы записываем его ниже и делим число дальше. Вспоминаем деление столбиком и высчитываем (во вложении). Также, есть более быстрое и продуктивное высчитывание (во вложении). В обоих решениях выписывание остатков происходит в обратном порядке для верного ответа.
Нужно натиском все цифры числа а затем сравнивать в цикле 1 с последним затем второе с предпоследний и так далее...
Выкидываем буквы, получаем кан сер
Выходит сканер
<span>D:\Материалы к урокам\10 класс\Практические работы
перешел выше, значит </span><span>D:\Материалы к урокам\10 класс
спустился в </span><span>D:\Материалы к урокам\10 класс\Лекции
</span>удалил файл "введение", значит полное имя файла D:\Материалы к урокам\10 класс\Лекции\введение.
<span>*a*e.?
*a?e.*</span>