Const n=15; var d:array[1..n] of integer; i:integer; begin //Инициализация и вывод Randomize; Writeln('Исходный массив в столбик:'); for i:=1 to n do begin d[i]:=Random(-20,18); Writeln(d[i]:4) end; Writeln('Исходный массив в строку:'); for i:=1 to n do Write(d[i]:4); Writeln; { Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива. } begin var ineg,ipos:integer; ineg:=0; ipos:=0; for i:=1 to n do if d[i]>0 then Inc(ipos) else if d[i]<0 then Inc(ineg); Writeln('Задание 1'); Writeln('Количество отрицательных элементов ',ineg, ', положительных- ',ipos) end; { Задание 2. Найдите произведение элементов, имеющих значение меньше -2 } begin var p:integer:=1; for i:=1 to n do if d[i]<-2 then p*=d[i]; Writeln('Задание 2'); Writeln('Произведение элементов, меньших -2: ',p) end; { Задание 3. Найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. } begin var dmax:integer; i:=10; dmax:=d[5]; while i<=n do begin if dmax<d[i] then dmax:=d[i]; i+=5 end; Writeln('Задание 3'); Writeln('Максимальный элемент массива из элементов,'); Writeln('стоящих на местах с номером, кратным 5: ',dmax) end; { Задание 4. Замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива } i:=1; while i<=n do begin if d[i]<0 then d[i]:=d[n]; i+=2 end; Writeln('Задание 4'); Writeln('Отрицательные элементы, стоящие на нечётных местах,'); Writeln('заменены последним элементом массива:'); for i:=1 to n do Write(d[i]:4); Writeln; { Задание 5. Если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива } begin var sum:integer:=0; var FlagSum:boolean:=False; for i:=1 to n do begin Flagsum:=(d[i]=0); if FlagSum then break end; Writeln('Задание 5'); if FlagSum then begin for i:=1 to n do if (d[i] mod 3)=0 then sum+=d[i]; Writeln('Сумма элементов, имеющих значение, кратное трем: ',sum) end else begin Writeln('Положительные элементы массива:'); for i:=1 to n do if d[i]>0 then Write(d[i]:4); Writeln end end; { Задание 6*. Найти в массиве элементы, кратные 12, и вывести на экран их номера. Если таких элементов нет, то вывести сообщение об этом на экран. } Writeln('Задание 6*'); begin var k:integer:=0; var p:array[1..n] of integer; for i:=1 to n do if (d[i] mod 12)=0 then begin Inc(k); p[k]:=i end; if k>0 then begin Writeln('Номера элементов массива, кратных 12:'); for i:=1 to k do Write(p[i]:3); Writeln end else Writeln('В массиве нет элементов, кратных 12') end end.
Тестовое решение: Исходный массив в столбик: -12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20 Исходный массив в строку: -12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20 Задание 1 Количество отрицательных элементов 7, положительных- 8 Задание 2 Произведение элементов, меньших -2: -96000 Задание 3 Максимальный элемент массива из элементов, стоящих на местах с номером, кратным 5: 17 Задание 4 Отрицательные элементы, стоящие на нечётных местах, заменены последним элементом массива: -20 -5 -20 15 -20 13 -20 -2 12 17 12 14 2 3 -20 Задание 5 Положительные элементы массива: 15 13 12 17 12 14 2 3 Задание 6* Номера элементов массива, кратных 12: 9 11
Задание 7*. Выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы.
uses GraphABC; const n=15; var d:array[1..n] of integer; i:integer; begin SetWindowSize(800,600); Randomize; for i:=1 to n do begin d[i]:=Random(-20,18); if (d[i] mod 12)=0 then begin SetFontColor(clRed); Write(d[i]:4); SetFontColor(clBlack) end else Write(d[i]:4) end; Writeln end.
Відповідь:
from tkinter import *
window = Tk()
window.title("Восьмиугольник")
window.geometry("600x600+0+0")
pole = Canvas(window,width=600,height=600,bg="blue")
x=y=60#смещения для координат x,y
deltad =x/(2**(1/2))#смещение для диагональной прямой
pole.pack()
l=[(0,y),
(deltad,y-deltad),
(deltad+x,y-deltad),
(2*deltad+x,y),
(2*deltad+x,2*y),
(deltad+x,2*y+deltad),
(deltad,2*y+deltad),
(0,2*y)]
pole.create_polygon(l,fill="white")
window.mainloop()
Тяп-ляп и готово, для этого использовано было теорему Пифагора.