
Обработка данных, вводимых в виде символьных строк или последовательности чисел. 27(C4)

27(C4) Обработка данных, вводимых в виде символьных строк или последовательности чисел.
4 балла
Высокий уровень, время – 55 мин
Типы

Этапы решения задач на ПК
Постановка задачи
Математическая модель
Алгоритм
Программа
Отладка и тестирование


Пример (с сайта http://kpolyakov.spb.ru/school/ege.htm)
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат:
где – строка, состоящая не более чем из 20 символов, – строка, состоящая из 4-х символов (буква, точка, буква, точка), – не более чем двузначный номер. и , а также и разделены одним пробелом. Пример входной строки:
Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N=1000.

На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат:
где – строка, состоящая не более чем из 20 символов, – строка, состоящая из 4-х символов (буква, точка, буква, точка), – не более чем двузначный номер. и , а также и разделены одним пробелом. Пример входной строки:
Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N=1000.
Дано
N строк (N=1000)
формат
99 школ
Найти
Номер школы с меньшим количеством участников

Алгоритм
№ школы
1
Кол-во
детей
2
3
…
…
28
…
…
…
99
Иванов
N
Сидоров
И.И.
С.С.
Васечкин
28
… .
В.В.
20
22
Длинная длинная строка
Длинная длинная строка
Длинная длинная строка
N
Длинная длинная строка
1
2
28
20
3
4
22
…
N
…
…
Длинная длинная строка

Решение

Задание
Формализовать задачу.
Построить словесный алгоритм.
Домашнее задание
Найти и занести в таблицу три задания типа «Строка - массив» (следить, чтобы не было повторений)

Вывод
буква
‘ a’
Кол-во
‘ b’
букв
‘ c’
…
…
‘’
…
‘ x’
‘ y’
‘ z’
№
№ школы
№
1
Кол-во
1
Кол-во
Cтроки
1
детей
2
2
2
3
3
3
…
…
…
…
…
…
28
…
…
…
99
Длинная длинная строка
Длинная длинная строка
Длинная длинная строка
N
Длинная длинная строка
Длинная длинная строка