В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Masha20082606
Masha20082606
28.12.2020 11:30 •  Информатика

Синформатикой
: проверить, какой фигуроя является четырехугольник, если пользователь вводит длины его сторон​

Показать ответ
Ответ:
мыпоммрт
мыпоммрт
05.08.2021 00:24
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку:
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:

 Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0

Ниже записаны две рекурсивные функции (процедуры): f и g.сколько символов «звёздочка» будет напечата
0,0(0 оценок)
Ответ:
elzamarg
elzamarg
01.04.2021 23:19

Объяснение:

const

 n = 10;

 ar:array[1..n] of integer = (-2, -1, 2, 3, 4, 5, -5, -6, 2, 5);

var

 i:integer;

 is_first_pol:boolean;

 raz_pol:integer;

begin

 

 raz_pol:=0;

 is_first_pol:=true; // флаг того, что найденное положительное число - первое

 

 for i:=1 to n do begin

   

   if (ar[i] > 0) then

     

     if (is_first_pol) then begin

       // если найденное полодительное число - первое, то

       raz_pol:=ar[i]; // в нашу разницу заносим это число

       is_first_pol:=false; // меняем флаг

     end

     else raz_pol:=raz_pol - ar[i]; // иначе вычисляем разницу

 

 end;

 

 writeln(raz_pol);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота