Сегодня мы продолжаем работу с темой "Информационная технология работы в табличном процессоре". Выполняем расчёты в табличном процессоре. Вам предстоит решить задачу по расчёту блокадного пайка.
Для этого вам надо:
1. Найти в интернете дневную норму выдачи хлеба в блокадном Ленинграде в расчёте на одного взрослого работающего, иждивенца, ребенка.
2. Рассчитать калорийность пайка.
3. Установить соответствие этого пайка современным нормам.
4. Найти и рассчитать калорийность любого доступного в блокаду блюда (например, салат из одуванчиков, щи из крапивы и др.)
5. Суммировать калорийность пайка и выбранного блюда.
6. Установить месячную норму получаемых калорий и дефицит.
Внимание! Если программа не работает, обновите версию!
function Sod(Self:integer):integer; extensionmethod;
begin
Result:=0;
while Self<>0 do begin
Result+=Self mod 10;
Self:=Self div 10
end
end;
function IsGood(Self:integer):boolean; extensionmethod;
begin
var sd:=Self.Sod; Result:=True;
for var i:=2 to 9 do begin
Result:=(i*Self).Sod=sd;
if Result=False then Exit
end
end;
begin
var (a,b):=ReadInteger2;
Range(a,b).Where(t->t.IsGood).Println
end.
Пример
1 1000
9 18 45 90 99 180 198 297 396 450 495 549 594 693 792 819 891 900 909 918 945 990 999
Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=(7,5);
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Cols.Select(col->col.Min).ToArray; b.Println;
var fn:='Результат задачи 1.1.txt';
var f:Text;
Assign(f,fn); Rewrite(f);
for var i:=0 to m-1 do begin
for var j:=0 to n-1 do Write(f,a[i,j]:4);
Writeln(f)
end;
for var i:=0 to n-1 do Write(f,b[i]:4);
Writeln(f);
f.Close
end.