«Весна — лето 2024»

Контрольная работа "Алгоритмы и элементы программирования"

Контрольная работа 8 класс ФГОС

Раздел «Алгоритмы и элементы программирования»

Тема «Алгоритмы и элементы программирования»

Олимпиады: Информатика 1 - 11 классы

Содержимое разработки

Контрольная работа 8 класс ФГОС

Раздел «Алгоритмы и элементы программирования»

Тема «Алгоритмы и элементы программирования»

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

Определите зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния дан­но­го алгоритма:

a := 3

b := 7

b := 9+a*b

a := b/5*a

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

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

a := 10

b := 5

b := 100 + a/b

a := b/6*a

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

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

v := 4

n := 13

v := n–v*3

n := v*14–n

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

4.Запишите зна­че­ние переменной s, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

 Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел s, k

s := 0

нц для k от 8 до 12

s := s + 12

кц

вывод s

кон

DIM k, s AS INTEGER

s = 0

FOR к = 8 TO 12

s = s + 12

NEXT k

PRINT s

Var s,k: integer;

Begin

s := 0;

for k := 8 to 12 do

s := s + 12;

writeln(s);

End.

5.Запишите зна­че­ние переменной s, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел s, k

s := 0

нц для k от 3 до 7

s := s + 6

кц

вывод s

кон

DIM k, s AS INTEGER

s = 0

FOR к = 3 TO 7

s = s + 6

NEXT k

PRINT s

Var s,k: integer;

Begin

s := 0;

for k := 3 to 7 do

s := s + 6;

writeln(s);

End.

6.Запишите зна­че­ние переменной k, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел k, i

k := 2

нц для i от 0 до 2

k := i + 3*k

кц

вывод k

кон

DIM i, k AS INTEGER

k = 2

FOR i = 0 TO 2

k = i + 3*k

NEXT i

PRINT k

Var k, i: integer;

Begin

k := 2;

For i := 0 to 2 do

k := i + 3*k;

Writeln(k);

End.

7.Известная авиа­ком­па­ния за­но­си­ла дан­ные о ко­ли­че­стве уте­рян­но­го ба­га­жа за год в таб­ли­цу Lose. Всего были за­не­се­ны дан­ные за по­след­ние 10 лет ра­бо­ты ком­па­нии (Lose[1] — ко­ли­че­ство уте­рян­но­го ба­га­жа за пер­вый год работы, Lose[2] — за вто­рой год и т. д.). Определите, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел­таб Lose[1:10]

цел t, m

Lose[1] := 1; Lose[2] := 5

Lose[3] := 3; Lose[4] := 6

Lose[5] := 7; Lose[6] := 12

Lose[7] := 1; Lose[8] := 3

Lose[9] := 3; Lose[10] := 1

m := 0

нц для t от 1 до 10

если Lose[t] 3 то

m := m + Lose[t]

все

кц

вывод m

кон

DIM Lose(10) AS INTEGER

DIM t,m AS INTEGER

Lose(1) = 1: Lose(2) = 5

Lose(3) = 3: Lose(4) = 6

Lose(5) = 7: Lose(6) = 12

Lose(7) = 1: Lose(8) = 3

Lose(9) = 3: Lose(10) = 1

m = 0

FOR t = 1 TO 10

IF Lose(t) 3 THEN

m = m + Lose(t)

END IF

NEXT k

PRINT m

Var t, m: integer;

Lose: array[1..10] of integer;

Begin

Lose[1] := 1; Lose[2] := 5;

Lose[3] := 3; Lose[4] := 6;

Lose[5] := 7; Lose[6] := 12;

Lose[7] := 1; Lose[8] := 3;

Lose[9] := 3; Lose[10] := 1;

m := 0;

For t := 1 to 10 Do

If Lose[t] 3 Then

Begin

m := m + Lose[t];

End;

Writeln(m);

End.

8.В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве крат­ко­сроч­ных командировок, в ко­то­рые при­хо­ди­лось ез­дить со­труд­ни­ку за по­след­ний год (Dat[1] — ко­ли­че­ство ко­ман­ди­ро­вок в январе, Dat[2] — ко­ли­че­ство ко­ман­ди­ро­вок в фев­ра­ле и т. д.). Определите, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го алгоритма, за­пи­сан­но­го на трёх ал­го­рит­ми­че­ских языках.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

целтаб Dat[1:12]

цел к, m, month

Dat[1] := 5

Dat[2] := 5

Dat[3] := 6

Dat[4] := 8

Dat[5] := 4

Dat[6] := 5

Dat[7] := 4

Dat[8] := 7

Dat[9] := 4

Dat[10] := 4

Dat[11] := 8

Dat[12] := 7

month:=1; m := Dat[1]

нц для к от 2 до 12

если Dat[к]

m:= Dat[k];

month := k

все

КЦ

вывод month

КОН

DIM Dat(12) AS INTEGER

Dat[1] = 5

Dat[2] = 5

Dat[3] = 6

Dat[4] = 8

Dat[5] = 4

Dat[6] = 5

Dat[7] = 4

Dat[8] = 7

Dat[9] := 4

Dat[10] := 4

Dat[11] := 8

Dat[12] := 7

month = 1: m = Dat(1)

FOR k = 2 TO 12

IF Dat(k)

m = Dat(k)

month = k

END IF

NEXT k

PRINT month

END

Var k, m, month: integer;

Dat: array[1..12] of integer;

Begin

Dat[1] := 5;

Dat[2] := 5;

Dat[3] := 6;

Dat[4] := 8;

Dat[5] := 4;

Dat[6] := 5;

Dat[7] := 4;

Dat[8] := 7;

Dat[9] := 4;

Dat[10] := 4;

Dat[11] := 8;

Dat[12] := 7;

month: = 1; m := Dat[1];

for k := 2 to 12 do

if Dat[k]

begin

m:= Dat[k];

month := k;

end;

write(month);

End.

9.В таб­ли­це Dat пред­став­ле­ны дан­ные о ко­ли­че­стве голосов, по­дан­ных за 10 ис­пол­ни­те­лей на­род­ных песен (Dat[1] — количество голосов, по­дан­ных за пер­во­го исполнителя; Dat[2] — за вто­ро­го и т. д.). Определите, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел­таб Dat[1:10]

цел k, m

Dat[1] := 16

Dat[2] := 20

Dat[3] := 20

Dat[4] := 41

Dat[5] := 14

Dat[6] := 21

Dat[7] := 28

Dat[8] := 12

Dat[9] := 15

Dat[10] := 35

m := 0

нц для k от 1 до 10

если Dat[k]m то

m := Dat[k]

все

кц

вывод m

кон

DIM Dat(10) AS INTEGER

DIM k,m AS INTEGER

Dat(1) = 16: Dat(2) = 20

Dat(3) = 20: Dat(4) = 41

Dat(5) = 14: Dat(6) = 21

Dat(7) = 28: Dat(8) = 12

Dat(9) = 15:Dat(10) = 35

m = 0

FOR k = 1 TO 10

IF Dat(k)m THEN

m = Dat(k)

ENDIF

NEXT k

PRINT m

Var k, m: integer;

Dat: array[1..10] of integer;

Begin

Dat[1] := 16; Dat[2] := 20;

Dat[3] := 20; Dat[4] := 41;

Dat[5] := 14; Dat[6] := 21;

Dat[7] := 28; Dat[8] := 12;

Dat[9] := 15; Dat[10] := 35;

m := 0;

for k := 1 to 10 do

if Dat[k]m then

begin

m := Dat[k]

end;

writeln(m);

End.

10.У ис­пол­ни­те­ля Квад­ра­тор две команды, ко­то­рым при­сво­е­ны номера:

1. воз­ве­ди в квадрат

2. вычти 3

Первая из них воз­во­дит число на экра­не во вто­рую степень, вто­рая — вы­чи­та­ет из числа 3. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 14 числа 58, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.

(Например, 21221 — это алгоритм

вычти 3

возведи в квадрат

вычти 3

вычти 3

возведи в квадрат,

который пре­об­ра­зу­ет число 7 в 100.)

Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

11.У ис­пол­ни­те­ля Де­ли­тель две команды, ко­то­рым при­сво­е­ны номера:

1. раз­де­ли на 2

2. вычти 1

Первая из них умень­ша­ет число на экра­не в 2 раза, вто­рая умень­ша­ет его на 1. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми числами. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 27 числа 3, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд. (Например, 12121 — это алгоритм: раз­де­ли на 2, вычти 1, раз­де­ли на 2, вычти 1, раз­де­ли на 2, ко­то­рый пре­об­ра­зу­ет число 30 в 3.) Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

12.У ис­пол­ни­те­ля Де­ли­тель две команды, ко­то­рым при­сво­е­ны номера:

1. раз­де­ли на 2

2. вычти 1

Первая из них умень­ша­ет число на экра­не в 2 раза, вто­рая умень­ша­ет его на 1. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми числами. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 65 числа 4, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.

Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

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

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

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

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

Например, если ис­ход­ной была це­поч­ка 2ВМ, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка , а если ис­ход­ной была це­поч­ка П9, то ре­зуль­та­том ра­бо­ты ал­го­рит­ма будет це­поч­ка 2ПО.

Дана це­поч­ка сим­во­лов 28МАЯ. Какая це­поч­ка сим­во­лов получится, если к дан­ной це­поч­ке при­ме­нить опи­сан­ный ал­го­ритм два­жды (т. е. при­ме­нить ал­го­ритм к дан­ной цепочке, а затем к ре­зуль­та­ту вновь при­ме­нить алгоритм)?

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

Например, если ис­ход­ной была це­поч­ка ВРМ, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка ВГСН, а если ис­ход­ной была це­поч­ка ПД, то ре­зуль­та­том работы ал­го­рит­ма будет це­поч­ка РБЕ.

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



Получите свидетельство о публикации сразу после загрузки работы



Получите бесплатно свидетельство о публикации сразу после добавления разработки


Серия олимпиад «Весна — лето 2024»



Комплекты учителю



Качественные видеоуроки, тесты и практикумы для вашей удобной работы

Подробнее

Вебинары для учителей



Бесплатное участие и возможность получить свидетельство об участии в вебинаре.


Подробнее