вторник, 27 декабря 2016 г.

1. Ав­то­мат по­лу­ча­ет на вход трёхзнач­ное число. По этому числу стро­ит­ся новое число по сле­ду­ю­щим пра­ви­лам.
1. Скла­ды­ва­ют­ся пер­вая и вто­рая, а также вто­рая и тре­тья цифры ис­ход­но­го числа.
2. По­лу­чен­ные два числа за­пи­сы­ва­ют­ся друг за дру­гом в по­ряд­ке воз­рас­та­ния (без раз­де­ли­те­лей).

При­мер. Ис­ход­ное число: 843. Суммы: 8 + 4 = 12; 4 + 3 = 7. Ре­зуль­тат: 712.
Сколь­ко су­ще­ству­ет чисел, в ре­зуль­та­те об­ра­бот­ки ко­то­рых ав­то­мат вы­даст число 1216?
2. У ис­пол­ни­те­ля Каль­ку­ля­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:


1. воз­ве­ди в квад­рат,
2. при­бавь 1.

Пер­вая из них воз­во­дит число на экра­не в квад­рат, вто­рая уве­ли­чи­ва­ет его на 1. За­пи­ши­те по­ря­док ко­манд в про­грам­ме, ко­то­рая пре­об­ра­зу­ет число 2 в число 100 и со­дер­жит не более 4 ко­манд. Ука­зы­вай­те лишь но­ме­ра ко­манд. (На­при­мер, про­грам­ма 2122 — это про­грам­ма


при­бавь 1,
воз­ве­ди в квад­рат,
при­бавь 1,
при­бавь 1.

Эта про­грам­ма пре­об­ра­зу­ет число 1 в число 6.)
3. В не­ко­то­рой ин­фор­ма­ци­он­ной си­сте­ме ин­фор­ма­ция ко­ди­ру­ет­ся дво­ич­ны­ми ше­сти­раз­ряд­ны­ми сло­ва­ми. При пе­ре­да­че дан­ных воз­мож­ны их ис­ка­же­ния, по­это­му в конец каж­до­го слова до­бав­ля­ет­ся седь­мой (кон­троль­ный) раз­ряд таким об­ра­зом, чтобы сумма раз­ря­дов но­во­го слова, счи­тая кон­троль­ный, была чётной. На­при­мер, к слову 110011 спра­ва будет до­бав­лен 0, а к слову 101100 — 1.

После приёма слова про­из­во­дит­ся его об­ра­бот­ка. При этом про­ве­ря­ет­ся сумма его раз­ря­дов, вклю­чая кон­троль­ный. Если она нечётна, это озна­ча­ет, что при пе­ре­да­че этого слова про­изошёл сбой, и оно ав­то­ма­ти­че­ски за­ме­ня­ет­ся на за­ре­зер­ви­ро­ван­ное слово 0000000. Если она чётна, это озна­ча­ет, что сбоя не было или сбоев было боль­ше од­но­го. В этом слу­чае при­ня­тое слово не из­ме­ня­ет­ся. Ис­ход­ное со­об­ще­ние 1010101 0101000 0001010 было при­ня­то в виде 1010111 0101000 0001001.

Как будет вы­гля­деть при­ня­тое со­об­ще­ние после об­ра­бот­ки?

1) 0000000 0101000 0001001
2) 1010111 0000000 0001001
3) 1010111 0000000 0000000
4) 0000000 0101000 0000000
4. Ав­то­мат по­лу­ча­ет на вход трёхзнач­ное число. По этому числу стро­ит­ся новое число по сле­ду­ю­щим пра­ви­лам.

1. Скла­ды­ва­ют­ся пер­вая и вто­рая, а также вто­рая и тре­тья цифры ис­ход­но­го числа.
2. По­лу­чен­ные два числа за­пи­сы­ва­ют­ся друг за дру­гом в по­ряд­ке воз­рас­та­ния (без раз­де­ли­те­лей).

При­мер. Ис­ход­ное число: 348. Суммы: 3+4 = 7; 4+8 = 12. Ре­зуль­тат: 712.
Ука­жи­те наи­мень­шее число, в ре­зуль­та­те об­ра­бот­ки ко­то­ро­го ав­то­мат вы­даст число 1115.
5. У ис­пол­ни­те­ля Квад­ра­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:


1. воз­ве­ди в квад­рат,
2. при­бавь 1.

Пер­вая из них воз­во­дит число на экра­не в квад­рат, вто­рая уве­ли­чи­ва­ет его на 1. За­пи­ши­те по­ря­док ко­манд в про­грам­ме, ко­то­рая пре­об­ра­зу­ет число 1 в число 17 и со­дер­жит не более 4 ко­манд. Ука­зы­вай­те лишь но­ме­ра ко­манд. (На­при­мер, про­грам­ма 2122 — это про­грам­ма


при­бавь 1,
воз­ве­ди в квад­рат,
при­бавь 1,
при­бавь 1.

Эта про­грам­ма пре­об­ра­зу­ет число 1 в число 6.)
6. Вася забыл па­роль к Windows XP, но пом­нил ал­го­ритм его по­лу­че­ния из стро­ки под­сказ­ки «B265C42GC4»: если все по­сле­до­ва­тель­но­сти сим­во­лов «C4» за­ме­нить на «F16», а затем из по­лу­чив­шей­ся стро­ки уда­лить все трех­знач­ные числа, то по­лу­чен­ная по­сле­до­ва­тель­ность и будет па­ро­лем. Опре­де­ли­те па­роль:



1) BFGF16
2) BF42GF16
3) BFGF4
4) BF16GF
7. У ис­пол­ни­те­ля, ко­то­рый ра­бо­та­ет с по­ло­жи­тель­ны­ми од­но­бай­то­вы­ми дво­ич­ны­ми чис­ла­ми, две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:
1. сдвинь впра­во
2. при­бавь 4
Вы­пол­няя первую из них, ис­пол­ни­тель сдви­га­ет число на один дво­ич­ный раз­ряд впра­во, а вы­пол­няя вто­рую, до­бав­ля­ет к нему 4. Ис­пол­ни­тель начал вы­чис­ле­ния с числа 191 и вы­пол­нил це­поч­ку ко­манд 112112. За­пи­ши­те ре­зуль­тат в де­ся­тич­ной си­сте­ме.

8. В не­ко­то­рой ин­фор­ма­ци­он­ной си­сте­ме ин­фор­ма­ция ко­ди­ру­ет­ся дво­ич­ны­ми ше­сти­раз­ряд­ны­ми сло­ва­ми. При пе­ре­да­че дан­ных воз­мож­ны их ис­ка­же­ния, по­это­му в конец каж­до­го слова до­бав­ля­ет­ся седь­мой (кон­троль­ный) раз­ряд таким об­ра­зом, чтобы сумма раз­ря­дов но­во­го слова, счи­тая кон­троль­ный, была чётной. На­при­мер, к слову 110011 спра­ва будет до­бав­лен 0, а к слову 101100 — 1.

После приёма слова про­из­во­дит­ся его об­ра­бот­ка. При этом про­ве­ря­ет­ся сумма его раз­ря­дов, вклю­чая кон­троль­ный. Если она нечётна, это озна­ча­ет, что при пе­ре­да­че этого слова про­изошёл сбой, и оно ав­то­ма­ти­че­ски за­ме­ня­ет­ся на за­ре­зер­ви­ро­ван­ное слово 0000000. Если она чётна, это озна­ча­ет, что сбоя не было или сбоев было боль­ше од­но­го. В этом слу­чае при­ня­тое слово не из­ме­ня­ет­ся. Ис­ход­ное со­об­ще­ние 1011100 0000011 0001010 было при­ня­то в виде 1011110 0000011 0001001.

Как будет вы­гля­деть при­ня­тое со­об­ще­ние после об­ра­бот­ки?

1) 1011110 0000000 0001010
2) 1011110 0000000 0000000
3) 0000000 0001011 0000000
4) 0000000 0000011 0001001
9. У ис­пол­ни­те­ля Квад­ра­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:

1. воз­ве­ди в квад­рат,
2. при­бавь 2.
Пер­вая из них воз­во­дит число на экра­не в квад­рат, вто­рая уве­ли­чи­ва­ет его на 2. На­пи­ши­те про­грам­му, ко­то­рая пре­об­ра­зу­ет число 1 в число 49 и со­дер­жит не более четырёх ко­манд. Ука­зы­вай­те лишь но­ме­ра ко­манд.
На­при­мер, 2122 — это про­грам­ма
при­бавь 2,
воз­ве­ди в квад­рат,
при­бавь 2,
при­бавь 2.
Эта про­грам­ма пре­об­ра­зу­ет число 3 в число 29.
10. Маша за­бы­ла па­роль для за­пус­ка ком­пью­те­ра, но пом­ни­ла ал­го­ритм его по­лу­че­ния из стро­ки под­сказ­ки «KBMAM9KBK»: если все по­сле­до­ва­тель­но­сти сим­во­лов «MAM» за­ме­нить на «RP», «KBK» на «1212», а затем из по­лу­чив­шей­ся стро­ки уда­лить три по­след­них сим­во­ла, то по­лу­чен­ная по­сле­до­ва­тель­ность и будет па­ро­лем. Опре­де­ли­те па­роль:

1) KBRP91
2) 1212RP91
3) KBRP9
4) KB91212
11. Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­са­ны две ре­кур­сив­ные функ­ции: F и G.



Бей­сикPython
FUNCTION F(n)
  IF n > 2 THEN
    F = F(n - 1) + G(n - 2)
  ELSE
    F = n
  END IF
END FUNCTION
FUNCTION G(n)
  IF n > 2 THEN
    G = G(n - 1) + F(n - 2)
  ELSE
    G = n + 1
  END IF
END FUNCTION
def F(n):
  if n > 2:
    return F(n-1) + G(n-2)
  else: return n
def G(n):
  if n > 2:
    return G(n-1) + F(n-2)
  else: return n+1
Пас­кальАл­го­рит­ми­че­ский язык
function F(n: integer): integer;
begin
  if n > 2 then
    F := F(n - 1) + G(n - 2)
  else
    F := n;
end;
function G(n: integer): integer;
begin
  if n > 2 then
    G := G(n - 1) + F(n - 2)
  else
    G := n+1;
end;
алг цел F(цел n)
нач
  если n > 2
    то
      знач := F(n - 1)+G(n - 2)
    иначе
      знач := n
  все
кон
алг цел G(цел n)
нач
  если n > 2
    то
      знач := G(n - 1)+F(n - 2)
    иначе
      знач := n+1
  все
кон
Си
int F(int n)
{
  if (n > 2)
    return F(n-1) + G(n-2);
  else return n;
}
int G(int n)
{
  if (n > 2)
    return G(n-1) + F(n-2);
  else return n + 1;
}

Чему будет равно зна­че­ние, вы­чис­лен­ное при вы­пол­не­нии вы­зо­ва G(6)?
12. Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­са­ны две ре­кур­сив­ные функ­ции: F и G.



Бей­сикPython
DECLARE FUNCTION F(n)
DECLARE FUNCTION G(n)
FUNCTION F(n)
  IF n > 2 THEN
    F = F(n - 1) + G(n-2)
  ELSE
    F = 1
  END IF
END FUNCTION
FUNCTION G(n)
  IF n > 2 THEN
    G = G(n - 1) + F(n-2)
  ELSE
    G = 1
  END IF
END FUNCTION
def F(n):
  if n > 2:
    return F(n-1)+ G(n-2)
  else: return 1
def G(n):
  if n > 2:
  return G(n-1) + F(n-2)
  else: return 1
Пас­кальАл­го­рит­ми­че­ский язык
function F(n: integer): integer;
begin
  if n > 2 then
    F := F(n - 1) + G(n - 2)
  else
    F := 1;
end;
function G(n: integer): integer;
begin
  if n > 2 then
    G := G(n - 1) + F(n - 2)
  else
    G := 1;
end;
алг цел F(цел n)
нач
  если n > 2
    то
      знач := F(n - 1) + G(n - 2)
    иначе
      знач := 1
  все
кон
алг цел G(цел n)
нач
  если n > 2
    то
      знач := G(n - 1) + F(n - 2)
    иначе
      знач := 1
  все
кон
Си
int F(int n)
{
  if (n > 2)
    return F(n-1) + G(n-2);
  else return 1;
}
int G(int n)
{
  if (n > 2)
    return G(n-1) + F(n-2);
  else return 1;
}

Чему будет равно зна­че­ние, вы­чис­лен­ное при вы­пол­не­нии вы­зо­ва F(8)?
13. Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан ре­кур­сив­ный ал­го­ритм F.



Бей­сикPython
SUB F(n)
    IF n > 2 THEN
        F = F(n - 1) +F(n-2)
    ELSE
        F = 1
    END IF
END SUB
def F(n):
    if n > 2:
        return F(n-1)+ F(n-2)
    else: return 1
Пас­кальАл­го­рит­ми­че­ский язык
function F(n: integer): integer;
begin
    if n > 2 then
        F := F(n - 1) + F(n - 2)
    else
        F := 1;
end;
алг цел F(цел n)
нач
если n > 2
то
    знач := F(n - 1)+F(n - 2)
иначе
    знач := 1
все
кон
Си
int F(int n)
{
    if (n > 2)
        return F(n-1) + F(n-2);
    else return 1;
}

Чему будет равно зна­че­ние, вы­чис­лен­ное ал­го­рит­мом при вы­пол­не­нии вы­зо­ва F(5)?
14. Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан ре­кур­сив­ный ал­го­ритм F.



Бей­сикPython
SUB F(n)
    PRINT n
    IF n > 1 THEN
        F(n - 1)
        F(n - 3)
    END IF
END SUB
def F(n):
    print(n)
    if n > 1:
        F(n - 1)
        F(n - 3)
Пас­кальАл­го­рит­ми­че­ский язык
procedure F(n: integer);
    begin
        writeln(n);
        if n > 1 then
            begin
                F(n - 1);
                F(n - 3)
            end
    end
алг F(цел n)
нач
вывод n, нс
если n > 1 то
    F(n - 1)
    F(n - 3)
все
кон
Си
void F(int n)
{
    printf("%d\n", n);
    if (n > 1)
    {
        F(n - 1);
        F(n - 3);
    }
}

Чему равна сумма всех чисел, на­пе­ча­тан­ных на экра­не при вы­пол­не­нии вы­зо­ва F(6)?
15. Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан ре­кур­сив­ный ал­го­ритм F.
























Бей­сикPython
FUNCTION F(n)
    IF n > 2 THEN
        F = F(n-1)+F(n-2)+F(n-3)
    ELSE
        F = n
    END IF
END FUNCTION
def F(n):
    if n > 2:
        return F(n-1)+F(n-2)+F(n-3)
    else:
        return n
Ал­го­рит­ми­че­ский языкПас­каль

алг цел F(цел n)
нач
    если n > 2
    то
        знач:=F(n-1)+F(n-2)+F(n-3)
    иначе
        знач := n
    все
кон
function F(n: integer): integer;
begin
    if n > 2 then
        F := F(n-1)+F(n-2)+F(n-3)
    else
        F := n;
end;
Си
int F(int n)
{
    if (n > 2)
        return F(n-1)+F(n-2)+F(n-3);
    else return n;
}


Чему будет равно зна­че­ние, вы­чис­лен­ное ал­го­рит­мом при вы­пол­не­нии вы­зо­ва F(5)?
16. Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n — на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n) = 2 при n ≤ 2;
F(n) = 2 · F(n − 1) + F(n − 2) при n > 2.

Чему равно зна­че­ние функ­ции F(5)? В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.
17. По­сле­до­ва­тель­ность чисел Фи­бо­нач­чи за­да­ет­ся ре­кур­рент­ным со­от­но­ше­ни­ем:
F(1) = 1
F(2) = 1
F(n) = F(n–2) + F(n–1), при n >2, где n – на­ту­раль­ное число.
Чему равно де­вя­тое число в по­сле­до­ва­тель­но­сти Фи­бо­нач­чи?
В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.
18. Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­са­ны две ре­кур­сив­ные функ­ции (про­це­ду­ры): F и G.



Бей­сикPython
DECLARE SUB F(n)
DECLARE SUB G(n)

SUB F(n)
    IF n > 0 THEN G(n - 1)
END SUB

SUB G(n)
    PRINT "*"
    IF n > 1 THEN F(n - 2)
END SUB
def F(n):
    if n > 0:
        G(n - 1)

def G(n):
    print("*")
    if n > 1:
        F(n - 2)
Пас­кальАл­го­рит­ми­че­ский язык
procedure F(n: integer); forward;
procedure G(n: integer); forward;

procedure F(n: integer);
begin
    if n > 0 then
        G(n - 1);
end;

procedure G(n: integer);
begin
    writeln('*');
    if n > 1 then
        F(n - 2);
end;
алг F(цел n)
нач
    если n > 0 то
        G(n - 1)
    все
кон
алг G(цел n)
нач
    вывод "*"
    если n > 1 то
        F(n - 2)
    все
кон
Си
void F(int n);
void G(int n);

void F(int n){
    if (n > 0)
         G(n - 1);
}

void G(int n){
    printf("*");
    if (n > 1)
         F(n - 2);
}

Сколь­ко сим­во­лов «звёздоч­ка» будет на­пе­ча­та­но на экра­не при вы­пол­не­нии вы­зо­ва F(11)?
19. Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n — на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n) = n при n =< 2;
F(n) = F(n − 1) + 3×F(n − 2) при n > 2.

Чему равно зна­че­ние функ­ции F(6)? В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.
20. Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n — на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n) = 2 при n ≤ 2;
F(n) = F(n − 1) × F(n − 2) при n> 2.

Чему равно зна­че­ние функ­ции F(5)? В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.
21. Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ, «жи­ву­ще­го» в пря­мо­уголь­ном ла­би­рин­те на клет­ча­той плос­ко­сти, вклю­ча­ет в себя 4 ко­ман­ды-при­ка­за и 4 ко­ман­ды про­вер­ки усло­вия. Ко­ман­ды-при­ка­зы: вверхвнизвлевовпра­во. При вы­пол­не­нии любой из этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Если РОБОТ начнёт дви­же­ние в сто­ро­ну на­хо­дя­щей­ся рядом с ним стены, то он раз­ру­шит­ся, и про­грам­ма прервётся.
Дру­гие 4 ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у каж­дой сто­ро­ны той клет­ки, где на­хо­дит­ся РОБОТ: свер­ху сво­бод­носнизу сво­бод­нослева сво­бод­носпра­ва сво­бод­но.
Цикл
ПОКА усло­вие
по­сле­до­ва­тель­ность ко­манд
КОНЕЦ ПОКА

вы­пол­ня­ет­ся, пока усло­вие ис­тин­но.

В кон­струк­ции
ЕСЛИ усло­вие
ТО ко­ман­да1
ИНАЧЕ ко­ман­да2
КОНЕЦ ЕСЛИ

вы­пол­ня­ет­ся ко­ман­да1 (если усло­вие ис­тин­но) или ко­ман­да2 (если усло­вие ложно).

Сколь­ко кле­ток ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, начав дви­же­ние в ней и вы­пол­нив пред­ло­жен­ную про­грам­му, РОБОТ уце­ле­ет и оста­но­вит­ся в за­кра­шен­ной клет­ке (клет­ка F6)?


НА­ЧА­ЛО
ПОКА снизу сво­бод­но ИЛИ спра­ва сво­бод­но
ПОКА снизу сво­бод­но
вниз
КОНЕЦ ПОКА
ЕСЛИ спра­ва сво­бод­но
ТО
впра­во
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА

22. Ис­пол­ни­тель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плос­ко­сти, остав­ляя след в виде линии. Чертёжник может вы­пол­нять ко­ман­ду сме­стить­ся на (a, b), где a, b — целые числа. Эта ко­ман­да пе­ре­ме­ща­ет Чертёжника из точки с ко­ор­ди­на­та­ми (x, y) в точку с ко­ор­ди­на­та­ми (x + a, y + b). На­при­мер, если Чертёжник на­хо­дит­ся в точке с ко­ор­ди­на­та­ми (4, 2), то ко­ман­да сме­стить­ся на (2, −3) пе­ре­ме­стит Чертёжника в точку (6, −1).
Цикл
ПО­ВТО­РИ число РАЗ
по­сле­до­ва­тель­ность ко­манд
КОНЕЦ ПО­ВТО­РИ
озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд будет вы­пол­не­на ука­зан­ное число раз (число долж­но быть на­ту­раль­ным).

Чертёжнику был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм (ко­ли­че­ство по­вто­ре­ний и сме­ще­ния в пер­вой из по­вто­ря­е­мых ко­манд не­из­вест­ны):

НА­ЧА­ЛО
сме­стить­ся на (5, 2)
ПО­ВТО­РИ … РАЗ
сме­стить­ся на (…, …)
сме­стить­ся на (−1, −2)
КОНЕЦ ПО­ВТО­РИ
сме­стить­ся на (−25, −12)
КОНЕЦ

После вы­пол­не­ния этого ал­го­рит­ма Чертёжник воз­вра­ща­ет­ся в ис­ход­ную точку. Какое наи­боль­шее число по­вто­ре­ний могло быть ука­за­но в кон­струк­ции «ПО­ВТО­РИ … РАЗ»?.
23. Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ, «жи­ву­ще­го» в клет­ках пря­мо­уголь­но­го ла­би­рин­та на плос­ко­сти:
вверхвнизвлевовпра­во.
При вы­пол­не­нии любой из этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево←, впра­во →.
Че­ты­ре усло­вия поз­во­ля­ют про­ве­рить от­сут­ствие пре­град у каж­дой из сто­рон той клет­ки, где на­хо­дит­ся РОБОТ: свер­ху сво­бод­носнизу сво­бод­нослева сво­бод­носпра­ва сво­бод­но.
В цикле
ПОКА <усло­вие> ко­ман­да
ко­ман­да вы­пол­ня­ет­ся, пока усло­вие ис­тин­но, иначе про­ис­хо­дит пе­ре­ход на сле­ду­ю­щую стро­ку про­грам­мы.
Если РОБОТ начнёт дви­же­ние в сто­ро­ну стены рядом с ко­то­рой он стоит, то робот раз­ру­шит­ся, и вы­пол­не­ние про­грам­мы прервётся. Сколь­ко кле­ток ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, вы­пол­нив пред­ло­жен­ную про­грам­му, РОБОТ уце­ле­ет и оста­но­вит­ся в той же клет­ке, с ко­то­рой он начал дви­же­ние?


НА­ЧА­ЛО
ПОКА < слева сво­бод­но > вниз
ПОКА < снизу сво­бод­но > впра­во
ПОКА < спра­ва сво­бод­но > вверх
ПОКА < свер­ху сво­бод­но > влево
КОНЕЦ


24. Ис­пол­ни­тель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плос­ко­сти, остав­ляя след в виде линии. Чертёжник может вы­пол­нять ко­ман­ду Сме­стить­ся на (a, b) (где a, b – целые числа), пе­ре­ме­ща­ю­щую Чертёжника из точки с ко­ор­ди­на­та­ми (x, y), в точку с ко­ор­ди­на­та­ми (x+a, y+b). Если числа a, b по­ло­жи­тель­ные, зна­че­ние со­от­вет­ству­ю­щей ко­ор­ди­на­ты уве­ли­чи­ва­ет­ся, если от­ри­ца­тель­ные — умень­ша­ет­ся.
На­при­мер, если Чертёжник на­хо­дит­ся в точке с ко­ор­ди­на­та­ми (1, 1), то ко­ман­да Сме­стить­ся на (–2, 4) пе­ре­ме­стит его в точку (–1, 5).

За­пись

По­вто­ри k раз
Ко­ман­да1 Ко­ман­да2 Ко­ман­да3
Конец
озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд Ко­ман­да1 Ко­ман­да2 Ко­ман­да3 по­вто­рит­ся k раз.
Чертёжнику был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм:

Сме­стить­ся на (–3, 1)
По­вто­ри 2 раз
Сме­стить­ся на (1, 1) Сме­стить­ся на (−3, 2) Сме­стить­ся на (0, −4)
Конец
Какую един­ствен­ную ко­ман­ду надо вы­пол­нить Чертёжнику, чтобы вер­нуть­ся в ис­ход­ную точку, из ко­то­рой он начал дви­же­ние?

1) Сме­стить­ся на (–7,–1)
2) Сме­стить­ся на (7, 1)
3) Сме­стить­ся на (–4,–2)
4) Сме­стить­ся на (4, 2)
25. Ис­пол­ни­тель РОБОТ умеет пе­ре­ме­щать­ся по пря­мо­уголь­но­му ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми по сто­ро­нам клет­ка­ми может сто­ять стена.
Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ со­дер­жит во­семь ко­манд. Че­ты­ре ко­ман­ды это ко­ман­ды-при­ка­зы: вверхвнизвлевовпра­во.
При вы­пол­не­нии любой из этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево←, впра­во →.
Че­ты­ре ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у каж­дой
сто­ро­ны той клет­ки, где на­хо­дит­ся РОБОТ: свер­ху сво­бод­носнизу сво­бод­нослева сво­бод­носпра­ва сво­бод­но.

Цикл
ПОКА усло­вие
по­сле­до­ва­тель­ность ко­манд
КОНЕЦ ПОКА

вы­пол­ня­ет­ся, пока усло­вие ис­тин­но.

В кон­струк­ции
ЕСЛИ усло­вие
ТО ко­ман­да1
ИНАЧЕ ко­ман­да2
КОНЕЦ ЕСЛИ

вы­пол­ня­ет­ся ко­ман­да1 (если усло­вие ис­тин­но) или ко­ман­да2 (если усло­вие ложно).

В кон­струк­ци­ях ПОКА и ЕСЛИ усло­вие может со­дер­жать ко­ман­ды-про­вер­ки, а также слова И, ИЛИ, НЕ, обо­зна­ча­ю­щие ло­ги­че­ские опе­ра­ции. Если РОБОТ начнёт дви­же­ние в сто­ро­ну на­хо­дя­щей­ся рядом с ним стены, то он раз­ру­шит­ся и про­грам­ма прервётся. Сколь­ко кле­ток ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, начав дви­же­ние в этой клет­ке и вы­пол­нив пред­ло­жен­ную про­грам­му, РОБОТ уце­ле­ет и оста­но­вит­ся в за­кра­шен­ной клет­ке (клет­ка F6)?


НА­ЧА­ЛО
ПОКА снизу сво­бод­но ИЛИ спра­ва сво­бод­но
ЕСЛИ спра­ва сво­бод­но
ТО впра­во
ИНАЧЕ вниз
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

26. Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ, «жи­ву­ще­го» в пря­мо­уголь­ном ла­би­рин­те на клет­ча­той плос­ко­сти, вклю­ча­ет в себя 4 ко­ман­ды-при­ка­за и 4 ко­ман­ды про­вер­ки усло­вия. Ко­ман­ды-при­ка­зы: вверхвнизвлевовпра­во. При вы­пол­не­нии любой из этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Если РОБОТ начнёт дви­же­ние в сто­ро­ну на­хо­дя­щей­ся рядом с ним стены, то он раз­ру­шит­ся, и про­грам­ма прервётся.
Дру­гие 4 ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у каж­дой сто­ро­ны той клет­ки, где на­хо­дит­ся РОБОТ: свер­ху сво­бод­носнизу сво­бод­нослева сво­бод­носпра­ва сво­бод­но.
Цикл
ПОКА усло­вие
по­сле­до­ва­тель­ность ко­манд
КОНЕЦ ПОКА

вы­пол­ня­ет­ся, пока усло­вие ис­тин­но.

В кон­струк­ции
ЕСЛИ усло­вие
ТО ко­ман­да1
ИНАЧЕ ко­ман­да2
КОНЕЦ ЕСЛИ

вы­пол­ня­ет­ся ко­ман­да1 (если усло­вие ис­тин­но) или ко­ман­да2 (если усло­вие ложно).

Сколь­ко кле­ток ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, начав дви­же­ние в ней и вы­пол­нив пред­ло­жен­ную про­грам­му, РОБОТ уце­ле­ет и оста­но­вит­ся в за­кра­шен­ной клет­ке (клет­ка F6)?


НА­ЧА­ЛО
ПОКА снизу сво­бод­но ИЛИ спра­ва сво­бод­но
ПОКА снизу сво­бод­но
вниз
КОНЕЦ ПОКА
ЕСЛИ спра­ва сво­бод­но
ТО
впра­во
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА

27. Ис­пол­ни­тель КО­РАБ­ЛИК «живет» в огра­ни­чен­ном пря­мо­уголь­ном во­до­е­ме-ла­би­рин­те, раз­де­лен­ном на клет­ки и изоб­ра­жен­ном на ри­сунке (вид свер­ху). Серые клет­ки — ска­ли­стые бе­ре­га, свет­лые — сво­бод­ное про­стран­ство, без­опас­ное для пе­ре­дви­же­ния КО­РАБ­ЛИ­КА. По краю во­до­е­ма-ла­би­рин­та также на­хо­дят­ся скалы с на­не­сен­ны­ми на них но­ме­ра­ми и бук­ва­ми для удоб­ства иден­ти­фи­ка­ции кле­ток.


Си­сте­ма ко­манд ис­пол­ни­те­ля КО­РАБ­ЛИК:

вверхвнизвлевовпра­во
При вы­пол­не­нии любой из этих ко­манд КО­РАБ­ЛИК пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но (по от­но­ше­нию к на­блю­да­те­лю): вверх ↑, вниз ↓, влево ←, впра­во →. Че­ты­ре ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у каж­дой сто­ро­ны той клет­ки, где на­хо­дит­ся КО­РАБ­ЛИК (также по от­но­ше­нию к на­блю­да­те­лю):

свер­ху
сво­бод­но
снизу
сво­бод­но
слева
сво­бод­но
спра­ва
сво­бод­но

Цикл
ПОКА <усло­вие> ко­ман­да
вы­пол­ня­ет­ся, пока усло­вие ис­тин­но, иначе про­ис­хо­дит пе­ре­ход на сле­ду­ю­щую стро­ку. При по­пыт­ке пе­ре­дви­же­ния на любую серую клет­ку КО­РАБ­ЛИК раз­би­ва­ет­ся о скалы.
Сколь­ко кле­ток при­ве­ден­но­го ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, стар­то­вав в ней и вы­пол­нив пред­ло­жен­ную ниже про­грам­му, КО­РАБ­ЛИК не разо­бьет­ся?

НА­ЧА­ЛО
ПОКА <свер­ху сво­бод­но> вверх
ПОКА <слева сво­бод­но> влево
вверх
впра­во
КОНЕЦ

28. Ис­пол­ни­тель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плос­ко­сти, остав­ляя след в виде линии. Чертёжник может вы­пол­нять ко­ман­ду Сме­стить­ся на (a, b) (где a, b – целые числа), пе­ре­ме­ща­ю­щую Чертёжника из точки с ко­ор­ди­на­та­ми (x, y), в точку с ко­ор­ди­на­та­ми (x+a, y+b). Если числа a, b по­ло­жи­тель­ные, зна­че­ние со­от­вет­ству­ю­щей ко­ор­ди­на­ты уве­ли­чи­ва­ет­ся, если от­ри­ца­тель­ные — умень­ша­ет­ся.
На­при­мер, если Чертёжник на­хо­дит­ся в точке с ко­ор­ди­на­та­ми (1, 1), то ко­ман­да Сме­стить­ся на (–2, 4) пе­ре­ме­стит его в точку (–1, 5).

За­пись

По­вто­ри k раз
Ко­ман­да1 Ко­ман­да2 Ко­ман­да3
Конец
озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд Ко­ман­да1 Ко­ман­да2 Ко­ман­да3 по­вто­рит­ся k раз.
Чертёжнику был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм:

Сме­стить­ся на (2, 6)
По­вто­ри 2 раз
Сме­стить­ся на (2, 1) Сме­стить­ся на (–5, 4) Сме­стить­ся на (1,–4)
Конец
Какую ко­ман­ду надо вы­пол­нить Чертёжнику, чтобы вер­нуть­ся в ис­ход­ную точку, из ко­то­рой он начал дви­же­ние?

1) Сме­стить­ся на (4, –2)
2) Сме­стить­ся на (–4, 2)
3) Сме­стить­ся на (2, –8)
4) Сме­стить­ся на (–2, 8)
29. Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ, «жи­ву­ще­го» в пря­мо­уголь­ном ла­би­рин­те на клет­ча­той плос­ко­сти:


вверхвнизвлевовпра­во
При вы­пол­не­нии этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх, вниз, влево, впра­во.
Че­ты­ре ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у той клет­ки, где на­хо­дит­ся РОБОТ:

свер­ху
сво­бод­но
снизу
сво­бод­но
слева
сво­бод­но
спра­ва
сво­бод­но
Цикл
ПОКА < усло­вие> ко­ман­да
вы­пол­ня­ет­ся, пока усло­вие ис­тин­но, иначе про­ис­хо­дит пе­ре­ход на сле­ду­ю­щую стро­ку.
Сколь­ко кле­ток ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, вы­пол­нив пред­ло­жен­ную про­грам­му, РОБОТ оста­но­вит­ся в той же клет­ке, с ко­то­рой он начал дви­же­ние?

НА­ЧА­ЛО
ПОКА < снизу сво­бод­но > вниз
ПОКА < слева сво­бод­но > влево
ПОКА < свер­ху сво­бод­но > вверх
ПОКА < спра­ва сво­бод­но > впра­во
КОНЕЦ

30. Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ, «жи­ву­ще­го» в пря­мо­уголь­ном ла­би­рин­те на клет­ча­той плос­ко­сти:


вверхвнизвлевовпра­во
При вы­пол­не­нии этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →.
Че­ты­ре ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у той клет­ки, где на­хо­дит­ся РОБОТ:

свер­ху
сво­бод­но
снизу
сво­бод­но
слева
сво­бод­но
спра­ва
сво­бод­но
Цикл
ПОКА <усло­вие> ко­ман­да
вы­пол­ня­ет­ся, пока усло­вие ис­тин­но, иначе про­ис­хо­дит пе­ре­ход на сле­ду­ю­щую стро­ку.
Сколь­ко кле­ток при­ве­ден­но­го ла­би­рин­та со­от­вет­ству­ет тре­бо­ва­нию, что, вы­пол­нив пред­ло­жен­ную ниже про­грам­му, РОБОТ оста­но­вит­ся в той же клет­ке, с ко­то­рой он начал дви­же­ние?

НА­ЧА­ЛО
ПОКА <спра­ва сво­бод­но> впра­во
ПОКА <снизу сво­бод­но> вниз
ПОКА <слева сво­бод­но> влево
ПОКА <свер­ху сво­бод­но> вверх
КОНЕЦ

Комментариев нет:

Отправить комментарий