Автомат машины Тьюринга в процессе своей работы может выполнять следующие действия:
Записывать символ внешнего алфавита в ячейку (в том числе и пустой), заменяя находившийся в ней (в том числе и пустой).
Передвигаться на одну ячейку влево или вправо.
Менять свое внутреннее состояние.
Одна команда для машины Тьюринга представляет собой конкретную комбинацию этих трех составляющих: указаний, какой символ записать в ячейку (над которой стоит автомат), куда передвинуться и в какое состояние перейти. Хотя команда может содержать и не все составляющие (например, не менять символ, не передвигаться или не менять внутреннего состояния).
For(i = 0; i < N; i++)
{
sum += a[i] * a[i];
}
//Pascal ABC.NET 3.1 сборка 1256
Const
n=5;
begin
var a:=ReadArrInteger(n);
var Sra:=a.where(x -> x>0).Count;
writeln('Положительных:',Sra);
var Sg:=a.Where(x -> x<0).Count;
writeln('Отрицательных:',Sg);
end.
Пример ввода:
-1
1
-2
2
3
Пример вывода:
Положительных:3
Отрицательных:2
Рассмотрим назначение переменных на примере.
Пусть задано число 34561.
Тогда n=34651 (введённое число сохраняется в переменной n). В цикле значение n меняется так: 3465, 346, 34, 3, 0.
Переменная c используется при получении цифр числа, т.е. в этой переменной последовательно будут значения 1, 5, 6, 4, 3.
В переменной mn сохраняется минимальная цифра, стоящая на чётном месте. Значения этой переменной: 9 (начальное значение), 6, 4.
Переменная i используется для определения места (чётное или нечётное) цифры числа. Начальное значение i=0, затем i в цикле увеличивается на 1: 1, 2, 3, 4, 5.