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

advertisement
‫מדעי המחשב א'‪ ,‬קיץ תשנ"ז ‪899222 ,‬‬
‫לפניכם תרגום לרוסית של מבחן הבגרות‬
‫במדעי המחשב א' ‪ 899222‬מקיץ תשנ"ז‬
‫המבחן תורגם ע"י יבגני קנל מתיכון עירוני א' אשקלון‪.‬‬
‫‪25/1/16‬‬
‫‪Д-р Евгений Канель‬‬
899222 , ‫ קיץ תשנ"ז‬,'‫מדעי המחשב א‬
Часть 1
Необходимо ответить на все вопросы 1-5. Каждый вопрос – 10 баллов.
1.
Дан алгоритм:
(1) Прочитать два числа
(2) Если первое число больше второго и второе число – положительное
тогда – (2.1) напечатать квадратный корень из первого числа
иначе – (2.2) напечатать оба числа.
А. Даны три пары чисел:
Первое число
49
16
25
Второе число
25
36
-4
Для каждой пары вводимых чисел покажите, каков будет результат выполнения
алгоритма.
Б. Замените условие, записанное в строке (2) алгоритма, на следующее условие:
(2) Если первое число больше второго или второе число – положительное
Изменится ли результат работы алгоритма для пар чисел, приведенных в
параграфе А? Что будет напечатано для каждой из пар вводимых чисел?
2.
Переведите на PASCAL или BASIC следующий словесный алгоритм:
(1) Прочитать число в переменную NUM
(2) Прочитать строку в переменную MILA
(3) Если длина строки больше, чем NUM
тогда – (3.1) напечатать строку
иначе – (3.2) напечатать разницу между длиной строки и значением NUM
3.
Следующая программа должна подсчитать и напечатать квадраты натуральных
чисел, начиная с 1. Программа прекратит работу, когда квадрат числа станет
большим 1000. В программу вкралась ошибка и поэтому она не выполняет то,
что планировалось.
Текст программы на языке PASCAL
Текст программы на языке BASIC
PROGRAM SQUARE (INPUT,OUTPUT);
VAR NUM1, NUM2:INTEGER;
BEGIN
NUM1:= 1; NUM2:= 1;
WHILE NUM2 > 1000 DO
BEGIN
WRITELN (NUM2);
NUM1:= NUM1 +1;
NUM2:= NUM1 * NUM1;
END;
END.
Д-р Евгений Канель
REM PROGRAM SQUARE
REM NUM1, NUM2 INTEGER
NUM1 = 1
NUM2 = 1
WHILE NUM2 > 1000
PRINT NUM2
NUM1 = NUM1 +1
NUM2 = NUM1 * NUM1
WEND
END
25/1/16
899222 , ‫ קיץ תשנ"ז‬,'‫מדעי המחשב א‬
Проследите за выполнением программы с помощью таблицы трассировки,
объясните ошибку и исправьте её.
4.
А. Дан одномерный массив М.
Всегда ли верно следующее утверждение:
M[J*2] в два раза больше, чем M[J] ?
Б. Дан массив С длиной 10.
С
8
2
-2
3
7
1
5
9
6
-4
Построим новый массив B также длиной 10 по следующему правилу:
С[11-J] – J
B[J]. Какое значение получит B[7] ?
5.
Напишите программу, которая читает два целых положительных числа в
переменные N и M.
Программа должна выполнить следующие действия:
- напечать все целые числа, которые делятся на 7 без остатка, в
промежутке между M и N.
- вычислить и напечатать произведение всех этих чисел.
Часть 2
Необходимо ответить на 2 вопроса из вопросов 6-8. Каждый вопрос – 15
баллов.
6.
Дан следующий алгоритм:
Прочитать число в переменную A
Прочитать число в переменную B
Присвоить переменной M значение 0
Пока A > B выполнять:
(4.1) Увеличить значение M на 1
(4.2) Уменьшить значение А на 1
(5) Напечать значение переменной М.
(1)
(2)
(3)
(4)
А. Проследите с помощью таблицы трассировки за выполнением алгоритма,
если в переменную А прочитано число 5, а в переменную В – число 2.
Б. Объясните, что произойдет, если в переменную В будет прочитано число,
большее, чем в переменную А.
В. Допустим, что А больше, чем В. Объясните, что случится, если вместо
команды в строке (4.2) будет записана следующая команда:
(4.2) Увеличить значение А на 1
Д-р Евгений Канель
25/1/16
899222 , ‫ קיץ תשנ"ז‬,'‫מדעי המחשב א‬
7.
Напишите программу на языке PASCAL или BASIC, которая строит
одномерный массив размером 20 ячеек следующим образом:
- программа получает от пользователя целое число и ставит его на 10
место в массиве;
- с 11-го места и до конца массива ячейки заполняются
последовательными числами, начиная с полученного от пользователя
числа;
- первые 9 ячеек заполняются случайными числами в интервале от 25 до
55 включительно.
Программа должна напечать полученный массив одной строкой.
8.
Охранная фирма передала зашифрованное сообщение. Сообщение представляет
собой строку содержащую набор букв без пробелов. Для того чтобы
расшифровать сообщение, фирма передала также одномерный массив длиной
20. Этот массив по имени SECRET содержит целые числа, соответствующие
длине слов в зашифрованном сообщении.
А. Требуется написать программу на языке PASCAL или BASIC, которая читает
строку сообщения (длина строки не превышает 150 символов) и массив
SECRET. Программа должна напечать текст cообщения с пробелами между
словами.
Б. Объясните, какие проверки следует произвести, чтобы обеспечить
правильность вводимой информации.
Часть 3 (20 баллов)
Необходимо ответить на 1 вопрос из вопросов 9-10.
9.
A. Напишите процедуру на языке PASCAL или BASIC, которая получает как
параметр двузначное число и печатает сумму его цифр.
Б. Напишите программу на языке PASCAL или BASIC, которая читает набор
чисел и проверяет, является ли прочитанное число двузначным. Если да,
программа должна запустить над этим числом процедуру, написанную в
параграфе А. Если нет, программа запускает эту процедуру только над двумя
крайними правыми цифрами числа.
Программа заканчивает работу, когда встречает во входном наборе число
меньшее 10.
10.
Двумерный массив называется «возрастающим», если сумма чисел в каждой
строке больше, чем в предыдущей.
Напишите программу на языке PASCAL или BASIC, которая читает набор
целых чисел в массив размером 10 х 20. Программа должна напечатать сумму
чисел в каждой строке и проверить, является ли данный массив
«возрастающим».
‫חזרה לאתר המרכז הארצי‬
Д-р Евгений Канель
25/1/16
Download