Ю 4.1

Задача взята отсюда
Условие
Задача. Разделение по знаку. В массиве С(n) подсчитать количество отрицательных и сумму положительных элементов.
Тесты

Входной массив Кол-во отрицательных элементов Сумма положительных элементов
1,2,-3,4,-5 2 7
25,-13,100,-1024,1,0,-24,36 3 162
-17,45,-2,80,-11,-20,-14,10,12,-3 6 147

Код программы:

В ходе решении данной задачи я использую цикл for, в котором сначала считываются, а затем обрабатываются данные. Переменная-счётчик k нужна для того, чтобы узнать кол-во отрицательных элементов. А если встречаются неотрицательные элементы, то подсчитывается их сумма в переменной s. Для проверки выполнения программы можно воспользоваться ссылкой.

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 0 1 0 0 1 0
2 5 3 4 1 0 -2 7 6 18
3 5 1 0 -7 2 6 -4 5 21

Код программы

Решение

Для решения данной задачи можно составить матрицу и вывести из неё формулу для нахождения определителя:
$$\triangle = \begin{vmatrix}a_{x} & a_{y} & a_{z}\\b_{x} & b_{y} & b_{z}\\c_{x} & c_{y} & c_{z}\end{vmatrix} = $$ $$= a_{x} \times ((b_{y} \times c_{z}) + (c_{y} \times b_{z}))-a_{y} \times ((b_{x} \times c_{z})+ $$ $$+(c_{x} \times b_{z})) + a_{z} \times ((b_{x} \times c_{y})+(c_{x} \times b_{y}).$$
Модуль определителя матрицы равен объёму параллелепипеда.
Ссылка на запуск программы.

7. Использование Компилятора

Ссылка на оригинальную статью.

Основное использование
Компилятор Haxe обычно вызывается из командной строки с несколькими аргументами, которые должны отвечать на два вопроса:

  • Что должно быть скомпилировано?
  • Каким должен быть результат?

Чтобы ответить на первый вопрос, обычно достаточно указать путь к классу через аргумент -cp path вместе с основным классом, который должен быть скомпилирован с помощью аргумента -main dot_path. Компилятор Haxe затем выбирает основной файл класса и начинает компиляцию.

Второй вопрос обычно сводится к предоставлению аргумента, указывающего желаемый результат. Haxe имеет выделенный переключатель командной строки, такой как -js имя_файла для JavaScript и -php для PHP. В зависимости от характера цели значение аргумента представляет собой либо имя файла (для -js, -swf и neko), либо путь к каталогу.

Общие аргументы
Ввод:

  • -cp path — добавляет путь к классу, в котором могут быть найдены .hx исходные файлы или пакеты (подкаталоги).
  • -lib library_name — добавляет библиотеку Haxelib. По умолчанию используется самая последняя версия в локальном репозитории Haxelib. Чтобы использовать определенную версию, можно использовать -lib library_name: version.
  • -main dot_path — устанавливает основной класс.

Вывод:

  • -js имя_файла — генерирует исходный код JavaScript в указанном файле.
  • -as3 directory — генерирует исходный код ActionScript 3 в указанной папке.
  • -swf file_name — создает указанный файл как Flash.swf.
  • -neko file_name — генерирует двоичный файл Neko в качестве указанного файла.
  • -php directory — генерирует исходный код PHP в указанной директории.
  • -cpp directory — создает исходный код C++ в указанном каталоге и компилирует его с использованием собственного компилятора C++.
  • -cs directory — создает исходный код C# в указанной директории.
  • -java directory — создает исходный код Java в указанном каталоге и компилирует его с помощью компилятора Java.
  • -python имя_файла — генерирует исходный код Python в указанном файле.