Спецификация задачи № VI.3




МЕТОДИЧЕСКОЕ ПОСОБИЕ

“СПЕЦИФИКАЦИИ ЗАДАЧ ДЛЯ ПРОВЕРКИ ПРАКТИЧЕСКИХ НАВЫКОВ ПРОГРАММИРОВАНИЯ (УРОВНЯ КОМПЕТЕНТНОСТИ) БАКАЛАВРОВ ПРИ ПРОВЕДЕНИИ ГОСУДАРСТВЕННЫХ ЭКЗАМЕНОВ”

преподаватель

Каткова Светлана Николаевна

 

Бишкек 2017

Спецификация задачи № VI.1

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

Создайте необходимую информацию в виде таблицы для такого экрана с помощью класса Aeroflot, содержащего в его описании следующие поля:

· номер рейса;

· название пункта отправления;

· название пункта назначения;

· время отправления;

· время прибытия;

· место регистрации.

Напишите код программы, выполняющей следующие действия:

· ввод с клавиатуры значений полей объектов;

· сортировку записей в таблице в алфавитном порядке по названию пунктов назначения;

· вывод на консоль значений полей объектов класса в виде таблицы рейсов;

· удаление из таблицы информации о каком-либо рейсе;

· если рейса нет, выдать соответствующее сообщение;

 

Задания:

1. Разработайте спецификацию требований к ПО, которая решает эту задачу.

2. Спроектируйте ПО: входной и выходной интерфейсы для консоли; поясните алгоритм решения задачи в виде блок-схемы программы.

3. Определитесь со структурой программы (прототипы, описание, вызов функций), разработайте код на языке объектно-ориентированного программирования С++, протестируйте и отладьте его.

Спецификация задачи № VI.2

Для участия в ежегодном трансконтинентальном Ралли-марафоне «Дакар» по усложненной трассе в Южной Америке выбраны грузовики КАМАЗ и TATRA, которые после 2010 года лидируют в зачете грузовиков.

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

 

Truck name Desert speed Mountains speed Plain speed Average speed the sum of points Status(winner, loser, in a draw)
             
             

Total result:

 

Для решения задачи используйте классы Kamaz и Tatra, а такжефункциюсравнения скоростей CompSp (). Функция CompSp () возвращает число +1, если объект kamaz движется быстрее объекта tatra; нуль, если их скорости одинаковы; число -1, если объект kamaz движется медленнее объекта tatra.

 

 

Оба класса содержат поля: «скорость» и «наименование» грузовой машины, а также методы: инициализация и отображение полей на экране. Определитесь с идентификаторами доступа к членам класса, не нарушая принципа инкапсуляции.

 

Сделайтефункцию CompSp () дружественной:

· классу Kamaz,

· обоим классам Kamaz и Tatra.

Сделайте класс Tatra дружественным классу Kamaz.

 

Задания:

1. Разработайте спецификацию требований к ПО, которая решает эту задачу.

2. Спроектируйте ПО: входной и выходной интерфейсы для консоли, поясните алгоритм решения задачи с помощью блок-схемы программы.

3. Определитесь со структурой программы (прототипы, описание, вызов функций), разработайте код на языке объектно-ориентированного программирования С++, протестируйте и отладьте его.

 

 

Спецификация задачи № VI.3

Типы данных полезны там, где ошибки могут быть вызваны арифметическим переполнением, которое не допустимо.

 

Создайте и откомпилируйте класс Int. Перегрузите четыре бинарных целочисленных арифметических операции (+, -, *, /) и унарные операции постфиксной и префиксной форм инкремента с помощью внутренней операторной функции operator так, чтобы их можно было использовать для операций с объектами класса Int.

 

Если результат какой-либо из них выходит за границы типа int (в 32-битной системе), имеющее значения от 2 147 483 648 до -2 147 483 648, то операция должна послать сообщение об ошибке и завершить программу. Можно ли для выявления ошибки арифметического переполнения использовать концепцию исключения?

 

Для облегчения проверки переполнения выполняйте вычисления с использованием типа long double. При описании унарных операций возможно использование указателя «this».

 

Задания:

1. Разработайте спецификацию требований к ПО, которая решает эту задачу.

2. Спроектируйте ПО: входной и выходной интерфейсы для консоли, поясните алгоритм решения задачи cс помощью. блок-схемы программы.

3. Определитесь со структурой программы (прототипы, описание, вызов функций), разработайте код на языке ООП С++, протестируйте и отладьте его.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-24 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: