===== PascalABC.NET =====
function GCD(a, b: integer): integer;// НОД
begin
while b <> 0 do
begin
a := a mod b;
Swap(a, b)
end;
Result := a
end;
procedure RedFrac(var a, b: integer);// сокращение дроби
begin
var sgna := Sign(a); // мы должны учитывать знак!
var sgnb := Sign(b); // мы должны учитывать знак!
a := Abs(a);
b := Abs(b);
var d := GCD(a, b);
a := (a div d) * sgna;
b := (b div d) * sgnb
end;
begin
var (p1, q1) :=
ReadInteger2('Дробь 1. Введите числитель и знаменатель:');
var (p2, q2) :=
ReadInteger2('Дробь 2. Введите числитель и знаменатель:');
var p3 := p1 * q1 + p2 * q2;
var q3 := q1 * q2;
RedFrac(p3, q3);
Println(p3, '/', q3)
end.
Составить алгоритм нахождения произведения целых нечетных чисел от 1 до 100.
Извини, я на украинском не могу)
Буду приводить аналогию на паскале.
В основе будет лежать "двойной" цикл. (for i:=1 to 100 do for j:=1 to 100 do...)
В первом цикле мы проверяем делится ли "i" на 2 (If i mod 2=0).
Если да(четное), тогда берем след число. Если нет(нечет), то запускаем второй цикл:
(For J:=1 to 100)
В нем мы тоже проверяем число на нечетность. Если число нечетное, тогда у нас есть уже 1ое произведение! "i" - Это первый множитель. "j" - второй. i*j - само произведение. Его можно вывести на экран (writeln(i*j)).
Получается мы берем по-порядку каждое число от 1 до 100, если оно нечетное, тогда по очереди умножаем его на каждое нечетное число, опять же, от 1 до 100.
На паскале:
For i:=1 to 100 do
If i mod 2<>0 then
for j:=1 to 100 do
if j mod 2<>0 then writeln(i*j);
Могут встречаться повторы (3*9 и 9*3)
Всё размыто и не видно ближе както камеру приближ или напиши вопр !
К системному программному обеспечению