<em>Притянуто "за уши", но такое уж задание несуразное. Видимо, для старых версий языка.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
function Summa(a:array of integer):=a.Sum;
begin
var a:=ArrRandom(10,-99,99); a.Println; Writeln;
var b:=ArrRandom(20,-99,99); b.Println; Writeln;
var c:=ArrRandom(30,-99,99); c.Println; Writeln;
Writeln('S=',Summa(a)+Summa(b)+Summa(c))
end.
<u>Пример</u>
53 34 13 64 79 28 -98 -43 -19 23
96 -18 48 61 -70 -16 92 0 27 65 -68 -17 -77 90 -13 69 46 85 71 -44
-21 65 -56 31 56 25 37 50 -35 52 91 -94 12 -98 -51 -73 6 -31 -7 -32 35 -88 -53 63 -93 -29 11 22 -23 -89
S=244
Const mas : Array [0..6,0..8] Of String = (('Иванов Иван Иванович ', '1', '2', '3', '1', '5','3', '3', '2'), ('Петров Петр Петрович ', '5', '5', '5', '4', '5','5', '5', '5'), ('Сидаров Сидор Сидорович ', '3', '2', '3', '2', '2','2', '2', '1'), ('Алексеев Алексей Алексеевич ', '1', '2', '1', '1', '2','2', '2', '5'), ('Сергеев Сергей Сергеевич ', '2', '2', '5', '5', '5','5', '2', '3'), ('Степанов Степан Степанович ', '5', '5', '5', '4', '5','5', '5', '5'), ('Давыдов Давид Давидович ', '3', '3', '3', '3', '3','3', '3', '3')); var sr:real; // средний балл b:real;begin writeln('--------------------------------------------------------------------'); writeln('| ФИО |',' 1 |',' 2 |',' 3 |',' 4 |',' 5 |',' 6 |',' 7 |',' 8 |',' ср. |'); writeln('--------------------------------------------------------------------'); for var i:=0 to 6 do begin write('|'+mas[i,0]+'|'); sr:=0; for var j:=1 to 8 do begin write(' '+mas[i,j]+' |'); double.TryParse(mas[i,j],b); // строку в число sr:=sr+b; end; sr:=sr/8; write(sr:5:3); write('|'); writeln; end; writeln('--------------------------------------------------------------------'); end.
это, короче, решение диофантова уравнения: Ax - By = N
1. наливаем в A, переливаем в B, пока B не наполнится
2. выливаем из B
3. переливаем остаток из A в B
повторяем пункты 1-3, пока уровень в A или B не станет равным N
если решений нет, то НОД (A, B) не делит N нацело, так что алгоритм зацикливается.