- •«Утверждаю»
- •Учебно-методический комплекс
- •Астана 2010 График выполнения и сдачи заданий по дисциплине
- •Карта учебно-методической обеспеченности дисциплины Учебники, учебные пособия
- •Конспект лекционных занятий
- •Тема 1. Введение в программирование на Си. Структура программы. Директивы препроцессора. Типы данных.
- •Основные операции в языке Си.
- •Преобразование типов
- •Тема 2. Управляющие структуры. Выбор вариантов. Структура выбора If, If – Else, логические операции, операция условия, множественный выбор.
- •Тема 3. Управляющие структуры. Структуры повторения While, do – While, For. Управляющие операторы break и continue.
- •Тема 4. Массивы. Разработка программ с использованием одномерных и двумерных массивов.
- •Тема 5. Функции в Си. Создание и использование функций.
- •Тема 6. Классы памяти и разработка программ.
- •Тема 7. Указатели в Си.
- •Тема 8. Использование указателей при обработке одномерных и двумерных массивов.
- •Тема 9. Символы и строки в Си.
- •Функции сравнения из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 6.
- •Функции поиска из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 7.
- •Другие функции из библиотеки обработки строк. В таблице 8 приведены прототипы и краткое описание остальных функций из библиотеки обработки строк.
- •Ниже приведены примеры программы, использующих функции работы со троками.
- •Тема 11. Структуры данных в Си.
- •Тема 12. Динамические структуры данных.
- •Тема 13. Работа с файлами в Си.
- •Тема 14. Графика в Си.
- •Тема 15. Объектно-ориентированное программирование.
- •Методические рекомендации по выполнению лабораторных заданий
- •Лабораторная работа № 3. Использование операторов цикла при решении задач.
- •Лабораторная работа №4. Разработка программ с использованием одномерных массивов.
- •Лабораторная работа №5. Разработка программ с использованием двумерных массивов.
- •Лабораторная работа № 6. Программирование задач с использованием нескольких функций на языке Си.
- •Лабораторная работа № 8. Программирование задач обработки структур данных.
- •Лабораторная работа № 9. Разработка программ с использованием файловых переменных.
- •Лабораторная работа № 10. Разработка программ с использованием графических функций языка Си.
- •Содержание отчета по выполнению лабораторной работы
- •1 Задание
- •Тема 1. Запись констант, стандартных функций, выражений, операторов присваивания. Запись программ линейных структур алгоритмов.
- •Тема 2. Алгоритмическое описание, запись программ линейных, разветвляющихся.
- •Тема 3. Алгоритмическое описание, запись программ циклических структур алгоритмов.
- •Тема 4. Алгоритмическое описание, составление программ обработки одномерного массива.
- •Тема 5. Алгоритмическое описание, составление программ обработки двумерного массива.
- •Тема 6-7. Составление программ решения задач с использованием функции.
- •Рекомендуемая литература:
- •Тема 8-9. Составление программ решения задач обработки массивов с использованием указателей.
- •Тема 10-11. Программирование задач обработки символьных и стрковых данных.
- •Рекомендуемая литература.
- •Тема 12. Методы сортировки.
- •Тема 13. Составление программ решения задач с использованием структур данных.
- •Тема 14. Составление программ решения задач с использованием файла произвольного доступа.
- •Рекомендуемая литература.
- •Тема 15. Алгоритмизация графических построений.
- •Варианты заданий:
- •Сведения
- •Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
Лабораторная работа № 9. Разработка программ с использованием файловых переменных.
Цель лабораторной работы: Получить навыки разработки программ с использованием файловых переменных на языке программирования Си.
Задания к лабораторной работе № 9.
1. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого отдельного пассажира представляет собой соответствующую пару чисел.
а) Найти багаж, средний вес одной вещи в котором отличается не более чем на 0,3 кг от общего среднего веса вещи.
б) Найти число пассажиров, имеющих более двух вещей, и число пассажиров, количество вещей превосходит среднее число вещей.
в) Определить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг.
г) Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу.
д) Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи весом не более 30 кг.
е) Дать сведения о багаже, число вещей в котором не меньше, чем в любом другом багаже, а вес вещей не больше, чем в любом другом багаже с этим же числом вещей.
2. Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий информацию сведения об учениках школы.
а) Выяснить, имеются ли в школе однофамильцы.
б) Выяснить, имеются ли однофамильцы в каких-нибудь параллельных классах.
в) Выяснить, имеются однофамильцы в каком-нибудь классе.
г) Ответить на вопросы а)-в), но в отношении учеников, у которых совпадают и имя, и фамилия.
3. Дан файл f, содержащий те же самые сведения об учениках школы, что и в предыдущей задаче, и дополнительно отметки, полученные учениками в последней четверти.
а) Выяснить, сколько учеников школы не имеют отметки ниже четырех.
б) Собрать в файле g сведения о лучших учениках школы, т.е. об учениках, не имеющих отметок ниже четырех и по сумме баллов не уступающих другим ученикам своего и параллельного классов.
4. Сведения об автомобиле состоят из его марки, цвета, года выпуска, номера и фамилии владельца. Дан файл f, содержащий сведения о нескольких автомобилях. Найти:
а) фамилии владельцев и номера автомобилей данной марки;
б) количество автомобилей данной марки;
в) марки автомобилей с годом выпуска не позже 1990 года;
г) фамилии владельцев и номера автомобилей данного цвета.
5. Дан файл f, содержащий различные даты. Каждая дата - это число, месяц и год. Найти: а) год с наименьшим номером;
б) все весенние даты;
в) все осенние даты;
г) самую позднюю дату.
6. Дан файл f, содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название и год издания.
а) Найти названия книг данного автора, изданных с 1960 года.
б) Определить, имеется ли книга с названием «Информатика». Если да, то сообщить имеющиеся сведения обо всех этих книгах.
7. Дан файл f, который содержит номера телефонов сотрудников учреждения: указывается фамилия сотрудника, его инициалы и номер телефона. Найти телефон сотрудника по его фамилии и инициалам.
8. Дан файл f, содержащий сведения о кубиках: размер каждого кубика (длина ребра в сантиметрах), его цвет (красный, желтый, зеленый или синий) и материал (деревянный, металлический, картонный). Найти:
а) количество кубиков каждого из перечисленных цветов и их суммарный объем;
б) количество деревянных кубиков с ребром 3 см и количество металлических кубиков с ребром, большим 5 см.
9. Дан файл f, содержащий сведения о веществах: указывается название вещества, его удельный вес и проводимость (проводник, полупроводник, изолятор).
а) Найти удельные веса и названия всех полупроводников.
б) Выбрать данные о проводниках и упорядочить их по убыванию удельных весов..
10. Дан файл f, содержащий сведения об экспортируемых товарах: указывается наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках. Найти страны, в которые экспортируется данный товар, и общий объем его экспорта.
11. Дан файл f, содержащий сведения об игрушках: указывается название игрушки (например, кукла, кубики, мяч и т.д.), ее стоимость в тенге и возрастные границы детей, для которых игрушка предназначена (например, для детей от двух до пяти лет). Получить следующие сведения:
а) названия игрушек, цена которых не превышает 1000 тенге и которые подходят детям 5 лет;
б) названия наиболее дорогих игрушек;
в) названия наиболее игрушек, которые подходят как детям 4 лет, так и детям 10 лет;
г) имеется ли мяч ценой 350 тенге, предназначенный детям от 3 до 8 лет?; если нет, занести сведения об этой игрушке в файл.
д) цену самого дорогого конструктора, оформленную по образцу ... тенге ... тиын.;
е) можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку 3 лет, и дополнительно мяч так чтобы суммарная стоимость игрушек не превосходил 5 тенге?
12. Дан файл f, компоненты которого являются действительными числами. Найти сумму компонент файлаf.
13. Дан файл f, компоненты которого являются действительными числами. Найти наименьшее из значений компонент с четными номерами.
14. Дан файл f, компоненты которого являются действительными числами. Найти разность первой и последней компонент файла.
15. Дан символьный файл f. В файлеfне менее двух компонент. Определить, являются ли два первых символа файла цифрами. Если да, то установить, является ли число, образованное этими цифрами, четным.
16. Дан файл f, компоненты которого являются целыми числами. Записать в файлg все четные числа файлаf, а в файлh– все нечетные. Порядок следования чисел сохраняется.
17. Дан символьный файл f. Записать в файлgкомпоненты файлаfв обратном порядке.
18. Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файлfсодержит столько же отрицательных чисел, сколько и положительных. Используя вспомогательный файлh, переписать компоненты файлаfв файлgтак, чтобы в файлеg не было двух соседних чисел с одним знаком;
19. Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файлfсодержит столько же отрицательных чисел, сколько и положительных. Используя вспомогательный файлh, переписать компоненты файлаfв файлgтак, чтобы в файлеg сначала шли положительные, потом отрицательные числа.
20. Дан файл f, компоненты которого являются целыми числами. Записать в файлgнаибольшее значение первых ста компонент файлаf, затем – следующих ста компонент и т. д. Если в последней группе окажется менее ста компонент, то последняя компонента файлаgдолжна быть равной наибольшей из компонент файлаf, образующих последнюю (неполную) группу.
21. Даны символьные файлы fиg. Определить, совпадают ли компоненты файлаfс компонентами файлаg. Если нет, то получить номер первой компоненты, в которой файлыfиgотличаются между собой. В случае, когда один из файлов имеетnкомпонент (n≥ 0) и повторяет начало другого (более длинного) файла, ответом должно быть числоn+ 1.
22. Дан символьный файл f. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в файлg.
23. Дан символьный файл f, содержащий сведения о сотрудниках учреждения, записанные по следующему образцу: фамилия _ имя _ отчество, фамилия _ имя _ отчество, . . . Записать эти сведения в файлеg, используя образец имя _ отчество _ фамилия, имя _ отчество _ фамилия, . . ..
24. Дан символьный файл f, содержащий сведения о сотрудниках учреждения, записанные по следующему образцу: фамилия _ имя _ отчество, фамилия _ имя _ отчество, . . . Записать эти сведения в файлеg, используя образец б) фамилия _ и.o., фамилия _ и.о., . . .
25. Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий сведения об учениках школы. Собрать в файлеgсведения об учениках 9-х и 10-х классов, поместив вначале сведения об учениках класса 9а, затем 9б и т. д., затем 10а, 106 и т. д.