Составьте алгоритм, блок-схему в программу для определения площади кольца, если внутренний радиус равен R1 см, а внешний радиус равен R2 см. В качестве PI использовать значение 3,14

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
аноним991
16.03.2022 04:29
Любое трехзначное число вида "abc" можно представить как выражение
100a+10b+c
Тогда:
 100a+10b+c
-
 100c+10b+a

   99(a-c)
Значение, равное 99(a-c), равно трехзначному числу, составленному из тех же самых цифр a, b, c. Три цифры можно расставить шестью но два из них мы уже использовали, поэтому остается проверить четыре остальные расстановки, что и делает приведенная программа.
qBASIC
CLS
FOR a = 1 TO 9
   FOR b = 0 TO 9
      FOR c = a - 1 TO 1 STEP -1
         k = 99 * (a - c)
         k2 = 100 * a + 10 * c + b
         k3 = 100 * c + 10 * a + b
         k4 = 100 * b + 10 * a + c
         k5 = 100 * b + 10 * c + a
         IF k = k2 OR k = k3 OR k = k4 OR k = k5 THEN
            PRINT a; b; c; " - "; c; b; a; " = "; k
         END IF
      NEXT c
   NEXT b
NEXT a
Результат выполнения программы:
 9  5  4  -  4  5  9  =  495
0,0(0 оценок)
Ответ:
Amineshin
04.05.2022 18:49
Задача, аналогичная той, которую публиковали вчера. Только цикл repeat заменяем на while.

Сначала немного математики.
\displaystyle a_n= \frac{n!}{(2n)!}=\frac{\prod_{i=1}^ni}{\prod_{i=1}^{2n}i}=\frac{\prod_{i=1}^ni}{\prod_{i=1}^{n}i\times\prod_{i=n+1}^{2n}i}=\frac{1}{\prod_{i=n+1}^{2n}i}; \quad n\in\mathbb N
О модуле тут смысла нет говорить, поскольку все an - суть положительные величины на интервале (0;1).

uses Crt;

function ai(n:integer):real;
var
  i:integer;
  p:real;
begin
  p:=1;
  for i:=n+1 to 2*n do p:=p*i;
  ai:=1/p
end;

var
  i:integer;
  eps,s,an:real;
begin
  ClrScr;
  Write('eps='); Read(eps);
  s:=0; i:=1; an:=eps+1;
  while an>=eps do begin
     an:=ai(i);
     if an>=eps then begin s:=s+an; Inc(i) end
  end;
  Writeln('s=',s);
  ReadKey
end.

Тестовые решения:
eps=0.07
s= 5.8333333333E-01

eps=0.000001
s= 5.9229647667E-01

eps=1e-8
s= 5.9229653448E-01

Для контроля результата можно отметить, что сумма первых 1000 членов ряда равна приблизительно 5.922965365Е-01

Если раздражает наличие функции, можно и без нее:
uses Crt;

var
  i,j:integer;
  eps,s,an,p:real;
begin
  ClrScr;
  Write('eps='); Read(eps);
  s:=0; i:=1; an:=eps+1;
  while an>=eps do begin
    p:=1;
    for j:=i+1 to 2*i do p:=p*j;
    an:=1/p;
    if an>=eps then begin s:=s+an; Inc(i) end
  end;
  Writeln('s=',s);
  ReadKey
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота