Лабораторная работа 12. Файлы записей
В последующих задачах исходные данные формируются с помощью текстового редактора в последовательных текстовых файлах. Составить программы обработки данных, используя в них записи, т.е. величины структурированного (производного) типа.
1. Распечатать список учеников, фамилии которых начинаются на букву В, с указанием даты их рождения.
2. Из данного списка спортсменов распечатать данные о тех из них, кто занимается плаванием. Указать возраст, сколько лет они занимаются спортом.
3. Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Распечатать список учеников, имеющих средний балл выше среднего в классе.
4. Распечатать фамилии рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты.
5. Из ассортимента конфет, выпускаемых пермской кондитерской фабрикой, выбрать те, стоимость которых от 10 до 15 тыс. р. за 1 кг. Указать срок их годности и номера магазинов, в которых они имеются в продаже.
6. Распечатать список учеников музыкальной школы, которые учатся играть на скрипке. Указать также, сколько лет они занимаются музыкой и принимали ли участие в каких-либо конкурсах.
7. Среди работников данного предприятия найти тех, чья заработная плата за месяц является ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет с указанием их фамилии, зарплаты, стажа работы и должности.
8. Распечатать фамилии тех учеников, которые не получили ни одной «тройки» за последнюю четверть. В каких классах учатся эти ученики? Каков их средний балл?
9. Распечатать фамилии детей данного детского сада, которые родились в указанном месяце; указать их возраст и группу.
10. Распечатать список тех учителей школы, которые преподают математику и информатику, указать стаж их работы и недельную нагрузку.
11. Распечатать анкетные данные учеников, участвовавших в олимпиаде по информатике и заработавших не менее 30 баллов.
12. Распечатать фамилии тех учеников класса, которые являются хорошистами и отличниками по итогам года. Также указать, насколько их средний балл отличается от среднего балла класса.
13. Имеются сведения об учениках класса. Определить среднюю массу мальчиков и средний рост девочек. Кто из учеников класса самый высокий?
14. Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 года.
15. При поступлении в университет лица, получившие оценку «неудовлетворительно» на первом экзамене, ко второму экзамену не допускаются. Считая фамилии абитуриентов и их оценки после первого экзамена исходными данными, составить список абитуриентов, допущенных ко второму экзамену.
16. Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила:
1) если все оценки 5, назначается повышенная стипендия;
2) если оценки 4 и 5, назначается обычная стипендия;
3) если есть оценка 3, стипендия не назначается.
В результате работы программы должен быть напечатан список группы с оценками и средним баллом каждого студента и два списка фамилий (назначенных на повышенную и обычную стипендию).
17. В файле хранятся следующие данные об учениках: фамилия, имя, отчество, рост, масса. Вычислить средний рост учеников, рост самого высокого и самого низкого ученика. Сколько учеников могут заниматься в баскетбольной секции, если рост баскетболиста должен быть больше 170 см?
18. В аптечном складе хранятся лекарства. Сведения о лекарствах содержатся в специальной ведомости: наименование лекарственного препарата; количество; цена; срок хранения (в месяцах). Выяснить, сколько стоит самый дорогой и самый дешевый препарат; сколько препаратов хранится на складе; какой препарат имеет срок хранения более 3 месяцев; сколько стоят все препараты, хранящиеся на складе.
19. В столовой предлагаются N комплексных обедов, состоящих из Q блюд. Известна стоимость и калорийность каждого блюда. Сколько стоит самый дешевый и самый дорогой обед? Сколько калорий включает в себя самое калорийное блюдо?
20. Торговый склад производит уценку, хранящейся продукции. Если продукция хранится на складе дольше n месяцев, то она уценивается в 2 раза, а если срок хранения превысил m (m < n) месяцев, но не достиг n, то — в 1,5 раза. Ведомость уценки товаров должна содержать информацию: наименование товара, количество товара, цена товара до уценки, срок хранения товара, цена товара после уценки, общая стоимость товара до уценки, общая стоимость товаров после уценки. Выяснить максимальный и минимальный сроки хранения товаров на складе; максимальную и минимальную цену товаров до уценки и после уценки.
21. N спортсменов-многоборцев принимают участие в соревнованиях по М видам спорта. По каждому виду спорта спортсмен набирает определенное количество очков. Вычислить, сколько очков в сумме набрал каждый спортсмен после окончания соревнований. Вычислить разницу в очках для спортсменов, занявших первое и последнее места.
22. N учеников проходили тестирование по M тестам какого-либо предмета. Сколько очков набрал каждый ученик по всем темам? Вычислить средний балл, полученный учениками, и разницу между лучшим результатом и средним баллом.
23. Описать переменную служащий, состоящую из имени, фамилии, отчества служащего, даты рождения, полученного образования, домашнего адреса, профессии. Определить имена людей с высшим образованием. Выдать данные о служащем, который имеет ту или иную профессию.
24. Описать переменную круг, в которой содержатся все данные для построения круга в декартовой системе координат.
а) Определить координаты центра, радиус, площадь и длину окружности круга минимального радиуса, который будет содержать внутри себя все заданные круги.
б) Рассматривая окружности попарно, определить координаты точек пересечения или точки касания для каждой пары, либо вывести сообщение об отсутствии общих точек.
25. Описать переменную экзаменационная ведомость (предмет, номер группы, номер зачетной книжки, фамилия, имя, отчество студента, его оценки по итогам текущей сессии). Определить отличников, хорошистов, троечников и двоечников.
26. Создать записи, определяющие положение точки в декартовой и в полярной системах координат. Задан файл с координатами точек в декартовой системе координат. Получить соответствующий файл координат заданных точек в полярной системе координат.
27. Дан массив записей, содержащих дату (число, месяц, год) и время (час, минута, секунда). Упорядочить этот массив в порядке «возрастания», т.е. от более ранних значений к более поздним.
28. Описать переменную расписание, содержащую
· день недели;
· количество пар в этот день;
· время начала и конца пары;
· название предмета;
· фамилия преподавателя.
Вывести полную информацию о занятиях, относящихся к предметной области «Информатика».
29. В библиотеке имеются книги, газеты, журналы. Для каждого печатного издания указать
· название;
· год выпуска (для книги), дату выпуска (для газет и журналов);
· автора (для книги), редактора (для газеты), редколлегию (для журнала);
· объем.
Вывести информацию об изданиях, вышедших в заданном году.
30. Опишите запись, содержащую информацию о движении электропоездов из вашего города: направление; время отправления электропоездов, время в пути до конечного пункта, стоимость билетов по зонам. Вывести перечень электропоездов, следующих в заданном направлении.
31. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно — действительное (вес в килограммах).
а) Найти багаж, средний вес одной вещи в котором отличается не более чем на m кг от общего среднего веса одной вещи.
б) Найти число пассажиров, имеющих более двух вещей и число пассажиров, количество вещей которых превосходит среднее число вещей.
в) Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи весом менее m кг.
32. Дан файл, содержащий различные даты. Каждая дата — это число, месяц и год.
а) Найти год с наименьшим номером.
б) Найти все весенние даты.
в) Найти самую позднюю дату.
33. Дан файл Tovar, содержащий сведения об экспортируемых товарах: указывается наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках.
Составить список стран, в которые экспортируется данный товар, и общий объем его экспорта.
34. Дан файл Assort, содержащий сведения об игрушках: указывается название игрушки, ее стоимость в рублях и возрастные границы (например, игрушка может предназначаться для детей от двух до пяти лет).
а) Получить название игрушек, цена которых не превышает 14 тыс. р. И которые подходят детям 5 лет.
б) Определить стоимость самого дорогого конструктора.
в) Напечатать название наиболее дорогих игрушек (цена которых отличается от цены самой дорогой игрушки не более, чем на 5 тыс. р.).
г) Получить названия игрушек, которые подходят детям как четырех лет, так и десяти лет.
д) Получить сведения о том, можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку трех лет.
е) Получить название самой дешевой игрушки.
ж) Получить название самой дорогой игрушки для детей до четырех лет.
з) Получить названия игрушек для детей четырех-пяти лет.
и) Получить название самой дорогой игрушки, подходящей детям двух-трех лет.
л) Определить стоимость самой дорогой куклы.
м) Определить стоимость кукол для детей шести лет.
н) Для детей какого возраста предназначается конструктор?
о) Для детей какого возраста предназначены кубики? Указать их среднюю стоимость.
35. Дан файл TV, содержащий сведения о программах телепередач на неделю: день недели, время, канал, вид и название телепередачи.
а) Получить название телепередач, которые идут в указанный день в указанный промежуток времени.
б) Получить название телепередач, которые идут в указанный день на указанном канале.
в) Получить информацию об указанном фильме. Если он отсутствует в телепрограмме, то вывести на экран сообщение «такой передачи на данной неделе нет».
г) На каком канале и в какое время будет транслироваться развлекательная передача «Поле чудес»?
д) Выяснить, есть ли передача, транслирующаяся больше одного раза в одно и то же время. Если есть, то какая?
е) Получить название телепередач, транслирующихся в указанное время на разных каналах.
ж) Получить название самой продолжительной передачи, которая идёт в понедельник.
з) Получить информацию за каждый день недели о передаче, которая завершает эфир.
8. Дан файл, содержащий сведения о безработных. Указываются специальность, опыт работы, образование, пол, возраст.
а) Подобрать кандидатов на должность врача с опытом работы не менее пяти лет.
б) Найти работников с высшим экономическим образованием не старше 35 лет.
в) Найти работников, имеющих опыт работы в сфере торговли.
г) Получить полную информацию обо всех женщинах, возраст которых от 20 до 40 лет.
д) Определить средний возраст всех мужчин, ищущих работу.
е) Выяснить, кого в базе данных больше с высшим образованием — женщин или мужчин.
ж) Найти n самых молодых работников.