while m&lt

advertisement
899222 , ‫ קיץ תשנ"ו‬,'‫מדעי המחשב א‬
1996 год, базовый уровень (2 первых «учебных единицы» из 5)
‫לפניכם תרגום לרוסית של מבחן הבגרות‬
‫ מקיץ תשנ"ו‬899222 '‫במדעי המחשב א‬
.‫המבחן תורגם ע"י יבגני קנל מתיכון עירוני א' אשקלון‬
Часть 1
Необходимо ответить на все вопросы 1-5. Каждый вопрос – 10 баллов.
1.
Перед Вами часть блок-схемы алгоритма:
Ввести А,В
Нет
A
0
Если
А>B
и
B>=20
Да
A
(-B)
Напечатать А,В
Проследите с помощью таблицы трассировки за выполнением алгоритма для
каждой из пар вводимых значений и запишите, что будет напечатано в
результате его работы:
(i)
А=25 В=20
(ii)
А=15 В=20
(iii)
А=30 В=15
2.
Переведите на PASCAL или BASIC следующий словесный алгоритм:
(1)
Записать в переменную MIS случайное целое число от 5 до 10
включительно
(2)
Выполнить MIS раз :
Д-р Евгений Канель
28/1/16
899222 , ‫ קיץ תשנ"ו‬,'‫מדעי המחשב א‬
1996 год, базовый уровень (2 первых «учебных единицы» из 5)
(2.1)
(2.2)
(3)
напечатать ***
напечатать -+-
Напечатать свое имя
Д-р Евгений Канель
28/1/16
899222 , ‫ קיץ תשנ"ו‬,'‫מדעי המחשב א‬
1996 год, базовый уровень (2 первых «учебных единицы» из 5)
3.
Значение первого элемента массива А равно 2 , а значение второго элемента
этого же массива равно 5.
А. Для J=1
Чему будут равны значения первого и второго элементов массива после
выполнения команды
A(J)
A(J+1) ?
Б. Для J=2
Чему будут равно значение А(J) после выполнения команды
A(J)
A(J)+1 ?
4.
Следующая программа должна прочитать два целых числа NUM1 и NUM2 и
дважды напечатать их произведение и трижды их сумму. В программу вкралась
ошибка и поэтому она не выполняет то, что планировалось.
Прочитайте в переменную NUM1 число 12 и в переменную NUM2 число 3.
Проследите с помощью таблицы трассировки за выполнением программы.
Объясните в чем заключается ошибка и исправьте ее.
Текст программы на языке PASCAL
Текст программы на языке BASIC
PROGRAM CALCU (INPUT,OUTPUT);
VAR NUM1, NUM2, M:INTEGER;
BEGIN
WRITELN(‘ВВЕДИТЕ 2 ЧИСЛА’);
READLN(NUM1, NUM2);
M:=0;
WHILE M<2 DO
BEGIN
WRITELN (NUM1*NUM2);
M:= M +1;
END;
WHILE M<3 DO
BEGIN
WRITELN (NUM1+NUM2);
M:= M +1;
END;
END.
REM PROGRAM CALCU
REM NUM1, NUM2, M: INTEGER
PRINT ‘ВВЕДИТЕ 2 ЧИСЛА’
INPUT NUM1,NUM2
M=0
WHILE M<2 DO
PRINT NUM1*NUM2
M = M +1
WEND
WHILE M<3 DO
PRINT NUM1+NUM2
M = M +1
WEND
END
5.
Дан двумерный вектор (матрица) VEC имеющий 4 строки и 3 столбца и
содержащий целые числа. Напишите отрывок программы, которая
подсчитывает и печатает количество отрицательных элементов в массиве.
Д-р Евгений Канель
28/1/16
899222 , ‫ קיץ תשנ"ו‬,'‫מדעי המחשב א‬
1996 год, базовый уровень (2 первых «учебных единицы» из 5)
Часть 2
Необходимо ответить на 2 вопроса из вопросов 6-8. Каждый вопрос – 15
баллов.
6.
А. Напишите программу, которая читает целое число в переменную FIRST и
целое число в переменную SECOND. Программа должна подсчитать и
напечатать сумму всех целых чисел от FIRST до SECOND включительно.
Б. Правильно ли выполняется ли написанная Вами программа, если в
переменную FIRST будет прочитано число, большее, чем в переменную
SECOND? Если да – укажите, какая часть программы обеспечивает это, если
нет – введите необходимые изменения.
7.
Администрация школы планирует организовать компьютерную сеть,
связывающую вместе домашние компьтеры учащихся. С этой целью проводится
анкетирование учеников для выяснения, есть ли в их распоряжении компьютер
или модем. Каждый ученик должен отметить в анкете 1, если у него есть
соответствующий прибор, или 0 – если такого прибора нет. Вопрос задается
отдельно для компьютера и отдельно для модема.
А. Напишите программу, которая обработает данные, полученные в результате
анкетирования 700 учащихся школы, и подсчитает и напечает число учеников, у
которых есть и компьютер и модем.
Б. Приведите пример некорректных вводимых данных. Объясните, какие
проверки следует включить в программу, чтобы исключить ввод некорректных
данных.
8.
Требуется написать, которая читает строку символов (длина строки не
превышает 75 символов). Программа должна напечать символы строки за
исключением символов точки и запятой. Когда программа встречает символы
точки или запятой, она преобразует вывод следующим образом:
- если встречается символ запятой – вывод продолжается с новой строки;
- если встречается символ точки – добавляется пустая строка.
Например, если вводимая строка символов была
AXCD,B1.CDY,A
то будет напечатано
AXCD
B1
CDY
A
Д-р Евгений Канель
28/1/16
899222 , ‫ קיץ תשנ"ו‬,'‫מדעי המחשב א‬
1996 год, базовый уровень (2 первых «учебных единицы» из 5)
Часть 3 (20 баллов)
Необходимо ответить на 1 вопрос из вопросов 9-10.
9.
В таксопарке работают 20 шоферов, которые каждый день заправляют свои
автомобили. С целью контроля и сбора статистики в таксопарке решили на
протяжении некоторого периода подсчитывать ежедневный расход бензина.
А. Напишите программу, которая читает количество рабочих дней в выбранный
для анализа период. Для каждого рабочего дня программа должна прочитать
расход бензина каждого из 20 шоферов и напечатать общий расход бензина в
этот день.
Кроме того, программа подсчитать и рапечатать общий расход бензина за весь
период.
Б. Объясните, что нужно изменить в написанной Вами программе, если число
шоферов, которые работали каждый день, заранее неизвестно.
10.
A. Напишите процедуру SPRINT на языке PASCAL или BASIC, которая
получает как параметр символьную строку SOD размером в 9 символов и два
целых числа N1 и N2, значения которых от 1 до 9 включительно. Подпрограмма
должна напечатать два символа, которые находятся в строке SOD на местах N1
и N2.
Б. Напишите программу на языке PASCAL или BASIC, которая читает пару
целых чисел, значения которых от 1 до 9 включительно, и неизвестное заранее
количество симовльных строк размером в 9 символов. Для каждой вводимой
строки программа должна вызвать процедуру VVOD для печати символов,
получаемых с помощью процедуры.
Программа заканчивает работу, когда вводится строка «STOP-STOP».
Примечание: нет необходимости проверять правильность вводимых данных.
Д-р Евгений Канель
28/1/16
Download