Информатика · 30 заданий
Формализация понятия алгоритма. Машина Тьюринга как универсальная модель вычислений
Задания по теме «Формализация понятия алгоритма. Машина Тьюринга как универсальная модель вычислений» с ответами и решениями. Практикуйся и разбирай ошибки.
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Дана программа для Редактора: НАЧАЛО ПОКА нашлось (78) ИЛИ нашлось (688) ИЛИ нашлось (8888) ЕСЛИ нашлось (78) ТО заменить (78, 8) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (688) ТО заменить (688, 87) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (8888) ТО заменить (8888, 6) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ На вход приведённой выше программе поступает строка, начинающаяся с цифры «7», а затем содержащая n цифр «8» (3 < n < 10 000). Определите наименьшее значение n, при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 44.
- ЗаданиеСложность 2
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 3, а потом 9. Бейсик | Python DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 <> 0 THEN L = L + 1 END IF X = X \ 2 WEND PRINT L PRINT M | x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + 1 x = x // 2 print(L) print(M) Алгоритмический язык | Паскаль алг нач цел x, L, M ввод x L := 0 M := 0 нц пока x > 0 M := M + 1 если mod(x,2) <> 0 то L := L + 1 все x := div(x,2) кц вывод L, нс, M кон | var x, L, M: integer; begin readln(x); L := 0; M := 0; while x > 0 do begin M := M + 1; if x mod 2 <> 0 then L := L + 1; x := x div 2; end; writeln(L); writeln(M); end. Си #include<stdio.h> void main() { int x, L, M; scanf("%d", &x); L = 0; M = 0; while (x > 0){ M = M + 1; if(x % 2 != 0){ L = L + 1; } x = x / 2; } printf("%d\n%d", L, M); }
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Дана программа для Редактора: НАЧАЛО ПОКА нашлось (19) ИЛИ нашлось (49) ИЛИ нашлось (999) ЕСЛИ нашлось (19) ТО заменить (19, 9) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (49) ТО заменить (49, 91) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (999) ТО заменить (999, 4) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ На вход приведённой выше программе поступает строка, начинающаяся с цифры «1», а затем содержащая n цифр «9» (3 < n < 10 000). Определите наибольшее возможное значение суммы числовых значений цифр в строке, которая может быть результатом выполнения программы.
- ЗаданиеСложность 2
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b $-$ целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку (6, −1). Цикл ПОВТОРИ число РАЗ последовательность команд КОНЕЦ ПОВТОРИ означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным). Чертёжнику был дан для исполнения следующий алгоритм (число повторений и величины смещения в первой из повторяемых команд неизвестны): НАЧАЛО сместиться на (2, -2) ПОВТОРИ … РАЗ сместиться на (…, …) сместиться на (-2, 2) КОНЕЦ ПОВТОРИ сместиться на (-26, -16) КОНЕЦ В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?
- ЗаданиеСложность 2
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 5, а потом 8. С++ | Python #include <iostream> using namespace std; int main() { int x, L, M; cin >> x; L = 0; M = 0; while (x > 0){ M = M + 1; if(x % 2 != 0){ L = L + 1; } x = x / 2; } cout << L << endl << M << endl; return 0; } | x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + 1 x = x // 2 print(L) print(M) Алгоритмический язык | Паскаль алг нач цел x, L, M ввод x L := 0 M := 0 нц пока x > 0 M := M + 1 если mod(x, 2) <> 0 то L := L + 1 все x := div(x, 2) кц вывод L, нс, M кон | var x, L, M: integer; begin readln(x); L := 0; M := 0; while x > 0 do begin M := M + 1; if x mod 2 <> 0 then L := L + 1; x := x div 2; end; writeln(L); writeln(M); end.
- ЗаданиеСложность 2
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 6. Бейсик | Python DIM X, L, M, Q AS INTEGER INPUT X Q = 9 L = 0 WHILE X >= Q L = L + 1 X = X - Q WEND M = X IF M < L THEN M = L L = X END IF PRINT L PRINT M | x = int(input()) Q = 9 L = 0 while x >= Q: L = L + 1 x = x - Q M = x if M < L: M = L L = x print(L) print(M) Алгоритмический язык | Паскаль алг нач цел x, L, M, Q ввод x Q := 9 L := 0 нц пока x >= Q L := L + 1 x := x - Q кц M := x если M < L то M := L L := x все вывод L, нс, M кон | var x, L, M, Q: integer; begin readln(x); Q := 9; L := 0; while x >= Q do begin L := L + 1; x := x - Q; end; M := x; if M < L then begin M := L; L := x; end; writeln(L); writeln(M); end. С++ #include <iostream> using namespace std; int main() { int x, L, M, Q; cin >> x; Q = 9; L = 0; while (x >= Q){ L = L + 1; x = x - Q; } M = x; if (M < L){ M = L; L = x; } cout << L << endl << M << endl; return 0; }
- ЗаданиеСложность 2
Исполнитель К17 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 1 2. Прибавить 2 3. Умножить на 2 Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает на 2. Программа для исполнителя К17 $-$ это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число 3 в число 13 и при этом траектория вычислений программы содержит числа 9 и 11? Траектория должна содержать оба указанных числа. Траектория вычислений программы $-$ это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18.
- ЗаданиеСложность 2
Исполнитель Аллегро преобразует число на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 1 2. Прибавить 2 3. Умножить на 3 Первая команда увеличивает число на экране на 1, вторая увеличивает число на 2, третья умножает его на 3. Программа для исполнителя Аллегро – это последовательность команд. Сколько существует программ, для которых при исходном числе 4 результатом является число 22 и при этом траектория вычислений содержит число 10, но не содержит число 20? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 123 при исходном числе 7 траектория будет состоять из чисел 8, 10, 30.
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку символов и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно). В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). На вход приведённой ниже программы поступает строка из 120 цифр, содержащая по 40 цифр 4, 7 и 9, расположенных в произвольном порядке. Определите, какие цифры будут находиться на 25-м, 73-м и 105-м местах строки, получившейся в результате выполнения программы. Цифры в строке нумеруются последовательно слева направо, самая левая имеет номер 1, следующая $-$ номер 2 и т.д. В ответе запишите три полученные цифры подряд без пробелов и разделителей в порядке возрастания номеров их мест в получившейся строке. Так, например, если бы на 25-м месте стояла цифра 1, на 73-м $-$ 2, а на 105-м $-$ 3, то был бы ответ 123. НАЧАЛО ПОКА нашлось (47) ИЛИ нашлось (49) ИЛИ нашлось (97) ЕСЛИ нашлось (47) ТО заменить (47, 74) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (49) ТО заменить (49, 94) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (97) ТО заменить (97, 79) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
- ЗаданиеСложность 2
Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами: A. Вычти 1 B. Найди целую часть от деления на 2 Программа для исполнителя $-$ это последовательность команд. Сколько существует программ, для которых при исходном числе 32 результатом является число 1 и при этом траектория вычислений содержит число 10? Траектория вычислений программы $-$ это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе 10 траектория состоит из чисел 9, 4, 2.
- ЗаданиеСложность 2
Исполнитель Вычислитель преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 1 2. Прибавить 2 3. Умножить на 3 Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает его на 3. Программа для Вычислителя $-$ это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число 2 в число 13 и при этом траектория вычислений программы содержит число 6? Траектория вычислений программы $-$ это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 24, 26.
- ЗаданиеСложность 2
Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1. Прибавь 2 2. Умножь на 2 Первая из них увеличивает число на экране на 2, вторая увеличивает число на экране в два раза. Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 52, и при этом траектория вычислений содержит число 18? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 3 траектория будет состоять из чисел 5, 10, 12.
- ЗаданиеСложность 2
Исполнитель К17 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 1 2. Прибавить 2 3. Умножить на 2 Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает на 2. Программа для исполнителя К17 $-$ это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число 4 в число 13 и при этом траектория вычислений программы содержит числа 10 и 12? Траектория должна содержать оба указанных числа. Траектория вычислений программы $-$ это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18.
- ЗаданиеСложность 2
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: S и P. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 8, а потом 4. С++ | Python #include <iostream> using namespace std; int main() { int x, P, S, N; cin >> x; P = 1; S = 0; N = 0; while (x > 0) { N = N + 1; S = S + (x % 3) P = P * (x % 3) x = x / 3; } S = S + N; P = P + N; cout << S << endl << P << endl; return 0; } | x = int(input()) P = 1 S = 0 N = 0 while x > 0: N = N + 1 S = S + (x % 3) P = P * (x % 3) x = x // 3 S = S + N P = P + N print(S) print(P) Алгоритмический язык | Паскаль алг нач цел x, P, S, N ввод x P := 1 S := 0 N := 0 нц пока x > 0 N := N + 1 S := S + mod(x, 3) P := P * mod(x, 3) x := div(x, 3) кц S := S + N P := P + N вывод S, нс, P кон | var x, P, S, N: integer; begin readln(x); P := 1; S := 0; N := 0; while x > 0 do begin N := N + 1; S := S + (x mod 3); P := P * (x mod 3); x := x div 3 end; S := S + N; P := P + N; writeln(S); writeln(P) end.
- ЗаданиеСложность 2
Исполнитель Вычислитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1. Прибавить 1 2. Умножить на 2 Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для Вычислителя $-$ это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 21 и при этом траектория вычислений содержит число 10 и не содержит числа 18? Траектория вычислений программы $-$ это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
- ЗаданиеСложность 2
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: S и P. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 7, а потом 3. С++ | Python #include <iostream> using namespace std; int main() { int x, P, S, N; cin >> x; P = 1; S = 0; N = 0; while (x > 0) { N = N + 1; S = S + (x % 3) P = P * (x % 3) x = x / 3; } S = S + N; P = P + N; cout << S << endl << P << endl; return 0; } | x = int(input()) P = 1 S = 0 N = 0 while x > 0: N = N + 1 S = S + (x % 3) P = P * (x % 3) x = x // 3 S = S + N P = P + N print(S) print(P) Алгоритмический язык | Паскаль алг нач цел x, P, S, N ввод x P := 1 S := 0 N := 0 нц пока x > 0 N := N + 1 S := S + mod(x, 3) P := P * mod(x, 3) x := div(x, 3) кц S := S + N P := P + N вывод S, нс, P кон | var x, P, S, N: integer; begin readln(x); P := 1; S := 0; N := 0; while x > 0 do begin N := N + 1; S := S + (x mod 3); P := P * (x mod 3); x := x div 3 end; S := S + N; P := P + N; writeln(S); writeln(P) end.
- ЗаданиеСложность 2
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 9. С++ | Python | Алгоритмический язык | Паскаль #include <iostream> using namespace std; int main() { int x, a, b; cin >> x; a = 0; b = 0; while (x > 0) { a = a + 1; b = b + (x % 10); x = x / 10; } cout << a << endl << b << endl; return 0; } | x = int(input()) a = 0 b = 0 while x > 0: a = a + 1 b = b + (x % 10) x = x // 10 print(a) print(b) | алг нач цел x, a, b ввод x a := 0; b := 0 нц пока x > 0 a := a + 1 b := b + mod(x, 10) x := div(x, 10) кц вывод a, нс, b кон | var x, a, b: integer; begin readln(x); a := 0; b := 0; while x > 0 do begin a := a + 1; b := b + (x mod 10); x := x div 10 end; writeln(a); writeln(b) end.
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно). В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 84 идущих подряд цифр 1? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (11111) ИЛИ нашлось (888) ЕСЛИ нашлось (11111) ТО заменить (11111, 88) ИНАЧЕ ЕСЛИ нашлось (888) ТО заменить (888, 88) КОНЕЦ ЕСЛИ КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 92 идущих подряд цифр 3? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (999) ИЛИ нашлось (333) ЕСЛИ нашлось (999) ТО заменить (999, 3) ИНАЧЕ заменить (333, 9) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
- ЗаданиеСложность 2
Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами: A. Вычти 1 B. Найди целую часть от деления на 2 Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 30 результатом является число 1 и при этом траектория вычислений содержит число 8? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе 10 траектория состоит из чисел 9, 4, 2.
- ЗаданиеСложность 2
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 10, а потом 7. С++ | Python | Алгоритмический язык | Паскаль #include <iostream> using namespace std; int main() { int x, a, b, c; cin >> x; a = 0; b = 0; while (x > 0) { c = x % 10; a = a + c; if (c > b) b = c; x = x / 10; } cout << a << endl << b << endl; return 0; } | x = int(input()) a = 0 b = 0 while x > 0: c = x % 10 a = a + c if c > b: b = c x = x // 10 print(a) print(b) | алг нач цел x, a, b, c ввод x a := 0; b := 0 нц пока x > 0 c := mod(x, 10) a := a + c если c > b то b := c все x := div(x, 10) кц вывод a, нс, b кон | var x, a, b, c: integer; begin readln(x); a := 0; b := 0; while x > 0 do begin c := x mod 10; a := a + c; if c > b then b := c; x := x div 10 end; writeln(a); writeln(b) end.
- ЗаданиеСложность 2
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5. Бейсик | Python DIM X, L, M, Q AS INTEGER INPUT X Q = 9 L = 0 WHILE X >= Q L = L + 1 X = X - Q WEND M = X IF M < L THEN M = L L = X END IF PRINT L PRINT M | x = int(input()) Q = 9 L = 0 while x >= Q: L = L + 1 x = x - Q M = x if M < L: M = L L = x print(L) print(M) Алгоритмический язык | Паскаль алг нач цел x, L, M, Q ввод x Q := 9 L := 0 нц пока x >= Q L := L + 1 x := x - Q кц M := x если M < L то M := L L := x все вывод L, нс, M кон | var x, L, M, Q: integer; begin readln(x); Q := 9; L := 0; while x >= Q do begin L := L + 1; x := x - Q; end; M := x; if M < L then begin M := L; L := x; end; writeln(L); writeln(M); end. С++ #include <iostream> using namespace std; int main() { int x, L, M, Q; cin >> x; Q = 9; L = 0; while (x >= Q){ L = L + 1; x = x - Q; } M = x; if (M < L){ M = L; L = x; } cout << L << endl << M << endl; return 0; }
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 70 идущих подряд цифр 6? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (5555) ИЛИ нашлось (6666) ЕСЛИ нашлось (5555) ТО заменить (5555, 66) ИНАЧЕ заменить (6666, 55) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно). В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). На вход приведённой ниже программы поступает строка из 180 цифр, содержащая по 60 цифр 4, 6 и 8, расположенных в произвольном порядке. Определите, какие цифры будут находиться на 25-м, 75-м и 150-м местах строки, получившейся в результате выполнения программы. Цифры в строке нумеруются последовательно слева направо, самая левая имеет номер 1, следующая $-$ номер 2 и т.д. В ответе запишите три полученные цифры подряд без пробелов и разделителей в порядке возрастания номеров их мест в получившейся строке. Так, например, если бы на 25-м месте стояла цифра 1, на 75-м $-$ 2, а на 150-м $-$ 3, то был бы ответ 123. НАЧАЛО ПОКА нашлось (46) ИЛИ нашлось (84) ИЛИ нашлось (86) ЕСЛИ нашлось (46) ТО заменить (46, 64) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (84) ТО заменить (84, 48) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (86) ТО заменить (86, 68) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
- ЗаданиеСложность 2
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 5, а потом 6. Бейсик | Python DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 <> 0 THEN L = L + 1 END IF X = X \ 2 WEND PRINT L PRINT M | x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + 1 x = x // 2 print(L) print(M) Алгоритмический язык | Паскаль алг нач цел x, L, M ввод x L := 0 M := 0 нц пока x > 0 M := M + 1 если mod(x,2) <> 0 то L := L + 1 все x := div(x,2) кц вывод L, нс, M кон | var x, L, M: integer; begin readln(x); L := 0; M := 0; while x > 0 do begin M := M + 1; if x mod 2 <> 0 then L := L + 1; x := x div 2; end; writeln(L); writeln(M); end. С++ #include <iostream> using namespace std; int main() { int x, L, M; cin >> x; L = 0; M = 0; while (x > 0){ M = M + 1; if(x % 2 != 0){ L = L + 1; } x = x / 2; } cout << L << endl << M << endl; return 0; }
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). На вход приведённой ниже программы подали строку, состоящую из 57 идущих подряд цифр 9. Чему равна сумма цифр в строке, которая получится в результате выполнения программы? НАЧАЛО ПОКА нашлось (222) ИЛИ нашлось (999) ЕСЛИ нашлось (222) ТО заменить (222, 19) ИНАЧЕ заменить (999, 2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
- ЗаданиеСложность 2
Исполнитель К17 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 1 2. Прибавить 2 3. Умножить на 2 Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает на 2. Программа для исполнителя К17 $-$ это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число 3 в число 12 и при этом траектория вычислений программы содержит числа 9 и 11? Траектория должна содержать оба указанных числа. Траектория вычислений программы $-$ это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18.
- ЗаданиеСложность 2
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b $-$ целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку (6, −1). Цикл ПОВТОРИ число РАЗ последовательность команд КОНЕЦ ПОВТОРИ означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным). Чертёжнику был дан для исполнения следующий алгоритм (число повторений и величины смещения в первой из повторяемых команд неизвестны): НАЧАЛО сместиться на (4, -1) ПОВТОРИ … РАЗ сместиться на (…, …) сместиться на (-4, 4) КОНЕЦ ПОВТОРИ сместиться на (-28, -17) КОНЕЦ В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?
- ЗаданиеСложность 2
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм выводит сначала 8, а потом 3. Бейсик | Python DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 = 0 THEN L = L + X MOD 8 END IF X = X \ 8 WEND PRINT L PRINT M | x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 == 0: L = L + x % 8 x = x // 8 print(L) print(M) Алгоритмический язык | Паскаль алг нач цел x, L, M ввод x L := 0 M := 0 нц пока x > 0 M := M + 1 если mod(x, 2) = 0 то L := L + mod(x, 8) все x := div(x, 8) кц вывод L, нс, M кон | var x, L, M: integer; begin readln(x); L := 0; M := 0; while x > 0 do begin M := M + 1; if x mod 2 = 0 then L := L + x mod 8; x := x div 8 end; writeln(L); writeln(M) end. С++ #include <iostream> using namespace std; int main(){ int x, L, M; cin >> x; L = 0; M = 0; while (x > 0) { M = M + 1; if(x % 2 == 0) { L = L + x % 8; } x = x / 8; } cout << L << endl << M << endl; return 0; }
- ЗаданиеСложность 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 109 идущих подряд цифр 7? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (33333) ИЛИ нашлось (777) ЕСЛИ нашлось (33333) ТО заменить (33333, 7) ИНАЧЕ заменить (777, 3) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ