Консультация № 184012
13.09.2011, 08:23
165.00 руб.
0 7 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
1 Чему равно произведение пустой последовательности вещественных чисел?

2 Что вычисляет следующий фрагмент программы?

вещ последовательность p;
вещ a, s; цел n; логическое b;
. . .
s := минус бесконечность;
n := 0; b := ложь;
встать в начало последовательности p;
цикл пока есть непрочитанные элементы в посл-ти p
| прочесть очередной элемент посл-ти p в (вых: a);
| если a >= s
| | то
| | если не b или a == s
| | | то
| | | n := n + 1;
| | конец если
| | b := истина;
| | s := a;
| иначе
| | b := ложь;
| конец если
конец цикла
ответ := n;

3 Что вычисляет следующий фрагмент программы?

вещ последовательность p;
вещ a, s; цел n;
. . .
s := минус бесконечность;
n := 0;
встать в начало последовательности p;
цикл пока есть непрочитанные элементы в посл-ти p
| прочесть очередной элемент посл-ти p в (вых: a);
| если a > s
| | то
| | s := a; n := 1;
| иначе если a == s
| | то
| | n := n + 1;
| конец если
конец цикла
ответ := n;

4 Является ли индуктивной функция, которая последовательности коэффициентов многочлена по возрастанию степеней ставит в соответствие пару чисел (степень многочлена, интеграл многочлена по отрезку [0, 1])?

5 Рассмотрим функцию F, которая последовательности коэффициентов многочлена по убыванию степеней ставит в соответствие значение второй производной многочлена в точке t. Какая из приведенных ниже функций на последовательностях является индуктивным расширением функции F?

6 Функция F последовательности цифр в десятичной записи числа n ставит в соответствие единицу, если n делится на 14, и ноль в противном случае. Какая из приведенных ниже функций на последовательности десятичных цифр числа n является индуктивным расширением функции F?

7 Следующая программа вычисляет количество вхождений фрагмента "xyz" в последовательность символов:

последовательность символов p;
цел n;
символ c1, c2, c3;
. . .
n := 0;
// Инициализируем переменные c1, c2, c3 пробелами
c1 = ' '; c2 = ' '; c3 = ' ';
встать в начало последовательности p;
цикл пока есть непрочитанные элементы в посл-ти p
| c1 := c2; c2 := c3;
| прочесть очередной элемент посл-ти p в (вых: c3);
| если c1 == 'x' и c2 == 'y' и c3 == 'z'
| | то n := n + 1;
| конец если
конец цикла
ответ := n;
В ней используются четыре вспомогательные переменные n, c1, c2, c3. Можно ли упростить программу, использовав меньшее количество вспомогательных переменных? (Последовательность разрешается читать только один раз.)


8 На вход следующей программе передается последовательность целых чисел в диапазоне от 0 до 9, представляющая цифры десятичной записи целого числа n. Программа определяет, делится ли число n на 75 (символом процента '%' обозначается операция нахождения остатка от деления первого числа на второе):

цел последовательность p; // Цифры числа n
цел s, r, d;
. . .
s := 0; r := 0;
встать в начало последовательности p;
цикл пока есть непрочитанные элементы в посл-ти p
| прочесть очередной элемент посл-ти p в (вых: d);
| s := s + d; // s -- сумма цифр
| r := (r % 10) * 10 + d; // r -- число из 2-х
конец цикла // последних цифр
ответ := ( // n делится на 75, когда
s % 3 == 0 и // s делится на 3 и
r % 25 == 0 // r делится на 25
);
В ней используются три вспомогательные переменные s, r, d. Можно ли упростить программу, использовав меньшее количество вспомогательных переменных? (Последовательность разрешается читать только один раз.)

9 Следующий фрагмент программы вычисляет сумму четырех последних элементов последовательности p:

вещ последовательность p;
вещ x, y, z, t;
. . .
x := 0.0; y := 0.0; z := 0.0; t := 0.0;
встать в начало последовательности p;
цикл пока есть непрочитанные элементы в посл-ти p
| x := y; y := z; z := t;
| прочесть очередной элемент посл-ти p в (вых: t);
конец цикла
ответ := x + y + z + t;

В нем используются четыре вспомогательные переменные x, y, z, t. Можно ли упростить программу, использовав меньшее количество вспомогательных переменных? (Последовательность разрешается читать только один раз.)

Обсуждение

давно
Старший Модератор
312929
1973
13.09.2011, 10:46
общий
Что за язык используется в задачах 2, 3, 7, 8, 9? И есть ли в нём, например, функция встать в конец последовательности (по аналогии с встать в начало последовательности) и функция чтения последовательности с конца?
давно
Старший Модератор
312929
1973
13.09.2011, 10:49
общий
В задачах 5, 6 нет приведенных ниже функций.
давно
Профессор
230118
3054
13.09.2011, 12:08
общий
Адресаты:
Это школьный алгоритмический язык, псевдокод.
Неизвестный
13.09.2011, 14:07
общий
в вопросах 5 и 6 возможны ответы:

Рассмотрим функцию F, которая последовательности коэффициентов многочлена по убыванию степеней ставит в соответствие значение второй производной многочлена в точке t. Какая из приведенных ниже функций на последовательностях является индуктивным расширением функции F?

Тройка (значение многочлена, значение производной, значение второй производной).
Пара (степень многочлена, значение второй производной).


Функция F последовательности цифр в десятичной записи числа n ставит в соответствие единицу, если n делится на 14, и ноль в противном случае. Какая из приведенных ниже функций на последовательности десятичных цифр числа n является индуктивным расширением функции F?

Пара (остаток от деления числа n на 57, остаток от деления числа n на 35).
Пара (остаток от деления числа n на 52, остаток от деления числа n на 21).
Остаток от деления числа n на 165.

Прошу ответить с небольшими пояснениями. возможно доплата за ответы.

давно
Профессор
230118
3054
13.09.2011, 14:16
общий
13.09.2011, 14:46
2 Число нестрогих локальных максимумов последовательности p. (Элемент называется нестрогим локальным максимумом, если он не меньше своих соседей.)
Это тот ответ, который примет система
Причем программа написана неправильно: если а1 максимальный, то в дальнейшем может быть сколько угодно подъемов и спадов, но программа их не засчитает. Протестируйте на последовательности 10 1 2 1 2 1 2
Правильно было бы: число нестрогих максимумов, каждый из которых больше предыдущего.
давно
Профессор
230118
3054
13.09.2011, 14:34
общий
3. Количество членов, равных максимальному.
давно
Профессор
230118
3054
13.09.2011, 15:21
общий
это ответ
Здравствуйте, Заречнева Вера Михайловна!

1. Единице, так как до начала цикла переменной присваивается 1. Например, 0!=1.

2 Число нестрогих локальных максимумов последовательности p. (Элемент называется нестрогим локальным максимумом, если он не меньше своих соседей.)
Это тот ответ, который примет система
Причем программа написана неправильно: если а1 максимальный, то в дальнейшем может быть сколько угодно подъемов и спадов, но программа их не засчитает. Протестируйте на последовательности 10 1 2 1 2 1 2
Правильно было бы: число нестрогих максимумов, каждый из которых больше предыдущего.
3. Количество членов, равных максимальному.
4
Является. При добавлении нового члена лишь к многочлену прибавляется новая степень x^n, интеграл которой легко вычислить.
5
Рассмотрим функцию F, которая последовательности коэффициентов многочлена по убыванию степеней ставит в соответствие значение второй производной многочлена в точке t. Какая из приведенных ниже функций на последовательностях является индуктивным расширением функции F?

Тройка (значение многочлена, значение производной, значение второй производной).
Имеем p'k+1(x) = p'k(x)*x + pk(x).
Дифференцируем еще раз
p''k+1(x) = p''k(x)*x + 2 p'k(x).
Нужны Тройка (значение многочлена, значение производной, значение второй производной).

Аналогичная задача, где степени по возрастанию, в ней при добавлении нового члена лишь к многочлену прибавляется новая степень x^n, а к 2-й производной прибавляется 2n(n-1)x^n-2, нужны Пара (степень многочлена, значение второй производной).

6
Пара (остаток от деления числа n на 52, остаток от деления числа n на 21).
Если остаток от деления на 52 четный, а остаток от деления на 21 равен 0,7,14, число будет делиться на 14.

7
Можно. Например, так

последовательность символов p;
цел n;
символ c1, c2;
. . .
n := 0;
c1 = ' ';
c2 = ' ';
встать в начало последовательности p;
цикл пока есть непрочитанные элементы в посл-ти p
|
| прочесть очередной элемент посл-ти p в (вых: c1);
| если c1 == 'x' и есть непрочитанные элементы в посл-ти p
| | то прочесть очередной элемент посл-ти p в (вых: c1);
| | если c1 == 'y' и есть непрочитанные элементы в посл-ти p
| | | то прочесть очередной элемент посл-ти p в (вых: c1);
| | | если c1 == 'y' то
| | | |n := n + 1;
| | | конец если
| | конец если
| конец если
конец цикла
ответ := n;
В ней используются четыре вспомогательные переменные n, c1, c2, c3. Можно ли упростить программу, использовав меньшее количество вспомогательных переменных? (Последовательность разрешается читать только один раз.)

8
Можно. Например, можно тупо делить число на 75 в столбик. В r будет храниться текущий остаток.
в цикле
1 читать цифру в d
2 r=(r*10 +d )mod 75
Если в конце r=0, то делится.
9
Нельзя
5
Спасибо. Вы на высоте.
Форма ответа