Читаем Программирование полностью

8. Что такое ошибка этапа редактирования связей? Приведите три примера.

9. Что такое логическая ошибка? Приведите три примера.

10. Перечислите четыре источника потенциальных ошибок, рассмотренных в тексте.

11. Как распознать разумные результаты? Какие методы используются для ответа на этот вопрос?

12. Сравните обработку ошибки во время выполнения программы в модуле, вызывающем функцию, и в самой функции.

13. Почему использование исключений лучше, чем возврат признака ошибки?

14. Как выполнить тестирование при последовательном вводе данных?

15. Опишите процесс генерирования и перехвата исключений.

16. Почему выражение v[v.size()] относительно вектора v порождает ошибку диапазона? Каким может быть результат такого вызова?

17. Дайте определение пред- и постусловия; приведите пример (который отличается от функции area() из этой главы), предпочтительно использовать вычисления, требующие применения цикла.

18. В каких ситуациях можно не проверять предусловие?

19. В каких ситуациях можно не проверять постусловие?

20. Назовите этапы отладки.

21. Чем комментарии могут помочь при отладке?

22. Чем тестирование отличается от отладки?

Термины

Упражнения

1. Выполните задание из раздела ПОПРОБУЙТЕ, если вы его еще не сделали.

2. Следующая программа вводит температуру по шкале Цельсия и преобразует ее в шкалу Кельвина. Этот код содержит много ошибок. Найдите ошибки, перечислите их и исправьте программу.

double ctok(double c) // преобразует шкалу Цельсия в шкалу Кельвина

{

  int k = c + 273.15;

  return int

}

int main()

{

  double c = 0;         // объявляем переменную для ввода

  cin >> d;             // вводим температуру в переменную ввода

  double k = ctok("c"); // преобразуем температуру

  Cout << k << endl;    // выводим температуру на печать

}

3. Самой низкой температурой является абсолютный нуль, т.е. –273,15°C, или 0 K. Даже после исправления приведенная выше программа выводит неверные результаты для температуры ниже абсолютного нуля. Поместите в функцию main() проверку, которая выводит сообщение об ошибке, если температура ниже –273,15°C.

4. Повторите упр. 3, но на этот раз ошибку обработайте в функции ctok().

5. Измените программу так, чтобы она преобразовывала шкалу Кельвина в шкалу Цельсия.

6. Напишите программу, преобразовывающую шкалу Цельсия в шкалу Фаренгейта и наоборот (по формуле из раздела 4.3.3). Для того чтобы распознать разумные результаты, используйте оценку из раздела 5.8.

7. Квадратное уравнение имеет вид

Для решения этого уравнения используется формула

Тем не менее есть одна проблема: если b2–4ac меньше нуля, возникнет ошибка. Напишите программу, вычисляющую решение квадратного уравнения. Напишите функцию, которая выводит на печать все корни квадратного уравнения при заданных коэффициентах a, b и c. Вызовите эту функцию из модуля main() и перехватите исключение, если возникнет ошибка. Если программа выявит, что уравнение не имеет действительных корней, она должна вывести на печать соответствующее сообщение. Как распознать разумные результаты? Можете ли вы проверить, что они являются правильными?

8. Напишите программу, считывающую ряд чисел и записывающую их в vector. После того как пользователь введет все числа, он может попытаться определить, сколько чисел он ввел, чтобы найти их сумму. Выведите ответ N, равный количеству элементов в векторе. Например:

“Пожалуйста, введите несколько чисел (для прекращения ввода нажмите клавишу <|>):”

12 23 13 24 15 “Пожалуйста, введите количество чисел, которые хотите просуммировать:”

“Сумма первых 3 чисел: 12 , 23 и 13 равна 48.”

9. Измените программу из упр. 8, чтобы она использовала тип double вместо int. Кроме того, создайте вектор действительных чисел, содержащий N–1 разностей между соседними величинами, и выведите этот вектор на печать.

10. Напишите программу, вычисляющую начальный отрезок последовательности Фибоначчи, т.е. последовательности, начинающиеся с чисел 1 1 2 3 5 8 13 21 34. Каждое число в этой последовательности равно сумме двух предыдущих. Найдите последнее число Фибоначчи, которое можно записать в переменную типа int.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных