Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде
линии. Чертёжник может выполнять команду сместиться на (а, b), где а, b – целые числа. Эта
команда перемещает Чертёжника из точки с координатами (х, у) в точку с координатами (х + а, у +
b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на
(2, -3) переместит Чертёжника в точку (6, -1).
ПОВТОРИ число РАЗ
последовательность команд
КОНЕЦ ПОВТОРИ
означает, что последовательность команд будет выполнена указанное число раз (число должно
быть натуральным).
Чертёжнику был дан для исполнения следующий алгоритм (число повторений и величины
смещения в первой из повторяемых команд неизвестны):
НАЧАЛО
сместиться на (10, -5)
ПОВТОРИ ...РАЗ
сместиться на (..., ...)
сместиться на (-12, 12)
КОНЕЦ ПОВТОРИ
сместиться на (-28, 8)
КОНЕЦ
В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое
наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ ... РАЗ»?
ответ:.
function F(x:real):real;{заданная функция}
begin
if(x>=pi)and(x<=1.5*pi)and(sin(x)+cos(3*x)<0)then F:=0
else F:=sin(x)+cos(3*x);
end;
const xn=0;{начало и конец интервала, шаг табуляции}
xk=2*pi;
h=2*pi/30;
var f1:text;{текстовый файл}
x,y,mx,my:real;
x1,y1:array[1..100] of real;{массивы значений абцисс и ординат}
n,i,gd,gm,x0,y0:integer;
st:string;
begin
clrscr;
{создаем файл и открываем для записи}
assign(f1,'tabl.txt');
rewrite(f1);
writeln(f1,'');{шапка таблицы}
writeln(f1,'| x | F(x) |');
writeln(f1,'');
x:=xn;{табулируем функцию, пишем в файл и в массивы}
n:=0;
while x<=xk+h/2 do
begin
y:=F(x);
n:=n+1;
x1[n]:=x;
y1[n]:=y;
writeln(f1,'|',x:4:1,' |',y:5:2,' |');
x:=x+h;
end;
writeln(f1,'');
close(f1);
writeln('Результаты записаны в файл TABL.txt');
write('Press Enter...');
readln;
{переходим в графический режим}
gd:=0;
initgraph(gd,gm,'');
x0:=40;{начало координат}
y0:=getmaxY div 2;
mx:=(getmaxX-60)/(xk-xn);{масштабы по осям}
my:=100;
line(20,y0,getmaxX-20,y0);{оси координат}
outtextXY(getmaxX-15,y0-15,'X');
line(x0,getmaxY-20,x0,20);
outtextXY(x0-15,10,'Y');
{засечки подписи на осях}
for i:=1 to round(xk)+1 do
begin
line(x0+round(i*mx),y0+3,x0+round(i*mx),y0-3);
line(x0-round(i*mx),y0+3,x0-round(i*mx),y0-3);
line(x0+3,y0+round(i*my),x0-3,y0+round(i*my));
line(x0+3,y0-round(i*my),x0-3,y0-round(i*my));
str(i,st);
outtextXY(x0+round(i*mx),y0+10,st);
outtextXY(x0-round(i*mx),y0+10,'-'+st);
outtextXY(x0-20,y0-round(i*my),st);
outtextXY(x0-20,y0+round(i*my),'-'+st);
end;
{график по точкам}
moveto(x0+round(x1[1]*mx),y0-round(y1[1]*my));
for i:=1 to n do
begin
setcolor(12);
lineto(x0+round(x1[i]*mx),y0-round(y1[i]*my));
setcolor(10);
circle(x0+round(x1[i]*mx),y0-round(y1[i]*my),2);{точки}
end;
readln
end.
matrix = [[1, 2, 3], [4, 5, 9], [6, 7, 8]]
max_element = 0
for i in range(len(matrix)):
for j in range(len(matrix[i])):
if matrix[i][j] > max_element:
max_element = matrix[i][j]
print(max_element)
Объяснение:
1 строка - матрица
3 строка - ответ, то есть макс. элемент матрицы
4 строка - цикл для перебора массивов
5 строка - цикл для перебора элементов в текущем массиве
6 строка - если элемент матрицы больше нашего ответа...
7 строка - то присваиваем элемент матрицы ответу, получается перебор всех чисел матрицы, и поиск наибольшего элемента