program Triangle; uses Crt; var i : integer; side : array[1..3] of real; begin clrscr; {TITLE} writeln ('-----------------'); writeln ('Triangle Analyser'); writeln ('-----------------'); writeln; writeln; {INPUT} for i := 1 to 3 do begin write ('Please enter side number ', i,' of the Triangle: '); readln (side[i]); end; writeln; writeln; {PROCESSING AND OUTPUT} if (side[1]+side[2]<=side[3]) or (side[2]+side[3]<=side[1]) or (side[1]+side[3]<=side[2]) then {These conditions are invalid triangles} writeln('That triangle is invalid') else if (sqrt(sqr(side[1])+sqr(side[2])) = side[3]) or (sqrt(sqr(side[1])+sqr(side[3])) = side[2]) or (sqrt(sqr(side[2])+sqr(side[3])) = side[1]) then writeln('That triangle is right-angled') {right angled <=> a^2+b^2=c^2} else if (side[1] = side[2]) and (side[2] = side[3]) then writeln('That triangle is equilateral') else if (side[1]=side[2]) or (side[2]=side[3]) or (side[1]=side[3]) then writeln('That triangle is isoceles') else writeln('That triangle is scalene'); {scalene = all sides different} writeln; writeln; writeln('Press any key to exit...'); while not keypressed do; end.