пятница, 28 декабря 2012 г.

8А технология. Материал для самостоятельного изучения


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

Составные условия

Иногда при составлении программ в ветвлении необходимо проверять насколько условий.
Например, надо написать программу, которая определяет, в какой четверти находится точка с заданными координатами. Очевидно, что точка находится в I четверти, если x>0 И y>0, во II – если x<0 И y>0 и т.д.
Или еще пример: заданы координаты точек A и B на координатной оси (A<B). Если точка с координатой X левее точки A или правее точки B, то вывести сообщение «не попал» и сообщение «попал» в противном случае. Сообщение «не попал» выводится в том случае, когда X<A ИЛИ X>B.
Для написания подобных программ принято использовать составные условия, состоящие из элементарных условий. При этом элементарные условия соединяются союзами AND (и) и OR (или). Заметим, что достаточно часто используется отрицание NOT (не) и исключающее или XOR.
Пусть A и B – некоторые элементарные условия. Логическое значение (истина или ложь) составного условия можно определить с помощью следующей таблицы:

A
B
A and B
A or B
A xor B
ложь
ложь
ложь
ложь
ложь
ложь
ложь
ложь
истина
истина
истина
ложь
ложь
истина
истина
истина
истина
истина
истина
ложь

Оператор not(A) меняет логическое значение условия на противоположное, т.е. истину превращает в ложь и наоборот.

Напишем программу, которая определит, в какой четверти находится точка с координатами (X,Y):
Var
    x,y: integer;
begin
    write(‘задай координаты точки’);
    read(x,y);
    if (x>0) and (y>0) then
      writeln(‘точка находится в I четверти’);
if (x<0) and (y>0) then
      writeln(‘точка находится в II четверти’);
if (x<0) and (y<0) then
      writeln(‘точка находится в III четверти’);
if (x>0) and (y>0) then
      writeln(‘точка находится в IV четверти’);
    if (x=0) or (y=0) then
writeln(‘точка находится на координатных     осях’);
end.

Задания.

Ø  Написать программу, которая определит наименьшее из трех заданных пользователем чисел, используя связку AND.
Ø  Заданы координаты центра двух концентрических окружностей и их радиусы. Написать программу, которая проверит, находится ли задаваемая точка на кольце, образованном этими окружностями.
Ø  Прямоугольник, стороны которого параллельны координатным осям, задается координатами верхней левой и правой нижней вершины. Написать программу, которая проверит, находится ли точка с задаваемыми координатами внутри прямоугольника.
Ø  Заданы размеры открытки (a,b) и конверта(x,y). Написать программу, которая проверит, помещается ли открытка в конверт. Проверить работоспособность при следующих значениях переменных:
o   a=3, b=10, x=5, y=11 – открытка поместится в конверте;
o   a=10, b=3, x=5, y=11 – открытка поместится в конверте;
o   a=6, b=10, x=5, y=20 – открытка не поместится в конверте.
Ø  Написать программу, которая проверит, проходит ли шкаф с длинами ребер A, B и C сантиметров в дверь высотой X и шириной Y сантиметров.
Ø  Написать программу, которая проверит, пролезет ли кирпич длинами ребер A, B и C сантиметров в отверстие радиусом R сантиметров.
Ø  Проверить, находится ли точка с задаваемыми координатами внутри квадрата, вершины которого находятся в точках (a,0), (0,a), (-a,0), (0,-a). Проверить для a=10: точка (9,9) – вне квадрата, точка (11,0) – вне квадрата, точка (9,0) – внутри квадрата, точка (4,4) – внутри квадрата.

Комментариев нет:

Отправить комментарий