Сами программы не проверял, если они правильные, то
2)
program zak; uses crt;
type danie=record
litri:string;
cislo:string;
end;
DanieVodi=file of danie;
var DV:DanieVodi;
D:danie;
i,n:integer;
begin clrscr;
assign(DV,'d:\azaz.txt');
rewrite(DV);
repeat
writeln('BBeDuTe 4ucJlo u Mec9lTc oTTDeJl9l9l To4Kou'); readln(D.cislo);
writeln('BBeDuTe KoJlu4ecTBo IIoTpa4eHou BoDbl');
readln(D.litri);
if D<>'stop' then write(DV,D);
until D='stop';
close(DV);
readln;
<span>end.
</span>
1)
uses crt;
type danie=record
litri:string;
cislo:string;
<span><em>max,min:real;</em></span>
end;
DannieVodi=file of danie;
var DV:DannieVodi;
D:danie;
i,n:integer;
cislo1:string;
begin clrscr;
assign(DV,'d:\azaz.txt');
reset(DV);
write('BBeDuTe 4ucJlo u Mec9lTc oTTDeJl9l9l To4Kou:');
read(cislo1);
while not eof(dv) do
begin
read(DV,D);
if min='0' then min:=StrToFloat(D.cislo)<span>;
</span>if StrToFloat(D.cislo)<min then min:=StrToFloat(D.cislo);
<span>if StrToFloat(D.cislo)>max then max:=StrToFloat(D.cislo);
</span>
if cislo1=D.cislo then
writeln('6blJlo IIoTpa4eHo "',D.litri,'" JluTpoB BoDbi');
end;
writeln('min=',min);
<span>wtiteln('max=',max);
</span>
close(DV);
readln;
end.
Если это не учебная задача, то лучше сделать ее в Access. Там интерфейс красивый и дружелюбный легко получить.
Рассмотрим пример решения задачи:
<span>Однажды Винни-Пух захотел полакомиться медом и пошел к пчелам в гости. По дороге нарвал букет цветов, чтобы подарить труженицам пчелкам. Пчелки очень обрадовались, увидев мишку с букетом цветов, и сказали: «У нас есть большая бочка с медом. Мы дадим тебе меда, если ты сможешь с помощью двух сосудов вместимостью 3 л и 5 л налить себе 4 л!» Винни-Пух долго думал, но все-таки смог решить задачку. Как он это сделал?
</span>
<span><span><u>Решение:</u>
<span>Как в результате можно получить 4 л? Нужно из 5-литрового сосуда отлить 1 л. А как это сделать? Нужно в 3-литровом сосуде иметь ровно 2 л. Как их получить? – Из 5-литрового сосуда отлить 3 л.
Решение лучше и удобнее оформить в виде таблицы:</span></span>
<span><span>Ходы123456</span><span>5 л522-54</span><span>3 л-3-223</span></span>
</span>
<span>Наполняем из бочки 5-литровый сосуд медом (1 шаг). Из 5-литрового сосуда отливаем 3 л в 3-литровый сосуд (2 шаг). Теперь в 5-литровом сосуде осталось 2 литра меда. Выливаем из 3-литрового сосуда мед назад в бочку (3 шаг). Теперь из 5-литрового сосуда выливаем те 2 литра меда в 3-литровый сосуд (4 шаг). Наполняем из бочки 5-литровый сосуд медом (5 шаг). И из 5-литрового сосуда дополняем медом 3-литровый сосуд. Получаем 4 литра меда в 5-литровом сосуде (6 шаг). Задача решена.
Поиск решения можно было начать с такого действия: к трем литрам добавить 1 литр.</span> <span>Но тогда решение будет выглядеть следующим образом:
<span><span>Ходы12345678</span><span>5 л-335-114</span><span>3 л3-311-3<span>-( по этому примеру реши)
<span>
</span></span></span></span></span>
<u>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var (a,b):=ReadInteger2('Введите два целых числа через пробел:');
if (a+b).IsEven then Writeln(a*b)
else Writeln(a/b)
end.
Чтобы перевести число из десятичной системы счисления в двоичную, нужно:
разделить число на 2 с остатком;
полученное частное снова разделить на 2 с остатком;
и т.д. до тех пор, пока в частном не получится 1;
выписать все остатки, начиная с последнего.
См. решение на рисунке
Полученный ответ содержит 5 единиц.
<em>{1-й вариант}</em><span>
var
x,y,i,j: integer;
begin
writeln('Введите разность задуманных чисел: ');
read(x);
writeln('Введите сумму задуманных чисел: ');
read(y);
writeln('Задуманные числа: ',(y+x)/2,' и ',(y-x)/2);
end.
<em>{2-й вариант}</em>
var
</span>x,y,i,j: integer;
begin
writeln('Введите разность задуманных чисел: ');
read(x);
writeln('Введите сумму задуманных чисел: ');
read(y);
for i:=1 to 1000 do
begin
for j:=1 to 1000 do
if j - i = x then
if j + i = y then writeln('Задуманные числа: ',j,' и ',i);
end;
end.