Files
FoxLang/test/main_app.fox
T

102 lines
2.9 KiB
Plaintext

// 1. Подключаем нашу библиотеку
include("lib_utils.fox");
// Используем функцию из библиотеки
printHeader();
// ==========================================
// ЧАСТЬ 1: Работа с вводом и условиями
// ==========================================
print("");
print("--- Step 1: User Interaction ---");
print("Enter your name:");
string name = input();
if (name == "Fox") {
print("Hello, Creator!");
} else {
print("Welcome, user " + name);
}
// ==========================================
// ЧАСТЬ 2: Математика и Библиотечные функции
// ==========================================
print("");
print("--- Step 2: Math & Logic ---");
print("Enter a small number to calculate Factorial:");
string inputNum = input();
int num = inputNum; // Автоматическое преобразование типов (строка -> число)
// Передаем аргумент через глобальную переменную библиотеки
arg_val = num;
factorial(); // Вызываем функцию из lib_utils.fox
print("Factorial of " + num + " is: " + return_val);
// Проверяем на четность
checkParity();
// ==========================================
// ЧАСТЬ 3: Массивы и Сортировка (Bubble Sort)
// ==========================================
print("");
print("--- Step 3: Array Sorting (Bubble Sort) ---");
// Объявляем массив на 5 элементов
int arrSize = 5;
array myNumbers arrSize;
// Заполняем массив случайными числами
int i = 0;
while (i < arrSize) {
int rnd = random();
set(myNumbers, i, rnd);
i = i + 1;
}
// Выводим исходный массив
print("Original Array:");
int k = 0;
while (k < arrSize) {
print("Index " + k + ": " + get(myNumbers, k));
k = k + 1;
}
print("Sorting now... please wait...");
// Реализация сортировки пузырьком
int n = arrSize;
int pass = 0;
// Внешний цикл
while (pass < n) {
int j = 0;
// Внутренний цикл (n - 1)
while (j < n - 1) {
// Получаем два соседних элемента
int val1 = get(myNumbers, j);
int val2 = get(myNumbers, j + 1);
// Если левый больше правого - меняем местами
if (val1 > val2) {
set(myNumbers, j, val2);
set(myNumbers, j + 1, val1);
}
j = j + 1;
}
pass = pass + 1;
}
// Выводим отсортированный массив
print("Sorted Array (Result):");
k = 0;
while (k < arrSize) {
print("Index " + k + ": " + get(myNumbers, k));
k = k + 1;
}
// ==========================================
// ФИНАЛ
// ==========================================
print("");
print("Test Complete. FoxLang is working perfectly!");