Спецификация задачи № 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. Определитесь со структурой программы (прототипы, описание, вызов функций), разработайте код на языке ООП С++, протестируйте и отладьте его.

Speciation: Of Ligers & Men — Crash Course Biology #15


Похожие статьи.

Понравилась статья? Поделиться с друзьями: