Логическая структура любого алгоритма может быть представлена, как комбинация трех базовых структур.
1. следование или линейная структура;
2. ветвление или разветвляющаяся структура;
3. цикл или циклическая структура.
В алгоритме Евклида поиска НОД, все три они есть. Хотя на вашем рисунке и нет блока цикла, но он выражен неявно, с помощью оператора безусловного перехода (в Паскале, например, это оператор - goto метка).
Правило нахождения НОД двух натуральных чисел A и B у вас написано в условии задания. НОД(A,B)= НОД(min(A,B), |A-B|). Это "звучит" так: НОД двух натуральных чисел A и B равен НОДу двух других натуральных чисел. Первое число - разность (большего и меньшего), второе - меньшее из начальных чисел: НОД(A,B) = НОД(B,A-B) если A>B (или НОД(A,B) = НОД(A,B-A) если A<B)
var a:array of integer;
i,n,k:integer;
begin
write('Введите количество элементов массива: ');
readln (n);
a:=new integer[n];
write ('Массив: ');
for i:=0 to n-1 do
begin
a[i]:=random(199)-99;
if a[i] < 0 then k:=k+1;
write (a[i]:5);
end;
writeln;
write ('Количество отрицательных элементов ',k)
end.
// F#
let rec getNumberFromConsole _ =
let str = System.Console.ReadLine()
let mutable number = 0
if System.Int32.TryParse(str, &number)
then number
else getNumberFromConsole null
let rec getCommonNumber number1 number2 commonNumber multiplier =
if number1 > 0 && number2 > 0
then getCommonNumber (number1 / 10) (number2 / 10) (commonNumber + (number1 % 10) * 10 * multiplier + (number2 % 10) * multiplier) (multiplier * 100)
else commonNumber
[<EntryPoint>]
let main argv =
let number1 = getNumberFromConsole null
let number2 = getNumberFromConsole null
let result = getCommonNumber number1 number2 0 1
System.Console.WriteLine result
System.Console.ReadKey true |> ignore
0
<span>
</span>
Известны два расстояния: одно в километрах, другое—в футах(1 фут=0,45 м). Какое из расстояний меньше?
Program ss;
uses crt;
var
a,b,c,s,s1: integer;
Begin
clrscr;
Writeln('Введите расстояние в километрах:');
readln(a);
Writeln('Введите расстояние в футах');
readln(b);
writeln('Введите размер одного фута в метрах');
s:=a*1000;
s1:=c*b;