Re: Помогите с кодом!
Здравствуйте, Namik.
Friday, March 3, 2006, 4:45:55 PM, you wrote:
NK> Здравствуйте, господа !
NK> Помогите, пожалуйста, с проблемой. Это послание относится к тем, кто имеет
дело
NK> с языком Паскаль.
NK> Я написал следующий нехитрый код (сам я не работаю с Паскалем):
NK> Uses CRT;
NK> var
NK> b,b1,b2,b3,z:real;
NK> bb,b0,c0,c1,c2,c3,c4,p,s:real;
NK> i:integer;
NK> const
NK> a=8589934592;
NK> BEGIN
NK> s:=256;
NK> c0:=8**2*s;
NK> c1:=2**2*c0;
NK> c2:=2**10*c0;
NK> c3:=2**18*c0;
NK> c4:=2**26*c0;
NK> b0:=4;
NK> b:=a;
NK> i:=1;
NK> While i>=1 do
NK> Begin
NK> if b<=c1 then
NK> begin
NK> if b0=1 then bb:=1;
NK> end;
NK> if b>c1 then
NK> begin
NK> if b<=c2 then
NK> begin
NK> if b0=2 then bb:=2;
NK> end;
NK> end;
NK> if b>c2 then
NK> begin
NK> if b<=c3 then
NK> begin
NK> if b0=3 then bb:=3;
NK> end;
NK> end;
NK> if b>c3 then
NK> begin
NK> if b<=c4 then
NK> begin
NK> if b0=4 then bb:=4;
NK> end;
NK> end;
NK> if bb=b0 then p:=256*8*(2*bb+1);
NK> if bb=b0 then b0:=b0-1;
NK> b3:=b;
NK> b1:=b/24;
NK> b2:=int(b1);
NK> If b1>b2 then b1:=b2+1;
NK> b1:=b1*13;
NK> b1:=b1/8;
NK> b2:=int(b1);
NK> b:=b2*8;
NK> if b1>b2 then b:=b+8;
NK> b:=b+p;
NK> z:=a/b;
NK> write(i,' || ',b,' || ',z);
NK> i:=i+1;
NK> if b>=b3 then i:=-1;
NK> Readln;
NK> end;
NK> END.
NK> Но есть одно "но" (точнее, два):
NK> 1] Не знаю, какой код нужно написать и куда эту кодовую строку вставить,
чтобы
NK> пользователь мог вводить константу "a=" сам, без помощи программиста, в режиме
NK> интерактива (в приведенном коде константа a=8589934592;) ?
В одной из строк между
begin
и
b:=a;
вставьте типа нечто такого:
Write('Введите значение а => ');
Readln(a);
...........................
NK> 2] И, второе "НО" - Какой код нужно написать и куда эту кодовую строку вставить,
NK> чтобы результаты типа "write(i,' || ',b,' || ',z);" можно было бы выводить
не
NK> только на экран, но и:
NK> - во-первых, во вновь создаваемый текстовой файл;
NK> ИЛИ,
NK> - во-вторых, в заранее очищенный текстовой файл ?
И "во-первых", и "во-вторых" - это делается одним и тем же куском
кода:
var
....
f :Text; {переменная файлового типа}
........
begin
Assign(f, ИМЯ_ФАЙЛА); {связываем переменную с файлом, причеи ИМЯ_ФАЙЛА
переменная или константа строкового типа}
Rewrite(f); {открываем его на запись; если файл существовал,
он как бы опустошается}
............
write(f, i,' || ',b,' || ',z); {пишем в файл}
..........................
Close(f); {после всех дел с файлом закроем его}
end.
NK> Подскажите, кто знает. Буду очень признателен.