תורגבה ןחבמ לש תיסורל םוגרת םכינפל 'א בשחמה יעדמב 899222

advertisement
‫מדעי המחשב א'‪ ,‬קיץ תשנ"ט ‪899222 ,‬‬
‫לפניכם תרגום לרוסית של מבחן הבגרות‬
‫במדעי המחשב א' ‪ 899222‬מקיץ תשנ"ט‬
‫המבחן תורגם ע"י יבגני קנל מתיכון עירוני א' אשקלון‪.‬‬
‫‪19/1/16‬‬
‫‪Д-р Евгений Канель‬‬
899222 , ‫ קיץ תשנ"ט‬,'‫מדעי המחשב א‬
Часть 1
Необходимо ответить на все вопросы 1-5. Каждый вопрос – 10 баллов.
1.
Дан следующий алгоритм
(1) Прочитать число в переменную X
(2) Прочитать число в переменную Y
(3) Если X*Y > 0
(3.1.) Тогда 2*(X+Y)
R
(3.2.) Иначе X – Y
R
(4) Напечать значение R
А. Прочитать в переменную X число 5, в переменную Y – число – 3.
Проследите за выполнением алгоритма с помощью таблицы трассировки и
отметьте, что будет напечатано.
Б. Приведите пример вводимых данных, для которых выполнится строка (3.1)
алгоритма.
В. Приведите пример вводимых данных, для которых выполнится строка (3.2)
алгоритма.
Примечание: в разделах Б и В следует выбрать данные, отличные от данных
раздела А.
2.
Переведите на PASCAL или BASIC следующий словесный алгоритм:
(1) Присвоить переменной NUM случайное значение в интервале от 6 до 12
(включая границы интервала).
(2) Присвоить переменной FOOL величину квадратного корня значения NUM.
(3) Присвоить переменной FOOL1 целую часть значения FOOL.
(4) Напечатать значения FOOL1 и NUM.
3.
Дан следующий алгоритм:
(1) Прочитать числа в переменные MIS1 и MIS2
(2) Пока MIS1 > 0 выполнять
(2.1.) Увеличить значение MIS2 в 10 раз
(2.2.) Напечатать значение MIS2
(2.3.) Уменьшить значение MIS1 на 2
А. Проследите с помощью таблицы трассировки за выполнением алгоритма для
двух пар вводимых чисел:
Первая пара: в MIS1 будет введено число 5, в MIS2 – число 2.
Вторая пара: в MIS1 будет введено число -2, в MIS2 - число 7.
Д-р Евгений Канель
19/1/16
899222 , ‫ קיץ תשנ"ט‬,'‫מדעי המחשב א‬
Б. Замените команду в строке (2) алгоритма на следующую команду:
Если MIS1 > 0 тогда
Проследите с помощью таблицы трассировки за выполнением алгоритма после
внесенных изменений. Что будет напечатано для первой пары данных из раздела А?
4.
А.
Для массива A выполняется следующее правило
2 * A[I] +1
A[I]
1
2
3
4
4
А
Заполните пустые клетки в массиве согласно правилу, приведенному выше.
Б.
Дан массив B:
1
B
2
4
3
3
1
4
2
5
0
Дано, что
4
3
B[1]
B[2]
Дано также правило для заполнения массива:
B[I] – B[I+1]
B[I+2]
Выполняет ли массив B данное правило? Обоснуйте свой ответ.
5.
Напишите программу на языке Паскаль или Бейсик, которая читает 15 строк и
печатает те из них, в которых первый символ тождественнен последнему.
Д-р Евгений Канель
19/1/16
899222 , ‫ קיץ תשנ"ט‬,'‫מדעי המחשב א‬
Часть 2
Необходимо ответить на 2 вопроса из вопросов 6-8.
Каждый вопрос – 15 баллов.
Перед Вами отрывки из двух разных алгоритмов:
Алгоритм А
(1) Прочитать числа в переменные A и
B
(2) Выполнять
(2.1.) A-1
A
(2.2.) Напечатать значение А
(3) Пока A<=B
Алгоритм Б
(1) Прочитать числа в переменные A и
B
(2) Пока B < A выполнять
(2.1.) A-1
A
(2.2.) Напечатать значение А
А. Выберете три пары вводимых чисел так, что
для первой пары B < A
для второй пары B = A
для третьей пары B > A
Примечание: выберете числа между 1 и 8.
Проследите с помощью таблицы трассировки за выполнением обоих алгоритмов
и запишите, что будет напечатано для каждой пары чисел, которую Вы выбрали.
Б. Дано следующее утверждение:
« В результате выполнения алгоритма будет напечатано хотя бы одно число».
Для какого из двух приведенных алгоритмов, А или В, это утверждение является
верным? Объясните, почему!
7.
Группа из 100 туристов прибыла на лодочную станцию. На станции есть 3 вида
лодок:
стоимость проката лодок первого вида – 40 шекелей;
стоимость проката лодок второго вида – 50 шекелей;
стоимость проката лодок третьего вида – 60 шекелей.
Напишите программу на языке Паскаль или Бейсик, которая введет для каждого
из туристов сорт выбранной им лодки. Программа должна подсчитать и
напечатать число туристов, которые выбрали тот или иной вид лодок, а также
общую сумму расходов на их прокат.
8.
Напишите программу на языке Паскаль или Бейсик, которая позволит вводить
двузначные числа (т.е. числа от 10 до 99). Программа должна напечатать только
те из чисел, у которых цифра единиц в два раза больше, чем цифра десятков.
Программа должна закончить свою работу, когда будет введено число, которое
не является двузначным.
Д-р Евгений Канель
19/1/16
899222 , ‫ קיץ תשנ"ט‬,'‫מדעי המחשב א‬
Часть 3 (20 баллов)
Необходимо ответить на 1 вопрос из вопросов 9-10.
9.
А. Напишите, на языке Паскаль или Бейсик, процедуру по имени PAINT ,
которая получает как параметр целое положительное число N и выводит в одну
строку N символов “*”. Для N=0 процедура выводит пустую строку.
Б. Напишите, на языке Паскаль или Бейсик, программу, которая вводит целые
положительные числа от 1 до 9 включительно. Ввод закончится, когда будет
введено число, большее 9.
Программа должна выполнить следующие действия:
(i.) Подсчитать, сколько раз было введено каждое число.
(ii.)Для каждого числа программа должна напечатать само это
число и рядом с ним в той же строке – напечатать столько
символов “*” , сколько раз данное число было введено.
Необходимо использовать процедуру PAINT.
Примечание: нет необходимости проверять правильность ввода.
10.
Даны две матрицы A и B размером 20 х 20.
Напишите программу на языке Паскаль ил иБейсик, которая проверит
выполнени следующего правила: элемент матрицы В является квадратом
соответствующего элемента матрицы А. Если данное правило выполняется для
каждого элемента матрицы В, программа должна напечатать “YES”. В
противном случае, программа должна собрать в одномерном массиве все
элементы матрицы А, для которых это правило не выполняется, и напечатать
этот массив.
Пример: матрицы размером 3 х 3.
5
2
3
25
4
9
1
6
5
1
36
25
0
4
8
0
16
64
А
В
В это случае программа напечатает “YES”.
Д-р Евгений Канель
19/1/16
Download