1. ромб, только стрелка вниз если условие сохраняется, стрелка в права, если условие нарушено, и слева приход при следующем цикле. (или наоборот) см рисунок
2. while i <= n do begin write ('(*) '); i := i + 1 end;
3. потому что необходимо перебрать всезначения от 1 до N
4. постановка задачи;математическая формализация; построение алгоритма; составление программы на языке программирования; отладка и тестирование программы; проведение расчетов и анализ полученных результатов.
5. описательная информационная модель записывается с какого-либо формального языка
6. отладка это испытание с исправлением ошибок, тест это окончательный прогон с конкретным значением данных для которых известен результат.
Type point = record x,y: real; end; var vc: array [1..4] of point; bg,nd: point; i,j,k,m: integer; begin writeln('координаты точек - через пробел '); for i:=1 to 4 do begin write('точка ',i,' '); readln(vc[i].x,vc[i].y); end; { сравнение векторов } m:=0; for i:=2 to 4 do begin bg.x:=vc[i].x-vc[1].x; bg.y:=vc[i].y-vc[1].y; j:=1; k:=1; while ((j=1) or (j=i)) do j:=j+1; while ((k=1) or (k=i) or (k=j)) do k:=k+1; nd.x:=vc[j].x-vc[k].x; nd.y:=vc[j].y-vc[k].y; if ((bg.x=nd.x) and (bg.y=nd.y)) or ((bg.x=-nd.x) and (bg.y=-nd.y)) then begin m:=1; break; end; end; if m=1 then writeln('точки образуют параллелограмм') else writeln('точки не образуют параллелограмм'); end.
1. ромб, только стрелка вниз если условие сохраняется, стрелка в права, если условие нарушено, и слева приход при следующем цикле. (или наоборот) см рисунок
2. while i <= n do begin
write ('(*) ');
i := i + 1
end;
3. потому что необходимо перебрать всезначения от 1 до N
4. постановка задачи;математическая формализация; построение алгоритма; составление программы на языке программирования; отладка и тестирование программы; проведение расчетов и анализ полученных результатов.
5. описательная информационная модель записывается с какого-либо формального языка
6. отладка это испытание с исправлением ошибок, тест это окончательный прогон с конкретным значением данных для которых известен результат.
x,y: real;
end;
var vc: array [1..4] of point;
bg,nd: point;
i,j,k,m: integer;
begin writeln('координаты точек - через пробел ');
for i:=1 to 4 do
begin
write('точка ',i,' ');
readln(vc[i].x,vc[i].y);
end;
{ сравнение векторов }
m:=0;
for i:=2 to 4 do
begin
bg.x:=vc[i].x-vc[1].x;
bg.y:=vc[i].y-vc[1].y;
j:=1; k:=1;
while ((j=1) or (j=i)) do j:=j+1;
while ((k=1) or (k=i) or (k=j)) do k:=k+1;
nd.x:=vc[j].x-vc[k].x;
nd.y:=vc[j].y-vc[k].y;
if ((bg.x=nd.x) and (bg.y=nd.y)) or
((bg.x=-nd.x) and (bg.y=-nd.y)) then
begin
m:=1;
break;
end;
end;
if m=1 then writeln('точки образуют параллелограмм')
else writeln('точки не образуют параллелограмм');
end.