Постройте блок-схемы или запишите алгоритмы на алгоритмическом языке:
найти наименьшее общее кратное двух чисел а и в. найти сумму первых n четных натуральных чисел. последовательность вводится n целых чисел. найти среднее арифметическое этих чисел.
// PascalABC.NET 3.0, сборка 1076 type Point=record x,y:real end; Line=record A,B:Point end; Triangle=record A,B,C:Point; sa,sb,sc:real; { длины сторон } end;
procedure GetPoint(PointName:char; var M:Point); begin Write('Введите координаты точки ',PointName,'(x,y): '); Read(M.x,M.y) end;
function LineLength(A,B:Point):real; begin LineLength:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y)) end;
procedure CreateTriangle(var T:Triangle; var l:boolean); begin With T do begin GetPoint('A',A); GetPoint('B',B); GetPoint('C',C); sa:=LineLength(B,C); sb:=LineLength(A,C); sc:=LineLength(A,B); l:=(sa+sb>sc) and (sa+sc>sb) and (sb+sc>sa) end end;
function TriangleIsLikes(T1,T2:Triangle):boolean; var k1,k2,k3:real; begin k1:=T1.sa/T2.sa; k2:=T1.sb/T2.sb; if k1=k2 then begin k3:=T1.sc/T2.sc; TriangleIsLikes:=k1=k3 end else TriangleIsLikes:=False end;
var T1,T2:Triangle; legal:boolean; begin Writeln('*** Первый треугольник ***'); CreateTriangle(T1,legal); if legal then begin Writeln('*** Второй треугольник ***'); CreateTriangle(T2,legal); if legal then if TriangleIsLikes(T1,T2) then Writeln('Треугольники подобны') else Writeln('Треугольники не подобны') else Writeln('Треугольник невозможно построить') end else Writeln('Треугольник невозможно построить') end.
Нормальные люди понимают, что после формализации информация должна быть представлена на формальном языке, таких языком может быть как математический, так и язык программирования.
type
Point=record
x,y:real
end;
Line=record
A,B:Point
end;
Triangle=record
A,B,C:Point;
sa,sb,sc:real; { длины сторон }
end;
procedure GetPoint(PointName:char; var M:Point);
begin
Write('Введите координаты точки ',PointName,'(x,y): ');
Read(M.x,M.y)
end;
function LineLength(A,B:Point):real;
begin
LineLength:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;
procedure CreateTriangle(var T:Triangle; var l:boolean);
begin
With T do begin
GetPoint('A',A);
GetPoint('B',B);
GetPoint('C',C);
sa:=LineLength(B,C);
sb:=LineLength(A,C);
sc:=LineLength(A,B);
l:=(sa+sb>sc) and (sa+sc>sb) and (sb+sc>sa)
end
end;
function TriangleIsLikes(T1,T2:Triangle):boolean;
var
k1,k2,k3:real;
begin
k1:=T1.sa/T2.sa; k2:=T1.sb/T2.sb;
if k1=k2 then begin
k3:=T1.sc/T2.sc;
TriangleIsLikes:=k1=k3
end
else
TriangleIsLikes:=False
end;
var
T1,T2:Triangle;
legal:boolean;
begin
Writeln('*** Первый треугольник ***');
CreateTriangle(T1,legal);
if legal then begin
Writeln('*** Второй треугольник ***');
CreateTriangle(T2,legal);
if legal then
if TriangleIsLikes(T1,T2) then Writeln('Треугольники подобны')
else Writeln('Треугольники не подобны')
else Writeln('Треугольник невозможно построить')
end
else Writeln('Треугольник невозможно построить')
end.
Математическая модель (а также программа; зависит от того, что понимать под этапом формализации).
В учебнике выделяют такие этапы решения задачи на компьютере:
Исходные данные (результат - словесная информационная модель)Формализация (математическая модель)Алгоритмизация (алгоритм)Программирование (программа)Отладка, тестирование (уточнение модели)Выполнение расчетов (получение результатов)Нормальные люди понимают, что после формализации информация должна быть представлена на формальном языке, таких языком может быть как математический, так и язык программирования.