- •Работа со строками
- •Работать с массивами
- •Работать с записями
- •1. «Результаты экзаменов» Из полученных строк формируется массив записей, с их последующей статистической обработкой.
- •2. Участие в олимпиаде Из полученных строк формируется массив записей, с последующей статистической обработкой.
- •3. «Ученики школы» Из списка учеников формируется массив записей, который подвергается статистической обработке.
- •5. «Автозаправочные станции» Формирование массива записей, выбор значения по заданному критерию.
- •4. «Среднесуточная температура» Из полученных строк с среднесуточной температурой формируется массив записей, произволится статистическая полученных данных.
- •Текст задачи:
- •Метод решения:
- •6. «Числовой палиндром» Обработка текстовой строки, выделение в ней чисел, их анализ на возможность получения палиндрома.
- •7) «Олимпиадные задачи» Обработать входящие строки, сформирование массив с количеством решенных задач, выбрать значения из массива по заданному критерию.
- •Метод решения:
- •9. «Камера хранения» Получить список строк, сформировать массив записей, выбрать значения по заданному критерию.
- •Текст задачи:
- •Метод решения:
- •11. «Последовательность чисел» Анализ последовательности чисел, выделение в ней участка с наибольшим «подъемом».
- •Метод решения:
1. «Результаты экзаменов» Из полученных строк формируется массив записей, с их последующей статистической обработкой.
текст задачи: На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:
<Фамилия> <Имя> <оценки>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом.
Пример входной строки: Иванов Петр 4 5 3
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.
метод решения:
получение N строк и их обработка:
выделение имени
выделение трех оценок
получение суммарного балла (аналог среднего балла, но целое число)
добавление в массив [0..15] имен учеников, набравших бал, равный индексу массива
вывод трех наименьших не пустых значения массива
2. Участие в олимпиаде Из полученных строк формируется массив записей, с последующей статистической обработкой.
Текст задачи:
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:
Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из каких школ было меньше всего участников олимпиады (но из этих школ был хотя бы один участник).
метод решения:
получение N строк и их обработка:
выделение имени
выделение номера школы
добавление в массив записей [1..99] имен учеников, участвовавших в олимпиаде , в индекс, равный номеру школы. Так как после этот массив нужно будет сортировать, то помимо строки имен запись должна содержать номер школы и количество учеников (последнее значение должно увеличиваться на единицу при обработке новой строки).
сортировка массива по полю количество учеников
вывод трех наименьших не пустых значения массива
3. «Ученики школы» Из списка учеников формируется массив записей, который подвергается статистической обработке.
Текст задачи:
На вход программе подаются сведения об учениках некоторой средней школы. В первой строке сообщается количество учеников N, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <класс>, где
<Фамилия> – строка, состоящая не более, чем из 20 символов, <Имя> – строка, состоящая не более, чем из 15 символов, <класс> – год обучения (от 1 до 11) и заглавная буква (от “А” до “Я”) без пробела.
<Фамилия> и <Имя>, а также <Имя> <класс> разделены одним пробелом.
Пример входной строки: Иванов Петр 10Б
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию о параллелях (годе обучения) с наименьшим числом учеников. Программа должна выводить на экран в первой строке количество учеников в искомых параллелях, а во второй строке – в порядке возрастания номера этих параллелей через пробел.
Например: 100 1 7 11
метод решения: вариация предыдущих задач
получение N строк и их обработка:
выделение имени
выделение номера класса
добавление в массив записей [1..11] имен учеников, в индекс, равный номеру класса. Так как после этот массив нужно будет сортировать, то помимо строки имен запись должна содержать номер параллели и количество учеников в ней (последнее значение должно увеличиваться на единицу при обработке каждой новой строки).
сортировка массива по полю количество учеников
вывод трех наибольших не пустых значения массива
