Экономика

Имеется две ёмкости объёмом 7 литров и 4 литра. С ними можно выполнять следующие действия. 1) Налить воду в четырёхлитровую ёмкость, заполнив её целиком, – Н4. 2) Налить воду в семилитровую ёмкость, заполнив её целиком, – Н7. 3) Перелить воду из семилитровой ёмкости в четырёхлитровую – П4 (четырёхлитровая заполняется до конца либо из семилитровой выливается вся вода). 4) Перелить воду из четырёхлитровой ёмкости в семилитровую – П7 (семилитровая заполняется до конца либо из четырёхлитровой выливается вся вода). 5) Вылить всю воду из четырёхлитровой ёмкости – В4. 6) Вылить всю воду из семилитровой ёмкости – В7. Изначально обе ёмкости пустые. Пример. Выполнив последовательность действий Н7П4, получим 3 литра воды в семилитровой ёмкости и полностью заполненную четырёхлитровую ёмкость. Запишите последовательность не более чем из 5 команд, в результате выполнения которых в одной из ёмкостей окажется 1 литр воды, а вторая будет пустой. Если таких последовательностей можно составить несколько, то запишите любую из них. Ответ нужен срочно!
СРОЧНО!! ПАСКАЛЬ!! 20 Б Измените текст программы примера так, чтобы решалась следующая задача: Есть информация по студентам (фамилия, курс (1-5), 5 оценок за последнюю сессию). Вывести через запятую фамилии первокурсников, которые имеют средний балл, больший или равный 4. Program pr2; Type student = record {объявление нового типа данных student} LastName: string ; {фамилия студента} bal: array [1..5] of integer; {массив для 5-ти оценок} average: real {средний балл студента} end; Var pupil: array [1..100] of student; {массив pupil (максимум из 100 элементов) типа student} n,i,j,s : integer; {переменные целого типа} Begin write ('Введите количество студентов: '); readln(n); For i:=1 to n do begin {запрос данных по n студентам} with pupil[i] do begin Write ('Введите фамилию студента №', i ,': '); {запрос фамилии студента под номером i} Readln (LastName); s:=0; {целочисленная переменная для определения суммы баллов студента} For j:= 1 to 5 do begin {цикл для обработки 5-ти оценок каждого студента} write ('Введите оценку за экзамен №:', j, ': ' ); readln (bal [j] ); s := s+ bal[j]; {суммирование 5-ти оценок студента} end; average:= s/5; {определение среднего значения и запись в переменную average} end; end; writeln; writeln ( 'Студенты, имеющие средний балл больший или равный 4'); For i:=1 to n do begin if pupil[i].average >=4 then {если средний балл студента >=4} writeln (pupil[i].LastName, ' (средний бал ', pupil[i].average:4:1, ')'); {то вывод на экран фамилии студента и его среднего балла} end; end