Program odin; - название программы var i,n,k,j : integer; - введение переменных i,n,k,j типа integer (целое число) begin - начало программы i:=1; - присвоить переменной i значение 1 For i:=2 to n do - цикл в котором переменной i присваиваются значения от 2 до n ( i = 2, 3, 5 ... n) begin - начало цикла for k:=0; - k присваивается 0 For j:=2 to i-1 do цикл в котором переменной j присваиваются значения от 2 до i-1 if i mod j = 0 then k:=1; - если остаток от деления переменной i yf переменную j равно 0, то присвоить переменной k значение 0 if (k=0) and (n mod i = 0) then writeln(i); - если переменная k имеет значение 0 и остаток от деления переменной n на переменную i равно 0, то вывести на экран значение переменной i end; - конец цикла for end. - конец программы
оретические исследования нашего соотечественника Андрея Андреевича Маркова (младшего) (1903-1979), выполненные в середине века, показали, что в общем случае алгоритмы должны содержать предписания двух видов:
1) предписания, направленные на непосредственное преобразование информации (функциональные операторы);
2) предписания, определяющие дальнейшее направление действий (логические операторы).
ример 1. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары натуральных чисел (алгоритм Евклида).
Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и У. Запишите первое из заданных чисел в столбец X, а второе — в столбец У. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего. Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца X считайте искомым результатом.
Построчная запись. Это запись на естественном языке, но с соблюдением некоторых дополнительных правил:
var i,n,k,j : integer; - введение переменных i,n,k,j типа integer (целое число)
begin - начало программы
i:=1; - присвоить переменной i значение 1
For i:=2 to n do - цикл в котором переменной i присваиваются значения от 2 до n ( i = 2, 3, 5 ... n)
begin - начало цикла for
k:=0; - k присваивается 0
For j:=2 to i-1 do цикл в котором переменной j присваиваются значения от 2 до i-1
if i mod j = 0 then k:=1; - если остаток от деления переменной i yf переменную j равно 0, то присвоить переменной k значение 0
if (k=0) and (n mod i = 0) then writeln(i); - если переменная k имеет значение 0 и остаток от деления переменной n на переменную i равно 0, то вывести на экран значение переменной i
end; - конец цикла for
end. - конец программы
Объяснение:
оретические исследования нашего соотечественника Андрея Андреевича Маркова (младшего) (1903-1979), выполненные в середине века, показали, что в общем случае алгоритмы должны содержать предписания двух видов:
1) предписания, направленные на непосредственное преобразование информации (функциональные операторы);
2) предписания, определяющие дальнейшее направление действий (логические операторы).
ример 1. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары натуральных чисел (алгоритм Евклида).
Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и У. Запишите первое из заданных чисел в столбец X, а второе — в столбец У. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего. Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца X считайте искомым результатом.
Построчная запись. Это запись на естественном языке, но с соблюдением некоторых дополнительных правил: