здравствуйте, друзья, помогите решить эти две задачи по программированию в Pascal ABC. Очень нужно, буду очень вам признателен.
Если что, я написал подпрограмму для рисования одного домика, а как делать их интервале я без понятия, если честно.
вот она:
Program smr1;
uses graphABC;
var N:Integer;
procedure domik;
begin
rectangle(20,30,60,60);
circle(40,22,4);
fillrect(30,40,50,50);
rectangle(30,40,50,50);
line(40,40,40,50);
line(30,45,50,45);
line(20,30,40,15);
line(40,15,60,30);
end;
begin
{а здесь должны быть вот эти интервалы от 1 до 10, пока я не достиг понимания, как их писать, помогите пожалуйста}
end.
я даю много баллов, помогите, очень надо.
Answers & Comments
Ответ:
Объяснение:
1) Нужно нарисовать N домиков. Для этого смещаемся по горизонтали и рисуем. Можно смещаться по вертикали, тогда к Y -кам добавлять нужно число.
Program smr1;
uses graphABC;
var i,N:Integer;
procedure domik(k:integer);
begin
rectangle(20+k*45,30,60+k*45,60);
circle(40+k*45,22,4);
rectangle(30+k*45,40,50+k*45,50);
SetBrushColor(clBlue);
fillrect(30+k*45,40,50+k*45,50);
SetBrushColor(clWhite);
line(40+k*45,40,40+k*45,50);
line(30+k*45,45,50+k*45,45);
line(20+k*45,30,40+k*45,15);
line(40+k*45,15,60+k*45,30);
end;
begin
{а здесь должны быть вот эти интервалы от 1 до 10, пока я не достиг понимания, как их писать, помогите пожалуйста}
n:=Random(1,10); // случайным образом определяем кол-во домиков
for i:=1 to n do domik(i-1);
end.
2)
var n,k: integer;
f: text;
Xk:real;
begin
write('Введите N=');
readln(N);
assign(f, 'h.txt');
rewrite(f);
for k:=1 to N do
begin
Xk:=(k-0.1)/(power(k,3)+abs(tan(2*k)));
writeln(f, Xk);
end;
close(f);
end.