Добрый день,помогите с паскалем Нужно размножить снежинку и чтобы она появлялась в рандомных местах Uses GraphABC; var y, i, x:
Добрый день,помогите с паскалем Нужно размножить снежинку и чтобы она появлялась в рандомных местах Uses GraphABC; var y, i, x: integer; begin moveto(0,320); lineto(2000,320); Line(120,100,80,140); Line(120,100,160,140); Line(120,160,80,200); Line(120,160,160,200); Line(120,220,80,260); Line(120,220,160,260); Line(120,100,120,320);
Uses GraphABC; var y, i, x, j, x1, y1: integer; begin moveto(0,320); lineto(2000,320); Line(120,100,80,140); Line(120,100,160,140); Line(120,160,80,200); Line(120,160,160,200); Line(120,220,80,260); Line(120,220,160,260); Line(120,100,120,320);
for i := 1 to 10 do begin x := random (1024); y := random (200);
for j:=1 to 3 do begin x1:=random(800); y1:=random(100); line(x1,y1,x1+40,y1+40); line(x1,y1+20,x1+40,y1+20); line(x1+40,y1,x1,y1+40); Line(x1+20,y1,x1+20,y1+40); end;
<em>// PascalABC.NET 3.2, сборка 1356 от 04.12.2016</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
type Point=record x,y:real; name:char end; Vector=record x,y,l:real; end;
function CreatePoint(px,py:real):Point; begin With Result do begin x:=px; y:=py; end end;
function CreateVector(A,B:Point):Vector; begin With Result do begin x:=B.x-A.x; y:=B.y-A.y; l:=Sqrt(x*x+y*y) end end;
function IsNormal(A,B:Vector):=Abs(B.x*A.x+B.y*A.y)<=1e-6;
begin var x,y:real; Write('Введите координаты x и y точки A: '); Read(x,y); var A:=CreatePoint(x,y); Write('Введите координаты x и y точки B: '); Read(x,y); var B:=CreatePoint(x,y); var AB:=CreateVector(A,B); Write('Введите координаты x и y точки C: '); Read(x,y); var C:=CreatePoint(x,y); var BC:=CreateVector(B,C); if Abs(AB.l-BC.l)>1e-6 then begin Writeln('Стороны AB и BC не равны'); Exit end; if not IsNormal(AB,BC) then begin Writeln('Стороны AB и BC не перпендикулярны'); Exit end; Write('Введите координаты x и y точки D: '); Read(x,y); var D:=CreatePoint(x,y); var CD:=CreateVector(C,D); if Abs(AB.l-CD.l)>1e-6 then begin Writeln('Стороны AB и CD не равны'); Exit end; var AD:=CreateVector(D,A); if Abs(AB.l-AD.l)>1e-6 then Writeln('Стороны AB и ADC не равны') else Writeln('Точки образуют квадрат с точностью не ниже 0.000001') end.
<u>Пример</u> <u>Здесь заданы координаты квадрата, сдвинутого относительно осей координат и повернутого на угол 30 градусов против часовой стрелки. Поэтому числа такие "некруглые".</u>
Введите координаты x и y точки A: -0.4641 -4.4641 Введите координаты x и y точки B: 3.5359 2.4641 Введите координаты x и y точки C: 10.4641 -1.5359 Введите координаты x и y точки D: 6.4641 -8.4641 Точки образуют квадрат с точностью не ниже 0.000001
Налево при x = 1 Направо при x = 21 Ответ: 1, 21 ------------------- Действие y := x + 12 выполнятся не будет вообще, т.к. x должен быть -8, но это число является истинным для первого условия x < 3, поэтому туда программа не пойдет.
Мне так кажется, что так: 1.Учитель проверяет тетради с диктантом, который написали учащиеся - <span>Циклический алгоритм </span>2.Радиолюбитель собирает приемник, выполняя последовательность сборки, приведенную в журнале -<span>Последовательный алгоритм </span>3. На берегу моря ребенок строит замок из мокрого песка -<span>Это невозможно представить в виде алгоритма</span>