Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Алгоритмы и теория программирования


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 8466
∙ повысить рейтинг »
lamed
Статус: Академик
Рейтинг: 5531
∙ повысить рейтинг »
Роман Селиверстов
Статус: Советник
Рейтинг: 2856
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Алгоритмы и теория программирования

Номер выпуска:146
Дата выхода:18.09.2011, 09:00
Администратор рассылки:Калашников О.А. (Руководитель)
Подписчиков / экспертов:328 / 165
Вопросов / ответов:1 / 1

Консультация # 184012: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: 1 Чему равно произведение пустой последовательности вещественных чисел? 2 Что вычисляет следующий фрагмент программы? вещ последовательность p; вещ a, s; цел n; логическое b; . . . s := минус бесконечность; n := 0; b := ложь; встать в начало ...


Консультация # 184012:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
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. Можно ли упростить программу, использовав меньшее количество вспомогательных переменных? (Последовательность разрешается читать только один раз.)

Дата отправки: 13.09.2011, 08:23
Вопрос задал: Заречнева Вера Михайловна (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Асмик Гаряка (Академик):

Здравствуйте, Заречнева Вера Михайловна!

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;< br>цел 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
Нельзя

Консультировал: Асмик Гаряка (Академик)
Дата отправки: 13.09.2011, 15:21

5
Спасибо. Вы на высоте.
-----
Дата оценки: 13.09.2011, 23:52

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное