Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методические рекомендации. Обработка текстового файла




Обработка текстового файла

Программа работает в соответствии с разработанным Вами алгоритмом, а не так, как Вам хочется

Закон Мерфи

Цель работы – освоить обработку текстового файла, содержащего данные некоторого структурного типа, а также выполнение типовых операций над структурами (4 час.)

Задание. Проделайте следующее.

1. Выберите по своему усмотрению некоторый структурный тип, включающий компоненты разных типов: строкового (char []), символьного, целочисленного, булевского, вещественного. Например, это могут быть данные по студентам группы и их успеваемости или прайс-лист на какие-нибудь товары и т.п. (см. ниже методические рекомендации). Можно ограничиться 3-4 компонентами структур и 5-6 экземплярами структур.

2. Введите данные по выбранной тематике в текстовый файл. Каждая запись файла должна содержать данные по одному экземпляру структуры. Для облегчения чтения данных из файла настоятельно рекомендуется значения компонент структуры в файле отделять друг от друга пробелом.

3. Создайте консольное приложение по такому же сценарию, как и в первой лабораторной работе. На вкладке свойств проекта Application settings установите флажок MFC.

4. По разделу конспекта «Обработка текстовых файлов (MVS 2005)» [3] ознакомьтесь с алгоритмом чтения данных различных типов из текстового файла с помощью средств, предоставляемых классом ifstream.

5. Разработайте программу чтения записей текстового файла, размещения их в массиве структур, вывода данных на монитор, обработке массива и вывода результатов этой обработки. Под обработкой массива структур подразумевается их сортировка по компонентам и вывод результатов на монитор для контроля.

6. Собственные функции разместите в отдельном файле (как и в работе «Поиск данных в массиве»), а в главной функции сделайте только их вызовы. В заголовочном файле (.h) разместите прототипы функций и описание структурного типа, а в файле реализации (.cpp) разместите определения (реализацию) функций.

 

1. Варианты тем исходных данных

№ компа Тематика исходных данных
  Эволюция жизни (на Земле или в другом месте, например, в Украине): молекулы, клетки, вирусы, …, сволочи, …
  Самолеты
  Компьютеры (старые, новые, супер, супер-пупер, персональные, черные, карманные, ворованные и пр.)
  Мухи
  Велосипеды (детские, взрослые, китайские, одноколесные и т.д.)
  Часы (песочные, световые, механические, поломанные и т.д.)
  Холодное оружие (рогатки, вилки, мачете, ножи, топоры, …)
  Образовательные учреждения (колония, тюрьма, детясли, детсад, школа. …)
  Компьютерные комплектующие (материнские и отцовские платы, глядеокарты, микропроцессоры, и т.д.)
  Жилища (лавка, спальный мешок, палатка, будка, конура, скворечник, общага, …)
  Форматы графических изображений (черно-белые, серые, противные, гадкие, …)
  Элита (депутаты, воры в законе, мошенники отпетые, …)

 

Можно предложить свои исходные данные, но они должны быть оригинальными, т.е. отличающимися от данных других бригад.

2. Со структурами (struct) можно ознакомиться в подразделе 7.1 работы [4] и/или путем допроса преподавателя. В той же работе [4] можно почитать и о массивах.

3. При создании своего текстового файла следите за тем, чтобы вслед за последним полем записи файла не было пробелов и пустых записей. См. пример файла – Beetles.txt, а пример программы, обрабатывающей этот файл – Beetles.exe.

 

 
 

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

5. Вывод сообщений в консольном приложении можно выполнять и в отдельном окне, например, так:

AfxMessageBox(_T("Ошибка открытия файла"));

 


4. Задача «куча камней»

Любая найденная в программе ошибка – не последняя

Закон Мерфи

 

Цель работы – научиться реализовать алгоритм решения известной «задачи о камнях» как примере оптимизационной задачи (4 час.).

 

Постановка задачи.

Из Википедии: Полный перебор (или метод «грубой силы», англ. brute force) относится к классу методов поиска решения исчерпыванием всевозможных вариантов. Сложность полного перебора зависит от количества всех возможных решений задачи. Если пространство решений очень велико, то полный перебор может не дать результатов в течение нескольких лет или даже столетий. (Другими словами, если вы хотите получать зарплату еще при жизни, то, возможно, вам следует поискать более «быстрое» решение?)

Возьмем в качестве иллюстрации известную «олимпиадную» задачу о куче камней, которая заключается в следующем. Имеется произвольное число камней N>1, вес каждого из которых известен и равен Wi, i=1..N, причем 1<N<21, 0<Wi <100000, N и W – целые числа. Требуется распределить камни на две кучи таким образом, чтобы разность весов этих двух куч была минимальной. Например, пусть есть N=5 камней с весами: 5, 8, 13, 27, 14. Очевидно, что в одну кучу надо поместить камни 5 и 27 (вес 32), а в другую – 8, 13 и 14 (вес 35). Тогда разность весов будет минимальна и равна 3 (по абсолютной величине).

Надо написать (точнее, разработать) алгоритм и программу, которая бы решала поставленную задачу. Учтите, что программа должна запросить у пользователя N и Wi.

 

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

 




Поделиться с друзьями:


Дата добавления: 2014-12-26; Просмотров: 411; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.