<em>Все нормальные люди делают это так:</em>
procedure F(n:integer); forward;
procedure G(n:integer); forward;
procedure F(n:integer);
begin
Writeln('Вызов F(',n,') - *');
//Write('*');
If n>10 then F(n-2) else G(n);
Writeln('Завершение F(',n,')')
end;
procedure G(n: integer) ;
begin
Writeln('Вызов G(',n,') - **');
//Write('**');
If n>1 then F(n-3);
Writeln('Завершение G(',n,')')
end;
begin
F(20)
end.
<u>Результат</u>
Вызов F(20) - *
Вызов F(18) - *
Вызов F(16) - *
Вызов F(14) - *
Вызов F(12) - *
Вызов F(10) - *
Вызов G(10) - **
Вызов F(7) - *
Вызов G(7) - **
Вызов F(4) - *
Вызов G(4) - **
Вызов F(1) - *
Вызов G(1) - **
Завершение G(1)
Завершение F(1)
Завершение G(4)
Завершение F(4)
Завершение G(7)
Завершение F(7)
Завершение G(10)
Завершение F(10)
Завершение F(12)
Завершение F(14)
Завершение F(16)
Завершение F(18)
Завершение F(20)
Считаем звездочки, их 17. Осталось оформить ответ, сделав вид, что это не программная выдача, а "я такой умный, на бумажке расписал".
А "ненормальные люди" и в самом деле делают это вручную, не понимая, что ручной разбор рекурсии такой длины - это глупость.
#include <iostream>
using std::cout;
using std::cin;
int main(){
double a, b, c, p, S;
cout << "Введите стороны треугольника";
cin >> a >> b >> c;
p = (a + b + c)/2;
S = p*(p-a)*(p-b)*(p-c);
cout << "\nПлощадь = " << S;
}
1) 70
2) 427
3)50
4) нет вопроса
5) 3400
6) 2200
7)277
8) 250
9) 533
10) 140
4. Буфер обміну, зокрема, дуже корисна функція, адже набирати те саме речення по 3-4 рази втомлює та дратує водночас. З ним легко ввести одні й ті ж самі слова, наприклад, в таблиці, замість того, щоб набирати його вручну. Він корисний, коли потрібно розіслати оголошення в соц. мережі кільком друзям, аніж нервуватись над написанням кожного оголошення.
Вибачайте, але 5 я не зможу зробити, але хоча би з цим допомогла.
Центральный процессор, так как он является основной и неотъемлемой частью ПК.