если (справа свободно) и (не снизу свободно) то




Задачи для подготовки к промежуточной аттестации 8 класс

1. Ре­фе­рат, на­бран­ный на ком­пью­те­ре, со­дер­жит 12 стра­ниц, на каж­дой стра­ни­це 48 строк, в каж­дой стро­ке 64 сим­во­ла. Для ко­ди­ро­ва­ния сим­во­лов ис­поль­зу­ет­ся ко­ди­ров­ка Unicode, при ко­то­рой каж­дый сим­вол ко­ди­ру­ет­ся 16 би­та­ми. Опре­де­ли­те ин­фор­ма­ци­он­ный объём ре­фе­ра­та.

 

2. Ре­фе­рат, на­бран­ный на ком­пью­те­ре, со­дер­жит 48 стра­ниц, на каж­дой стра­ни­це 36 строк, в каж­дой стро­ке 48 сим­во­ла. Для ко­ди­ро­ва­ния сим­во­лов ис­поль­зу­ет­ся ко­ди­ров­ка, при ко­то­рой каж­дый сим­вол ко­ди­ру­ет­ся 8 би­та­ми. Опре­де­ли­те ин­фор­ма­ци­он­ный объём ре­фе­ра­та.

 

3. Определить объем видеопамяти компьютера (в Мб), который необходим для реализации графического режима монитора High Color с разрешающей способностью 1024х768 точек и палитрой из 65536 цветов.

 

4. Переведите целые числа из десятичной системы счисления в восьмеричную:

163, 137

5. Переведите целые числа из десятичной системы счисления в шестнадцатеричную:

210, 180

6. Выполните операцию сложения над двоичными числами. Выполните проверку, переведя слагаемые и сумму в десятичную систему счисления

110101 + 10111

7. Выполните операцию умножения над двоичными числами. Выполните проверку, переведя сомножители и произведение в десятичную систему счисления:

1011 * 101

8. В алгоритмах используются переменные a и b, а также следующие операции:

:= присваивание;

+ сложение;

- вычитание;

* умножение;

/ деление

div целочисленное деление

mod остаток от целочисленного деления

Алгоритм:

a:= 864

b: = a div 100 + a mod 100

a:= a div10

a:= a mod b

a:= a +b

 

 

a b
   
   
   
   
   

 

9. Некоторый ал­го­ритм из одной це­поч­ки символов по­лу­ча­ет новую це­поч­ку следующим образом. Сна­ча­ла вычисляется длина ис­ход­ной цепочки символов; если она чётна, то уда­ля­ет­ся первый сим­вол цепочки, а если нечётна, то в конец це­поч­ки добавляется сим­вол Т. В по­лу­чен­ной цепочке сим­во­лов каждая буква за­ме­ня­ет­ся буквой, сле­ду­ю­щей за ней в рус­ском алфавите (А — на Б, Б — на В и т. д., а Я — на А). По­лу­чив­ша­я­ся таким об­ра­зом цепочка яв­ля­ет­ся результатом ра­бо­ты алгоритма.

Например, если ис­ход­ной была це­поч­ка НОГА, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка ПДБ, а если ис­ход­ной была це­поч­ка ТОН, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка УПОУ.

Дана це­поч­ка символов КРОТ. Какая це­поч­ка символов получится, если к дан­ной цепочке при­ме­нить описанный ал­го­ритм дважды (т. е. при­ме­нить алгоритм к дан­ной цепочке, а затем к ре­зуль­та­ту вновь при­ме­нить алгоритм)? Рус­ский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.

Пояснение.

Применим алгоритм: КРОТ (чётное) → РОТСПУ.

При­ме­ним его ещё раз: СПУ (нечётное) → СПУТТРФУ.

 

10. Некоторый ал­го­ритм из одной це­поч­ки символов по­лу­ча­ет новую це­поч­ку следующим образом. Сна­ча­ла вычисляется длина ис­ход­ной цепочки символов; если она чётна, то уда­ля­ет­ся последний сим­вол цепочки, а если нечётна, то в на­ча­ло цепочки до­бав­ля­ет­ся символ С. В по­лу­чен­ной цепочке сим­во­лов каждая буква за­ме­ня­ет­ся буквой, сле­ду­ю­щей за ней в рус­ском алфавите (А — на Б, Б — на В и т. д., а Я — на А). По­лу­чив­ша­я­ся таким об­ра­зом цепочка яв­ля­ет­ся результатом ра­бо­ты алгоритма.

Например, если ис­ход­ной была це­поч­ка НОГА, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка ОПД, а если ис­ход­ной была це­поч­ка ТОН, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка ТУПО.

Дана це­поч­ка символов ПЛОТ. Какая це­поч­ка символов получится, если к дан­ной цепочке при­ме­нить описанный ал­го­ритм дважды (т. е. при­ме­нить алгоритм к дан­ной цепочке, а затем к ре­зуль­та­ту вновь при­ме­нить алгоритм)? Рус­ский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.

Пояснение.

Применим алгоритм: ПЛОТ (чётное) → ПЛОРМП.

При­ме­ним его ещё раз: РМП (нечётное) → СРМПТСНР.

 

11. Исполнитель Робот умеет пе­ре­ме­щать­ся по лабиринту, на­чер­чен­но­му на плоскости, раз­би­той на клетки. Между со­сед­ни­ми (по сторонам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять команд. Че­ты­ре команды — это команды-приказы:

 

Вверх вниз влево вправо

 

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку соответственно: вверх ↑ вниз ↓, влево ←, впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он разрушится. Также у Ро­бо­та есть ко­ман­да закрасить, при ко­то­рой за­кра­ши­ва­ет­ся клетка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий момент.

Ещё че­ты­ре команды — это ко­ман­ды про­вер­ки условий. Эти ко­ман­ды проверяют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из четырёх воз­мож­ных направлений:

 

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

 

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если условие то

последовательность команд

Все

 

Здесь условие — одна из ко­манд про­вер­ки условия. Последовательность команд — это одна или не­сколь­ко любых команд-приказов. Например, для пе­ре­дви­же­ния на одну клет­ку вправо, если спра­ва нет стенки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой алгоритм:

если спра­ва сво­бод­но то

Вправо

Закрасить

Все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки условий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, например:

если (справа свободно) и (не снизу свободно) то

Вправо

Все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока условие

последовательность команд

кц

 

Например, для дви­же­ния вправо, пока это возможно, можно ис­поль­зо­вать сле­ду­ю­щий алгоритм:

нц пока спра­ва сво­бод­но

Вправо

кц

 

 

Выполните задание.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены соединён с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен неизвестны. В вер­ти­каль­ной стене есть ровно один проход, точ­ное место про­хо­да и его ши­ри­на неизвестны. Робот на­хо­дит­ся в клетке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у её ле­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

Напишите для Ро­бо­та алгоритм, за­кра­ши­ва­ю­щий все клетки, рас­по­ло­жен­ные не­по­сред­ствен­но левее и пра­вее вер­ти­каль­ной стены. Про­ход дол­жен остать­ся незакрашенным. Робот дол­жен за­кра­сить толь­ко клетки, удо­вле­тво­ря­ю­щие дан­но­му условию. Например, для приведённого выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рисунок).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен разрушиться, вы­пол­не­ние ал­го­рит­ма долж­но завершиться. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть произвольным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: