Пробная работа №3 (МАРТ 2013)
Пробная работа №3 (МАРТ 2013) Ответы на задачи A1-A13:
Ответы на задачи B1-B15:
С1 1) if x <= 1 then if y <= 1 then if x*x + y*y <= 1 then write('принадлежит') else write('не принадлежит'); Обратите внимание, что второе условие проверяется в приведенной программе только тогда, когда истинно первое, а третье – только тогда, когда истинны первые два. В остальных ячейках (если условие не проверяется) нужно ставить прочерк:
if (x*x + y*y <= 1) { круг } Or ((x >= 0) and (x <= 1) and { квадрат} (y >= 0) and (y <= 1)) then write('принадлежит') else write('не принадлежит');
С2 В этой задаче нужно считать количество элементов, делящихся на первый элемент массива, и одновременно накапливать их сумму. Каждый раз, когда найден положительный элемент, остаток от деления которого на a[1] дает 0, нужно увеличить счетчик на 1 и добавить к сумме значение этого элемента. Искомое среднее арифметическое получим как частное от деления суммы на количество найденных элементов. Решение на естественном языке. Записываем в переменные x и y – нулевые начальные значения. В цикле перебираем значения переменной i от 1 до N. Если очередной элемент больше нуля и при делении на a[1] дает в остатке 0, увеличиваем переменную y на 1 и добавляем текущий элемент к предыдущему значению переменной x. После окончания цикла делим x на y и записываем результат в переменную s. Выводим значение s. Решение на Паскале. const N=40; var a: array[1..N] of integer; i, x, y: integer;
|