Вычисляем значение выражения (45/9)²-(36-14)х2 в двоичной системе счисления по шагам. 1. 45 / 9 = 101101₂ / 1001₂ - деление производим "в столбик" Результат приведен во вложении. он равен 101₂
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (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;
Var f,s:text; st,sp:string; i:integer; c:char; begin assign(s,'text1.txt'); reset(s); while not Eof(s) do begin; readln(s,sp); st:=st+sp+chr(10)+chr(13); end; close(s); for i:=1 to length(st) div 2 do begin c:=st[i]; st[i]:=st[length(st)-i+1]; st[length(st)-i+1]:=c; end; assign(f,'text.txt'); rewrite(f); write(f,st); close(f); end.
Текст в файле text1.txt:
Simple text 1And another simple text 2New text
Текст в файле text.txt: txet weN2 txet elpmis rehtona dnA1 txet elpmiS
1. 45 / 9 = 101101₂ / 1001₂ - деление производим "в столбик"
Результат приведен во вложении. он равен 101₂
2. Вычисляем (101₂)². Обычное умножение в столбик.
1 0 1
х 1 0 1
------------
1 0 1
+1 0 1
-------------
1 1 0 0 1
3. 36 - 14 = 100100₂ - 1110₂ - и тут вычитаем "в столбик"
1 0 0 1 0 0
- 1 1 1 0
----------------
1 0 1 1 0
4. 10110₂ х 2 = 10110₂ х 10₂ = 101100₂ (просто приписали нолик справа)
5. 11001₂ - 101100₂ = - (101100₂ - 11001₂) - снова "в столбик"
1 0 1 1 0 0
- 1 1 0 0 1
----------------
1 0 0 1 1
Получаем -10011₂
ответ: -10011₂