пятница, 27 января 2017 г.

Факультатив 10-11 класс_ЕГЭ_Задание С1

1. Дано целое по­ло­жи­тель­ное число N. Не­об­хо­ди­мо опре­де­лить наи­мень­шее целое число K, для ко­то­ро­го вы­пол­ня­ет­ся не­ра­вен­ство:

1 + 2 + … + K > N.
Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.
Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.



Бей­сикPython
DIM N, K AS INTEGER
INPUT N
K = 1
WHILE N > 0
  N = N - K
  K = K + 1
WEND
PRINT K
END
n = int(input())
k = 1
while n>0:
  n = n - k
  k = k + 1
print(k)
Пас­кальАл­го­рит­ми­че­ский язык
var n, k: integer;
begin
  read(n);
  k := 1;
  while n>0 do begin
    n := n- k;
    k := k + 1;
  end;
  writeln(k)
end.
алг
нач
  цел n, k
  ввод n
  k := 1
  нц пока n>0
    n := n - k
    k := k + 1
  кц
  вывод k
кон
Си
#include <stdio.h>
int main(){
int n, k;
scanf("%d",&n);
k = 1;
while (n>0) {
n = n - k;
k = k + 1;
}
printf("%d", k);
return 0;
}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.
1. При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет не­вер­ный ответ. Ука­жи­те вер­ный ответ и ответ, ко­то­рый вы­ве­дет про­грам­ма.
2. При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.
3. Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.
До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.
Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.
2. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся на­ту­раль­ное число N, не пре­вос­хо­дя­щее 109, и вы­во­дит­ся мак­си­маль­ная цифра этого числа. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. (Ниже для Ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на четырёх язы­ках про­грам­ми­ро­ва­ния.)


Бей­сикПас­каль

DIM N AS LONG
INPUT N
max_digit = 9
WHILE N >= 10
    digit = N MOD 10
    IF digit > max_digit THEN
        max_digit = digit
    END IF
    N = N \ 10
WEND
PRINT max_digit
END
var N: longint;
    digit, max_digit: integer;
begin
    readln(N);
    max_digit := 9;
    while N >= 10 do
    begin
        digit := N mod 10;
        if digit > max_digit then
            max_digit := digit;
        N := N div 10;
    end;
    writeln(max_digit);
end.
СиАл­го­рит­ми­че­ский

#include <stdio.h>
int main()
{
    long int N;
    int digit, max_digit;
    scanf("%ld", &N);
    max_digit = 9;
    while (N >= 10)
    {
        digit = N % 10;
        if (digit > max_digit)
            max_digit = digit;
        N = N /10;
    }
    printf("%d", max_digit);
}
алг
нач
    цел N, digit, max_digit
    ввод N
    max_digit := 9
    нц пока N >= 10
        digit := mod(N, 10)
        если digit > max_digit то
            max_digit := digit
        все
        N := div(N, 10)
    кц
    вывод max_digit
кон

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.
1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 423.
2. Най­ди­те все ошиб­ки в этой про­грам­ме (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки:
1) вы­пи­ши­те стро­ку, в ко­то­рой сде­ла­на ошиб­ка;
2) ука­жи­те, как ис­пра­вить ошиб­ку, — при­ве­ди­те пра­виль­ный ва­ри­ант стро­ки.
Об­ра­ти­те вни­ма­ние, что тре­бу­ет­ся найти ошиб­ки в име­ю­щей­ся про­грам­ме, а не на­пи­сать свою, воз­мож­но, ис­поль­зу­ю­щую дру­гой ал­го­ритм ре­ше­ния. Ис­прав­ле­ние ошиб­ки долж­но за­тра­ги­вать толь­ко стро­ку, в ко­то­рой на­хо­дит­ся ошиб­ка.
3. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся на­ту­раль­ное число N, не пре­вос­хо­дя­щее 109, и вы­во­дит­ся про­из­ве­де­ние цифр этого числа. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. (Ниже для Ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на четырёх язы­ках про­грам­ми­ро­ва­ния.)



Бэй­сикПас­каль
DIM N AS LONG
DIM product AS LONG
INPUT N
product = N mod 10
WHILE N >= 10
    digit = N MOD 10
    product = product*digit
    N = N \ 10
WEND
PRINT product
END
var N, product: longint;
    digit: integer;
begin
    readln(N);
    product := N mod 10;
    while N >= 10 do
    begin
        digit := N mod 10;
        product := product*digit;
        N := N div 10;
    end;
    writeln(product);
end.
СиАл­го­рит­ми­че­ский язык

#include <stdio.h>
int main()
{
    long int N, product;
    int digit;
    scanf("%ld", &N);
    product = N % 10;
    while (N >= 10)
    {
        digit = N % 10;
        product = product*digit;
        N = N / 10;
    }
    printf("%ld", product);
}
алг
нач
    цел N, digit, product
    ввод N
    product := mod(N, 10)
    нц пока N >= 10
        digit := mod(N, 10)
        product := product*digit
        N := div(N, 10)
    кц
    вывод product
кон

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.
1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 532.
2. Най­ди­те все ошиб­ки в этой про­грам­ме (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки:
1) вы­пи­ши­те стро­ку, в ко­то­рой сде­ла­на ошиб­ка;
2) ука­жи­те, как ис­пра­вить ошиб­ку, — при­ве­ди­те пра­виль­ный ва­ри­ант стро­ки.

Об­ра­ти­те вни­ма­ние, что тре­бу­ет­ся найти ошиб­ки в име­ю­щей­ся про­грам­ме, а не на­пи­сать свою, воз­мож­но, ис­поль­зу­ю­щую дру­гой ал­го­ритм ре­ше­ния. Ис­прав­ле­ние ошиб­ки долж­но за­тра­ги­вать толь­ко стро­ку, в ко­то­рой на­хо­дит­ся ошиб­ка.
4. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся на­ту­раль­ное число N, не пре­вос­хо­дя­щее 109, и вы­во­дит­ся ко­ли­че­ство цифр этого числа. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. (Ниже для Ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на четырёх язы­ках про­грам­ми­ро­ва­ния.)


















Бей­сикПас­каль
DIM N AS LONG
INPUT N
sum = 1
WHILE N > 1
N = N \ 10
sum = sum + 1
WEND
PRINT sum
END
var N: longint;
sum: integer;
begin
readln(N);
sum := 1;
while N > 1 do
begin
N := N div 10;
sum := sum + 1;
end;
writeln(sum);
end.
СиАл­го­рит­ми­че­ский
#include<stdio.h>
int main()
{
long int N;
int sum;
scanf("%ld", &N);
sum = 1;
while (N > 1)
{
N = N /10;
sum = sum + 1;
}
printf("%d", sum);
}
алг
нач
цел N, sum
ввод N
sum := 1
нц пока N > 1
N := div(N, 10)
sum := sum + 1
кц
вывод sum
кон


По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 938.
2. Ука­жи­те одно число для ко­то­ро­го эта про­грам­ма будет ра­бо­тать верно.
3. Най­ди­те все ошиб­ки в этой про­грам­ме (их может быть одна или не­сколь­ко). Ука­жи­те все стро­ки (одну или более), со­дер­жа­щие ошиб­ки, и для каж­дой такой стро­ки при­ве­ди­те пра­виль­ный ва­ри­ант. Об­ра­ти­те вни­ма­ние, что тре­бу­ет­ся найти ошиб­ки в име­ю­щей­ся про­грам­ме, а не на­пи­сать свою, воз­мож­но, ис­поль­зу­ю­щую дру­гой ал­го­ритм ре­ше­ния. Ис­прав­ле­ние ошиб­ки долж­но за­тра­ги­вать толь­ко стро­ку, в ко­то­рой на­хо­дит­ся ошиб­ка.
5. Тре­бо­ва­лось на­пи­сать про­грам­му, ко­то­рая вво­дит с кла­ви­а­ту­ры ко­ор­ди­на­ты точки на плос­ко­сти (x, y — дей­стви­тель­ные числа) и опре­де­ля­ет при­над­леж­ность точки за­штри­хо­ван­ной об­ла­сти (вклю­чая гра­ни­цы). Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. Ниже для Ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на четырёх язы­ках про­грам­ми­ро­ва­ния.
Бей­сикПас­каль
INPUT x, y
IF y<=1 THEN
IF y>=x THEN
IF x>=-1 THEN
IF x*x+y*y<=1 THEN
PRINT "при­над­ле­жит"
ELSE
PRINT "не при­над­ле­жит"
END IF
END IF
END IF
END IF
END
var x,y: real;
begin
readln(x,y);
if y<=1 then
if y>=x then
if x>=-1 then
if x*x+y*y<=1 then
write('при­над­ле­жит')
else
write('не при­над­ле­жит');
end.
СиАл­го­рит­ми­че­ский
#include<stdio.h>
void main()
{
float x,y;
scanf("%f%f",&x,&y);
if (y<=1)
if (y>=x)
if (x>=-1)
if (x*x+y*y<=1)
printf("при­над­ле­жит");
else
printf("не при­над­ле­жит");
}

алг
нач
вещ x,y
ввод x,y
если y<=1 то
если y>=x то
если x>=-1 то
если x*x+y*y<=1 то
вывод 'при­над­ле­жит'
иначе
вывод 'не при­над­ле­жит'
все
все
все
все
кон


По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1. Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­бо­та­ет про­грам­ма при ар­гу­мен­тах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G, H, I, J, K). Точки, ле­жа­щие на гра­ни­цах об­ла­стей, от­дель­но не рас­смат­ри­вать. Ко­ор­ди­нат­ные оси не яв­ля­ют­ся гра­ни­ца­ми об­ла­стей. В столб­цах усло­вий ука­жи­те «да», если усло­вие вы­пол­нит­ся, «нет», если усло­вие не вы­пол­нит­ся, «—» (про­черк), если усло­вие не будет про­ве­рять­ся, «не изв.», если про­грам­ма ведёт себя по-раз­но­му для раз­ных зна­че­ний, при­над­ле­жа­щих дан­ной об­ла­сти. В столб­це «Про­грам­ма вы­ве­дет» ука­жи­те, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не вы­во­дит, на­пи­ши­те «—» (про­черк). Если для раз­ных зна­че­ний, при­над­ле­жа­щих об­ла­сти, будут вы­ве­де­ны раз­ные тек­сты, на­пи­ши­те «не изв.». В по­след­нем столб­це ука­жи­те «да» или «нет».

Об­ластьУсло­вие1 (y<=1)Усло­вие 2 (y>=x)Усло­вие 3
(x>=−1)
Усло­вие 4 (x*x+y*y<=1)Про­грам­мавы­ве­детОб­ластьоб­ра­ба­ты­ва­ет­ся
верно
A
В
С
D
Е
F
G
Н
I
J
K
2. Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев её не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, до­ста­точ­но ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы.)

Факультатив 9 класс_ОГЭ-2017_С2_Робот

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

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

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

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

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

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

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

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

  
Задание 2. 

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

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

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

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

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

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

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


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

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

Задание 3. 

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

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

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

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

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

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

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


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

На бес­ко­неч­ном поле име­ют­ся две оди­на­ко­вые го­ри­зон­таль­ные па­рал­лель­ные стены, рас­по­ло­жен­ные друг под дру­гом и от­сто­я­щие друг от друга более чем на 1 клет­ку. Левые края стен на­хо­дят­ся на одном уров­не. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под верх­ней сте­ной.На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).
На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные ниже го­ри­зон­таль­ных стен. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ведённого выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. ри­су­нок).
Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

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

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

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

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

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

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

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


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

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

 Задание  5

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

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

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

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

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

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

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


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

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

 

четверг, 26 января 2017 г.

1. Ис­пол­ни­тель Му­ра­вей пе­ре­ме­ща­ет­ся по полю, раз­делённому на клет­ки. Раз­мер поля 8x8, стро­ки ну­ме­ру­ют­ся чис­ла­ми, столб­цы обо­зна­ча­ют­ся бук­ва­ми. Му­ра­вей может вы­пол­нять ко­ман­ды дви­же­ния:


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

(где N — целое число от 1 до 7), пе­ре­ме­ща­ю­щие ис­пол­ни­те­ля на N кле­ток вверх, вниз, впра­во или влево со­от­вет­ствен­но.

За­пись


По­вто­ри k раз
Ко­ман­да1 Ко­ман­да2 Ко­ман­даЗ
Конец

озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд Ко­ман­да1 Ко­ман­да2 Ко­ман­даЗ по­вто­рит­ся k раз. Если на пути Му­ра­вья встре­ча­ет­ся кубик, то он пе­ре­ме­ща­ет его по ходу дви­же­ния. Пусть, на­при­мер, кубик на­хо­дит­ся в клет­ке Б6. Если Му­ра­вей вы­пол­нит ко­ман­ды впра­во 1 вниз 3, то сам ока­жет­ся в клет­ке Б5, а кубик в клет­ке Б4.


Пусть Му­ра­вей и кубик рас­по­ло­же­ны так, как ука­за­но на ри­сун­ке. Му­ра­вью был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм:


По­вто­ри 4 раз
Вниз 2 впра­во 1 вверх 2
Конец

В какой клет­ке ока­жет­ся кубик после вы­пол­не­ния этого ал­го­рит­ма?

1) Г6
2) Е4
3) Д1
4) Е6

3. Ис­пол­ни­тель Че­ре­паш­ка пе­ре­ме­ща­ет­ся на экра­не ком­пью­те­ра, остав­ляя след в виде линии. В каж­дый кон­крет­ный мо­мент из­вест­но по­ло­же­ние ис­пол­ни­те­ля и на­прав­ле­ние его дви­же­ния. У ис­пол­ни­те­ля су­ще­ству­ет две ко­ман­ды: Вперёд n (где n — целое число), вы­зы­ва­ю­щая пе­ре­дви­же­ние Че­ре­паш­ки на n шагов в на­прав­ле­нии дви­же­ния; На­пра­во m (где m — целое число), вы­зы­ва­ю­щая из­ме­не­ние на­прав­ле­ния дви­же­ния на m гра­ду­сов по ча­со­вой стрел­ке. За­пись По­вто­ри k [Ко­ман­да1 Ко­ман­да2 Ко­ман­даЗ] озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд в скоб­ках по­вто­рит­ся k раз.

Че­ре­паш­ке был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм: По­вто­ри 180 [Вперёд 45 На­пра­во 90]. Какая фи­гу­ра по­явит­ся на экра­не?

1) пра­виль­ный 180-уголь­ник
2) квад­рат
3) пра­виль­ный вось­ми­уголь­ник
4) не­за­мкну­тая ло­ма­ная линия
4. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор при­сва­и­ва­ния, знаки «+», «-», «*» и «/» — со­от­вет­ствен­но опе­ра­ции сло­же­ния, вы­чи­та­ния, умно­же­ния и де­ле­ния. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам ариф­ме­ти­ки. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния ал­го­рит­ма:

а := 10
b := 1
b := a/2*b
a := 2*а + 3*b

В от­ве­те ука­жи­те одно целое число — зна­че­ние пе­ре­мен­ной a.
5. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор при­сва­и­ва­ния, знаки «+», «-», «*» и «/» — со­от­вет­ствен­но опе­ра­ции сло­же­ния, вы­чи­та­ния, умно­же­ния и де­ле­ния. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам ариф­ме­ти­ки. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния ал­го­рит­ма:

а := 8
b := 3
b := a/2*b
a := 2*а + 3*b

В от­ве­те ука­жи­те одно целое число — зна­че­ние пе­ре­мен­ной a.
6. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор при­сва­и­ва­ния, знаки «+», «-», «*» и «/» — со­от­вет­ствен­но опе­ра­ции сло­же­ния, вы­чи­та­ния, умно­же­ния и де­ле­ния. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам ариф­ме­ти­ки. Опре­де­ли­те зна­че­ние пе­ре­мен­ной b после вы­пол­не­ния ал­го­рит­ма:

а := 5
b := 4
а := 2*а + 3*b
b := a/2*b

В от­ве­те ука­жи­те одно целое число — зна­че­ние пе­ре­мен­ной b.
7. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор при­сва­и­ва­ния, знаки «+», «-», «*» и «/» — со­от­вет­ствен­но опе­ра­ции сло­же­ния, вы­чи­та­ния, умно­же­ния и де­ле­ния. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам ариф­ме­ти­ки. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния ал­го­рит­ма:

а := 2
b := 4
b := a/2*b
a := 2*а + 3*b

В от­ве­те ука­жи­те одно целое число — зна­че­ние пе­ре­мен­ной a.
8. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор при­сва­и­ва­ния, знаки «+», «-», «*» и «/» — со­от­вет­ствен­но опе­ра­ции сло­же­ния, вы­чи­та­ния, умно­же­ния и де­ле­ния. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам ариф­ме­ти­ки. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния ал­го­рит­ма:

b := 4
a := -3
b := 7 - 2*a - b
a := b/3 - a

В от­ве­те ука­жи­те одно целое число — зна­че­ние пе­ре­мен­ной a.

воскресенье, 22 января 2017 г.

Контрольная работа_10 класс

1 Вариант

Задание 1.  Диагональ куба равна 6 см. Найдите: 

а) ребро куба; 
б) косинус угла между диагональю куба и плоскостью одной из его граней.




2 Вариант

Задание 1.  Основанием прямоугольного служит квадрат, диагональ равна, а его измерения относятся как 1:1:2. Найдите: 

а) измерения параллелепипеда; 

б) синус угла между диагональю параллелепипеда и плоскостью его основания.


пятница, 20 января 2017 г.

2 часть электив

20.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30000. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех на­ту­раль­ных чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
16
24
56
22
54
0
78
20.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Ка­ме­ра на­блю­де­ния ре­ги­стри­ру­ет в ав­то­ма­ти­че­ском ре­жи­ме ско­рость про­ез­жа­ю­щих мимо неё ав­то­мо­би­лей, округ­ляя зна­че­ния ско­ро­сти до целых чисел. Не­об­хо­ди­мо опре­де­лить мак­си­маль­ную за­ре­ги­стри­ро­ван­ную ско­рость ав­то­мо­би­ля. Если ско­рость хотя бы од­но­го ав­то­мо­би­ля была мень­ше 30 км/ч, вы­ве­ди­те «YES», иначе вы­ве­ди­те «N0».
Про­грам­ма по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1 < N < 30), затем ука­зы­ва­ют­ся их ско­ро­сти. Зна­че­ние ско­ро­сти не может быть мень­ше 1 и боль­ше 300.Про­грам­ма долж­на сна­ча­ла вы­ве­сти мак­си­маль­ную ско­рость, затем YES или NO.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
4
74
69
63
66
74
NO
20.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел на­хо­дит сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или со­об­ща­ет, что таких чисел нет (вы­во­дит «NO»). Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел не­из­вест­но,по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).
Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или вы­ве­сти «NO», если таких чисел нет. Зна­че­ние вы­во­дить с точ­но­стью до де­ся­тых.

При­мер ра­бо­ты про­грам­мы:







Вход­ные дан­ныеВы­ход­ные дан­ные
8
122
64
16
0
29,3
111
1
0
NO

Электив_9 класс

1. Глав­ный ре­дак­тор жур­на­ла от­ре­дак­ти­ро­вал ста­тью, и её объём умень­шил­ся на 2 стра­ни­цы. Каж­дая стра­ни­ца со­дер­жит 32 стро­ки, в каж­дой стро­ке 64 сим­во­ла. Ин­фор­ма­ци­он­ный объём ста­тьи до ре­дак­ти­ро­ва­ния был равен 2 Мбайт. Ста­тья пред­став­ле­на в ко­ди­ров­ке Unicode, в ко­то­рой каж­дый сим­вол ко­ди­ру­ет­ся 2 бай­та­ми. Опре­де­ли­те ин­фор­ма­ци­он­ный объём ста­тьи в Кбай­тах в этом ва­ри­ан­те пред­став­ле­ния Unicode после ре­дак­ти­ро­ва­ния.

1) 2048
2) 2040
3) 8
4) 1024
2. Для ка­ко­го из при­ведённых чисел ис­тин­но вы­ска­зы­ва­ние: НЕ (число < 20) И (число чётное)?

1) 8
2) 15
3) 21
4) 36
3. У Пети Ива­но­ва род­ствен­ни­ки живут в 5 раз­ных го­ро­дах Рос­сии. Рас­сто­я­ния между го­ро­да­ми вне­се­ны в таб­ли­цу:


Петя пе­ре­ри­со­вал её в блок­нот в виде графа. Счи­тая, что маль­чик не ошиб­ся при ко­пи­ро­ва­нии, ука­жи­те, какой граф у Пети в тет­ра­ди.

1) 
2) 
3) 
4) 
4. Поль­зо­ва­тель ра­бо­тал с фай­лом C:\Document\Seminar\Math\lesson.htm. Затем он под­нял­ся на один уро­вень вверх, со­здал там ка­та­лог Info, в нём со­здал ещё один ка­та­лог Form и пе­ре­ме­стил в него файл lesson.htm. Каким стало пол­ное имя этого файла после пе­ре­ме­ще­ния?

1) C:\Document\Math\Form\lesson.htm
2) C:\Seminar\Math\Form\lesson.htm
3) C:\Document\Info\Form\lesson.htm
4) C:\Document\Seminar\Info\Form\lesson.htm
5.
Дан фраг­мент элек­трон­ной таб­ли­цы.

ABCD
1432
2=(A1+D1)/2=C1 – D1=A1 – 1

Какая из пе­ре­чис­лен­ных ниже фор­мул долж­на быть за­пи­са­на в ячей­ке С2, чтобы по­стро­ен­ная после вы­пол­не­ния вы­чис­ле­ний диа­грам­ма по зна­че­ни­ям диа­па­зо­на ячеек A2:D2 со­от­вет­ство­ва­ла ри­сун­ку?

1) =D1+1
2) =A1–2
3) =С1–D1
4) =A1–1
6. Ис­пол­ни­тель Че­ре­паш­ка пе­ре­ме­ща­ет­ся на экра­не ком­пью­те­ра, остав­ляя след в виде линии. В каж­дый кон­крет­ный мо­мент из­вест­но по­ло­же­ние ис­пол­ни­те­ля и на­прав­ле­ние его дви­же­ния. У ис­пол­ни­те­ля су­ще­ству­ет две ко­ман­ды: Вперёд n (где n — целое число), вы­зы­ва­ю­щая пе­ре­дви­же­ние Че­ре­паш­ки на n шагов в на­прав­ле­нии дви­же­ния; На­пра­во m (где m — целое число), вы­зы­ва­ю­щая из­ме­не­ние на­прав­ле­ния дви­же­ния на m гра­ду­сов по ча­со­вой стрел­ке. За­пись По­вто­ри k [Ко­ман­да1 Ко­ман­да2 Ко­ман­даЗ] озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд в скоб­ках по­вто­рит­ся k раз.

Че­ре­паш­ке был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм: По­вто­ри 7 [Вперёд 70 На­пра­во 120]. Какая фи­гу­ра по­явит­ся на экра­не?

1) пра­виль­ный ше­сти­уголь­ник
2) не­за­мкну­тая ло­ма­ная линия
3) пра­виль­ный се­ми­уголь­ник
4) пра­виль­ный тре­уголь­ник
7. От раз­вед­чи­ка была по­лу­че­на сле­ду­ю­щая шиф­ро­ван­ная ра­дио­грам­ма, пе­ре­дан­ная с ис­поль­зо­ва­ни­ем аз­бу­ки Морзе:

• • - • • • - • - - • - • • • • -
При пе­ре­да­че ра­дио­грам­мы было по­те­ря­но раз­би­е­ние на буквы, но из­вест­но, что в ра­дио­грам­ме ис­поль­зо­ва­лись толь­ко сле­ду­ю­щие буквы:

ТАУЖХ
-• -• • -• • • -• • • •

Опре­де­ли­те текст ра­дио­грам­мы.
8. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор при­сва­и­ва­ния, знаки «+», «-», «*» и «/» — со­от­вет­ствен­но опе­ра­ции сло­же­ния, вы­чи­та­ния, умно­же­ния и де­ле­ния. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам ариф­ме­ти­ки. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния ал­го­рит­ма:

а := 10
b := 1
b := a/2*b
a := 2*а + 3*b

В от­ве­те ука­жи­те одно целое число — зна­че­ние пе­ре­мен­ной a.
9. За­пи­ши­те зна­че­ние пе­ре­мен­ной y, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей про­грам­мы. Текст про­грам­мы при­ведён на трёх язы­ках про­грам­ми­ро­ва­ния.

Ал­го­рит­ми­че­ский языкБей­сикПас­каль
алгнач
цел y, i
y := 5
нц для i от 1 до 3
y := y + 5*i
кц
вывод y
кон
DIM i, y AS INTEGERy = 5
FOR i = 1 TO 3
y = y + 5*i
NEXT i
PRINT y
Var y,i: integer;
Begin
y := 5;
For i := 1 to 3 do
y := y + 5*i;
Writeln(y);
End.
10. В таб­ли­це Dat хра­нят­ся оцен­ки (по де­ся­ти­балль­ной шкале) сту­ден­та по про­грам­ми­ро­ва­нию за 8 про­шед­ших с на­ча­ла учёбы се­мест­ров (Dat[1] — оцен­ка за пер­вый се­местр, Dat[2] — за вто­рой и т. д.). Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го ал­го­рит­ма, за­пи­сан­но­го на трёх ал­го­рит­ми­че­ских язы­ках.

Ал­го­рит­ми­че­ский языкБей­сикПас­каль
алгнач
цел­таб Dat[1:10]
цел к, m, term
Dat[1] := 7
Dat[2] := 7
Dat[3] := 6
Dat[4] := 8
Dat[5] := 4
Dat[6] := 5
Dat[7] := 4
Dat[8] := 7
term:=1 m := Dat[1]
нц для к от 2 до 8
если Dat[к] < m то
m:= Dat[k]
term := k
все
КЦ
вывод term
КОН
DIM k,m, term AS INTEGER
Dat[1] = 7
Dat[2] = 7
Dat[3] = 6
Dat[4] = 8
Dat[5] = 4
Dat[6] = 5
Dat[7] = 4
Dat[8] = 7
term:=1 m := Dat(1)
FOR k := 2 TO 8
IF Dat(k) < m THEN
m =Dat(k)
term = k
ENDIF
NEXT k
PRINT term
END
Var k, m, term: integer;
Dat: array[1...10] of integer;
Begin
Dat[1] := 7;
Dat[2] := 7;
Dat[3] := 6;
Dat[4] := 8;
Dat[5] := 4;
Dat[6] := 5;
Dat[7] := 4;
Dat[8] := 7;
term:=1 m := Dat[1];
for k := 2 to 8 do
if Dat[k] < m then
begin
m:= Dat[k];
term := k;
end;
writeln(term);
End.
11. На ри­сун­ке — схема дорог, свя­зы­ва­ю­щих го­ро­да А, Б, В, Г, Д, Е, Ж и К. По каж­дой до­ро­ге можно дви­гать­ся толь­ко в одном на­прав­ле­нии, ука­зан­ном стрел­кой. Сколь­ко су­ще­ству­ет раз­лич­ных путей из го­ро­да А в город К?
12. Ниже в таб­лич­ной форме пред­став­лен фраг­мент базы дан­ных «От­прав­ле­ние по­ез­дов даль­не­го сле­до­ва­ния»:

Пункт на­зна­че­нияКа­те­го­рия по­ез­даВремя в путиВок­зал
Ма­хач­ка­ласко­рый39:25Па­ве­лец­кий
Ма­хач­ка­ласко­рый53:53Кур­ский
Мур­манскско­рый35:32Ле­нин­град­ский
Мур­манскско­рый32:50Ле­нин­град­ский
Мур­манскпас­са­жир­ский37:52Ле­нин­град­ский
Мур­манскпас­са­жир­ский37:16Ле­нин­град­ский
На­зраньпас­са­жир­ский40:23Па­ве­лец­кий
Наль­чикско­рый34:55Ка­зан­ский
Не­рюн­гриско­рый125:41Ка­зан­ский
Не­рюн­гриско­рый125:41Па­ве­лец­кий
Ниж­не­вар­товскско­рый52:33Ка­зан­ский
Ниж­ний Тагилфир­мен­ный31:36Яро­слав­ский

Сколь­ко за­пи­сей в дан­ном фраг­мен­те удо­вле­тво­ря­ют усло­вию

(Ка­те­го­рия по­ез­да = «ско­рый») И (Время в пути > 36:00)?
В от­ве­те ука­жи­те одно число — ис­ко­мое ко­ли­че­ство за­пи­сей.
13. Пе­ре­ве­ди­те число 150 из вось­ме­рич­ной си­сте­мы счис­ле­ния в де­ся­тич­ную си­сте­му счис­ле­ния.
14. У ис­пол­ни­те­ля Де­ли­тель две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:

1. раз­де­ли на 2
2. вычти 1

Пер­вая из них умень­ша­ет число на экра­не в 2 раза, вто­рая умень­ша­ет его на 1. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми чис­ла­ми. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 27 числа 3, со­дер­жа­щий не более 5 ко­манд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра ко­манд. (На­при­мер, 12121 — это ал­го­ритм: раз­де­ли на 2, вычти 1, раз­де­ли на 2, вычти 1, раз­де­ли на 2, ко­то­рый пре­об­ра­зу­ет число 30 в 3.) Если таких ал­го­рит­мов более од­но­го, то за­пи­ши­те любой из них.
15. Файл раз­ме­ром 2500 Кбайт пе­ре­даётся через не­ко­то­рое со­еди­не­ние в те­че­ние 2 минут. Опре­де­ли­те раз­мер файла (в Кбайт), ко­то­рый можно пе­ре­дать через это со­еди­не­ние за 72 се­кун­ды. В от­ве­те ука­жи­те одно число — раз­мер файла в Кбайт. Еди­ни­цы из­ме­ре­ния пи­сать не нужно.
16. Не­ко­то­рый ал­го­ритм из одной це­поч­ки сим­во­лов по­лу­ча­ет новую це­поч­ку сле­ду­ю­щим об­ра­зом. Сна­ча­ла вы­чис­ля­ет­ся длина ис­ход­ной це­поч­ки сим­во­лов; если она нечётна, то уда­ля­ет­ся пер­вый сим­вол це­поч­ки, а если чётна, то в се­ре­ди­ну це­поч­ки до­бав­ля­ет­ся сим­вол Т. В по­лу­чен­ной це­поч­ке сим­во­лов каж­дая буква за­ме­ня­ет­ся бук­вой, сле­ду­ю­щей за ней в рус­ском ал­фа­ви­те (А — на Б, Б — на В и т. д., а Я — на А). По­лу­чив­ша­я­ся таким об­ра­зом це­поч­ка яв­ля­ет­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.
На­при­мер, если ис­ход­ной была це­поч­ка НОГА, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка ОПУДБ, а если ис­ход­ной была це­поч­ка СОН, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка ПО.
Дана це­поч­ка сим­во­лов КОЛ. Какая це­поч­ка сим­во­лов по­лу­чит­ся, если к дан­ной це­поч­ке при­ме­нить опи­сан­ный ал­го­ритм два­жды (т. е. при­ме­нить ал­го­ритм к дан­ной це­поч­ке, а затем к ре­зуль­та­ту вновь при­ме­нить ал­го­ритм)? Рус­ский ал­фа­вит: АБВ­ГДЕЁЖЗИЙ­КЛМ­НОПР­СТУ­ФХ­ЦЧ­Ш­ЩЪ­Ы­Ь­Э­ЮЯ.
17. До­ступ к файлу widow.mp3, на­хо­дя­ще­му­ся на сер­ве­ре spiders.ru, осу­ществ­ля­ет­ся по про­то­ко­лу http. Фраг­мен­ты ад­ре­са файла за­ко­ди­ро­ва­ны бук­ва­ми от А до Ж. За­пи­ши­те по­сле­до­ва­тель­ность этих букв, ко­ди­ру­ю­щую адрес ука­зан­но­го файла в сети Ин­тер­нет.

А) /
Б) http
В) spiders.
Г) ://
Д) ru
Е) .mp3
Ж) widow
18. В таб­ли­це при­ве­де­ны за­про­сы к по­ис­ко­во­му сер­ве­ру. Для каж­до­го за­про­са ука­зан его код — со­от­вет­ству­ю­щая буква от А до Г. Рас­по­ло­жи­те коды за­про­сов слева на­пра­во в по­ряд­ке воз­рас­та­ния ко­ли­че­ства стра­ниц, ко­то­рые нашёл по­ис­ко­вый сер­вер по каж­до­му за­про­су. По всем за­про­сам было най­де­но раз­ное ко­ли­че­ство стра­ниц. Для обо­зна­че­ния ло­ги­че­ской опе­ра­ции «ИЛИ» в за­про­се ис­поль­зу­ет­ся сим­вол «|», а для ло­ги­че­ской опе­ра­ции «И» — «&»:

КодЗа­прос
АСолн­це | Воз­дух | Вода
БСолн­це & Воз­дух & Вода
В(Солн­це | Воз­дух) & Вода
ГСолн­це | Воз­дух