Методические указания к выполнению контрольной работы

Целью контрольной работы является формирование навыков программирования на языке С++ с использованием персонального компьютера и новых информационных технологий.

Выполнение контрольной работы рассчитано на использование среды программирования Borland C++ Builder и текстового процессора MS Word.

В контрольной работе решаются математические или логические задачи с использованием разработанной программы на языке C++. Она состоит из пяти заданий, варианты которых определяются на установочной сессии.

При выполнении контрольной работы в среде программирования Borland C++ Builder рекомендуется использовать консольное приложение.

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

Пояснительная записка оформляется средствами текстового процессора MS Word в соответствии с требованиями, изложенными в [11].

Контрольная работа подлежит защите и оценивается по четырехбалльной системе (-неуд.-уд.-хор.-отл.).

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

Пояснительная записка должна содержать:

- титульный лист;

- рецензию;

далее для каждого задания приводится:

- условие задачи;

- математическое решение (описание) задачи;

- метод решения задачи;

- алгоритм решения задачи;

- листинг программы;

- результаты тестирования программы;

заканчивается пояснительная записка разделом:

- список использованных источников.

В разделе "Математическое решение (описание) задачи" приводится описание задачи на точном (формальном) языке математики, то есть записывается математическая модель решения задачи. Если математическое описание задачи понятно из задания, то этот раздел можно опустить.

В разделе "Метод решения задачи" обосновывается и описывается метод решения. Если используется известный метод, то приводится ссылка на литературный источник.

В разделе "Алгоритм решения задачи" приводится алгоритм решения в виде структурной схемы (блок – схемы). Структурная схема должна быть выполнена в соответствии с ГОСТ 19.701-90 ЕСПД. При разработке алгоритма рекомендуется использовать приведенные ниже рекомендации и таблицы.

Блоки схем алгоритмов согласно ГОСТ 19.701 – 90.

Блок-схема алгоритма оформляется на основе блоков приведенных в таблице 1. Перечень, наименование, обозначение и соотношение размеров обязательных символов и отображаемые ими функций в алгоритме и программе обработки данных должны соответствовать требованиям, указанным в таблице 1.

Таблица 1

Наименование Обозначение и соотношение размеров Функция
     
  1. Процесс
 
 
а
Здесь лаконично излагается процесс обработки информации


1,5a

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

     
  2. Решение
1,5а
yn
y2
y1
а

  Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий. Блок должен иметь 2 выхода с надписями: «Да» (условие выполняется) и «Нет» (условие не выполняется) или 3 выхода с надписями >,<,=, или один выход с произвольным количеством разветвлений с надписями, вставленными в разрыв линии. В этом случае условие заменяется выражением, а надписи являются значениями выражения y1,y2..yn.
3. Модификация
1,5а
а
а

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

а
0,25а
1,25а

  Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод)

     
  5. Предопределенный процесс

а
1,5а
0,15а

  Использование ранее созданных и отдельно описанных алгоритмов или программ (подпрограмм)
  6. Начало и завершение процесса
1,5а
0,5а

  Начало и конец алгоритма или программы обязательно содержат эти блоки, причем в единственном экземпляре.
  7. Соединитель (Узел)
0,5 а

  Указание связи между прерванными линиями потока, связывающими символы в пределах одного листа. N – номер связи
  8. Межстраничный соединитель
0,5 а

  Указание связи между разъединенными частями схем алгоритмов и программ, расположенных на разных листах. N – номер связи или последнего блока, 12 – номер страницы, с которой имеется связь
  9. Комментарий   Связь между элементом схемы и пояснением

Допускается ширину блоков 1–6 выбирать равной 2а. Размер а выбирается из ряда 10, 15, 20 мм и может быть увеличен на число, кратное 5. Ряд блоков не приводится в таблице по причине их редкого использования. Для ознакомления с ними следует использовать ГОСТ.

Блоки могут быть пронумерованы (иметь идентификаторы) над левым верхним углом блока или в разрыве линии в левом верхнем углу блока. Нумерация выполняется слева направо и сверху вниз.

Правила оформление алгоритма в виде блок-схемы

Блок-схемы алгоритмов оформляются на основе блоков приведенных в таблице 1 по следующим правилам:

1. Блок-схема строиться сверху вниз.

2. В любой блок-схеме должен быть только один элемент «начало» и только один элемент «конец».

3. Должен быть хотя бы один путь из начала блок-схемы к любому элементу.

4. Должен быть хотя бы один путь от любого элемента в конец блок-схемы.

Пример оформления блок-схемы приведен на рис. 1.

 
 


Рис. 1. Блок-схема алгоритма программы вычисления функции F


Базовые конструкции структурного программирования на С/С++

На основе разработанного алгоритма далее записывается код программы на языке программирования высокого уровня С/С++. Для этого рекомендуется использовать таблицу 2, где приведены примеры алгоритмов для типовых приемов обработки данных и их реализация с помощью операторов языка С/С++.

Таблица 2

ОПИСАНИЕ УСЛОВНОЕ ГРАФИЧЕСКОЕ ОБОЗНАЧЕНИЕ ОПЕРАТОРЫ
Описание переменных a, b, c целого типа int a, b, c;
Описание переменных a, b, c целого типа с инициализацией int a=2, b=3, c; int a(2), b(3), c;
Вывод сообщения: "vvecti a" с новой строки cout<<"\n vvecti a";
Вывод значения переменной a cout << a;
Вывод значения переменной a с сообщением: "a=" с новой строки cout<<"\n a= "<<a;
Ввод значений переменных a, b, c cin>>a>>b>>c;
Ввод значений переменных a, b, c с новой строки с сообщением: "vvecti a,b,c" с новой строки cout<<"\n vvecti a,b,c\n"; cin>>a>>b>>c;
Вычисление выражения a+b с присваиванием значения переменной с c=a+b;
Выбор направления вычисления в зависимости от условия if (условие) оператор 1 else оператор 2
Выбор направления вычисления в зависимости от взаимоисключающих условий if (условие 1) оператор 1 else if (условие 2) оператор 2 else оператор 3
Цикл с предусловием while (условие) { операторы цикла }
Цикл с постусловием do { операторы цикла } while (условие);
Цикл с известным числом повторений N for (int i=1; i<=N; i++) { операторы цикла }
Вложенные циклы с известным числом повторений for (int i=1; i<=N; i++) { Оператор 1 for (int k=1; k<=i*i; k++) { Операторы внутреннего цикла } Оператор 2 }

В разделе "Листинг программы" приводится текст программы, написанный на языке высокого уровня С/С++.

В разделе "Результаты тестирования программы" приводятся результаты работы программы. Результаты тестирования должны демонстрировать всевозможные варианты работы программы.

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: