Прошу помочь составить задачу в ABC Pascal!!!Долго болел и пропустил много важных теорий,...

0 голосов
21 просмотров
Прошу помочь составить задачу в ABC Pascal!!!
Долго болел и пропустил много важных теорий, а теперь нужно подготовиться к зачету :С
Прошу, помогите составить алгоритм, суть такова:
1.Нужно использовать только целые числа
2.Определить тип треугольника (равносторонний, равнобедренный, прямой и т.д.)
3.Существует ли этот треугольник (ну то, что каждая сторона меньше суммы двух других)
4.Вид треугольника
5.Найти по формулам: Периметр (P), площадь (S), медиану и бессикриссу
6.И по возможности синусы и косинусы
Заранее благодарю за помощь!

Информатика (21 баллов) | 21 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Опущу все прелюдии.
WriteLn('Введите длины сторон треугольника');
ReadLn(x, y, z);
If x = y and y = z and z = x
 then
  WriteLn('Данный треугольник - равносторонний')
 else
  If (x = y and y = z) or (x = y and x = z) or (x = z and y = z)
   then
    WriteLn('Данный треугольник - равнобедренный')
   else
    If (Sqrt(x) = Sqrt(y) + Sqrt(z)) or (Sqrt(y) = Sqrt(x) + Sqrt(z)) or (Sqrt(z) = Sqrt(x) + Sqrt(y))
     then
      WriteLn('Данный треугольник - прямоугольный')
     else
      If (x < (y + z)) and (y < (x + z)) and (z < (x + y))
       then
        WriteLn('Данный треугольник является обыкновенным')
       else
        WriteLn('Данный треугольник не существует');
p := div((x + y + z) / 2); {Полупериметр}
WriteLn('Периметр треугольника Р =', x + y + z);
WriteLn('Площадь треугольника S =', div(Sqrt(p*(p-x)*(p-y)*(p-z))));
WriteLn('Медиана к стороне x -', div(Sqrt(2*Sqr(y) + 2*Sqr(z) - Sqr(x))/2));
WriteLn('Биссектриса стороны х -', div(Sqrt(y*z*(x+y+z)*(y+z-x))/(y+z)));

С синусами/косинусами особая история, напиши мне в лс, чтоб я не забыл потом помочь.

(142 баллов)
0

Все отлично, но почему то ругается на операцию "div"? Вот выдает ошибку:

0

Program1.pas(21) : Встречено 'div', а ожидалось выражение