Составление программы, позволяющей найти максимальный элемент вектора (среда программирования Microsoft Visual Studio C++.NET 2005)

Страницы работы

Содержание работы

Федеральное Агентство по Образованию

Государственное образовательное учреждение высшего профессионального образования

Санкт-Петербургский Государственный Политехнический Университет

(СПбГПУ)

Факультет Переподготовки Специалистов

Специальность «Вычислительные машины, комплексы, системы и сети»

Отчет по программному проекту №3

По дисциплине:

« Процедурное программирование на языке С/C++ »

Выполнил студент группы  Сети 2.2. Белая Т.В.

Проверил преподаватель Мамутов А.В.

Санкт-Петербург

2008


Содержание

1.Техническое задание…………………………………………………………3

2.Описание  программы……………………………………………………...3-4

3.Программа и методика испытаний……………………………………….4-5


1.Техническое задание

Среда программирования

Microsoft Visual Studio C++.NET 2005

Формулировка решаемой задачи

Составить программу, позволяющую найти максимальный элемент вектора и, если он не равен нулю, то разделить на него все элементы вектора. Если же максимальный элемент вектора равен нулю, то вектор не изменять.

2.Описание  программы

  • В программе используется файловый ввод-вывод
  • Запуск программного проекта осуществляется с использованием командной строки
  • Файл данных и файл результатов задаются в  командной строке
  • В файле исходных данных содержатся размер вектора и значения элементов вектора, разделенные символами пробельной группы.
  • Чтобы сделать программу  легко читаемой и наглядной, используются ступенчатая запись и комментарии.
  • Программа имеет следующую структуру:

Файловая  и функциональная структура программного  проекта:

      файл main.cpp                               файл read.cpp                           файл write.cpp

WriteMas ()

Печать исходных данных и заголовка в файл результатов project3.out

 

ReadMas ()

Чтение исходных данных из файла исходных данных project3.in

 

Сюда включаются все заголовочные файлы

main ()

Главная функция.

Здесь происходит открытие и закрытие файла исходных данных и  файла результатов, а также контроль командной строки

 
 

Вертикальный свиток: Из функции main() происходит вызов функций: ReadMas(), WriteMas(), 
MaxElem (),
WriteRes() 
Возврат из функций тоже в main()
 


       файл max.cpp                                     файл result.cpp

MaxElem ()

Нахождение максимального элемента вектора

 

WriteRes ()

Печать результатов в файл результатов project3.out

 
 



Порядок выполнения программы:

·  Открытие входного файла на чтение

·  Чтение массива

·  Закрытие файла

·  Открытие выходного файла на запись

·  Запись в выходной файл заголовка и исходного вектора

·  Нахождение максимального элемента

·  Проверка на равенство нулю максимального элемента

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

·  Запись значения максимального элемента, измененного вектора в выходной файл

·  Закрытие файла

3.Программа и методика испытаний

1.Обнаружение и устранение синтаксических ошибок

Для этого скомпилирую файл main.cpp. Синтаксических ошибок не обнаружено, следовательно, можно запускать программу.

2.Обнаружение и устранение логических ошибок.

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

Для этого воспользуюсь командами:Step Over(шаг через) и Run to cursor(выполнение до курсора).

В процессе отладки логических ошибок обнаружено не было.

3.Обнаружение и устранение информационных ошибок.

Тестирование при помощи контрольных примеров:

Контрольные примеры, которые приводят к нормальному завершению программы.

  • Цель:

Проверка программы на правильность выполнения.Задание формата командной строки

  • Исходные данные: ArgC=3
  • Полученные результаты: корректное выполнение
  • Выводы:

формат командной строки верен

Контрольные примеры, которые приводят  к аварийному завершению:

1)

  • Цель:

Проверка программы на правильность выполнения; кол-во аргументов командной строки

Исходные данные : не зададим 2 аргумента командной строки

  • Полученные результаты: вывод на экран сообщения об ошибке, что задан неверный формат командной строки
  • Выводы:

Программа реагирует на неверные данные , мы получаем сообщение об ошибке

2)

  • Цель:

Проверка программы на правильность выполнения; открытие файла исходных данных

  • Исходные данные : отсутствует входной файл
  • Полученные результаты: вывод на экран сообщения об ошибке открытия файла
  • Выводы:

Программа реагирует на неверные данные, мы получаем сообщение об ошибке

3)

  • Цель:

Проверка программы на правильность выполнения; чтение кол-ва элементов вектора

  • Исходные данные : в файле данных зададим кол-во элементов, меньшее размерности вектора
  • Полученные результаты: вывод на экран сообщения об ошибке чтения из файла
  • Выводы:

Программа реагирует на неверные данные, мы получаем сообщение об ошибке

4)

Цель:

Проверка программы на правильность выполнения; чтение кол-ва элементов вектора

  • Исходные данные : зададим избыточное  кол-во элементов вектораа
  • Полученные результаты: вывод на экран предупреждения о лишних данных, которые будут проигнорированы
  • Выводы: Считывается только необходимое кол-во данных, все остальное отсекается, корректная работа программы

5)

  • Цель:

Проверка программы на правильность выполнения; значения элементов  вектора

  • Исходные данные :  в файле данных вместо цифр запишем буквы
  • Полученные результаты: вывод на экран сообщения об ошибке чтения
  • Выводы:

Программа реагирует на неверные данные, мы получаем сообщение об ошибке

6)

  • Цель:

Проверка программы на правильность выполнения; задание размерности вектора

  • Исходные данные : в файле исходных данных не зададим значение размерности вектора
  • Полученные результаты: вывод на экран сообщения об ошибке чтения
  • Выводы:

Программа реагирует на неверные данные, мы получаем сообщение об ошибке

Похожие материалы

Информация о работе