• По значению — копия данных, оригинал не меняется.
• ref — ссылка на переменную, функция может её изменить.
• out — как ref, но не требует инициализации до вызова; используется для возврата нескольких значений.
• Указатель (int*) — прямой доступ по адресу в памяти (unsafe-код).
3. Как вернуть результат из функции?
Через return значение; (тип функции ≠ void), либо через out/ref-параметры, либо возвращая кортеж, массив, структуру или объект.
4. Что такое «контрольная точка»?
Место в алгоритме с проверкой условия (if, ветвление, условие цикла), где выполнение идёт по одному из путей. На схеме — ромб с «Да»/«Нет».
5. Глобальные переменные — как и почему не рекомендуются?
Объявляются вне функций (static-поле), доступны отовсюду. Не рекомендуются: усложняют отладку, нарушают инкапсуляцию, создают скрытые зависимости между функциями, в многопоточности — риск гонок данных. Лучше передавать данные через параметры