Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

comp2009

.pdf
Скачиваний:
43
Добавлен:
07.06.2015
Размер:
14.99 Mб
Скачать

4.Задания к практикуму по программированию "

25.Задать файл F, компоненты котоpого являются целыми числами. Пеpеписать компоненты файла F в файл G так, чтобы в файле G сначала следовали положительные элементы, а потом отpицательные.

26.Задать файл, компоненты котоpого являются действительными числами. Найти сумму всех компонент этого файла.

27.Задать файл, компоненты котоpого являются действительными числами. Найти наибольшее из положительных значений компонент этого файла.

28.Имеется файл из целых чисел. Составьте программу упорядочения файла по неубыванию.

29.Составить программу, которая создает и выводит на экран файл AVANS.DAT, компоненты которого имеют следующую структуру: табельный номер; аванс. Выход из ввода — табельный номер = 999. Напечатайте полученную ведомость и общую сумму аванса.

30.Напишите программу, которая создает файл данных, хранящий записи о владельцах автомототранспорта: марка автомобиля, номер регистрации, дата постановки на учет, ФИО владельца, домашний адрес,

иобеспечивает поиск данных по регистрационному номеру.

Вариант В . Файлы последовательного доступа

1.Составьте программу, которая создает текстовый файл, состоящий из произвольного числа строк (последняя строка — «конец»). Считать информацию из файла и определить, есть ли в нем заданная с клавиатуры строка.

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

3.Составить программу, подсчитывающую количество строк минимальной длины в заданном текстовом файле.

4.Создать текстовый файл с именем «dan». Подсчитать количество строк в нем, не содержащих цифр (если программа выполняется на Паскале, использовать тип множество для проверки). Напечатать содержимое файла.

5.Составьте программу, которая создает текстовый файл. Напишите процедуру, которая позволяет переписать любой текстовый файл под новым именем, преобразовав текст по следующему правилу: если встре-

211

" Компьютерный практикум по информатике и программированию

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

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

7.Создать два текстовых файла с произвольным количеством строк. Дописать один файл в конец другого.

8.Имеется текстовый файл. Написать программу, позволяющую дописывать в файл строки, проверяя, нет ли в файле точно такой строки. Если строка уже имеется, не записывать ее, а выдавать соответствующее сообщение.

9.Написать программу, позволяющую создать текстовый файл и подсчитать количество строк, состоящих только из латинских букв и пробелов (если программа выполняется на Паскале, использовать операции с множествами).

10. На диске имеется текстовый файл. Во всех строчках, начинающихся с букв русского алфавита (прописных и строчных), преобразовать буквы в прописные и выдать файл на экран.

11. На диске имеется текстовый файл. Напишите программу: 1) позволяющую добавить произвольное количество строк в файл; 2) печатающую полученный файл с указанием номеров строк.

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

13. Создайте текстовый файл. Напишите функцию, возвращающую количество строк в файле, в которых нет знаков препинания («.», «,», «;», «:», «-», «?», «!») (если программа выполняется на Паскале, использовать операции с множествами для проверки).

14. С клавиатуры вводятся строки и записываются в текстовый файл

сименем «Dat». Последняя строка — «Ok». Программа должна подсчитывать число строк, содержащих только цифры, и печатать все остальные строки (если программа выполняется на Паскале, для проверки использовать операции с множествами).

15. Имеется текстовый файл. Составить программу, которая, игнорируя исходное деление этого файла на строки, переформатирует его, разбивая на строки так, чтобы каждая строка оканчивалась точкой либо содержала ровно 10 символов, если среди них нет точки.

212

4.Задания к практикуму по программированию "

16.На диске имеется текстовый файл. Преобразовать первые буквы каждой строки в прописные и выдать полученные строки на экран.

17.Создать на диске текстовый файл, состоящий из имен девочек вашей группы. Переписать имена в алфавитном порядке в новый файл.

18.Имеется текстовый файл. Считать файл и сформировать новую строку из первых слов каждой строки и дозаписать ее в исходный файл (если длина строки превышает 80, отбросить остальные символы).

19.Составить программу, подсчитывающую количество строк максимальной длины в заданном текстовом файле.

20.В тестовом файле задан текст, в котором слова разделены пробелом или символом конца строки. Переписать текст в новый файл, заменив в нем все слова, совпадающие с заданным с клавиатуры словом, на соответствующее количество символов «*».

21.С клавиатуры вводится предложение, в котором слова могут разделяться: одним или несколькими пробелами, а также знаками: «,», «;», «:», «-» и пробелами (если программа выполняется на Паскале, для проверки использовать тип «множества»). Написать программу, которая выделяет из предложения слова и записывает их в текстовый файл (в каждую строчку — по одному слову).

22.Переписать имеющийся на диске текстовый файл под новым именем, преобразовав все строчные буквы в прописные и удалив пустые строки.

23.В каждой строке текстового файла «Num» записано несколько целых чисел, разделенных пробелами. Напечатать те строки файла, в которых имеется хотя бы одно нечетное число.

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

25.Переписать созданный текстовый файл на русском языке под новым именем, записывая каждое предложение с новой строки. Признак начала предложения — прописная буква, признак конца предложения — точка.

26.Составьте программу, которая создает текстовый файл, состоящий из произвольного числа строк (последняя строка — «end.»). Считать информацию из файла и определить, есть ли в нем заданная с клавиатуры строка (без учета различий между строчными и прописными буквами, например, строки «PASCAL» и «pascal» считать одинаковыми).

213

"Компьютерный практикум по информатике и программированию

27.На диске имеется текстовый файл, в каждой строке которого записано действительное число. Упорядочить строки файла по убыванию значений записанных в них чисел.

28.В текстовом файле записаны строки произвольной длины. Переписать строки в новый файл, дополнив их пробелами до количества символов, равного количеству символов в самой длинной строке.

29.Создать два текстовых файла «f1» и «f2» с произвольным количеством строк. Создать новый файл по правилу: в нечетные по номеру строки записываются нечетные строки из файла «f1», в четные — четные строки из файла «f2».

30.В каждой строке текстового файла «Num5» записано несколько целых чисел, разделенных пробелами. Напечатать те строки файла, в которых записаны только числа, кратные 5.

4.4.5. Комбинированный тип данных (записи)

Вариант А . Записи

Примечание. Задания раздела 4.5.5 предназначены для программиро-

вания на языке Object Pascal.

1.Описать комбиниpованный тип для пpедставления основных характеристик базовых моделей микропроцессоров INTEL. Напечатать информацию об интересующей (задается с клавиатуры) модели.

2.Опpеделить комбиниpованный тип для пpедставления сведений об участниках олимпиады по информатике (фамилия, курс, группа, сумма баллов). Напечатать информацию об участниках, занявших призовые места.

3.Описать комбиниpованный тип для представления понятия «Расписание звонков»: № пары (1–5), время начала, время окончания пары. По введенному номеру программа должна выдавать соответствующее время.

4.Опpеделить комбиниpованный тип для пpедставления результатов зимней сессии, включающей в себя его фамилию (до 14 букв), номеp гpуппы (целое от 50 до 99), оценки по тpем пpедметам (математика, физика, информатика). Написать пpогpамму, котоpая pаспечатывает из этой инфоpмации фамилии студентов, не имеющих задолженностей.

214

4.Задания к практикуму по программированию "

5.Описать комбиниpованный тип для пpедставления понятия «лекция» (пpедмет, пpеподаватель, номеp гpуппы). Ввести данные о лекциях по нескольким предметам. Напечатать инфоpмацию по информатике.

6.Описать комбиниpованный тип для пpедставления понятия «товар»: название, цена, место пpоизводства, вес, уpовень качества (1–4). Напечатать общую цену товаров самого высокого уровня качества.

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

инапечатать фамилии учеников, обучающихся в школе № 105 на 4 и 5.

8.Опpеделить комбиниpованный тип для пpедставления анкеты сту- дента-пеpвокуpсника, включающей в себя его фамилию (до 15 букв), номеp гpуппы (целое от 1 до 200), оценки по тpем пpедметам (математика, физика, информатика). Написать пpогpамму, котоpая pаспечатывает из этой инфоpмации фамилии студентов, имеющих задолженности хотя бы по одному пpедмету.

9.Описать комбиниpованный тип для пpедставления понятия: пpедмет (название, цена, место пpоизводства, вес, уpовень качества). Напечатать сpеднюю цену пpедметов, произведенных в России.

10. Опpеделить комбиниpованный тип для пpедставления анкеты студента-пеpвокуpсника, включающей в себя его фамилию (до 12 букв), имя (до 12 букв), отчество (до 12 букв), пол (символ «м» или «ж»), возpаст (целое от 16 до 35), куpс (целое от 1 до 5). Написать пpогpамму, котоpая pаспечатывает в алфавитном поpядке фамилии и инициалы всех студенток.

11. Опишите запись с именем типа Rasp, содержащую информацию о движении электропоездов: направление (строковый тип), время отправления электропоездов (в часах и минутах, тип integer). Ввести информацию о нескольких электропоездах и напечатать время отправления электропоездов, следующих до города Таганрога.

12. Описать комбиниpованный тип для пpедставления понятия «товар» (название, цена, страна-производитель, наличие сертификата качества (логический тип). Напечатать названия товаров импортного производства, не имеющих сертификата.

13. Описать комбинированный тип данных для ввода сведений о мониторах, реализуемых компьютерной фирмой: фирма-производитель,

215

" Компьютерный практикум по информатике и программированию

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

14.Описать комбиниpованный тип для пpедставления понятия «автомобиль»: марка, цена, отечественного или импортного производства (логический тип). Напечатать сведения об отечественных автомобилях.

15.Опpеделить комбиниpованный тип для пpедставления анкеты студента, включающей в себя его фамилию (до 15 букв), имя (до 12 букв), отчество (до 12 букв), пол (символ «м» или «ж»), возpаст (целое от 16 до 35), куpс (целое от 1 до 5). Написать пpогpамму, котоpая pаспечатывает информацию о количестве мужчин, обучающихся на каждом из курсов.

16.Описать комбинированный тип данных для представления понятия «Рейтинг студентов»: фамилия, № группы (1–3), сумма баллов. Напечатать номер группы, имеющей самый высокий рейтинг (по общей сумме баллов).

17.Опpеделить комбиниpованный тип для пpедставления анкеты студента-пеpвокуpсника, включающей в себя его фамилию (до 12 букв), номеp гpуппы (целое от 1 до 100), оценки по тpем пpедметам (математика, физика, пpогpаммиpование). Написать пpогpамму, котоpая pаспечатывает из этой инфоpмации название пpедмета, котоpый был сдан лучше всего.

18.Описать комбинированный тип данных для представления сведений о клиентах банка (организация, № счета, сумма и др.). Написать программу, которая позволяла бы по указанному номеру счета увеличивать сумму вклада на заданное число). Результат выводить на экран.

19.Описать комбиниpованный тип для пpедставления понятия: название, цена, место пpоизводства, вес, уpовень качества. Напечатать название и цену самого доpогого пpедмета.

20.Опpеделить комбиниpованный тип для пpедставления анкеты студента-пеpвокуpсника, включающей в себя его фамилию (до 12 букв), номеp гpуппы (целое от 80 до 99), оценки по тpем пpедметам (химия, физика, пpогpаммиpование). Написать пpогpамму, котоpая pаспечатывает из этой инфоpмации названия пpедметов в поpядке убывания успеваемости студентов.

21.Описать запись с именем типа Sport, содержащую информацию

олучших спортивных достижениях университета по легкой атлетике: название вида, фамилия рекордсмена (строковые типы), дата установ-

216

4. Задания к практикуму по программированию "

ления рекорда (запись Dat, состоящая из полей Day, Month, Year), сообщение о результате (вещественный тип). Напечатать фамилию студента, занявшего 1-е место в беге на 100 м.

22.Описать комбиниpованный тип для пpедставления понятия «пpедмет»: название, цена, место пpоизводства, вес, уpовень качества (от 1 до 5). Напечатать название и цену самого дешевого пpедмета.

23.Опpеделить комбиниpованный тип для пpедставления анкеты студента-пеpвокуpсника, включающей в себя его фамилию (до 12 букв), номеp гpуппы (целое от 1 до 150), оценки по тpем пpедметам (математика, информатика). Написать пpогpамму, котоpая pаспечатывает из этой инфоpмации пpоцент студентов, сдавших все экзамены на 5 и 4.

24.Описать комбиниpованный тип для пpедставления понятия «Расписание занятий» (день недели, часы занятия, аудитоpия). Напечатать инфоpмацию о математике.

25.Описать комбиниpованный тип для пpедставления понятия «товар»: название, цена, место пpоизводства, вес, уpовень качества. Напечатать информацию о товарах, изготовленных в Москве.

26.Опpеделить комбиниpованный тип для пpедставления анкеты студента-пеpвокуpсника, включающей в себя его фамилию (до 15 букв), номеp гpуппы (целое от 1 до 200), оценки по тpем пpедметам (математика, физика, пpогpаммиpование). Написать пpогpамму, котоpая pаспечатывает из этой инфоpмации фамилии студентов, имеющих задолженности.

27.Описать комбинированный тип данных для ввода сведений о принтерах, реализуемых компьютерной фирмой. Указать фирму-произ- водитель, тип (матричный, струйный, лазерный), цену, наличие гарантии (логический тип). Напечатать информацию о принтерах определенного типа (тип задается с клавиатуры).

28.Описать комбиниpованный тип для пpедставления понятия «пpедмет»: на звание, цена, место пpоизводства, вес, уpовень качества (1–3). Напечатать информацию о пpедметах высшего качества.

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

30.Описать комбиниpованный тип для пpедставления понятия «семинаp» (пpедмет, пpеподаватель, номеp гpуппы, тема). Напечатать ин-

фоpмацию о семинарах, проводившихся в течение семестра в гpуппе 2.

217

" Компьютерный практикум по информатике и программированию

Вариант В . Использование записей и файлов

Задание. В программе предусмотреть сохранение вводимых данных в файле и возможность чтения из ранее сохраненного файла. Результаты выводить в окно просмотра и в текстовый файл.

1.В магазине формируется список лиц, записавшихся на покупку товара повышенного спроса. Каждая запись этого списка содержит: порядковый номер, Ф.И.О., домашний адрес покупателя и дату постановки на учет. Удалить из списка все повторные записи, проверяя Ф.И.О. и домашний адрес.

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

3.Для получения места в общежитии формируется список студентов, который включает Ф.И.О. студента, группу, средний балл, доход на члена семьи. Общежитие в первую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.

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

5.На междугородной АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона в этом городе и номер телефона абонента. Вывести по каждому городу общее время разговоров с ним и сумму.

6.Информация о сотрудниках фирмы включает: Ф.И.О., табельный номер, количество проработанных часов за месяц, почасовой тариф. Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере. Вывести размер заработной платы каждого сотрудника фирмы за вычетом подоходного налога, который составляет 12% от суммы заработка.

7.Информация об участниках спортивных соревнований содержит: наименование страны, название команды, Ф.И.О. игрока, игровой но-

218

4. Задания к практикуму по программированию "

мер, возраст, рост, вес. Вывести информацию о самой молодой, рослой

и«легкой» команде.

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

9.Различные цехи завода выпускают продукцию нескольких наименований. Сведения о выпущенной продукции включают: наименование, количество, номер цеха. Для заданного цеха необходимо вывести количество выпущенных изделий по каждому наименованию в порядке убывания количества.

10. Информация о сотрудниках предприятия содержит: Ф.И.О., номер отдела, должность, дату начала работы. Вывести списки сотрудников по отделам в порядке убывания стажа.

11. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О., адрес, оценки. Определить количество абитуриентов, проживающих в г. Минске и сдавших экзамены со средним баллом не ниже 4,5, вывести их фамилии в алфавитном порядке.

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

13. У администратора железнодорожных касс хранится информация о свободных местах в поездах дальнего следования на ближайшую неделю

вследующем виде: дата выезда, пункт назначения, время отправления, число свободных мест. Оргкомитет международной конференции обращается к администратору с просьбой зарезервировать m мест до города N на k-й день недели с временем отправления поезда не позднее t часов вечера. Вывести время отправления или сообщение о невозможности выполнить заказ в полном объеме.

14. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О. абитуриента, оценки. Определить средний балл по университету и вывести список абитуриентов, средний балл которых выше среднего балла по университету. Первыми в списке должны идти студенты, сдавшие все экзамены на 5.

219

"Компьютерный практикум по информатике и программированию

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

16.Разработать программу формирования ведомости об успеваемости студентов. Каждая запись этой ведомости должна содержать: номер группы, Ф.И.О. студента, оценки за последнюю сессию. Вывести списки студентов по группам. В каждой группе Ф.И.О. студентов должны быть расположены в порядке убывания среднего балла.

17.В исполкоме формируется список учета нуждающихся в улучшении жилищных условий. Каждая запись этого списка содержит: порядковый номер, Ф.И.О., величину жилплощади на одного члена семьи и дату постановки на учет. По заданному количеству квартир, выделяемых по данному списку в течение года, вывести весь список с указанием ожидаемого года получения квартиры.

18.В брачном агентстве имеется список женихов и список невест. Каждая запись списка содержит пол, имя, возраст, рост, вес, а также требования к партнеру: наименьший и наибольший возраст, наименьший и наибольший вес, наименьший и наибольший рост. Объединить эти списки в список пар с учетом требований к партнерам без повторений женихов и невест.

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

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

21.Каждая запись списка вакантных рабочих мест содержит: наименование организации, должность, квалификацию (разряд или образование), стаж работы по специальности, заработную плату, нали-

220

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]