Ссылка на оригинальную статью switch является оператором ветвления в языках программирования, в том числе и в Haxe. Конструкция switch открывается выражением «switch» и тело функции ограничивается фигурными скобками {}. Ветки switch начинаются или с ключевого слова «case» с условием выполнения данной ветки, или же с ключевого слова «default» для состояния по умолчанию. В обоих случаях после … Continue reading
ML30. Объём параллелепипеда
Задача взята отсюда Условие Найти объём параллелепипеда три стороны которого образованы векторами: $$\overrightarrow{a}=(a_x,a_y,a_z), \overrightarrow{b}=(b_x,b_y,b_z), \overrightarrow{c}=(c_x,c_y,c_z).$$ Входные данные: Координаты векторов $\overrightarrow{a}, \overrightarrow{b}, \overrightarrow{c}.$ Выходные данные: Объём параллелепипеда. Тесты Входные данные Выходные данные 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 … Continue reading
7. Использование Компилятора
Ссылка на оригинальную статью. Основное использование Компилятор Haxe обычно вызывается из командной строки с несколькими аргументами, которые должны отвечать на два вопроса: Что должно быть скомпилировано? Каким должен быть результат? Чтобы ответить на первый вопрос, обычно достаточно указать путь к классу через аргумент -cp path вместе с основным классом, который должен быть скомпилирован с помощью … Continue reading
5.18. Исключительные ситуации (try-catch)
Ссылка на оригинал статьи тут Haxe позволяет обрабатывать исключительные ситуации используя синтаксис try/catch.
1 2 3 |
try try-expr catch(имя переменной1:Тип1) catch выражение 1 catch(имя переменной2:Тип2) catch выражение 2 |
Если во время работы try-выражения выполняется throw , то генерируется исключительная ситуация, которая может быть обработана любым последующим catch блоком. Эти блоки состоят из имени переменной которая содержится во вброшенном значении, подробной аннотации типа которая определяет для каких типов значений генерировать исключительные ситуации, выражение которое будет … Continue reading
ML 22. Площадь равнобедренной трапеции
Условие Задача взята тут Найти площадь равнобедренной трапеции с основаниями $a$ и $b$ и углом $\alpha$ при большем основании $a$. Тесты a b $\alpha$ Square 15 10 0,785398 31.25 20 5 1.0472 162.38 30 20 0.523599 72.1687 Решение Для нахождения площади трапеции используется формула: $hm$, где $m$ средняя линия, $h$ высота. $h$ находится … Continue reading
4.1. Переменные
Ссылка на оригинальную статью. Мы уже сталкивались с переменными в нескольких примерах из предыдущих статей. В переменных, как и в свойствах (но не во всех), содержатся значения:
1 2 3 4 5 6 7 8 9 |
class Main { static var member:String = "bar"; public static function main() { trace(member); member = "foo"; trace(member); } } |
Из примера видно, что переменная: имеет имя (в данном случае: member), имеет тип (в данном случае: String), может быть инициализирована (в данном случае значением: «bar») и может иметь модификаторы доступа (в … Continue reading
ML 35. Бильярдные шары
Ссылка на условие задания: cpp.mazurok.com Условие Для аккуратной расстановки шаров в «пирамидку» игроки в бильярд используют специальный равносторонний треугольник. Вычислите какое наибольшее количество шаров радиуса $r$ можно расставить на бильярдном столе при помощи треугольника со стороной $a$. Изображение Входные данные. Длина стороны $a$, и радиус шаров $r$. Выходные данные. Число $n$, количество шаров. Код.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Main { static function main() { var a:Float = Std.parseFloat(Sys.stdin().readLine()); var r:Float = Std.parseFloat(Sys.stdin().readLine()); var sq=Math.sqrt(3.0); var S=(a*a*sq)/4; //расчет площади большего треугольника (формы для шаров) var S1=3*sq*r*r; //расчет площади треугольника в который "вписан" шар для бильярда var n = Math.round(S/S1);//общую площадь делим на площадь треугольника, для получения количества шаров trace("The number of balls: " + n); Sys.exit(0); } } |
Решение. … Continue reading
ML6. Поиск гипотенузы и площади по катетам
Условие Даны два катета прямоугольного треугольника. Найти гипотенузу и площадь данного треугольника. Входные данные Два числа — соответственно $a$ и $b$ катеты прямоугольного треугольника. Выходные данные Два числа — гипотенуза и площадь треугольника с двумя знаками после запятой. Тесты Входные данные Выходные данные 3 4 Hypotenuse: 5 Square: 6 9.04 4.2 Hypotenuse: 9.97 Square: 18.98 8.46 16.89 Hypotenuse: … Continue reading
2.2 Обнуляемые типы
Определение: Nullable (обнуляемый) Тип в Haxe считается обнуляемым, если null является допустимым значением для него. Обычно языки программирования имеют единое и весьма конкретное определение допустимости нулевых значений. Однако, Haxe вынужден искать в этом вопросе компромисс в связи с различной природой языков на которые будет транслироваться программ (будем называть такие языки целевыми). В то время, как некоторые из целевых … Continue reading
2.7.1 Динамический тип данных с типовым параметром
Ссылка на статью Динамический тип — это специальный тип данных, потому как он допускает объявление переменной с и без строгой типизации. Если переменная строго типизирована, то семантика, описанная в динамическом типе, накладывает ограничения по всем свойствам, чтобы они были совместимы с заданным типом. Например, на следующем коде видно поведение Dynamic при строгой типизации String:
1 2 3 4 5 6 7 |
var dynamicSample : Dynamic<String> = xml.attributes; // допустимо, так как типизация происходит по типу String dynamicSample.name = "John"; // также допустимо, так как возраст представлен строкой dynamicSample.age = "26"; // недопустимо, dynamicSample строго типизирован по String dynamicSample.income = 0; |
Для отправки комментария необходимо войти на сайт.