Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп Страница 44

Тут можно читать бесплатно Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп. Жанр: Компьютеры и Интернет / Программирование. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте «WorldBooks (МирКниг)» или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп» бесплатно полную версию:

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка.
Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие.
Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток.
Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп читать онлайн бесплатно

Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп - читать книгу онлайн бесплатно, автор Бьёрн Страуструп

class="p1">Большая часть этой программы удивительно проста. Фактически мы получили ее, отбросив часть программы, предназначенной для вычисления средней температуры, и вставив несколько новых инструкций. Единственной новой инструкцией является проверка

if (i==0 || words[i–1]!=words[i]) // это новое слово?

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

a

a

man

panama

plan

Мы не любим повторений, поэтому удаляем их с помощью данной проверки. Что она делает? Она выясняет, отличается ли предыдущее слово от вновь веденного (words[i-1]!=words[i]), и если отличается, то слово выводится на экран, а если нет, то не выводится. Очевидно, что у первого слова предшественника нет (i==0), поэтому сначала следует проверить первый вариант и объединить эти проверки с помощью оператора || (или).

if (i==0 || words[i–1]!=words[i]) // это новое слово?

Обратите внимание на то, что мы можем сравнивать строки. Для этого мы используем операторы != (не равно); == (равно), < (меньше), <= (меньше или равно), > (больше) и >= (больше или равно), которые можно применять и к строкам. Операторы, и тому подобные основаны на лексикографическом порядке, так что строка "Ape" предшествует строкам "Apple" и "Chimpanzee".

ПОПРОБУЙТЕ

Напишите программу, заглушающую нежелательные слова; иначе говоря, считайте слова из потока cin и выведите их в поток cout, заменив нежелательные слова словом BLEEP. Начните с одного нежелательного слова, например

string disliked = "Broccoli";

Когда отладите программу, добавьте еще несколько нежелательных слов.

4.7. Свойства языка

В программах для вычисления средней температуры и формирования словаря используются основные свойства языка, описанные в данной главе: итерация (инструкции for и while), выбор (инструкция if), простые арифметические инструкции (операторы ++ и +=), логические операторы и операторы сравнения (==, != и ||), переменные и функции (например, main(), sort() и size()). Кроме того, мы использовали возможности стандартной библиотеки, например vector (контейнер элементов), cout (поток вывода) и sort() (алгоритм).

 

 Если подсчитать, то окажется, что мы рассмотрели довольно много свойств языка. Каждое свойство языка программирования описывает некую фундаментальную идею, и их можно комбинировать бессчетное количество раз, создавая все новые и новые полезные программы. Это принципиальный момент: компьютер — не устройство с фиксированными функциями. Наоборот, компьютер можно запрограммировать для любых вычислений и при наличии устройств, обеспечивающих его контакт с внешним миром, с ним можно делать все, что угодно.

Задание

Выполните задание шаг за шагом. Не следует торопиться и пропускать этапы. На каждом этапе проверьте программу, введя по крайней мере три пары значений — чем больше, тем лучше.

1. Напишите программу, содержащую цикл while, в котором считываются и выводятся на экран два целых числа. Для выхода из программы введите символ.

2. Измените программу так, чтобы она выводила на экран строку "Наименьшее из двух значений равно:", а затем — меньшее и большее значения.

3. Настройте программу так, чтобы она выводила только равные числа.

4. Измените программу так, чтобы она работала с числами типа double, а не int.

5. Измените программу так, чтобы она выводила числа, которые почти равны друг другу. При этом, если числа отличаются меньше, чем на 1.0/100, то сначала следует вывести меньшее число, а затем большее.

6. Теперь измените тело цикла так, чтобы он считывал только одно число типа double за один проход. Определите две переменные, чтобы определить, какое из них имеет меньшее значение, а какое — большее среди всех ранее введенных значений. За каждый проход цикла выводите на экран одно введенное число. Если оно окажется наименьшим среди ранее введенных, выведите на экран строку "Наименьшее среди ранее введенных". Если оно окажется наибольшим среди ранее введенных, выведите на экран строку "Наибольшее среди ранее введенных".

7. Добавьте к каждому введенному числу типа double единицу измерения; иначе говоря, введите значения, такие как 10cm, 2.5in, 5ft или 3.33m. Допустимыми являются четыре единицы измерения: cm, m, in, ft. Коэффициенты преобразования равны: 1m==100cm, 1in==2.54cm, 1ft==12in. Индикаторы единиц измерения введите в строку.

8. Если введена неправильная единица измерения, например yard, meter, km и gallons, то ее следует отклонить.

9. Вычислите сумму введенных значений (помимо наименьшего и наибольшего) и определите их количество. Когда цикл закончится, выведите на экран наименьшее значение, наибольшее значение, количество значений и их сумму. Обратите внимание на то, что накапливая сумму, вы должны выбрать единицу измерения (используйте метры).

10. Сохраните все введенные значения (преобразованные в метры) в векторе и выведите их на экран.

11. Перед тем как вывести значения из вектора, отсортируйте их в возрастающем порядке.

Контрольные вопросы

1. Что такое вычисления?

2. Что подразумевается под входными данными и результатами вычислений?

Приведите примеры.

3. Какие три требования должен иметь в виду программист при описании вычислений?

4. Для чего предназначены выражения?

5. В чем разница между инструкцией и выражением?

6. Что такое значение lvalue? Перечислите операторы, требующие наличия значения lvalue. Почему именно эти, а не другие операторы требуют наличия значения lvalue?

7. Что такое константное выражение?

8. Что такое литерал?

9. Что такое символическая константа и зачем она нужна?

10. Что такое “магическая” константа? Приведите примеры.

11. Назовите операторы, которые можно применять как к целым числам, так и к числам с плавающей точкой.

12. Какие операторы можно применять только к целым числам, но не к числам с плавающей точкой?

13. Какие операторы можно применять к строкам?

14. Когда оператор switch предпочтительнее оператора if?

15. Какие проблемы порождает использование оператора switch?

16. Объясните, каково предназначение каждой части заголовка цикла for и в каком порядке они выполняются?

17. Когда используется оператор for, а когда оператор while?

18. Как вывести числовой код символа?

19. Опишите смысл выражения char foo(int x) в определении функции.

20. Когда часть программы следует оформить в виде функции? Назовите причины.

21. Какие операции можно выполнить над объектом типа int, но нельзя применить к объекту типа string?

22. Какие операции можно выполнить над объектом типа string,

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.