Next:6.
Программы с процедурами и функциями
Up:5.
Программы обработки структурированных
Previous:5.4.5
Упражнения
количество неуспевающих (при N3 = 0),по программированию на
количество отличников (при N3 = 1),
среднюю оценку (при N3 = 2)
математическом (при N < 10),факультете среди студентов
физическом (при 10 <= N < 20),
химическом (при 20 <= N)
первого курса (при N2 = 0),сдававших экзамены
с четными номерами в журнале (при N2 = 1),
летом 1989 г. (при N < 15),
зимой 1998 г. (при N >= 15).
В решении нельзя использовать массивы и следует предусмотреть возможность
обработки заданной последовательности произвольной длины.
2. Справка о междугороднем телефонном разговоре содержит: номер телефона абонента (6 цифр), дату (год, месяц, день), время (час, минута), код города (3 цифры), номер телефона в другом городе (7 цифр), продолжительность разговора (в минутах), категорию (срочный, обычный) и тариф (плата в рублях за минуту). По заданной последовательности справок найти
дату (при N < 15),такого телефонного разговора из заданной последовательности справок, который является максимальным по
время (при N >= 15)
продолжительности (при N5 = 0),среди срочных разговоров, состоявшихся
тарифу (при N5 = 1),
номеру телефона абонента (при N5 = 2),
коду города (при N5 = 3),
номеру телефона в другом городе (при N5 = 4)
летом в дневное время (при N3 = 0),с телефонов, номера которых начинаются на 32 или 34.
осенью в вечернее время (при N3 = 1),
зимой в ночное время (при N3 = 2)
В решении нельзя использовать массивы и следует предусмотреть возможность обработки заданной последовательности произвольной длины.
3. Деталь автомобиля описывается инвентарным номером (положительное целое число), весом (в килограммах), ценой (в рублях), датой начала производства (год, месяц, день), статусом (заказана или нет) и объемом производства (в штуках за смену). В заданной последовательности сведений о деталях найти инвентарный номер
первой в порядке описания (при N < 15),детали с
последней в порядке описания (при N >= 15)
наибольшей (при N2 = 0),датой начала производства среди тех
наименьшей (при N2 = 1)
заказанных (при N8 < 4),деталей,
незаказанных (при N8 >= 4)
описаниям которых предшествует (при N16 < 8),описание детали с минимальным
за описаниями которых следует (при N16 >= 8)
весом (при N4 >=2),среди всех заданных деталей. В решении нельзя использовать массивы и следует предусмотреть возможность обработки заданной последовательности произвольной длины.
объемом производства (при N4 < 2)
4. Книга описывается формуляром, содержащим следующую информацию: разряд книги (задачник, учебник), дисциплину (программирование, алгебра, история, геометрия), год издания, объем (в страницах), цену (в рублях), место издания (Новосибирск, Москва, Минск, Киев) и количество экземпляров, имеющихся в библиотеке университета. Осуществить распечатку информации обо всех тех
книг по программированию (при N3 = 0),из заданной последовательности формуляров, которые удовлетворяют
задачников по алгебре (при N3 = 1),
учебников по истории (при N3 = 2)
каждому (при N8 < 4),из следующих двух условий:
хотя бы одному (при N8 >= 4)
изданного до войны в Киеве (при N < 10),2) среди предшествующих формуляров нет формуляров задачников,
имеющего объем в 200 страниц (при 10 <= N < 20),
с ценой меньше рубля (при N >= 20);
изданных в 2001 г. в Новосибирске (при N2 = 0),Обеспечить печать ответа в виде таблицы (с соответствующими заголовками колонок и всей таблицы), в которой каждая строка содержит информацию только из одного формуляра. В решении нельзя использовать массивы и следует предусмотреть возможность обработки заданной последовательности произвольной длины.
превышающих по объему 300 страниц (при N2 = 1).
5. Задан вектор целых чисел . Построить вектор чисел , элемент которого получается как
минимум (при N6 = 0),всех тех элементов среди , которые
максимум (при N6 = 1),
сумма (при N6 = 2),
произведение (при N6 = 3),
сумма модулей (при N6 = 4),
среднее арифметическое (при N6 = 5)
положительны (при N5 = 0),Об исходном векторе известно, что
нечетны (при N5 = 1),
кратны трем (при N5 = 2),
являются полными квадратами (при N5 = 3),
являются кубами целых чисел (при N5 = 4).
6. Операция циклического сдвига вектора B на одну позицию вправо
преобразует вектор следующим образом:
Аналогично, при циклическом сдвиге вектора на одну позицию влево он
преобразуется следующим образом:
Построить циклический сдвиг заданного вектора
вещественных чисел (при N3 = 0),длины 70 N на N div 2 +2 позиций
целых чисел (при N3 = 1),
литер (при N3 = 2)
вправо (при N2 = 0),используя один и тот же массив для представления исходного, результирующего и всех промежуточных векторов.
влево (при N2 = 1),
7. Для заданных вектора A вещественных чисел длины 200 и перестановки
B
целых чисел 1,2,,
200 найти
(см. п. 5.3.4), где
8. Пусть задан упорядоченный по возрастанию вектор вещественных чисел, вещественное x и монотонно возрастающая функция G(x). Тогда поиск такого можно выполнять методом "дихотомии" следующим образом.
Поиск начинается извлечением "среднего" элемента то поиск завершен. Если же то в силу монотонности G и упорядоченности A имеем поэтому поиск требуемого значения можно продолжать описываемым методом, но уже в отрезке индексов от 1 до 99. Аналогично, если наша задача сводится к поиску в отрезке от 101 до 200.
Пусть, далее, имеются функции
Требуется найти методом "дихотомии" такое i, что
Если такого нет, то в качестве ответа печатать текст "требуемого не существует".
9. Задана последовательность
литер (при N2 = 0),Напечатать те
целых чисел (при N2 = 1).
гласные буквы латинского алфавита (при N6 = 0),которые встречаются в заданной последовательности
целые числа из отрезка -20..20 (при N6 = 1),
согласные буквы латинского алфавита (при N6 = 2),
четные целые числа из отрезка 0..100 (при N6 = 3),
кратные трем цифры (при N6 = 4),
нечетные целые числа из отрезка -10..10 (при N6 = 5),
ровно один раз (при N5 = 0),
ровно два раза (при N5 = 1),
нуль раз (при N5 = 2),
не более трех раз (при N5 = 3),
не менее пяти раз (при N5 = 4).
10. Задан вектор вещественных чисел длины 10 N. Найти
сумму (при N5 = 0),тех элементов вектора, которые
произведение (при N5 = 1),
сумму модулей (при N5 = 2),
количество (при N5 = 3),
сумму квадратов (при N5 = 4)
больше минимального из положительных (при N6 = 0),больше полусуммы минимального и максимального
меньше максимального из отрицательных (при N6 = 1),
элементов вектора (при N6 = 2),превосходят хотя бы один из следующих за ними (при N6 = 5).
содержатся в отрезке [c-2, c+2], где c -- среднее
aрифметическое всех элементов вектора (при N6 = 3),
строго меньше всех следующих за ними (при N6 = 4),
11. Задана последовательность формуляров 10 N книг, поступивших в библиотеку университета в последнее время (см. задание 5.7.4). Напечатать информацию, содержащуюся в формулярах, в виде отдельных таблиц для разных
разрядов (при N3 = 0),книг. При этом в таблицы не включаются сведения о книгах, удовлетворяющих
дисциплин (при N3 = 1),
мест издания (при N3 = 2)
каждому (при N4 < 2),из следующих двух условий:
хотя бы одному (при N4 >= 2),
превышает 10 штук (при N < 15),2) сама книга
является делителем года ее издания (при N >= 15),
по объему превышает 500 страниц (при N2 = 0),
по цене не превышает 3 руб. (при N2 = 1).
12. Анкета студента содержит следующую информацию: фамилию (строку
из 15 букв), пол, дату рождения (год, месяц, день), факультет, группу,
номер в журнале, средний балл, отношение к комсомолу (член ВЛКСМ, выбыл
по возрасту, исключен, не состоял), семейное положение (женат, холост).
Заданы наборы анкет 10 N студентов, составляющих стройотряд, и 20 студентов, составляющих команду КВН. Внутри наборов анкеты студентов команды и стройотряда упорядочены таким образом, что даты рождения анкетированных студентов
не возрастают (при N < 15),Определить
не убывают (при N >= 15).
отношение к комсомолу (при N5 = 0),одного из таких студентов, которые входят
семейное положение (при N5 = 1),
факультет (при N5 = 2),
группу (при N5 = 3),
номер в журнале (при N5 = 4)
только в стройотряд (при N3 = 0),Следует предусмотреть печать текстового сообщения, если нет ни одного такого студента, а также прекращение просмотра наборов анкет, как только будет найден ответ.
только в команду КВН (при N3 = 1),
как в стройотряд, так и в команду КВН (при N3 = 2).
13. Метод "пузырька" является одним из очень простых для программирования (но не эффективным!) способом решения задачи сортировки -- расположения элементов последовательности в соответствии с заданным на них отношением порядка. Метод состоит в просмотрах элементов сортируемой последовательности, в процессе каждого из которых номер просматриваемого элемента изменяется от единицы до (K-I), где K -- число элементов в последовательности, -- номер просмотра, а каждый просматриваемый элемент последовательности сравнивается со своим правым соседом и меняется с ним местами, если их расположение противоречит отношению порядка. В результате первого просмотра на последнее место в последовательности ставится тот элемент, который должен там находиться. Затем свое место занимает элемент, который должен стоять предпоследним, и т.д. Осуществить методом "пузырька" сортировку набора из 30 N описаний экзаменов (см. задание 5.5.1)
по возрастанию (при N2 = 0),значений
по убыванию (при N2 = 1)
годов (при N5 = 0),предполагая, что при прочих равных условиях описания экзаменов упорядочиваются по возрастанию
месяцев (при N5 = 1),
дней (при N5 = 2),
групп (при N5 = 3),
номеров студентов в журналах (при N5 = 4),
курсов (при N3 = 0),
литер факультетов (при N3 = 1),
оценок (при N3 = 2).
14. Описанный в предыдущем задании метод "пузырька" часто используют
в следующем модифицированном виде. После окончания очередного просмотра
следующий просмотр производится только в том случае, если в ходе законченного
просмотра была выполнена хотя бы одна перестановка; в противном случае
сортировка считается законченной. Реализовать модифицированный метод "пузырька"
для сортировки 20 N справок о междугородних телефонных разговорах (см.
задание 5.5.2)
по возрастанию (при N <15),их
по убыванию (при N >= 15)
годов в дате разговора (при N5 = 0),предполагая, что при прочих равных условиях справки о разговорах упорядочиваются слева направо так, что
месяцев в дате разговора (при N5 = 1),
дней в дате разговора (при N5 = 2),
часов во времени разговора (при N5 = 3),
минут во времени разговора (при N5 = 4)
обычные разговоры предшествуют срочным (при N=0),
номера телефонов абонентов возрастают (при N3=1),
коды городов убывают (при N3 = 2).
15. Близким к методу "пузырька" является метод сортировки "по номерам",
который реализуется следующим образом. Последовательным сравнением осуществляется
поиск номера элемента, который должен стоять первым (при этом в процессе
поиска запоминается не сам элемент, а только его порядковый номер!). После
этого элемент с найденным номером меняется местами с первым элементом последовательности.
Сортировка продолжается размещением второго элемента, для чего осуществляется
поиск первого элемента среди всех элементов последовательности, начиная
со второго, потом размещается по аналогичным правилам третий элемент и
так далее до тех пор, пока не останется последовательность, состоящая из
одного элемента. Осуществить методом сортировки "по номерам" упорядочение
сведений о 20 N деталях (см. задание 5.5.3)
по возрастанию (при N >= 15),их
по убыванию (при N < 15)
инвентарных номеров (при N4 = 0),предполагая, что все заказанные детали должны
весов (при N4 = 1),
цен (при N4 = 2),
объемов производства (при N4 = 3),
предшествовать незаказанным (при N2 = 0),а при прочих равных условиях сведения о деталях располагаются в порядке возрастания
следовать за незаказанными (при N1 = 1),
годов (при N3 = 0),даты начала их производства.
месяцев (при N3 = 1),
дней (при N3 = 2)
16. Студент-хоккеист представлен в анкете следующей информацией: фамилия (слово длины 10), рост (в см), даты (год, месяц, день) рождения и вступления в команду, разряд (целое число), факультет (физик, математик, химик), курс, количество заброшенных шайб. Редукция списка анкет студентов состоит в удалении из него анкет тех однофамильцев первого студента, которые удовлетворяют
каждому (при N8 < 4),из следующих условий:
хотя бы одному (при N8 >= 4)
дипломником-химиком (при N < 15),2) студент имеет
физиком двух старших курсов (при N >= 15),
рост выше 2 м (при N2 = 0),
разряд ниже третьего (при N2 = 1).
Задана последовательность из 10 различных целых чисел, называемая
ниже образцом, и непустой список анкет студентов-хоккеистов. Подсчитать,
сколько раз заданный образец образуют
годы рождения (при N5 = 0),студентов, анкеты которых расположены подряд в редуцированном списке.
месяцы рождения (при N5 = 1),
дни рождения (при N5 = 2),
месяцы вступления в команду (при N5 = 3),
заброшенные шайбы (при N5 = 4)
17. Задан вектор вещественных чисел Построить вещественную матрицу B размером 10 х 10, в которой элемент равен
18. Задана матрица целых чисел размером 20 х 20. Найти
минимальный (при N2 = 0),среди таких ее элементов 200#86, расположенных
максимальный (при N2 = 1)
выше главной (при N4 = 0),диагонали, для которых справедливо следующее свойство:
ниже главной (при N4 = 1),
выше побочной (при N4 = 2),
ниже побочной (при N4 = 3),
x > 0 (при N5 = 0),Если в указанной части матрицы элементов с требуемым свойством нет, в качестве ответа печатать текст "нет элементов с требуемым свойством".
x -- полный квадрат (при N5 = 1),
x -- нечетный (при N5 = 2),
x mod 3 = 1 (при N5 = 3),
x -- четный отрицательный (при N5 = 4).
19. Задана матрица A вещественных чисел размером 20 х 20. Построить по ней матрицу B того же размера, элемент которой равен
минимуму (при N5 = 0),всех тех элементов матрицы A , которые расположены в следующей ее части, определяемой по i, j с помощью проведения линий, параллельных строкам, столбцам, главной и побочной диагоналям (определяемая часть включает границы) -- рис. 5.12.
сумме модулей (при N5 = 1),
максимуму (при N5 = 2),
сумме (при N5 = 3),
произведению (при N5 = 4)
Рис. 5.12. Матрица с выделенной частью
20. Пусть
Пусть, далее, заданы две матрицы вещественных чисел размером 20 х 20:
Построить по ним матрицу
того же размера, элемент(см.
5.3.4)
21. Задана матрица целых чисел размером 20 х 20. Найти
минимальный (при N2 = 0),среди номеров
максимальный (при N2 = 1)
строк (при N4< 2),этой матрицы, в которых находится вектор, упорядоченный по
столбцов (при N4>= 2)
возрастанию (при N2 = N3),и составленный из элементов, которые все
убыванию (при N2 # N3)
положительны (при N5 = 0),Если в матрице нет ни одного вектора, удовлетворяющего требуемым свойствам, в качестве ответа печатать текст "нет строки (столбца) с требуемым свойством".
отрицательны (при N5 = 1),
являются полными квадратами (при N5 = 2),
четны (при N5 = 3),
дают остаток 1 при делении на 3 (при N5 = 4).
22. Дана целочисленная матрица A размера n x m, где n = N + 25. Найти координаты (т.е. номера строки и столбца)
максимального (при N2 = 0),по значению такого элемента матрицы, который
минимального (при N2 = 1)
буквы (при N8 < 4),2) расположен
цифры (при N8 >= 4),
выше побочной (при N4 = 0),диагонали,
выше побочной (при N4 = 1),
выше главной (при N4 = 2),
ниже главной (при N4 = 3),
в строке (при N8 < 4),нечетное число.
в столбце (при N8 >= 4),
23. Дана вещественная матрица размера n x n, где n =N+30. Рассматривая ее как последовательность векторов, являющихся
строками (при N2 = 0),матрицы, упорядочить вектора в ней по
столбцами (при N2 = 1)
неубыванию (при N6 < 3),значений
невозрастанию (при N6 >= 3)
максимумов из (при N4 = 0),всех тех элементов векторов, которые
минимумов из (при N4 = 1),
сумм (при N4 = 2),
произведений (при N4 = 3)
лежат в интервале [-1,1] (при N8 < 4),
не превышают номера вектора (при N8 >= 4).
24. Дана целочисленная матрица A размера n x n,
где n = N + 20. Построить логический вектор B = ()
размера ,
в котором
принимает истинное значение тогда и только тогда, когда
i-я строка (при N2 = 0),матрицы A удовлетворяет
i-й столбец (при N2 = 1)
каждому (при N3 = 0),из следующих трех свойств:
хотя бы одному (при N3 = 1),
ровно одному (при N3 = 2)
невозрастанию (при N4 < 2),2) C содержит не более
неубыванию (при N4 >= 2)
четных (при N8 < 4),положительных элементов,
кратных пяти (при N8 >= 4)
25. Построить вещественную матрицу размера n x n, где n = N + 20, образованную из последовательности
строк (при N2 = 0),
столбцов (при N2 = 1)
Next:6.
Программы с процедурами и функциями
Up:5.
Программы обработки структурированных
Previous:5.4.5
Упражнения