Основные конструкции языка программирования.
Турбо Паскаль
(тестирование)
10 -11 класс.
Работа Рыженко Елены Владимировны,
учителя информатики и математики
МБОУ г. Астрахани «СОШ № 64»
Определите значение переменной х после выполнения фрагмента программы
1.1.
1.2.
x:=0;
y:=-2;
Y:=x*x-5;
x:=y*5-10;
X:=Y div 4+5;
Y:= y div 2+x;
y then z:=3*x+y else z:=2*x+y; If melse p:=4-m*n; " width="640"
Определите значение переменной х после выполнения фрагмента программы
2.1.
2.2.
X:=23;
m:=13;
Y:=12;
n:=21;
Y:=3*x -4*y;
n:=2*m -n;
If xy then z:=3*x+y else z:=2*x+y;
If m
else p:=4-m*n;
2 then m:=n+m*2 If n8 then m:=m+n*2 else m:=m+1; else m:=m-1; End; End; " width="640"
Определите значение переменной х после выполнения фрагмента программы
3.2.
3.1.
m:=0;
m:=-10;
n:=5;
n:=0;
For i:=1 to 10 do begin
For i:=1 to 10 do begin
n:=i+2;
n:=i+3;
If n2 then m:=n+m*2
If n8 then m:=m+n*2
else m:=m+1;
else m:=m-1;
End;
End;
Дан фрагмент программы.
4.1.
4.2.
For n:=1 to 6 do
For n:=1 to 4 do
for m:=1 to 5 do
for m:=1 to 6 do
C[n,m]:=C[n,m]+3*n;
C[n,m]:=C[n,m]+4*n;
Чему равно значение С[3,4], после выполнения этого фрагмента, если перед этими командами С[3,4]=25?
Чему равно значение С[4,2], после выполнения этого фрагмента, если перед этими командами С[4,2]=12?
Значения элементов двух массивов размером 1*100 и размером 1*50 задаются с помощью следующего фрагмента программы:
5.1.
5.2.
For n:=1 to 100 do
For n:=1 to 100 do
A[i]:=i*3;
A[i]:=i*3;
For i:=51 to 100 do
For i:=51 to 100 do
B[i-50]:=A[i]-i;
B[i-50]:=A[i]-4*i;
Сколько элементов массива В будут иметь отрицательное значение?
Требовалось написать программу, которая вводит с клавиатуры координаты точек на плоскости (x,y- действительные числа) и определить принадлежность точки заштрихованной на рисунке, включая её границы. Программист торопился и написал программу неправильно. 1) приведите пример x, y, при которых программа неверно решает поставленную задачу; 2) укажите , как нужно доработать программу, чтобы не было случаев её неправильной работы.
6.2.
6.1.
Y=x
Y=x-2
2
X=-2
=0 then write(‘принадлежит’) else write(‘ не принадлежит’); End. Var x,y: real; begin readln(x,y); if y=x-2 then if x=-2 then if x write(‘принадлежит’) else write(‘ не принадлежит’); End. " width="640"
Var x,y: real;
begin
readln(x,y);
if y
if x
if x=0 then
write(‘принадлежит’)
else
write(‘ не принадлежит’);
End.
Var x,y: real;
begin
readln(x,y);
if y=x-2 then
if x=-2 then
if x
write(‘принадлежит’)
else
write(‘ не принадлежит’);
End.
Ответы:
1.
2.
1
1
-21
2
3
2
90
-61
3
3
4
4
95
66
20
34
5
5
6
6
50
0
=-2) and (y write(‘принадлежит’) else write(‘ не принадлежит’); End. Var x,y: real; begin readln(x,y); if (y=0) then write(‘принадлежит’) else write(‘ не принадлежит’); End. " width="640"
6.1. x=0,5;y=-0,5 (для любой точки, которая лежит внутри треугольника, ограниченного линиями x=0, y=0, y=x-2) программа выдаёт сообщение о том, что точка не принадлежит области, но это неверно;
Для точек, которые лежат внутри полосы, ограниченной линиями x=-2, х=0, и выше прямой y=0, программа выдаёт сообщение о том, что точка принадлежит области, но это неверно;
Для точек, которые не лежат в заштрихованной области и не лежат внутри полосы, ограниченной линиями x=0 и выше прямой y=0, программа не будет выдавать никакого сообщения.
6.2. x=1;y=-1 (для любой точки, которая лежит внутри полосы 0≤x ≤2 и ниже оси абсцисс)программа выдаёт сообщение о том, что точка принадлежит области, но это неверно;
Для точек, которые лежат выше прямой y=x, но левее прямой x=2, программа не будет выдавать никакого сообщения.
Var x,y: real;
begin
readln(x,y);
if (y x-2) and (x=-2) and (y
write(‘принадлежит’)
else
write(‘ не принадлежит’);
End.
Var x,y: real;
begin
readln(x,y);
if (y=0) then
write(‘принадлежит’)
else
write(‘ не принадлежит’);
End.
Источник:
- Информатика и ИКТ. 10 – 11 классы. Тематические тесты. Подготовка к ЕГЭ. Базовый, повышенный, высокий уровни./Под ред. Ф.Ф. Лысенко, Л. Н. Евич. – Ростов-на-Дону: Легион-М, 2010.