ЗНАЕТЕ ЛИ ВЫ?

writeln ('точка лежит внутри области')



else writein ('точка не лежит внутри области');

End

else writeln ('точка не лежит внутри области');

End

else writeln ('точка не лежит внутри области');

End.

Последовательно выполните задания:

1. Приведите пример таких чисел х0 и у0, при которых программа неверно решает поставленную задачу.

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы (можно указать любой способ доработки исходной программы).

3. Укажите, как можно доработать программу, чтобы вместо вложенных операторов IF она содержала логическую операцию AND.

 

4) Требовалось написать программу, которая решает уравнение относительно х для действительных чисел а, Ь, с, введенных с клавиатуры, о которых заведомо известно, что а¹0, b¹0 и c¹0. Была написана следующая программа:

var a, b, с, D, xl, x2: real;

Begin

readln(a, b, с, xl, x2);

D := b*b - 4*a*c;

if D > 0

Then begin

xl := (-b + sqrt(D))/(2*a);

x2 := (-b - sqrt(D))/(2*a);

write('xl =', xl);

write('x2 =', x2); end

else writeln ('действительных корней нет');

End.

Известно, что программа написана с ошибками. Последовательно выполните три задания:

1. Приведите пример таких чисел а, Ь, с, при которых программа неверно решает поставленную задачу.

2. Укажите, какая часть программы является лишней.

3. Укажите, как, по-вашему мнению, нужно доработать программу, чтобы не было случаев ее неправильной работы.

 

5) Требовалось написать программу, которая определяет, имеется ли среди введенных с клавиатуры положительных целых чисел а и Ь хотя бы одно четное. Была написана следующая программа:

var a, b: integer;

Begin

readln(a, b);

a := a mod 2;

if a > 0 then b := b mod 2;

if b > 0 then

Writeln ('четных чисел нет')

else writeln ('четное число есть');

End.

Известно, что программа написана с ошибками. Последовательно выполните три задания:

1. приведите пример таких чисел а, b, при которых программа неверно решает поставленную задачу;

2. укажите, как, по вашему мнению, нужно доработать программу, чтобы не было случаев ее неправильной работы;

3. укажите, как можно доработать программу, чтобы она вместо вложенных операторовIF содержала логическую операцию OR.

 

6) Требовалось написать программу, которая определяет, можно ли построить треугольник из отрезков с длинами х, у, z. Программа должна выводить соответствующее текстовое сообщение. Программист сделал в программе ошибки.

var х, у, z: real;

Begin

readln (x, у, z);

if (x + y > z) then

Begin

if (x + z > y) then

if (y + z > x) then

writeln('треугольник построить можно');

End

else writeln('треугольник построить нельзя');

End

Последовательно выполните задания:

1. Приведите пример таких чисел х, у, z, при которых программа неверно решает поставленную задачу.

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы (можно указать один из способов доработки исходной программы).

3. Укажите, как можно доработать программу, чтобы она вместо вложенных операторов IF содержала логическую операцию AND.

 

7) Требовалось написать программу, которая определяет, лежит ли точка А(х,у) внутри некоторого кольца («внутри» понимается в строгом смысле, т.е. случай, когда точка А лежит на границе кольца, недопустим). Центр кольца находится в начале координат. Для кольца заданы внутренний и внешний радиусы r1, r2; известно, что r1 отлично от r2, но неизвестно, r1 > r2 или r2 > r1. В том случае, когда точка А лежит внутри кольца, программа должна выводить соответствующее сообщение, в противном случае никакой выходной информации не выдается. Программист сделал в программе ошибки.

var x, у, rl,r2:real;

h: real;

Begin

readln (x, у, rl, r2);

h := sqrt (x*x + y*y);

if (h < rl) AND (h > r2) then

writeln ('точка А лежит внутри кольца');

End.

Последовательно выполните задания:

1. Приведите пример таких чисел х, у, rl, r2, при которых программа неверно решает поставленную задачу.

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

3. Укажите, как можно доработать программу, чтобы она не содержала логических операций AND или OR.

Примечание: для обозначения расстояния от точки А до начала координат используется вспомогательная переменная h.

 

8) Требовалось написать программу, которая определяет, лежит ли точка А(х00) внутри квадратной области, ограниченной прямыми, параллельными осям координат: у = -2, у = 2,
х = -2, х = 2 («внутри» понимается в строгом смысле, т.е случай, когда точка А лежит на границе области, недопустим).

В результате программа должна выводить соответствующее текстовое сообщение. Программист сделал в программе ошибки.

var x0, y0: real;

Begin

Readln (x0, y0)

if(x0 < 2)then

Begin

if(x0 > -2)then

if (y0 < 2) then

writeln('точка лежит внутри области');

End

else writeln('точка не лежит внутри области');

End.

Последовательно выполните задания:

1. Приведите пример таких чисел х0 и у0, при которых программа неверно решает поставленную задачу.

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы (можно указать любой способ доработки исходной программы).

3. Укажите, как можно доработать программу, чтобы она вместо вложенных операторов IF содержала логическую операцию AND.

 

9) Рассматривается стандартная шахматная доска размером 8х8. Примем, что i – номер вертикали (может принимать значения от 1 до 8), j – номер горизонтали (также может принимать значения от 1 до 8). В левом нижнем углу, т.е. на поле i=1, j=1 (это поле черного цвета) стоит черный король. Напомним, что король может ходить на 1 клетку в любом направлении (по горизонтали, вертикали или диагонали). В правом нижнем углу, т.е. на поле i=8, j=1 (это поле белого цвета) стоит белый король. Введены обозначения: P(i,j) минимальное число ходов, за которое черный король может попасть на поле (i,j); V(i,j)минимальное число ходов, за которое белый король может попасть на поле (i,j).

Программист написал программу, в которой требовалось определить все такие поля (i,j), для которых P(i,j)=V(i,j), и выдать на экран соответствующие значения i,j (текст программы приведен ниже).

var i,j: integer;

Begin

writeln('искомые поля');

for j:=5 to 8 do

for i:=1 to 8 do

Begin

if (i=9-j) OR (i=j)

then writeln('i=',i, 'j=',j);

end;

End.

Последовательно ответьте на вопросы:

1. Выдаст ли программа, написанная программистом, поле, для которого i=4, j=5?

2. Указать все из перечисленных ниже полей, которые удовлетворяют постановке задачи, т.е. для таких полей должно быть выполнено P(i,j)=V(i,j):

(i=1, j=8), (i=2, j=8), (i=1, j=7), (i=5, j=5), (i=8, j=6)

3. Видно, что программист допустил ошибку в программе. Укажите, какую доработку программы нужно провести, чтобы она соответствовала постановке задачи (такая доработка может быть проведена неединственным образом – годится любой правильный вариант доработки).

 

10) Требовалось написать программу, которая решает неравенство относительно для всех ненулевых действительных чисел и , введенных с клавиатуры. Программист торопился и сделал в программе ошибки.

var a, b, x: real;

Begin

readln(a, b, x);

if b > 0 then

write('x > ', a, ' или x < 0')

Else

if a > 0 then

write('0 < x < ', a)

Else

write(a, ' < x < 0');

End.

Последовательно выполните три задания:

1. Приведите примеры таких чисел a, b, x, при которых программа неверно решает поставленную задачу.

2. Укажите, какая часть программы является лишней?

3. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы (можно указать любой способ доработки исходной программы).

 

11) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x,y: real;

Begin

readln(x,y);

if x*x+y*y >= 4 then

if x <= 2 then

if y <= x then

Write('принадлежит')

Else

Write('не принадлежит')

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

12) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x,y: real;

Begin

readln(x,y);

if y >= -1 then

if y <= sin(x) then

if y >= x-1 then

Write('принадлежит')

Else

Write('не принадлежит')

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

13) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x*x + y*y >= 4 then

if x >= –2 then

if y <= –x then

Write('принадлежит')

Else

Write('не принадлежит')

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

14) Требовалось написать программу, которая вводит три целых числа в переменные a, b и c, а потом сортирует их так, чтобы в переменнойaоказалось наименьшее число, в переменной b – среднее число, а в переменной c – наибольшее число. Программист торопился и сделал в программе ошибки.

var a, b, c, x: integer;

Begin

read(a, b, c, x);

if a > b then begin x:=a; a:=b; b:=x; end;

if b > c then begin x:=b; b:=c; c:=x; end;

write(a,b,c);

End.

Последовательно выполните три задания:

1. Приведите примеры таких чисел a, b, с, при которых программа неверно решает поставленную задачу.

2. Укажите, какая часть программы является лишней?

3. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы (можно указать любой способ доработки исходной программы).

 

15) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y <= sin(x) then

if y <= 0.5 then

if y >= 0 then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

16) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y <= x then

if y <= -x then

if y >= x*x-2 then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

17) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y >= x then

if y >= 0 then

if y <= 2-x*x then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

18) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y >= x then

if x <= 0 then

if x*x+y*y <= 1 then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

19) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y <= x then

if y >= -x then

if x*x+y*y <= 1 then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

20) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x0, y­0 – действительные числа) и определяет принадлежность точки заштрихованной области, НЕ включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x0, y0, y: real;

Begin

readln(x0, y0);

if x0 < 2 then

if x0 > 0 then begin

y := x0/2 – 1;

if y0 < y then

Write('принадлежит')

Else

Write('не принадлежит')

End

Else

write('не принадлежит');

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x0, y0, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

21) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y <= x*x then

if x-y >= -2 then

if x+y <= 2 then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

22) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x*y >= 1 then

if x <= 2 then

if y <= 2 then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

23) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y >= 0 then

if y <= 1 then

if x >= 0 then

if x <= pi then

if y <= sin(x) then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

24) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x <= 1 then

if y <= 1 then

if x*x + y*y <= 1 then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее:

1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.Объясните, почему для указанных чисел программа неверно решает поставленную задачу.

2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

25) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y >= 0 then

if x <= 1 then

if y >= x*x then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее:

1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.Объясните, почему для указанных чисел программа неверно решает поставленную задачу.

2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

26) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x <= 1 then

if y >= 1-x then

if y >= x*x then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее:

1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.Объясните, почему для указанных чисел программа неверно решает поставленную задачу.

2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

27) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x >= 0 then

if y <= 1 then

if (x*x + y*y <= 1) and (y >= x-1) then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее:

1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.Объясните, почему для указанных чисел программа неверно решает поставленную задачу.

2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

28) Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x, y – действительные числа) и определяется принадлежность этой точки заданной закрашенной области (включая границы). Программист торопился и написал программу неправильно.

var x,y: real;

Begin

readln(x,y);

if y<=2-x then

if y>=0 then

if y>=x*x then

Write('принадлежит')

Else

Write('не принадлежит')

End.

Последовательно выполните следующее.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A,B, C, D, E, F,G и H). Точки, лежащие на границах областей, отдельно не рассматривать.

Область y<=2-x? y>=0? y>=x*x? вывод верно?
A
B
C
D
E
F
G
H

В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—" (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

29) Треб овалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x, y – действительные числа) и определяется принадлежность этой точки заданной закрашенной области (включая границы). Программист торопился и написал программу неправильно.

var x,y: real;

Begin

readln(x,y);

if y>=0 then

if y>=2-x then

if y<=x*x then

Write('принадлежит')

Else

Write('не принадлежит')

End.

Последовательно выполните следующее.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A,B, C, D, E, F,G и H). Точки, лежащие на границах областей, отдельно не рассматривать.

Область y>=0? y>=2-x? y<=x*x? вывод верно?
A
B
C
D
E
F
G
H

В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—" (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

 

30) (С.Э. Назаренко) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x <= 1 then

if y <= 1 then

if x*x + y*y <= 1 then

Write('принадлежит')

Else

write('не принадлежит');

End.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F). Точки, лежащие на границах областей, отдельно не рассматривать.

 

Область x <= 1 y <= 1 x*x + y*y <= 1 вывод верно?
A
B
C
D
E
F

В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—" (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

31) (С.Э. Назаренко) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if y >= 0 then

if x <= 1 then

if y >= x*x then

Write('принадлежит')

Else

write('не принадлежит');

End.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F). Точки, лежащие на границах областей, отдельно не рассматривать.

Область y >= 0 x <= 1 y >= x*x вывод верно?
A
B
C
D
E
F

В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—" (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

32) (С.Э. Назаренко) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x <= 1 then

if y >= 1-x then

if y >= x*x then

Write('принадлежит')

Else

write('не принадлежит');

End.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G, H). Точки, лежащие на границах областей, отдельно не рассматривать.

Область x <= 1 y >= 1-x y >= x*x вывод верно?
A
B
C
D
E
F
G
H

В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—" (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

 

33) (С.Э. Назаренко) Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x, y: real;

Begin

readln(x, y);

if x >= 0 then

if y <= 1 then

if (x*x + y*y <= 1) and (y >= x-1) then

Write('принадлежит')

Else

write('не принадлежит');

End.





Последнее изменение этой страницы: 2016-06-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.237.205.144 (0.059 с.)