1. Составить схему программы и разработать программу для вычисления указанной функции разложением ее в ряд для заданных аргументов с точностью с использованием оператора цикла с предусловием. 2. Составить схему программы и разработать программу для вычисления указанной функции разложением ее в ряд для заданных аргументов с точностью с использованием оператора цикла с постусловием.
uses crt; var r: byte; begin readln(к); write('Мне ',к); if r in [5..20] then write(' лет') else case к mod 10 of 1: write(' год'); 2..4: write(' года'); 5..9,0: write(' лет'); else
writeln('error'); end; end.
через case оч хорошо всё получается)
или вот так по подробнее:
Const st='Мне'; Var k: Byte; BEGIN Repeat Write('Введите K (от 1 до 99): '); Readln(k); until k in [1..99]; Case k of 11..20: Writeln(st,' ',k,' лет'); Else begin Case k mod 10 of 1: Writeln(st,' ',k,' год'); 2..4: Writeln(st,' ',k,' года'); 5..9,0: Writeln(st,' ',k,' лет'); end; end; end; Readln END.
#include <iostream>
// матрица 2 на 2// a b// c dtemplate< typename T = int >class matrix2{public: T a, b, c, d;
matrix2() : a(0), b(0), c(0), d(0) {} matrix2(T a, T b, T c, T d) : a(a), b(b), c(c), d(d) {}
matrix2 & operator *= (matrix2 & other) { T ta, tb, tc, td; ta = a * other.a + b * other.c; tb = a * other.b + b * other.d; tc = a * other.c + c * other.d; td = b * other.c + d * other.d; a = ta, b = tb, c = tc, d = td; }
matrix2 operator * (matrix2 & other) { T ta, tb, tc, td; ta = a * other.a + b * other.c; tb = a * other.b + b * other.d; tc = a * other.c + c * other.d; td = b * other.c + d * other.d; return matrix2(ta, tb, tc, td); }
matrix2 pow(int power) { matrix2 result(1, 0, 0, 1); matrix2 cur = *this; while (power) { if (power & 1) { power ^= 1; result *= cur; } else { power >>= 1; cur *= cur; } } return result; }
void operator = (matrix2 other) { a = other.a; b = other.b; c = other.c; d = other.d; }
friend std::ostream & operator << (std::ostream & ostr, matrix2 ma) { ostr << std::endl; ostr << ma.a << " " << ma.b << std::endl; ostr << ma.c << " " << ma.d << std::endl; return ostr; }
};
int main(void){ matrix2< int > m1(1, 1, 1, 0), tmp;
const int N = 12;
std::cout << m1.pow(N).a;
return 0;}
uses crt;
var r: byte;
begin
readln(к);
write('Мне ',к);
if r in [5..20] then write(' лет') else
case к mod 10 of
1: write(' год');
2..4: write(' года');
5..9,0: write(' лет');
else
writeln('error');
end;
end.
через case оч хорошо всё получается)
или вот так по подробнее:
Const st='Мне';
Var
k: Byte;
BEGIN
Repeat
Write('Введите K (от 1 до 99): ');
Readln(k);
until k in [1..99];
Case k of
11..20: Writeln(st,' ',k,' лет');
Else
begin
Case k mod 10 of
1: Writeln(st,' ',k,' год');
2..4: Writeln(st,' ',k,' года');
5..9,0: Writeln(st,' ',k,' лет');
end;
end;
end;
Readln
END.