Для початку визначаємо площу острова на якому мешкають Робінзони: Plostr:=K*K;. Друга дія, що повинна виконуватись – наявність вільного місця на острові VSostr:=Plostr-S*P, і на останок, якщо вільне місце буде то розраховуємо кількість Робінзонів яка б могла розміститися на острові у випадку аварії корабля поблизу острова: KP:=VSostr div P. Визначаємо типи змінних. Так як за умовою задачі сторона острова та площі мають бути цілими числами більшими за нуль але не обмеженими по величині виберемо для них тип integer, кількість людей, що проживають на острові також число ціле і воно може бути більше ніж 255(тип byte) то залишається обрати також тип integer. В результаті ми також отримуємо числа цілі але можливо там будуть і від’ємні значення тому тип змінних визначаємо як integer.Var K, P, S, Plostr, VSostr, KP:integer; Begin Write (‘введіть кількість проживаючих на острові Робінзонів:’); Readln(P); Write (‘введіть довжину острова у метрах:’); Readln(K); Write (‘введіть площу, яка визначена законом для проживання одного Робінзона:’); Readln(S); Plostr:=K*K; VSostr:=Plostr-S*P; If VSostr < 0 then write(‘Права Робінзонів порушені, так як площі острова не достатньо’) Else Begin If Vostr=0 then write (‘На острові місця вистачить тільки для тих Робінзонів, які там вже проживають’) Else Begin KP:=VSostr div P; If KP>0 then write(‘ На острові можуть бути поселені ще ’,KP,’ Робінзон(ів)’) Else write(‘На острові місця вистачить тільки для тих Робінзонів, які там вже проживають ’); End; End; Readln; End.
Begin
Write (‘введіть кількість проживаючих на острові Робінзонів:’);
Readln(P);
Write (‘введіть довжину острова у метрах:’);
Readln(K);
Write (‘введіть площу, яка визначена законом для проживання одного Робінзона:’);
Readln(S);
Plostr:=K*K;
VSostr:=Plostr-S*P;
If VSostr < 0 then write(‘Права Робінзонів порушені, так як площі острова не достатньо’)
Else
Begin
If Vostr=0 then write (‘На острові місця вистачить тільки для тих Робінзонів, які там вже проживають’)
Else
Begin
KP:=VSostr div P;
If KP>0 then write(‘ На острові можуть бути поселені ще ’,KP,’ Робінзон(ів)’)
Else write(‘На острові місця вистачить тільки для тих Робінзонів, які там вже проживають ’);
End;
End;
Readln;
End.
обозначение:
ч - кол-во четвёрок
т - кол-во троек
д - количество двоек
пятёрок нет
по условию т+д=22
не провалившиеся = ч+22 > log2 3=log2 ((ч+22)/(ч+т))
инф-ный объём сообщения, что тройка = 2 битам >
2=log2 ((ч+22)/т)
Имеем систему трёх уравнений с тремя неизвестными:
т+д=22
log2 3=log2 ((ч+22)/(ч+т))
2=log2 ((ч+22)/т) >log2 4=log2 ((ч+22)/т)
Преобразуем:
система:
т+д=22
3=(ч+22)/(ч+т)
4=(ч+22)/т > ч+22=4т
т+д=22
3ч+3т=ч+22
4т=ч+22
т+д=22
3ч+3т=4т
4т=ч+22
т+д=22
3ч=т
12ч=ч+22
т+д=22
3ч=т
ч=2
ч=2 т=3ч=6 д=22-6=16
всего: 2+6+16=24 абитуриента
ответ 24