Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика задания + решения.doc
Скачиваний:
32
Добавлен:
11.02.2015
Размер:
1.36 Mб
Скачать

Решение:

1. Будем заполнять таблицу по столбцам, последовательно проверяя выполнение каждого из условий для соответствующих областей. Условие у >= –x * х  задает часть координатной плоскости, расположенную снаружи ветвей параболы y = –x2 – области A, B, C, D, F, H. Для строк A, B, C, D, F, H указываем «да», для строк E, G – «нет». Условие y >= –х – 2 задает часть координатной плоскости, расположенную выше прямой y = –x – 2,  – области A, B, E, F. Однако это условие, согласно тексту программы, проверяется только в том случае, если истинно условие у >= –x * x, то есть для тех строк таблицы, где мы указали «да» в столбце «Условие 1 (у >= –x * x)». При этом, если выполняются и условие 1, и условие 2, то в столбце «Условие 2 (у >= –x – 2)» указываем «да» (строки А, В и F таблицы). Для тех строк таблицы, где мы указали «нет» в столбце «Условие 1 (у >= –x * x)», условие у >= –x – 2 не проверяется, и поэтому в этих строках в столбце «Условие 2 (у >= –x – 2)» мы должны поставить прочерк. Условие y <= 0 задает часть координатной плоскости, расположенную ниже оси ОХ, – области B, D, E, F, G, H. Однако, аналогично вышеизложенному, условие y <= 0 проверяется только в том случае, если истинно условие у >= –x * x и истинно условие у >= –x – 2, то есть для тех строк таблицы, где мы указали «да» в столбце «Условие 2 (у >= –x – 2)». Таким образом, в столбце «Условие 3 (y <= 0)» ответ «да» ставим в строках В и F, ответ «нет» – в строке А. Для остальных строк условие 3 не проверяется, и в соответствующей строке таблицы ставим прочерк. Теперь обратимся к тексту программы. Программа выведет ответ «принадлежит», если все три условия истинны (в таблице – три «да» в строке). Программа выведет ответ «не принадлежит», если истинны два первых условия и ложно третье (в таблице – «да»|«да»|«нет» в строке). В остальных случаях программа ничего на экран выводить не будет. Программа верно работает только для областей А и В. Для точек из области F будет выведен ответ «принадлежит», хотя она не является заштрихованной, то есть точки из области F обрабатываются неверно, так же, как и точки областей C, D, E, G и H, для которых программа «не скажет» ничего. 2. Теперь доработаем программу. Рассматривается алгоритм на языке Паскаль. Из вышепроведенного анализа становится ясно, что для верной работы программы необходимо, чтобы и для точек из областей C, D, E, F, G и H выдавался ответ «не принадлежит», как это выдается для области А. Так как программа выводит «принадлежит» и для области В, и для области F, то, чтобы исключить область F, следует к уже имеющимся условиям добавить условие x <= 0. Кроме того, чтобы на экран выдавалась информация про точки из областей C, D, E, G и H, все условия следует соединить операцией AND (И). Тогда доработанная программа будет выглядеть так: Возможны другие способы доработки. Ответ: 1. 2. Доработанная программа (Паскаль): Возможны другие способы доработки.

Задание C2.

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют четное значение и не делятся на три. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого четно и не кратно трем. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но использовать все описанные переменные необязательно. В качестве ответа вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке). Выполните задание и сравните с предлагаемым решением.