Вообщем так. 1. sin это арифметическое действие. Синус можно найти из 90 градусов например. А тут X>10. Из чего синус искать, из большего или может из меньшего? Правильной будет запись if x>10 then ... какое-то действие... sin(x) else ... sin (x); вообщем нельзя ставить оператор сравнения в арифметическое действие т.к. им задаются условия.
2. Попытка использовать арифметические операции с "false". 3. Выражение теряет смысл. And это логическая операция. Лог выражение должно быть вида A and B. Соответственно исправить можно так '(x=0) and (round(sqrt(x)) mod 2=0)' 4. Не пишут 2 or подряд т. к. теряется логика операции.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(10,0,15); a.Println; var max:=a.Max; Write('Максимальный элемент ',max); Write(', элементов, равных ему - ',a.Where(x->x=max).Count-1) end.
Пример 7 15 8 1 15 13 6 15 5 11 Максимальный элемент 15, элементов, равных ему - 2
begin var a:=ArrRandom(20,0,150); a.Println; var (imin,imax):=(a.IndexMin,a.IndexMax); Writeln('Минимальный элемент ',a[imin],', максимальный ',a[imax]); Swap(a[imin],a[imax]); a.Println end.