function linelength(x1, y1, x2, y2: integer): real; begin linelength := sqrt(sqr(x2 - x1) + sqr(y2 - y1)); end;
procedure ger(a, b, c: real); var p: real; begin p := (a + b + c) / 2; sc := sqrt(p * (p - a) * (p - b) * (p - c)); end;
begin write('1:');readln(x1, y1); write('2:');readln(x2, y2); write('3:');readln(x3, y3); write('4:');readln(x4, y4); ger(linelength(x1, y1, x2, y2), linelength(x2, y2, x3, y3), linelength(x1, y1, x3, y3)); s := s + sc; ger(linelength(x1, y1, x4, y4), linelength(x4, y4, x3, y3), linelength(x1, y1, x3, y3)); s := s + sc; writeln(s); end. //3) var a, b, c: integer;
function sce(var a: integer): integer; var sc, c: integer; begin while a <> 0 do begin c := a mod 10; a := a div 10; sc := sc + c; end; sce := sc; end;
begin read(a, b, c); if (sce(a) > sce(b)) and (sce(a) > sce(c)) then writeln(a) else if (sce(b) > sce(a)) and (sce(b) > sce(c)) then writeln(b) else if (sce(c) > sce(a)) and (sce(c) > sce(b)) then writeln(c) else if (sce(c) = sce(a)) and (sce(a) = sce(b)) then writeln('Равны'); end.
Аргументов пять, поэтому строк в таблицы истинности будет: 2^5 =32 В 1/4 от них F=1, то есть в 32/4 =8 строках F=1 В пяти строках: F G F⇒G 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 Все остальные строки - с различными значениями F и G, то есть есть строки , где ещё шесть раз F=1, а G =0 F G F⇒G 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 Именно в этих шести строках импликация F⇒G =0, во всех других строках F=0, а 0⇒0 =1 и 0⇒1=1 Вывод: 6 - число значений 0 для функции F⇒G в таблице истинности.
interface
function MaxMod2(a,b:real):real;
implementation
function MaxMod2(a,b:real):real;
begin
if abs(a)>abs(b) then MaxMod2:=a
else MaxMod2:=b
end;
end.
Компилируем в MaxMod.tpu и пишем тестовую программу
uses MaxMod, Crt;
var
x,y:real;
begin
ClrScr;
Read(x,y);
Writeln(MaxMod2(x,y));
ReadKey
end.