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

Объясните каждый блок что значит, сама задача:

Дано действительное число a, натуральное число n.

Вычислить: P = a*(a +1) *...* (a + n - 1)

Показать ответ
Ответ:
komarrik
komarrik
10.05.2023 21:56
{неэффективный алгоритм}

const
 k = 100;

type
 maze = array [1..k, 1..k] of integer;
 var
 l : maze;
 n, m: integer;
 i, j: integer;
 c: char;
 t: text;
 w: integer;
 x0, y0: integer;
 x1, y1: integer;

procedure ways(a,b,r:integer);
begin
 if (w = 0) or (r < w) then {нет смысла идти дальше, если текущий путь уже превосходит найденный}
 if (l[a,b] <> -2) then
 if (r < l[a,b]) or (l[a,b] = -1) then {нет смысла идти, если текущая клетка уже была достигнута за меньшее число шагов}
   begin
   l[a,b] := r;
   if (a = x1) and (b = y1) then
     w := r
   else
     begin
     if a <> 1 then ways(a - 1, b, r + 1);
     if b <> 1 then ways(a, b - 1, r + 1);
     if a <> n then ways(a + 1, b, r + 1);
     if b <> m then ways(a, b + 1, r + 1);
     end
   end;
end; 
begin
 assign(t, 'input.txt');
 reset(t);
 w := 0;
 readln(t, n, m);
 readln(t, x0, y0);
 readln(t, x1, y1);
 for i := 1 to n do
   begin
   for j := 1 to m do
     begin
     read(t, c);
     case c of
       '.' : l[i,j] := -1; {будем считать, что если клетка отмечена как -1, то путь к ней еще не найден}
       'X' : l[i,j] := -2; {-2, если клетка непроходима}
       end;
     end;
   readln(t)
   end;
 close(t);
 if (l[x0,y0] <> -2) and (l[x1,y1] <> -2) then
   begin
   l[x0,y0] := 1; {просто трюк, чтобы пройти проверку на (r < l[x0,y0])}
     ways(x0, y0, 0);
   end
 else
  l[x1,y1] := -1;
 writeln(l[x1,y1])
end.
0,0(0 оценок)
Ответ:
Anna260
Anna260
30.12.2020 05:56

1.   66

2.   165

Объяснение:

1.

s = 0       k = 1

Действия в цикле:

1) s = s + k

2) k = k + 1

Пока условие k > 11 ложно (нет) цикл выполняться

Вывод s

s = 0       k = 1

Действия в цикле:

1) s = s + k = 0 + 1 = 1

2) k = k + 1  = 1 + 1 = 2

2 > 11  (нет) цикл выполняться

s = 1       k = 2

Действия в цикле:

1) s = s + k = 1 + 2 = 3

2) k = k + 1  = 2 + 1 = 3

3 > 11  (нет) цикл выполняться

s = 3       k = 3

Действия в цикле:

1) s = s + k = 3 + 3 = 6

2) k = k + 1  = 3 + 1 = 4

4 > 11  (нет) цикл выполняться

s = 6       k = 4

Действия в цикле:

1) s = s + k = 6 + 4 = 10

2) k = k + 1  = 4 + 1 = 5

5 > 11  (нет) цикл выполняться

s = 10       k = 5

Действия в цикле:

1) s = s + k = 10 + 5 = 15

2) k = k + 1  = 5 + 1 = 6

6 > 11  (нет) цикл выполняться

s = 15       k = 6

Действия в цикле:

1) s = s + k = 15 + 6 = 21

2) k = k + 1  = 6 + 1 = 7

7 > 11  (нет) цикл выполняться

s = 21       k = 7

Действия в цикле:

1) s = s + k = 21 + 7 = 28

2) k = k + 1  = 7 + 1 = 8

8 > 11  (нет) цикл выполняться

s = 28       k = 8

Действия в цикле:

1) s = s + k = 28 + 8 = 36

2) k = k + 1  = 8 + 1 = 9

9 > 11  (нет) цикл выполняться

s = 36       k = 9

Действия в цикле:

1) s = s + k = 36 + 9 = 45

2) k = k + 1  = 9 + 1 = 10

10 > 11  (нет) цикл выполняться

s = 45       k = 1 0

Действия в цикле:

1) s = s + k = 45 + 10 = 55

2) k = k + 1  = 10 + 1 = 11

11 > 11  (нет) цикл выполняться

s = 55       k = 11

Действия в цикле:

1) s = s + k = 55 + 11 = 66

2) k = k + 1  = 11 + 1 = 12

12 > 11  (да) цикл не выполняться

s = 66       k = 12

2.

s = 0       k = 0

пока условие k < 30 истинно (да) цикл выполняется

Действия в цикле:

1) k = k + 3

2) s = s + k

Вывод s

s = 0       k = 0

0 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 0 + 3 = 3

2) s = s + k  = 0 + 3 = 3

s = 3       k = 3

3 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 3 + 3 = 6

2) s = s + k  = 3 + 6 = 9

s = 9       k = 6

6 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 6 + 3 = 9

2) s = s + k  = 9 + 9 = 18

s = 18       k = 9

9 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 9 + 3 = 12

2) s = s + k  = 18 + 12 = 30

s = 30       k = 12

12 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 12 + 3 = 15

2) s = s + k  = 30 + 15 = 45

s = 45       k = 15

15 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 15 + 3 = 18

2) s = s + k  = 45 + 18 = 63

s = 63       k = 18

18 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 18 + 3 = 21

2) s = s + k  = 63 + 21 = 84

s = 84       k = 21

21 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 21 + 3 = 24

2) s = s + k  = 84 + 24 = 108

s = 108       k = 24

24 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 24 + 3 = 27

2) s = s + k  = 108 + 27 = 135

s = 135       k = 27

27 < 30 (да) цикл выполняется

Действия в цикле:

1) k = k + 3 = 27 + 3 = 30

2) s = s + k  = 135 + 30 = 165

s = 165       k = 30

30 < 30 (нет) цикл не выполняется

s = 165       k = 30

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