Напишите функцию S(x1,y1, x2,y2, x3,y3), которая принимает координаты трёх точек на плоскости. Если они могут быть вершинами остроугольного треугольника, то функция дает его площадь, в противном случае дает −1.
function summdel(x:integer):integer; //результат - сумма делителей х var k,sum:integer; begin sum:=0; for k := 1 to x div 2 + 1 do if x mod k = 0 then sum:= sum+k; summdel:=sum; end;
begin writeln('Введите границы a,b '); readln(a,b); maxsumm := 1; max := 1; for i := a to b do begin if summdel(i) > maxsumm then begin maxsumm:= summdel(i); max := i; end; end; writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max) end.
Виды алгоритмов: Линейный алгоритм, Алгоритм ветвления, Циклический алгоритм
Объяснение:
Существует два вида алгоритмов ветвления.
Вид 1 Когда алгоритм проверяет одно условия и в зависимости от результата сравнения, выполняет одно или другое действие.
Пример:
Проверить деление на 0 если да то сообщить пользователю если не то поделить число
Запись решения на естественном языке:
1) Начало программы
2) Получаем первое число в переменную А
3) Получаем второе число в переменную В
4) Число В равно ли 0
если да)
1) Выводим на экран сообщение пользователю об ошибке.
2) конец
если Нет).
1) делим А на В сохраняем результат в переменную С
2) Выводим результат на экран.
3) конец
Вид 2 Когда алгоритм получает в качестве параметра значение которое нужно сравнить с несколькими вариантами и выполняет тот вариант где значение совпало.
var a,b, I, maxsumm, max : integer;
function summdel(x:integer):integer; //результат - сумма делителей х
var k,sum:integer;
begin
sum:=0;
for k := 1 to x div 2 + 1 do
if x mod k = 0 then sum:= sum+k;
summdel:=sum;
end;
begin
writeln('Введите границы a,b ');
readln(a,b);
maxsumm := 1;
max := 1;
for i := a to b do
begin
if summdel(i) > maxsumm then
begin maxsumm:= summdel(i);
max := i;
end;
end;
writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max)
end.
Виды алгоритмов: Линейный алгоритм, Алгоритм ветвления, Циклический алгоритм
Объяснение:
Существует два вида алгоритмов ветвления.
Вид 1 Когда алгоритм проверяет одно условия и в зависимости от результата сравнения, выполняет одно или другое действие.
Пример:
Проверить деление на 0 если да то сообщить пользователю если не то поделить число
Запись решения на естественном языке:
1) Начало программы
2) Получаем первое число в переменную А
3) Получаем второе число в переменную В
4) Число В равно ли 0
если да)
1) Выводим на экран сообщение пользователю об ошибке.
2) конец
если Нет).
1) делим А на В сохраняем результат в переменную С
2) Выводим результат на экран.
3) конец
Вид 2 Когда алгоритм получает в качестве параметра значение которое нужно сравнить с несколькими вариантами и выполняет тот вариант где значение совпало.