Существуют специальные таблицы кодировки символов, в которых каждому символу соответствует свой уникальный номер. На фото часть одной из таких таблиц. А ниже программка на паскале, иллюстрирующая работу этих функций:
program aaa; //Chr (x), Ord (x), Pred (x), Succ (x), var x: integer; y,z: string; begin //присвоим переменной у значение символа под номером 102: y:=chr(102); writeln('chr(102)= ',y); //присвоим переменной x номер позиции символа а в таблице кодировки Windows ASCII: x:=ord('f'); writeln('ord(''f'')= ',x); //а теперь возьмем символ русского алфавита "Ф": x:=ord('Ф');// writeln('ord(''Ф'')= ',x); //Теперь нам нужен символ, следующий, например, за символом Ю: y:=succ('Ю'); writeln('succ(''Ю'')= ',y); //Или символ, предществующий символу Я: y:=pred('Я'); writeln('pred(''Я'')= ',y); end.
Результат работы программы:
chr(102)= f ord('f')= 102 ord('Ф')= 212 succ('Ю')= Я pred('Я')= Ю
tanias
02.08.2022
Не уверена, что по длине сторон можно определить, что треугольник остроугольный, но предположила, что здесь можно использовать т. Пифагора, т.е. если квадрат гипотенузы (большей стороны) окажется меньше суммы квадратов катетов (меньших сторон), то соответственно и угол между последними окажется меньше 90 градусов. Если я не права отметьте ошибкой, пусть удалят. Итак:
program aaa; var a,b,c,x,y,z,s,p: real; begin writeln ('Введите стороны треугольника A, B и C'); readln (a,b,c);
{сначала найдем меньшую, среднюю и большую сторону и присвоим их значения, соответственно, переменным x, y и z}
if a<b then if a<c then if b<c then begin x:=a; y:=b; z:=c end else begin x:=a; y:=c; z:=b end else begin x:=c; y:=a; z:=b end else if a>c then if b<c then begin x:=b; y:=c; z:=a end else begin x:=c; y:=b; z:=a end else begin x:=b; y:=a; z:=c end;
{Теперь узнаем, является ли треугольник разносторонним и остроугольным: Для этого сравним длины сторон между собой а также сумму квадратов меньших сторон с квадратом большей}
if ((x*x+y*y)>(z*z)) and (a<>b) and (a<>c) and (b<>c) then begin p:=(a+b+c)/2; // находим полупериметр s:=sqrt(p*(p-a)*(p-b)*(p-c)); // находим площадь треугольника writeln(x,' ',y,' ',z,' - могут быть сторонами остроугольного разностороннего треугольника'); writeln('Площадь этого треугольника = ',s) end else writeln(a:4,b:4,c:4,' - не могут быть сторонами остроугольного разностороннего треугольника') end.