Разработчиком языка Паскаль является:
а) Блез Паскаль
б) Никлаус Вирт
в) Норберт Винер
г) Эдсгер В. Дейкстра
Правильный ответ: б) Никлаус Вирт
Что из нижеперечисленного не входит в алфавит языка Паскаль?
а) латинские строчные и прописные буквы
б) служебные слова
в) русские строчные и прописные буквы
г) знак подчёркивания
Правильный ответ: в) русские строчные и прописные буквы
Какая последовательность символов не может служить именем в языке Паскаль?
а) _mas
б) maS1
в) d2
г) 2d
Правильный ответ: г) 2d
Вещественные числа имеют тип данных:
а) real
б) integer
в) boolean
г) string
Правильный ответ: в) boolean
В программе на языке Паскаль обязательно должен быть:
а) заголовок программы
б) блок описания используемых данных
в) программный блок
г) оператор присваивания
Правильный ответ: в) программный блок
Какого раздела не существует в программе, написанной на языке Паскаль?
а) заголовка
б) примечаний
в) описаний
г) операторов
Правильный ответ: б) примечаний
Языковые конструкции, с которых в программах записываются действия, выполняемые в процессе решения задачи, называются:
а) операндами
б) операторами
в) выражениями
г) данными
Правильный ответ: б) операторами
Разделителями между операторами служит:
а) точка
б) точка с запятой
в) пробел
г) запятая
Правильный ответ: б) точка с запятой
Описать переменную — это значит указать её:
а) имя и значение
б) имя и тип
в) тип и значение
г) имя, тип и значение
Правильный ответ: б) имя и тип
В данном фрагменте программы:
program error;
begin
SuMmA:=25–14;
end.
ошибкой является:
а) некорректное имя программы
б) не определённое имя переменной
в) некорректное имя переменной
г) запись арифметического выражения
Правильный ответ: б) не определённое имя переменной
Какая клавиша нажимается после набора последнего данного в операторе read?
а) Enter
б) точка с запятой
в) пробел
г) Ctrl
Правильный ответ: а) Enter
При присваивании изменяется:
а) имя переменной
б) тип переменной
в) значение переменной
г) значение константы
Правильный ответ: в) значение переменной
Для вывода результатов в Паскале используется оператор
а) begin
б) readln
в) write
г) print
Правильный ответ: в) write
Для вычисления квадратного корня из х используется функция:
а) abs (х)
б) sqr (х)
в) sqrt (х)
г) int (х)
Правильный ответ: в) sqrt (х)
Для генерации случайного целого числа из интервала [10, 20) необходимо использовать выражение:
а) random*20
б) random(20)
в) random(10)+10
г) random(10)*2
Правильный ответ: в) random(10)+10
В каком из условных операторов допущена ошибка?
а) if b=0 then writeln (‘Деление невозможно.’);
б) if a<b then min:=a; else min:=b;
в) if a>b then max:=a else max:=b;
r) if (a>b) and (b>0) then c:=a+b;
Правильный ответ: б) if a<b then min:=a; else min:=b;
В условном операторе и после then, и после else нельзя использовать:
а) оператор вывода
б) составной оператор
в) несколько операторов
г) условный оператор
Правильный ответ: в) несколько операторов
Определите значение переменной с после выполнения следующего фрагмента программы:
а:=100;
b:=30;
а:=а–b*3;
if a>b then c:=a–b else c:=b–a;
а) 20
б) 70
в) -20
г) 180
Правильный ответ: а) 20
Условный оператор
if a mod 2=0 then write (‘Да’) else write (‘Нет’)
позволяет определить, является ли число а:
а) целым
б) двузначным
в) чётным
г Правильный ответ: в) чётным
Какого оператора цикла не существует в языке Паскаль?
а) for
б) while
в) repeat…until
г) loop
Правильный ответ: г) loop
Цикл в фрагменте программы
р: =2;
repeat
р:=р*0.1
until р<0.1;
будет исполнен:
а) 0 раз
б) 1 раз
в) 2 раза
г) бесконечное число раз
Правильный ответ: в) 2 раза
Цикл в фрагменте программы
а:=1;
b:=1;
while а+b<8 do
begin
а:=а+1;
b:=b+2
end;
выполнится:
а) 0 раз
б) 2 раза
в) 3 раза
г) бесконечное число раз
Правильный ответ: б) 2 раза
Определите значения переменных s и i после выполнения фрагмента программы:
s:=0;
i:=5;
while i>0 do begin
s:=s+i;
i:=i-l;
end;
а) s = 0, i = –1
б) s = 5, i = 0
в) s = 15, i = 5
г) s = 15, i = 0
Правильный ответ: г) s = 15, i = 0
Выберите фрагмент программы, в котором ищется произведение 1*2*3*4*5:
а) р:=0; i :=1; while i<=5 do i:=i+1; p:=p*i;
б) p: =1; i:=1; while i<6 do i:=i+1; p:=p*i;
в) р:=1; i:=1; while i<6 do begin p:=p*i; i:=i+1 end;
г) р: =1; i:=1; while i>5 do begin p:=p*i; i:=i+1 end;
Правильный ответ: в) р:=1; i:=1; while i<6 do begin p:=p*i; i:=i+1 end;
В данном фрагменте программы
s:=0 ;
for i:=1 to 10 do
s:=s+2*i;
вычисляется:
а) сумма целых чисел от 1 до 10
б) сумма чётных чисел от 1 до 10
в) удвоенная сумма целых чисел от 1 до 10
г) сумма первых десяти натуральных чётных чисел
Объяснение:
cdow='ВсПнВтСрЧтПтСб';
mdays:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
var
d1,m1,y,d2,m2,a,y1,m,dow,dw,i,days:integer;
cdw:string;
begin
Writeln('Введите начало интервала (день месяц год): ');
Readln(d1,m1,y);
Writeln('Введите номера дня и месяца конца интервала: ');
Readln(d2,m2);
Writeln('Укажите, какой день недели подсчитать (Вс/Пн/Вт/Ср,Чт/Пт/Сб): ');
Readln(cdw);
{ определить номер дня недели для начальной даты }
i:=Pos(cdw,cdow);
if i=0 then Writeln('Неверно указан день недели!')
else begin
dw:=(i-1) div 2;
if m1=m2 then days:=d2-d1+1
else begin
days:=days+mdays[m1]-d1+1; { до конца месяца первой даты}
days:=days+d2; {плюс от начала месяца последней даты}
for i:=m1+1 to m2-1 do days:=days+mdays[i] { плюс полные месяцы }
end;
a:=(14-m1) div 12; y1:=y-a; m:=m1+12*a-2;
dow:=(7000+(d1+y1+y1 div 4-y1 div 100+y1 div 400+(31*m) div 12)) mod 7;
if (d1>=28) and (m1=2) then { определить, високосный ли год }
if ((y mod 4)=0) and ((y mod 100)<>0) or ((y mod 400)=0)
then days:=days+1;
{ установлено количество дней в интервале }
i:=days mod 7;
days:=days div 7;
if (dw>=dow) and ((dw-dow)< i) then days:= days +1;
Writeln('Количество '+cdw,': ',days)
end
end.
Тестовое решение:
Введите начало интервала (день месяц год):
12 5 2015
Введите номера дня и месяца конца интервала:
24 6
Укажите, какой день недели подсчитать (Вс/Пн/Вт/Ср,Чт/Пт/Сб):
Ср
Количество Ср: 7