Вариант 1. Задание 1. ЕГЭ 2017. Информатика. В.Р. Лещинер


Вариант 1. Задание 1. ЕГЭ 2017. Информатика. В.Р. Лещинер. 10 вариантов. Решение.
Задание 1. Сколько единиц в двоичной записи десятичного числа 1027?
Решение.
Переведем число 1027 в двоичную систему счисления. Известно, что  остается число 1027-1024=3, которое соответствует выражению . Таким образом, имеем двоичную запись вида
10000000011=1027,
то есть в числе 1027 ровно три единицы.
Ответ: 3.
Задание 2. Логическая функция F задается выражением . Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных х, у, z.
Перем. 1 Перем. 2 Перем. 3 Функция
??? ??? ??? F
0 0 0 0
0 1 0 0
1 0 0 0
1 1 0 0
0 0 1 1
0 1 1 1
1 0 1 0
1 1 1 1
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая 1-му столбцу, затем — буква, соответствующая 2-му столбцу, затем — буква, соответствующая 3-му столбцу). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Решение.
Перепишем выражение для F с учетом приоритетов операций отрицания, конъюнкции и дизъюнкции:.
Рассмотрим 4-ю строчку таблицы (1,1,0)=0. Отсюда видно, что на третьем месте должна стоять или переменная y или переменная z, иначе во второй скобке получится 1, что приведет к значению F=1. Теперь рассмотрим 5-ю строчку таблицы (0,0,1)=1. Так как на первом или втором месте должна стоять x, то первая скобка даст 1 только тогда, когда y будет стоять на 3-м месте. Учитывая, что вторая скобка всегда равна 0, то F=1 получается благодаря 1 в первой скобке. Таким образом, получили, что на 3-м месте стоит y. Наконец, рассмотрим 7-ю строчку таблицы (1,0,1)=0. Здесь y=1 и чтобы F=0 необходимо z=0 и x=1, следовательно, x стоит на 1-м месте, а z – на втором.
Ответ: xzy.
Задание 3. Между населёнными пунктами А, В, С, D, Е, F, Z построены дороги, протяжённость которых приведена в таблице. (Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.)

Определите длину кратчайшего пути между пунктами А и Z (при условии, что передвигаться можно только по построенным дорогам).
Решение.
Нарисуем граф связи точек А, В, С, D, Е, F, Z, в котором вес дуг будет соответствовать расстоянию между двумя соответствующими пунктами (см. рисунок ниже).

Из рисунка графа видно, что кратчайший маршрут точки A до точки Z проходит по точкам ACDEZ и равен 7+2+4+7=20.
Ответ: 20.
Задание 4. Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
символ «?» (вопросительный знак) означает ровно один произвольный символ;
символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
В каталоге находится 6 файлов:
fedot.xls
msdos.xlsx
london.xls
fedot.xml
odor.xlsxsdoba.xls
Ниже представлено восемь масок. Сколько из них таких, которым соответствуют все шесть файлов из данного каталога??do*.xls?*do?.xls* *do*.x* ?do?.xls*
???*???.xl* ???*???.x* *d*.*l* *d*.*s*
Решение.
Сделаем анализ приведенных масок:
- маска ?do*.xls выделяет файлы с первым произвольным символом, за которым должно следовать do и произвольные символы до расширения файла. При этом расширение файла должно быть xls;
- маска ?*do?.xls* выделит файлы: fedot.xls, msdos.xlsx, london.xls, odor.xlsx;
- маска *do*.x* выделяет все шесть файлов;
- маска ?do?.xls* - не выделит все файлы, например, файл с расширением xml не подпадет под эту маску;
- маска ???*???.xl* также не выделит файл с расширением xml;
- маска ???*???.x* выделит все файлы, в имени которых как минимум 6 символов и файлы с 5 символами выделены не будут;
- маска *d*.*l* выделит все шесть файлов;
- маска *d*.*s* не выделит файлы, в расширении которых нет буквы s.
Ответ: 2.
Задание 5. По каналу связи передаются сообщения, содержащие только 4 буквы: А, В, С, D; для передачи используется двоичный код, допускающий однозначное декодирование. Для букв А, В, D используются такие кодовые слова: А: 111, В: 0, D: 110.
Укажите кратчайшее кодовое слово для буквы С, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.
Решение.
Из приведенных кодов 111; 0; 110 можно заметить, что флагом (сигналом) к переходу к следующему коду является бит 0 (кроме буквы А 111, так как максимальная длина кода 3 и она выделяется уже по этому признаку). Следовательно, минимальный код для буквы C будет 10. Здесь 1 как бы говорит, что код продолжается, а 0 – что код закончился. Например, последовательность кодов
1110011010110
всегда можно однозначно декодировать благодаря наличию нулей и в данном случае это последовательность букв ABBDCD.
Ответ: 10.
Задание 6. У исполнителя Делитель две команды, которым присвоены номера:
1. вычти 1,
2. раздели на 3.
Выполняя первую из них, Делитель вычитает из числа на экране 1, а выполняя вторую, делит его на 3. Запишите порядок команд в программе получения из числа 49 числа 5, содержащей не более 5 команд, указывая лишь номера команд.
Решение.
Чтобы число 49 преобразовать в число 5 можно сделать следующие 4 математические манипуляции:
((49-1):3-1):3=5
или в виде описанных команд:
1, 2, 1, 2.
Ответ: 1212.
Задание 7. Дан фрагмент электронной таблицы.
  А В С
1 3 6  
2 =(В1 - А1)/2 = А1/2 = B1 - С1/2
Какое целое число должно быть записано в ячейке С1, чтобы построенная после выполнения вычислений диаграмма по значениям диапазона ячеек А2:С2 соответствовала рисунку? Известно, что все значения диапазона, по которым построена диаграмма, имеют один и тот же знак.

Решение.
Вторая строчка таблицы показывает правила расчета величин сегментов. Для сегмента А получаем значение (6-3)/2=1,5. Для сегмента B имеем 3/2=1,5. Из рисунка видно, что сегмент C должен быть в 2 раза больше, чем два остальных, то есть C нужно взять равным 6 и тогда 6-6/2=3.
Ответ: 6.
Задание 8. Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования).


Решение.
Рассмотрим алгоритмический язык как самый простой для восприятия. В начале задаются две целочисленные переменные n и s, и, затем, им присваивается число 0, то есть n=0, s=0. Далее идет цикл до тех пор, пока значение s<=47, то есть как только s будет больше 47, цикл завершится. Каждую итерацию цикла переменная n увеличивается на 1, а переменная s на 2. Это означает, что на первой итерации s=2, на второй s=4 и т.д. Следовательно, цикл будет повторяться  раз. При этом переменная n увеличится до 24 и это число будет выведено на экран.
Ответ: 24.
Задание 9. Скорость передачи данных модемом по протоколу V.34 составляет 28 800 бит/с. При помощи данного протокола необходимо передать файл размером 72 000 байт. Определите время передачи файла в секундах.
Решение.
Сначала переведем скорость передачи из бит в байты. Так как 1 байт = 8 бит, то за 1 секунду передается 28800:8=3600 байт. Разделим длину файла 72000 на 3600 получим:
72000:3600=20 секунд.
Ответ: 20.
Задание 10. Для передачи сигналов на флоте используются специальные сигнальные флаги, вывешиваемые в одну линию (порядок важен). Какое количество различных видов флагов необходимо иметь, чтобы при помощи последовательности из трёх флагов можно было передать 8 различных сигналов (флагов каждого вида — неограниченное количество, виды флагов в последовательности могут повторяться).
Решение.
Восемь различных сигналов можно закодировать последовательностью из трех флагов следующим образом:
000 001 010 011 100 101 110 111
То есть достаточно иметь два флага (условно 0 и 1).
Ответ: 2.
Задание 11. Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(1)=1
F(n) = F(n-1) * n , при n >1
Чему равно значение функции F(6)? В ответе запишите только натуральное число.
Решение.
Вычислим значение функции путем последовательных итераций, начиная со 2-й:

То есть значение F(6)=6! (факториал) и равно 720.
Ответ: 720.
Задание 12. В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
По заданным IP-адресу узла и маске определите адрес сети.IP-адрес узла:                       207.130.129.192
Маска:                                  255.255.224.0
При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса сети и запишите в нужном порядке соответствующие им буквы, без использования точек.
А В С D E F G Н
0 128 129 130 192 207 224 255
Решение.
Операция конъюнкции – это поразрядное умножение (логическое И), определяемое таблицей истинности:
0 0 0
0 1 0
1 0 0
1 1 1
При этом можно заметить, что первые два числа маски равны 255, то есть в двоичной записи 11111111. Накладывая такую маску на любые числа, получим это же число, то есть:
207&255=207;
130&255=130.
Здесь знак & означает конъюнкцию. Если же маска равна 0, то результирующее число тоже будет равно 0, то есть:
192&0=0.
Наконец, маска числа 224 = 11100000, наложенная на число 129 = 10000001, даст:

то есть получим число 128 = 10000000. В результате, IP-узел определится символами:
FDBA.
Ответ: FDBA.
Задание 13. В некоторой базе данных хранятся телефонные номера. Каждый телефонный номер состоит из 7 десятичных цифр. Каждая цифра кодируется отдельно с использованием минимального количества бит, необходимого для записи одной цифры. В базе данных записано 40 телефонных номеров. Какое количество байт памяти занимает база?
Решение.
Цифры от 0 до 9 представляют собой 10 различных значений. Для их представления в двоичной записи (на уровне бит) достаточно 4 бита, так как , а 3 бита было бы не достаточно, так как . В результате, для хранения одного телефонного номера необходимо  бит, а для 40 телефонных номеров  бит. Так как 1 байт = 8 бит, то база данных будет занимать 1120:8=140 байт.
Ответ: 140.
Задание 14. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

При выполнении этих команд РОБОТ перемещается на одну клетку соответственно: вверх, вниз, влево, вправо.
Четыре команды проверяют истинность условия отсутствия стены у той клетки, где находится РОБОТ:

Цикл
ПОКА <условие> команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
Если РОБОТ начнёт движение в сторону стены, то он разрушится и программа прервётся.
Сколько клеток приведённого лабиринта соответствует требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?
НАЧАЛО
ПОКА < сверху свободно > вправо
ПОКА < справа свободно > вниз
ПОКА < снизу свободно > влево
ПОКА < слева свободно > вверх
КОНЕЦ

Решение.
На рисунке ниже синей точкой показана стартовая клетка, начиная с которой, робот переместится сначала вниз (красная стрелка), а затем, вновь поднимется вверх к точке начала.

В этом можно убедиться, используя программу робота, представленную выше, и, кроме того, можно заметить, что такая клетка единственная во всем лабиринте.
Ответ: 1.
Задание 15. На рисунке — схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Ж?

Решение.
Из рисунка видно, что в точку Ж из точки В можно добраться тремя различными путями: ВДЖ; ВЖ; ВЕЖ. Из точки А в точку В также можно придти тремя путями: АВ; АБВ; АГВ. Таким образом имеем 3*3=9 разных маршрутов из точки А в точку Ж. Не учтенными остаются только два маршрута: АБДЖ и АГЕЖ. В итоге, получаем 9+2=11 различных маршрутов.
Ответ: 11.
Задание 16. В системе счисления с некоторым основанием число 57 записывается как 111. Укажите это основание.
Решение.
Пусть основание равно x, тогда число 57 должно получаться как

или в виде

Решаем квадратное уравнение, получаем два корня:

Так как основание должно быть положительным числом, то получаем ответ 7. Проверяем:

все верно.
Ответ: 7.
Задание 17. В таблице приведены запросы к поисковому серверу. Расположите номера запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу. Для обозначения логической операции «ИЛИ» в запросе используется символ «|» а для логической операции «И» — «&».
1 барокко | классицизм
2 барокко | (классицизм & модерн)
3 (барокко & ампир) | (классицизм & модерн)
4 барокко | ампир | классицизм | модерн
Решение.
Наименьшее число страниц будет у запроса под номером 3, так как здесь выводятся страницы, которые содержат информацию одновременно о барокко и ампире или о классицизме и модерне. Большее число страниц получится для запроса 2, так как здесь берутся страницы, где имеется упоминание только о барокко (упоминания об ампире уже не обязательны для выбора страницы) или страницы с одновременным упоминанием о классицизме и модерне. Затем, идет запрос под номером 1, где берутся страницы с барокко или классицизмом. И наибольшее число страниц будет при запросе 4, где выбираются страницы с упоминанием или о барокко или об ампире или о классицизме или о модерне.
Ответ: 3214.
Задание 18. На числовой прямой даны два отрезка: Р = [27; 60] и Q = [45; 62]. Укажите наименьшую возможную длину такого отрезка А, что формула

истинна при любом значении переменной х, т.е. принимает значение 1 при любом значении переменной х.
Решение.
Введем следующие обозначения:

и вспомним, что операцию импликации можно переписать в виде
.
В нашем случае выражение перепишется как

упрощаем, учитывая, что два отрицания дают исходную величину, а операции конъюнкции и дизъюнкции заменяются друг другом:
.
Анализ последнего выражения показывает, что оно будет истинно при любых x, если взять минимальный промежуток A=[45;60], и его длина составляет 60-45=15.
Ответ: 15.
Задание 19. В программе используется одномерный целочисленный массив А с индексами от 0 до 9. Значения элементов равны 7; 9; 5; 2; 1; 6; 0; 3; 4; 8 соответственно, т.е. А[0] = 7; А[1] = 9 и т.д.
Определите значение переменной  после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.


Решение.
Рассмотрим алгоритмический язык. Вначале задается переменная c=0. Затем идет цикл, в котором задается счетчик i, меняющийся от 1 до 9 (перебирает элементы массива). Внутри цикла стоит условие: если значение текущего A[i] элемента массива меньше нулевого элемента массива A[0], то счетчик c увеличивается на 1, а i-й элемент меняется местами с нулевым элементом массива. Проанализируем работу этого алгоритма на массиве 7; 9; 5; 2; 1; 6; 0; 3; 4; 8.
1-я итерация: 9<7 – нет;
2-я итерация: 5<7 – да, получаем: c=1 и массив 5; 9; 7; 2; 1; 6; 0; 3; 4; 8;
3-я итерация: 2<5 – да, имеем: c=2 и 2; 9; 7; 5; 1; 6; 0; 3; 4; 8;
4-я итерация: 1<2 – да, тогда: c=3 и 1; 9; 7; 5; 2; 6; 0; 3; 4; 8;
5-я итерация: 6<1 – нет;
6-я итерация: 0<1 – да, имеем: c=4 и 0; 9; 7; 5; 2; 6; 1; 3; 4; 8;
7-9 итерации дадут нет.
В итоге имеем значение c=4.
Ответ: 4.
Задание 20. Ниже на четырёх языках записан алгоритм. Получив на вход число х, этот алгоритм печатает два числа: a и b. Укажите наибольшее из таких чисел х, при вводе которых алгоритм печатает сначала 2, а потом 0.

Решение.
Рассмотрим алгоритмический язык. Вначале задаются три целочисленные переменные x, a, b. Затем, вводится число x. После этого идет цикл пока x>0. Внутри цикла переменная a увеличивается на 1, а переменная b умножается на остаток от деления числа x на 10. Затем, число x целочисленно делится на 10 (то есть, например, 16:10=1) и цикл повторяется. Необходимо найти такое максимальное x, чтобы a=2 и b=0.
Значение a=2 говорит о том, что цикл должен пройти ровно 2 раза, а число b=0 о том, что x должно быть кратно 10 (иначе не будет получен нулевой остаток от деления и при умножении не получим число 0). В результате получаем, что это число x=90.
Ответ: 90.
Задание 21. Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырёх языках).


Решение.
В алгоритмическом языке заданы пять целочисленных переменных a, b, t, M, R. Переменной a присваивается значение -11, а переменной b – значение 11. Далее идет цикл по t от -11 до 11 с увеличением t на 1. Внутри цикла стоит условие: если текущее значение функции F(t) меньше либо равно предыдущему найденному значению функции R, то M=t и R=F(t). После цикла на экран выводится значение M, а сама функция представляет собой математическое выражение
.
Данная функция представляет двойную параболу, ветви направлены вверх, а точки минимумов равны x=±5, при которой F(±5)=5. Из этого следует, что условие внутри цикла будет срабатывать то тех пор, пока функция убывает, то есть дойдет сначала до значения t=-5, а потом, сработает еще раз при значении t=5. Это значение и будет занесено в переменную M.
Ответ: 5.
Задание 22. У исполнителя Утроитель две команды, которым присвоены номера:
1. прибавь 1,
2. умножь на 3.
Первая из них увеличивает число на экране на 1, вторая утраивает его.
Программа для Утроителя — это последовательность команд. Сколько есть программ, которые число 2 преобразуют в число 31?
Решение.
Первую программу можно составить из сложений числа 1 к числу 2 пока не получится число 31. Теперь подсчитаем число программ, в которых используется одно умножение на 3. Можно сразу 2 умножить на 3, а затем прибавлять 1 до 31. Можно сначала к 2+1, затем умножить на 3, а потом опять прибавлять 1. Максимальное число, которое можно умножить на 3 равно 10, то есть (2+1+1+1+1+1+1+1+1)*3=30. Отсюда видно, что программ с одним умножением на 3 может быть ровно 9.
Далее, подсчитаем программы с двумя умножениями на 3. Они могут быть такими:
- пусть начальное число равно 2, тогда имеем 5 программ:

- пусть начальное число равно 3, тогда получаем 2 программы:

Таким образом, всего имеем 1+9+5+2=17 программ.
Ответ: 17.
Задание 23. Каково наибольшее целое число х, при котором истинно высказывание ?
Решение.
Операцию импликации можно заменить следующим эквивалентным выражением:

или, избавляясь от знака отрицания, имеем:
.
Последнее выражение будет истинно (то есть давать 1) если левая или правая скобки равны 1, либо обе одновременно равны 1. Анализ выражения показывает, что наибольшее целое x, при котором выражение будет давать 1, равно 9, так как

Ответ: 9.
Задание 24. Требовалось написать программу, которая решает неравенство (x + a)/(bx) < 0 относительно x для любого ненулевого числа b и любого неотрицательного числа a и (a > 0, b≠0), введённых с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.


Последовательно выполните три задания:
1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)
Решение.
1) а = 1, b = -1, х = 0. Значение x может быть не указано. Значение b может быть любым отрицательным числом, значение а — любым положительным. Также допустим ответ, что программа работает неправильно при любых положительных а и отрицательных b.
2) Лишняя часть:
не нужно вводить x с клавиатуры;
верно: readln(a, b).
3) Возможная доработка:
readln(a,b);
if a=0 then
if b>0 then
write ('нет решений')
elsewrite('x>0 или x<0') else
if b>0 then write(-a,'<x<0') else
write('x>0 или x<',-a);
(могут быть и другие способы доработки).
Задание 25. Опишите на русском языке или одном из языков программирования алгоритм подсчёта максимального количества подряд идущих чётных элементов в целочисленном массиве длины 30.
Решение.
Пример правильного описания алгоритма на русском языке.
Заводим переменную MaxEven для хранения максимального количества подряд идущих чётных элементов и счётчик NumEven для хранения числа чётных элементов в последней группе чётных элементов. Просматривая элементы массива, проверяем последний элемент на чётность. Если очередной элемент массива оказывается нечётным, то сравниваем текущее значение счётчика NumEven со значением переменной MaxEven; если он больше, то заменяем значение переменной MaxEven значением счётчика, при этом значение NumEven обнуляется. Так повторяем до конца массива. В конце работы нужно ещё раз сравнить значение счётчика со значением переменной MaxEven и переопределить её, если счётчик больше.
Пример правильной и эффективной программы (на основе алгоритма, использующего однократный проход по массиву):

 
Задание 26. Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 3, а во второй — 6 камней. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или удваивает число камней в какой-то куче, или добавляет 2 камня в какую-то кучу.
Выигрывает игрок, после хода которого общее число камней в двух кучах становится не менее 24. Кто выигрывает при безошибочной игре обоих игроков — игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.
Решение.
Выигрывает первый игрок, своим первым ходом он должен добавить 2 камня в первую кучу. Для доказательства рассмотрим неполное дерево игры, оформленное в виде таблицы, где в каждой ячейке записаны пары чисел, разделённые запятой. Эти числа соответствуют количеству камней на каждом этапе игры в первой и второй кучах соответственно.
  2-й ход 3-й ход 4-й ход 5-й ход  
Позиция после первого хода II-й игрок (все варианты хода) I-й игрок (выигрышный ход) II-й игрок (все варианты хода) I-й игрок (один из вариантов) Пояснение
5.6 5,8 7.8 14,8 28,8 Первый игрок выигрывает на пятом ходу, после любого ответа второго игрока, например, удвоив число камней в самой большой куче
9,8 18,8 7,16 7,32 7,10 7,20 7,6 7.8 Те же варианты четвёртого-пятого ходов
5,12 5.24 Первый игрок выиграл
10,6 20,6 Первый игрок выиграл
Таблица содержит все возможные варианты ходов второго игрока. Из неё видно, что при любом ответе второго игрока у первого имеется ход, приводящий к победе.
Задание 27. На вход программе подаются строчные английские буквы. Ввод этих символов заканчивается точкой (другие символы, отличные от «.» и букв «а»...«z», во входных данных отсутствуют; в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается.
Если какие-то буквы встречаются одинаковое число раз, то они выводятся в алфавитном порядке. Например, пусть на вход подаются следующие символы:
baobaba.
В данном случае программа должна вывести
oabРешение.
Программа читает все входные символы до точки один раз, подсчитывая в массиве, хранящем 26 целых чисел, количество каждой из букв. Сами входные символы при этом не запоминаются. В дополнительный массив, состоящий из 26 символов, заносятся буквы от «a» до «z». Затем элементы первого массива сортируются по неубыванию любым алгоритмом сортировки, параллельно переставляются и элементы второго массива (возможно использование одного массива записей, состоящих из двух полей). При этом элементы с равным числом вхождений символов местами не меняются. Во втором из отсортированных массивов пропускаются элементы, количество которых равно 0, остальные элементы печатаются подряд.
Баллы начисляются только за программу, которая решает задачу хотя бы для одного частного случая (например, для строк, состоящих не более чем из 255 символов).
Пример правильной и эффективной программы на языке Паскаль:

Пример правильной и эффективной программы на языке Бейсик:

 

Приложенные файлы


Добавить комментарий