База ответов ИНТУИТ

Основы программирования

<<- Назад к вопросам

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

(Отметьте один правильный вариант ответа.)

Варианты ответа
Можно. (Верный ответ)
Нельзя.
Похожие вопросы
Следующий фрагмент программы вычисляет сумму четырехпоследних элементов последовательности 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. Можно ли упроститьпрограмму, использовав меньшее количество вспомогательныхпеременных? (Последовательность разрешается читать только один раз.)
Следующая программа вычисляет количествовхождений фрагмента "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. Можно ли упроститьпрограмму, использовав меньшее количество вспомогательныхпеременных? (Последовательность разрешается читать только один раз.)
Функция F последовательности цифр в десятичной записи числаn ставит в соответствие единицу, если n делится на 14,и ноль в противном случае. Какая из приведенныхниже функций на последовательности десятичных цифр числа nявляется индуктивным расширением функции F?
Функция F последовательности цифр в десятичной записи числаn ставит в соответствие единицу, если n делится на 7,и ноль в противном случае. Какая из приведенныхниже функций на последовательности десятичных цифр числа nявляется индуктивным расширением функции F?
Функция F последовательности цифр в десятичной записи числаn ставит в соответствие единицу, если n делится на 15,и ноль в противном случае. Какая из приведенныхниже функций на последовательности десятичных цифр числа nявляется индуктивным расширением функции F?
Что вычисляет следующий фрагмент программы?
вещ последовательность p;вещ a, s, x, y;. . .s := 0.0; x := 0.0; y := 0.0;встать в начало последовательности p;цикл пока есть непрочитанные элементы в посл-ти p| прочесть очередной элемент посл-ти p в (вых: a);| s := s + a - x;| x := y; y := a;конец циклаответ := s;
Что вычисляет следующий фрагмент программы?
вещ последовательность p;вещ a, s; цел n;. . .s := минус бесконечность;n := 0;встать в начало последовательности p;цикл пока есть непрочитанные элементы в посл-ти p| прочесть очередной элемент посл-ти p в (вых: a);| если a > s| | то| |   s := a; n := 1;| иначе если a == s| | то| |   n := n + 1;| конец есликонец циклаответ := n;
Что вычисляет следующий фрагмент программы?
вещ последовательность 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;
Рассмотрим следующий фрагмент программы, вычисляющейчастное q и остаток r от деленияцелых чисел a, b:
  дано: целые числа a >= 0, b > 0  цел q, r, e, m;  q := 0; r := a; e := 1; m := b  цикл пока r >= b  | если 2*m <= r  | | то e := e*2; m := m*2;  | иначе если m > r  | | то e := e/2; m := m/2;  | иначе  | | утверждение: m <= r  и  r < 2*m  | | q := q + e; r := r - m;  | конец если  конец цикла  // q и r -- частное и остаток от деления a на b
Какое условие является инвариантом цикла?
Рассмотрим следующий фрагмент программы:
утверждение: A(x)цикл пока B(x)| инвариант: A(x)| x := T(x)конец цикла
Здесь через A(x) и B(x)обозначены условия, зависящие от переменной x.Какое условие выполняется по окончании цикла?