Главная » Просмотр файлов » Методические указания ЛР10_2014

Методические указания ЛР10_2014 (1079947)

Файл №1079947 Методические указания ЛР10_2014 (Методические указания к лабораторным работам)Методические указания ЛР10_2014 (1079947)2018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

31


Методические указания к лабораторной работе № 10

(КЛР/ДЗ) по курсу

Основы программирования (СУЦ)

" Структуры, указатели, файлы, массивы, алгоритмы и списки"

Москва, МГТУ - 2014 год

_____________________________________________________________________________

СОДЕРЖАНИЕ

1. Цель ЛР №10 3

2. Требования к заданию на ЛР №10 3

3. Особенности описания разделения заданий по уровням ЛР №10 (КЛР/ДЗ) 3

4. Функции и структуры в домашнем задании 3

5. Варианты для выполнения ЛР 4

6. Порядок выполнения работы (Уровень А и В) 5

7. Дополнительные требования для сильных студентов (Уровень С): 7

8. Требование к отчету по ЛР 8

9. Контрольные вопросы к ДЗ/КЛР 8

10. Литература. 9

11. Приложения 11

11.1. Главный модуль File_P3.cpp 11

11.2. Заголовочный файл проекта File_P3.h 20

11.3. Результаты работы примера (текст) 28

11.4. Шаблон отчета по ЛР10 32

1 Цель ЛР №10

Комплексная лабораторная работа/Домашнее задание (КЛР/ДЗ) № 10 выполняется для получения навыков совместного использования знаний по отдельным приемам программирования, изучаемым в курсе основы программирования, после выполнения комплекса отдельных лабораторных работ дисциплины “Основы программирования”.

В предыдущих работах студенты изучают следующие темы: операторы, структуры, указатели, строки, файлы, массивы, алгоритмы и списки. Студенты создают файл своих структурных переменных (набор записей) и комплекс специальных функций-операций для работы с этим файлом и этими записями. Предусматриваются важные операции с файлом: запись файла, его распечатки, его сортировки, доступа к записям в файле, изменение записей, поиск записей и перезапись его в массив записей и обратно. Фактически, на уровне файлов, студенты осваивают работу с прообразом однотабличной базой данных (БД), что в дальнейшем поможет более глубоко понять функционирование сложных систем управления базами и банками данных (СУБД).

2 Требования к заданию на ЛР №10

Данное задание на ЛР может быть выполнено на трех уровнях сложности, в зависимости от выбора студента и его уровня подготовленности. Это следующие уровни:

- базовый уровень (уровень А),

- продвинутый уровень (уровень В),

- уровень для сильных студентов (уровень С).

Пункты задания выделены цветом, соответствующим выбранному уровню. В дальнейшем, конкретизирую требования на ЛР, мы будем использовать эти цвета для привязки к одному из уровней задания. Проще - цвет пункта задания определяет его уровень сложности. Студент может и частично использовать пункты задания из разных уровней, однако базовый уровень является обязательным.

Примечание 1. Данную лабораторную работу (№ 10) мы будем также именовать комплексной лабораторной работой (КЛР) либо домашним заданием (ДЗ), так как в отдельных учебных планах на семестр иногда появляется такая позиция. В общем возможен и комбинированный вариант КЛР/ДЗ.

3 Особенности описания разделения заданий по уровням ЛР №10 (КЛР/ДЗ)

Описание шагов выполнения КЛР/ДЗ и требований к ней намеренно предлагается в двух вариантах: вариант (№1), в котором примеры располагаются отдельно от текста и вариант (№2), в котором примеры и решения вставлены в текст методических указаний. На сайте для работы студентам доступны оба варианта. Если студент стремится и способен получить максимальный уровень знаний (даже более чем по плану) он должен попробовать использовать первый вариант методических указаний и обращаться к подсказкам во втором варианте только в крайнем случае. Если студенту пока трудно самостоятельно выполнить какой-то конкретный шаг задания, то он может использовать подсказку (извините, шпаргалку) и на основе ее сделать собственное задание.

4 Функции и структуры в домашнем задании

Как было отмечено выше, студенты в рамках ЛР разрабатывают программный комплекс, основанный на файловой системе, иллюстрирующий основные операции работы с базами данных (БД). Программный комплекс состоит из: набора специальных функций (фактически библиотеки), и фрагментов программ, для демонстрации работы этих функций. Например, должны быть разработаны функции заполнения файла записями, его распечатки, изменения записей и другие. Кроме этого, в главном модуле могут быть реализованы некоторые действия с файлом без оформления функций (в каждом пункте заданий указывается, когда нужно создавать функцию). Работа с файлами основывается на специальной структуре данных, которую студент самостоятельно разрабатывает в предложенной предметной области (см. варианты задания). Структура данных должна иметь осмысленные поля и представлять единое целое. Например, для описания студента можно выделить поля: фамилия студента, курс студента, размер стипендии и т.д. Часть названий полей предложены в варианте (см. ниже), хотя по согласованию с преподавателем их можно заменить. Неизменным должно оставаться только содержательное название структуры данных (студент, книга и т.д.).

5 Варианты для выполнения ЛР

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

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

Вар.

Структура (имя структуры придумать самому)

Поля структуры и их тип

Примечание (интегральн. характеристика)

Поле-имя-тип

Поле-имя-тип

Поле-имя-тип

Кафедра

Название (Name) –char[]

Число студентов (CountS) - int

Число преподавателей (CountP) - int

Среднее Число студентов на кафедре

Книга

Название (Name) –char[]

Автор (Avtor) – char[]

Число страниц (nCountS) - int

Среднее Число страниц

Файл

Имя файла (NameFile) –char[]

Дата создания (DateFile)– char[]

Размер файла (SizeFile) - int

Средний Размер файла

Автомобиль

Марка автомобиля (Marka)–char[]

Стоимость (Cost) - double

Мощность (Kraft) - float

Средняя Мощность

Компьютер

Владелец(Fam) –char[]

Размер ОП (SizeMem) - int

Объем HDD (SizeHDD) - int

Средний Объем

Группа

Индекс группы (Name) –char[]

Число студентов (CountS) - int

Средняя оценка в группе в % -(AvExam) -float

Среднее

число студентов в группе

Человек

Фамилия (Fam) –char[]

Пол (Pol) - char

Возраст (Age) - int

Средний Возраст

Стеллаж

Название (Namt) –char[]

Материал (Mat) - char

Число полок (nPol) - int

Среднее число полок

Дом

Улица (Fam) –char[]

Число этажей (nStage) - int

Номер дома (Numb)- char[]

Среднее число этажей

Вариант представленный в примере выполнения ЛР № 10

Студент

(Student)

Имя (Name) - char[20]

Номер (Num) - int

Стипендия (Oklad)-double

Задание моего примера

Примечание 2: Номер варианта студента уточняется по журналу группы. При желании студент может предложить свой вариант темы структурной переменной, но при этом он должен согласовать его с преподавателем.

6 Порядок выполнения работы (Уровень А и В)

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

2. Описать свою структуру, придумав ее название. Типы и названия полей взять из таблицы вариантов (см. ниже). Все данные структуры статические. Дополнить описание структуры двумя полями, придумав их по смыслу. Описание структуры выполнить в заголовочном файле проекта (<имя проекта>.h).

3. Описать и заполнить одну свою простую структурную переменную с помощью инициализации при ее описании.

4. Описать и заполнить еще одну свою структурную переменную вручную (с помощью операторов присваивания – числовые данные и функции копирования – строчные данные). Распечатать значения ее полей двух структурных переменных (Функция - printf).

5. Разработать функцию распечатки одной данной структурной переменной, передавая в качестве параметра ее адрес, и проверить ее на описанных ранее структурных переменных.

6. Создать динамическую структурную (функция – malloc, библиотека - <malloc.h>) заполнить ее динамически и распечатать значение через указатель и с помощью специальной функции печати. Удалить созданную динамическую переменную.

7. Описать и проинициализировать массив структурных переменных не менее 4-х. Распечатать этот массив с помощью функции п.5.

8. Разработать функцию распечатки массива с записями структурных переменных.

Формальные параметры этой функции: указатель на массив структурных переменных и его размер. Использовать свою функцию печати одной структурной переменной. Проверить работу этой функции.

9. Создать цикл для заполнения нового динамического массива записей полями со случайными значениями параметров (размер массива 5-6 элементов). Предусмотреть случайное заполнение одного числового значения (использовать функцию - rand) и одного символьного значения с номером (использовать функции: rand и atoi вместе с функциями копирования/слияния текстов - strcat, strcpy). Распечатать созданный массив в отдельном цикле.

10. Придумать название двоичному файлу для выполнения задания (в нашем примере -"BDStud.bin", например "BDBook.bin" – для книг ).

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

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

11. Создать цикл для заполнения файла записей полями со случайными значениями параметров. Предусмотреть случайное заполнение одного числового значения (использовать функцию - rand) и одного символьного значения (использовать функции: rand и atoi вместе с с функциями копирования/слияния текстов - strcat, strcpy). Распечатать созданный файл в цикле заполнения.

12. Разработать функцию заполнения динамического массива структурных переменных на основе двоичного файла с записями структурных переменных. Проверить ее работу. Массив распечатать специальной функцией (см. выше).

13. Разработать функцию заполнения двоичного файла на основе массива структурных переменных (описанных и проинициализированных выше). В функцию должны передаваться: имя заполняемого файла, адрес исходного массива, размер массива. Изменить некоторые значения записей в массиве структур перед использованием. Для этого в самом массиве, заполненном выше, сделать изменения (например, имя 2-й записи: имя и номер), используя фиксированное значение индекса элемента структурного массива. Проверить работу этой функции. Заполнение файла проверить в файл менеджере (far или total commander), с помощью операции просмотра файла в шестнадцатеричном формате.

Характеристики

Тип файла
Документ
Размер
344,5 Kb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов книги

Методические указания к лабораторным работам
ЛР9_ПКШ
ЛР10_ПКШ
ЛР11_ПКШ
ЛР_12_КЛР_ПКШ
ЛР_13_КЛР_ПКШ
ЛР_14_КЛР_ПКШ
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7045
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее