1. Ответ представлен в скриншоте
2. Напечатанное значение в результате программы -40
3 Напечатанное значение в результате программы -24
Множество первых букв русского алфавита.
Содержится всего 1 элемент: буква "А"
Привожу 2 варианта решения.
<u>Вариант 1:</u> файл 1.cpp
Решение основано на обыкновенном вычислении периода дроби (для дробей, имеющих конечную десятичную запись(например, 1/2=0,5), период вычисляется для формы с нулем в периоде(то есть для 1/2 берется форма 0,5(0))) с помощью деления столбиком.
<em>Замечание:</em> сам алгоритм деления в столбик я писал достаточно давно, и для других программ, поэтому его реализация в данном коде может быть неоптимальной (в плане памяти или кол-ва операций), однако он работает.
<u>Вариант 2:</u> файл 3.cpp
Если немного углубиться в математику, можно найти теорему, по которой дробь, представленная в виде m/n , где НОД(m, n) = 1, имеет конечную десятичную запись тогда и только тогда, когда ее знаменатель . Тогда достаточно сократить числитель и знаменатель на общие множители, а далее выполнить проверку знаменателя.
8) Область определения функции:
2x + 1 >= 0
2x >= -1
x >= -0.5
20x - 5 <> 0
20x <> 5
x <> 5/20
x <> 1/4
x ∈ [-0.5; 0.25) U (0.25; ∞)
На Паскале вычисление значения этой функции с учетом области определения может выглядеть так:
if (x > -0.5) and (x <> 0.25) then begin
writeln(sqrt(2*x + 1) / (20 * x - 5));
end;
9)
begin
var price: real;
readln(price);
if price > 3000 then begin
price := price - price * 0.05;
end
else if price > 1000 then begin
price := price - price * 0.03;
end;
writeln(price);
end.
10)
begin
var x, f: real;
readln(x);
f := 0;
if x > 5 then begin
f := x*x - 1;
end
else if x < -2 then begin
f := 2*x;
end;
writeln(f);
end.