899222 , קיץ תשנ"ה,'מדעי המחשב א 1995 год, базовый уровень (2 первых «учебных единицы» из 5) לפניכם תרגום לרוסית של מבחן הבגרות מקיץ תשנ"ה899222 'במדעי המחשב א .המבחן תורגם ע"י יבגני קנל מתיכון עירוני א' אשקלון Часть 1 Необходимо ответить на все вопросы 1-5. Каждый вопрос – 10 баллов. 1. А. Напишите команду (оператор) на языке PASCAL или BASIC, которая присваивает переменной NUM абсолютное значение переменной TEMP. Б. Напишите команду (оператор) на языке PASCAL или BASIC, которая присваивает третьему элементу массива MIS значение 5. 2. Переведите на PASCAL или BASIC следующий словесный алгоритм: Прочитать с клавиатуры значения в переменные NUM1 и NUM2 Проверить, что NUM1 больше 0 и NUM2 больше 0 Если да, то напечатать сумму NUM1 и NUM2 Иначе, напечатать их произведение. 3 Перед Вами часть блок-схемы алгоритма: Д-р Евгений Канель 28/1/16 899222 , קיץ תשנ"ה,'מדעי המחשב א 1995 год, базовый уровень (2 первых «учебных единицы» из 5) Ввести А,В Нет Если А<B Да A B B A Напечатать А,В Проследите с помощью таблицы трассировки за выполнением алгоритма для каждой из пар вводимых значений и запишите, что будет напечатано в результате его работы: (i) А=3 В=5 (ii) А=10 В=6 4. Следующая программа должна прочитать целое положительное число в переменную N и напечатать произведение всех целых положительных чисел от 1 до N включительно. Например, если N=4, то программа должна напечатать 24, так как 1*2*3*4=24. В программу вкралась ошибка и поэтому она не выполняет то, что планировалось. Прочитайте в переменную N число 5. Проследите с помощью таблицы трассировки за выполнением программы. Объясните в чем заключается ошибка и исправьте ее. Текст программы на языке PASCAL Текст программы на языке BASIC PROGRAM MUL (INPUT,OUTPUT); VAR N,J, UMN:INTEGER; REM PROGRAM MUL REM N,J, UMN:INTEGER BEGIN WRITELN(‘ВВЕДИТЕ ЧИСЛО’); READLN(N); UMN:=1; FOR J:=1 TO N-1 DO BEGIN UMN:=J*(J+1); END; Д-р Евгений Канель PRINT ‘ВВЕДИТЕ ЧИСЛО’ INPUT N UMN = 1 FOR J=1 TO N-1 UMN = J* (J+1) NEXT J PRINT UMN END 28/1/16 899222 , קיץ תשנ"ה,'מדעי המחשב א 1995 год, базовый уровень (2 первых «учебных единицы» из 5) WRITELN (UMN); END. 5. Напишите программу на языке PASCAL или BASIC , которая печатает в убывающем порядке квадраты всех натуральных чисел от 1 до 100 включительно. Часть 2 Необходимо ответить на 2 вопроса из вопросов 6-8. Каждый вопрос – 15 баллов. 6. Ученический комитет решил вынести на всеобщее голосование вопрос об отмене единой школьной формы. Голосование организовано следующим образом: каждый ученик должен отметить 1 – если он за вынесенное предложение, и 0 – если он против. А. Напишите программу, которая читает информацию о том, как проголосовал каждый из 785 учеников школы. Программа должна проверить, принято ли предложение большинством голосов и напечатать сооветствующее сообщение. Б. Объясните, какие изменения необходимо внести в программу, если число участников голосования заранее неизвестно. 7. Напишите программу, которая создает 100 случайный целых чисел в интервале от 1 до 10 включительно и вносит их в одномерный массив. Программа должна напечать сообщение «БОЛЬШОЙ», если сумма всех элементов массива больше 500. 8. Требуется написать программу которая читает целиком строку символов (длина строки не превышает 20 символов). Программа должна дважды напечать каждый символ за исключением символа * (звездочка), который не печатается вовсе. Печать производится в одну строку. Например, если вводимая строка символов была AB*3B*? то будет напечатано Часть 3 (20 баллов) Необходимо ответить на 1 вопрос из вопросов 9-10. Д-р Евгений Канель 28/1/16 899222 , קיץ תשנ"ה,'מדעי המחשב א 1995 год, базовый уровень (2 первых «учебных единицы» из 5) 9. A. Напишите процедуру на языке PASCAL или BASIC, которая заменяет все отрицательные элементы двумерного массива на 0. В массиве 7 строк и 5 столбцов. Б. Существует процедура по имени VVOD, которая читает целые числа (положительные и отрицательные) в двумерный массив размером 7 строк на 5 столбцов. Напишите программу, которая использует процедуру VVOD и процедуру, написанную в разделе (А) , для заполнения массива и его распечатки – до и после замены всех отрицательных значений на нули. Примечание: нет необходимости проверять правильность вводимых данных. 10. В аэропорту решено собрать данные о 10 рейсах, вылетающих в определенный день. Для каждого рейса вводятся следующие данные о каждой улетающей этим рейсом семье: фамилия и число членов семьи. Число пассажиров на каждый рейс неизвестно, поэтому ввод данных продолжается, пока вводимая фамилия отличается от “XXX” и число членов семьи не равно 0. Напишите программу, которая вводит данные, подсчитывает и печатает число пассажиров на каждом из 10 рейсов. Д-р Евгений Канель 28/1/16