ВУЗ: Не указан

Категория: Методичка

Дисциплина: Программирование

Добавлен: 30.10.2018

Просмотров: 672

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

Семинар 3. Файлы в Си

  

Цель  семинара:  Овладение  навыками  программирования  с 

использованием текстовых файлов. 

1. 

Задание 

1.   Проработайте лекцию 3 «Файлы в Си». Обратите внимание на  примеры 

§3.3. Попробуйте написать эти программы самостоятельно, не заглядывая в 
лекцию. Если Ваше решение отличается от лекционного, проанализируйте 
отличия. Как они повлияют на работу программы? 

2.  Отладьте программы примеров  §3.3 лекции 3.  

3.  Выполните свой вариант задания на матрицы (задача 2)из семинара 1 

«Динамические массивы», используя файловый ввод-вывод вместо 
консольного (см. пример 1§3.3). 

4.   Измените задачу с функциями прошлого семинара (раздел 4), используя 

файловый ввод-вывод вместо консольного. Измененный вариант этой 
задачи войдет в курсовую работу. 

5.  Выполните свой вариант задания (с Вашим номером по списку группы) из 

раздела 2. Разработайте и отладьте два варианта программы: 

a.   каждая строка входного файла считывается в переменную-строку (см. 

пример 2 §3.3); 

b.  каждая строка текстового файла считывается в переменную-структуру 

(см. пример 3 §3.3). 
Вывод результатов должен осуществляться в текстовый файл. 

Отчет по выполнению каждого задания должен состоять из условия задачи и 
отлаженной программы. 
Жду отчетов по индивидуальному заданию!  
 

2. 

Обработка данных сложной структуры, хранящихся в файлах 

1.  Расписание  экзаменов  содержит  следующие  данные:  номер  студенческой 

группы,  дату  и  время  экзамена,  номер  аудитории,  название  предмета  и 
фамилию  преподавателя.  Найти  число  дней  занятости  некоторого 
преподавателя. 

2.  Сведения об автомобиле состоят из его марки, номера, фамилии владельца и 

отметки  о  прохождении  технического  осмотра.  Вывести  сведения  об 
автомобилях некоторого автовладельца. 


background image

 

3.  В  расписании  поездов  указано:  номер  поезда,  пункты  отправления  и 

назначения, время отправления, время в пути. Вывести сведения о поездах, 
следующих из Москвы в Санкт-Петербург. 

4.  В  анкетах  сотрудников  учреждения  имеются  следующие  сведения: 

фамилия, имя, отчество, должность (мастер, инженер, рабочий и т.п.), стаж, 
образование. Вывести сведения об инженерах. 

5.  В  сведениях  об  игрушках  указываются  название  (мяч,  конструктор  и т. п.), 

цена,  рекомендуемый  возраст  ребенка  (например,  от  двух  до  пяти  лет). 
Вывести сведения об игрушках-конструкторах. 

6.  Имеются  следующие  сведения  о  книгах:  фамилия  и  инициалы  автора, 

название,  год  издания,  цена.  Вывести  сведения  о  всех  книгах,  в  названии 
которых содержится слово "информатика", а также число таких книг. 

7.  Сведения  состоят  из  фамилий  сотрудников  и  их  телефонов.  Вывести 

фамилии сотрудников, номера телефонов которых начинаются с цифр 361, 
362 или 273.  

8.  Имеются  сведения  о  химических  веществах:  название,  удельная  масса, 

проводимость  (проводник,  полупроводник,  изолятор).  Вывести  названия 
полупроводников. 

9.  Сведения  о  компьютерах  некоторого  учреждения  состоят  из  марки 

компьютера,  даты  приобретения,  номера  комнаты,  где  находится 
компьютер,  и  фамилии  ответственного  лица.  Вывести  сведения  о 
компьютерах заданной марки. 

10.  Сведения  о  заказе  состоят  из  адреса  (улица,  дом,  квартира)  и  даты  (число, 

месяц, год) исполнения. Вывести сведения о заказах, которые должны быть 
выполнены  на Московской улице, и их количество. 

11.  Багаж  авиапассажира  описывается  фамилией  пассажира,  номером  рейса, 

датой  вылета,  количеством  и  общей  массой  вещей.  Вывести  фамилии 
пассажиров,  багаж  которых  состоит  из  одной  вещи  массой  более  30  кг,  и 
найти среднюю массу багажа всех пассажиров. 

12.  Сведения  об  изделиях,  хранящихся  на  складе,  состоят  из  порядкового 

номера,  наименования  и  количества.  Сделан  заказ  на  некоторые  изделия  с 
указанием их наименования и количества. Вывести сведения об изделиях, по 
которым  невозможно  выполнение  заказа  (изделие  отсутствует  или 
заказанное количество больше имеющегося на складе). 

13.  Имеются сведения об экспортируемых товарах: наименование, страна, куда 

производится  экспорт,  срок  поставки,  количество  и  стоимость  товара. 
Вывести страны, в которые должен быть поставлен данный товар до 1 мая, и 
общую стоимость указанных поставок. 

14.  Сведения  о  заказах  некоторого  предприятия  бытового  обслуживания 

состоят  из  номера  заказа,  даты  (число,  месяц,  год)  его  исполнения  и 
стоимости. Вывести все весенние заказы и их суммарную стоимость. 


background image

 

15.  Некоторое  обслуживающее  предприятие  хранит  сведения  о  заказах: 

наименование  заказа  и  время  (часы,  минуты,  секунды)  его  поступления. 
Вывести заказы, которые произошли с 15 ч 10 мин 35 с до 18 ч 50 мин 10 с, 
и их число. 

16.  Сведения  о  горных  вершинах  состоят  из  следующих  данных:  название, 

координаты  (широта,  долгота),  высота  (в  метрах  над  уровнем  моря). 
Вывести  сведения  о  вершинах  с  высотой  более  3000 м,  расположенных  в 
Южном полушарии, и их максимальную высоту. 

17.  По  некоторой  группе  людей  собраны  следующие  медицинские  данные: 

возраст,  пол,  рост,  вес,  температура,  артериальное  давление  (два  числа: 
верхнее и нижнее давление). Вывести сведения о мужчинах моложе 25 лет, 
имеющих  верхнее  артериальное  давление  выше  140,  и  их  минимальный 
возраст. 

18.  О детях, поступающих в спортивную  секцию, собраны следующие данные: 

фамилия, имя, год рождения, вес, рост. Вывести сведения о детях от 10 до 
12  лет,  рост  которых  не  менее  155 см,  а  также  их  минимальный  и 
максимальный вес. 

19.  Автоматизированная  записная  книжка  содержит  следующую  информацию: 

фамилия, имя, отчество, адрес (город, улица, дом, квартира), телефон (если 
есть). Вывести фамилии и телефоны всех лиц, проживающих в г. Саратове 
на улице Солнечной. Определить их число. 

20.  Имеются  сведения  о  районных  библиотеках  города:  номер,    тип  (детская, 

взрослая),  район,  адрес,  часы  работы.  Вывести  адреса  и  часы  работы  всех 
детских библиотек данного района. Определить их количество. 

21.  Сведения  о  магазинах  города  состоят  из  названия,  района,  адреса,  часов 

работы.  Вывести  сведения  о  книжных  магазинах  данного  района,  ра-
ботающих после 18 ч, и количество таких магазинов. 

22.  Имеются  следующие  данные  о  товарах  обувного  магазина:  наименование 

(ботинки,  сапоги,  босоножки  и  т.  п.),  тип  (мужская,  женская  или  детская 
обувь), сезон, цвет, размеры, стоимость. Вывести сведения о  летней детской 
обуви и ее среднюю стоимость. 

23.  Имеются  сведения  о  кошках,  участвующих  в  конкурсе:  порода,  кличка, 

окрас,  возраст,  родители,  фамилия  хозяина,  место  в  конкурсе.  Вывести 
сведения  о  кошках  сиамской  породы,  вошедших  в  призовую  десятку. 
Вычислить средний возраст этих кошек. 

24.  Сведения  о  маршрутах  городских  автобусов  содержат:    номер  маршрута, 

начальный  пункт,  конечный  пункт,  описание  маршрута  (промежуточные 
остановки),  среднее  время  движения  по  маршруту,  интервал  в  часы  пик. 
Вывести номера маршрутов с заданным конечным пунктом и интервалом в 
часы пик, меньшим 10 мин. Также определить количество таких маршрутов. 

25.  Имеются  сведения  о  пациентах  поликлиники:  фамилия,  имя,  отчество,  год 

рождения,  адрес,  основное  заболевание,  дата  последнего  посещения 


background image

 

лечащего  врача.  Определить  количество  больных  диабетом  и  вывести 
сведения  о  больных  диабетом,  не  посещавших  лечащего  врача  более  трех 
месяцев. 

26.  Имеются  сведения    о  прохождении  детьми  прививок:    фамилия,  имя,  год 

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

27.  Сведения  о  товарах  магазина  одежды:  наименование    (костюм,  пальто  и  т. 

п.),  размер,  рост,  цвет,  номер  модели,  цена.  Вывести  сведения  о  костюмах 
больших  размеров  (начиная  с  52-го)  и  определить  их  минимальную  и 
максимальную цену. 

28.  Имеются  сведения  о  выпускниках  учебного  заведения:  фамилия,  имя, 

отчество, год поступления, год окончания, специальность, отметка о работе 
по специальности. Определить число лиц, окончивших учебное заведение в 
течение  последних  трех  лет  и  не  работающих  по  специальности.  Вывести 
сведения о них. 

29.  Имеются  сведения  о  программных  продуктах:  наименование,  автор  (или 

коллектив  авторов),  версия,  год  создания,  модель  ЭВМ.  Вывести  сведения 
об  автоматизированных  обучающих  системах  для заданной  модели  ЭВМ. 
Определить, сколько их. 

30.  О  каждой  книге  имеются  следующие  сведения:  фамилия  и    инициалы 

автора,  название,  год  издания  и  число  запросов  за  последние  три  года. 
Вывести фамилии авторов и названия книг, изданных до 2010 г., по которым 
нет запросов. Определить число таких книг.