Const n = 7;
var
a:array [1..n] of integer;
i:integer;
begin
writeln('Первоначальный массив');
for i:=1 to n do
begin
a[i]:=5+random(31);
writeln(a[i]);
end;
writeln('Преобразованный массив');
for i:=1 to n do
begin
if a[i]>15 then a[i]:=8;
if a[i]= 5 then a[i]:=0;
writeln(a[i]);
end;
end.
Ну вот шаблон, и решение по 2й задаче, И скрин результатов работы.
P.S. С кодировками кириллицы могут быть проблемы.
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Range(1,ReadInteger('n=')).Println
end.
<u>Пример</u>
n= 20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
В таких задачах необходимо математически сформулировать условия, которые строго ограничат выбранную область. Из рисунка видно, что x не может быть отрицательным (x >= 0), x <= 6, y <= 6. Также в первой четверти область ограничена окружностью, тут уже сложнее, если мне не изменяет память, то x*x+y*y<=6 (6 это радиус окружности). В четвертой четверти область задается уравнением прямой, и я совершенно не помню как они составляются (y = kx + b вроде?), поэтому ваша задача самостоятельно разобраться с этой прямой, условие будет вида y>=k*x+b.
Когда условия будут сформулированы, останется лишь записать программу, примерный вид программы будет следующим:
var x,y : integer;
begin
readln(x,y);
if (x >= 0) and (x <= 6) and (y <= 6) and (x*x+y*y <= 6) {and (еще одно условие)}
writeln('true')
else
writeln('false');
readln;
end.