Радиус описанной окружности вокруг правильного треугольника равен R=a*корень(3)/3 сторона вписанного треугольника равна a=R*корень(3) радиус вписанной в правильный треугольник равенr=b*корень(3)/6 сторона описанного треугольника равна b=2*r*корень(3) R=r площадь правильного треугольника равна c^2*корень(3)/4 отношение площадей треугольников равно ( 2*r*корень(3))^2*корень(3)/4 : (( r*корень(3))^2*корень(3)/4)==4
Kozlovao4
28.02.2022
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2). Сделать это можно так: while not eof(fr) and (kol=0) do begin read(fr, Marshrut); if (Marshrut.NK.N <> '11') then write(fr2,Marshrut) else begin inc(kol); y:=Marshrut; end; end; if not eof(fr) then begin read(fr, Marshrut); write(fr2,Marshrut); end; if (kol=1) then write(fr2,y); Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).
Попробуйте ещё вот такой вариант: (здесь k1 и k2 - целые, а y - типа ) if (Marshrut.NK.N = '11') then begin writeln('... '); inc(kol); y:=Marshrut; k1:=FilePos(fr)-1; k2:=FilePos(fr); if not eof(fr) then begin read(fr, Marshrut); seek (fr, k1); write(fr, Marshrut); seek (fr, k2); write (fr, y); end;
end;
kulttrop
28.02.2022
1. → 2 [сдвинуться вправо, перейти на строку 2] 2. → 3 [сдвинуться вправо, перейти на строку 3] — в вопросе опечатка? 3. → 4 [сдвинуться вправо, перейти на строку 4] 4. ? 5;2 [если в текущей ячейке нет метки, перейти на строку 5, иначе вернуться на 2] 5. ← 6 [сдвинуться влево, перейти на строку 6] 6. V 7 [поставить метку, перейти на строку 7] 7. ! [закончить работу]
Программа делает следующее: переходит на метку вправо, шагами по две ячейки идёт вправо, пока не дойдёт до пустой ячейки, возвращается на ячейку влево, ставит там метку и заканчивает работу.
Пусть метки расположены в ячейках 0 - (n-1), каретка под ячейкой 0. Тогда сначала каретка окажется подячейкой 1, сделает [n/2] шагов по 2 вправо ([x] — целая часть x), оказавшись под ячейкой 1 + 2 * [n/2], вернётся на ячейку влево (ячейка 2 * [n/2]) и поставит там метку.
Если n было четным, будут заполнены ячейки от 0 до n, каретка под ячейкой n Если n было нечетным, будут заполнены ячейки от 0 до n - 1, каретка под ячейкой n - 1
сторона вписанного треугольника равна a=R*корень(3)
радиус вписанной в правильный треугольник равенr=b*корень(3)/6
сторона описанного треугольника равна b=2*r*корень(3) R=r площадь правильного треугольника равна c^2*корень(3)/4 отношение площадей треугольников равно ( 2*r*корень(3))^2*корень(3)/4 : (( r*корень(3))^2*корень(3)/4)==4