Площадь кольца вычисляется по формуле : Тут R - внешний радиус кольца r - внутренний радиус Кстати в самом Турбо паскале обзначения R и r не прокатят, он не видит разницы между большими и малыми буквами, т.о. будет воспринимать их как однк переменную. Далее сумма площадей N колец, это нечто эдакое: Чтобы устроить подобный счет в паскале придется организовать цикл. Таким образом общий алгоритм программы проглядывает в таком порядке 1. Объявить все переменные (Данные) это само собой. 2. Присвоить переменным начальные значения (инициализировать) те, что есть по условию (или просто 0, чтоб потом легче отлаживать) 3.Запросить у пользователя недостающие данные, например N может запрашиваться у пользователя. 4. Организация цикла расчета 5. Вывод результатов.
Теперь разберемся с пунктом 4 Для организации цикла как мне представляется надо будет задействовать 2 такие переменные i, Ssum, Si, Rin, Rout,. Где i - переменная-счетчик, что изменяется от 1 до N, для организации цикла. (Integer целая) Ssum - переменная, в которой будет накапливаться суммарная площадь. (Не помню как паскаль поступает с вновь объявленными переменными, но в начале программы лучше присвоить ей нулевое значение, чтобы там не оказалось случайного мусора) Si - переменная в которой хранится текущая вычисленная площадь. Rin - текущий внутренний радиус. Rout - текущий внешний радиус. Переменные: Ssum, Si, Rin, Rout типа (Real вещественный ) Ну и считаем в следующем порядке Перед началом цикла Ssum:=0 (о чем уже говорилось) далее цикл FOR I:=1 to N Вычислить текущие значения внешнего и внутреннего радиусов (У нас внутренний радиус не меняется, но более общем случае тут мог, быть расчет) Вычисляем площадь текущего (по счетчику) кольца: Накапливаем в Ssum суммарную площадь Далее цикл FOR выполняет такие действия: увеличивает на 1 переменную счетчик I I:=I+1 Сравнивает ее с N, если уходим на "следующий виток" цикла, в противном случае выходим из него. Кстати так можно было организовать цикл типа (Repeat, Until) тогда приращение счетчика надо организовать самому. For делает это сам, если не ошибаюсь.
Const n=20; var a,b:array[1..n] of integer; i,k,s:integer; begin Randomize; Writeln('Массив a'); for i:=1 to n do begin a[i]:=Random(50)+1; Write(a[i]:3) end; s:=0; Writeln(#13#10,'Массив b'); for i:=1 to n do begin b[i]:=Random(2); Write(b[i]:3); if b[i]=1 then s+=a[i] end; i:=1; while (b[i]=0) and (i<=n) do Inc(i); if i>n then k:=0 else k:=i; Writeln(#13#10,'k=',k,', s=',s) end.
Если под буквой с) вы имели ввиду процессор, то это он
Так что ответ с)