Литмир - Электронная Библиотека
A
A

2. Какой оператор используется для ввода переменной?

3. Какие две строки следует добавить в программу, чтобы предложить пользователю ввести значение в вашу программу, если хотите, чтобы он ввел целое значение для переменной с именем

number
?

4. Как называется символ

\n
и для чего он предназначен?

5. Что является признаком конца строки?

6. Как прекращается ввод значения в целочисленную переменную?

7. Как записать 

cout << "Hello, ";

cout << first_name;

cout << "!\n";

в одной строке?

8. Что такое объект?

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

10. Какие существуют виды литералов?

11. Что такое переменная?

12. Назовите типичные размеры переменных типов

char
,
int
и
double
?

13. В каких единицах измеряется объем памяти, занимаемой небольшими переменными, например объектами типов

int
и
string
?

14. В чем заключается разница между операторами

=
и
==
?

15. Что такое определение?

16. Что такое инициализация и чем она отличается от присваивания?

17. Что такое конкатенация строк и как она выполняется в языке С++?

18. Какие из следующих имен являются допустимыми в языке С++? Если имя является недопустимым, то укажите, по какой причине.

This_little_pig This_1_is fine 2_For_1_special

latest thing the_$12_method _this_is_ok

MiniMineMine number correct?

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

20. Сформулируйте разумные правила для выбора имен.

21. Что такое типовая безопасность и почему она так важна?

22. Почему преобразование типа

double
в тип
int
может привести к неверным результатам?

23. Сформулируйте правило, помогающее выявить безопасные и опасные преобразования типов.

Термины

Программирование. Принципы и практика использования C++ Исправленное издание - _035.png

Упражнения

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

2. Напишите программу на языке C++, которая преобразует мили в километры. Ваша программа должна содержать понятное приглашение пользователю ввести количество миль. Подсказка: в одной миле 1,609 км.

3. Напишите программу, которая ничего не делает, а просто объявляет переменные с допустимыми и недопустимыми именами (например,

int double = 0;
), и посмотрите на реакцию компилятора.

4. Напишите программу, предлагающую пользователю ввести два целых числа. Запишите эти значения в переменные типа

int
с именами
val1
и
val2
. Напишите программу, определяющую наименьшее и наибольшее значение, а также сумму, разность, произведение и частное этих значений.

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

double
. Сравните результаты работы этих двух программ на нескольких вариантах. Совпадают ли эти результаты? Должны ли они совпадать? Чем они отличаются?

6. Напишите программу, предлагающую пользователю ввести три целых числа, а затем вывести их в порядке возрастания, разделяя запятыми. Например, если пользователь вводит числа 10 4 6, то программа должна вывести на экран числа 4, 6, 10. Если два числа совпадают, то они должны быть упорядочены одновременно. Например, если пользователь вводит числа 4 5 4, то программа должна вывести на экран числа 4, 4, 5.

7. Выполните упр. 6 для трех строковых значений. Так, если пользователь вводит значения "

Steinbeck
", "
Hemingway
", "
Fitzgerald
", то программа должна вывести на экран строку "
Fitzgerald, Hemingway, Steinbeck
".

8. Напишите программу, проверяющую четность или нечетность целого числа. Как всегда, убедитесь, что результат ясен и полон. Иначе говоря, не следует ограничиваться простой констатацией вроде “да” или “нет”. Вывод должен быть информативным, например “Число 4 является четным”. Подсказка: см. оператор вычисления остатка в разделе 3.4.

9. Напишите программу, преобразующую слова “нуль”, “два” и т.д. в цифры 0, 2 и т.д. Когда пользователь вводит число в виде слова, программа должна вывести на экран соответствующую цифру. Выполните эту программу для цифр 0, 1, 2, 3 и 4. Если пользователь введет что-нибудь другое, например фразу “глупый компьютер!”, программа должна ответить “Я не знаю такого числа!”

10. Напишите программу, принимающую на входе символ оператора с двумя операндами и выводящую на экран результат вычисления. Например:

+ 100 3.14

* 4 5

Считайте символ операции в объект типа

string
с именем
operation
и, используя инструкцию
if
, выясните, какую операцию хочет выполнить пользователь, например
if (operation=="+")
. Считайте операнды в переменные типа
double
. Выполните операции с именами
+
,
,
*
,
/
,
plus
,
minus
,
mul
и
div
, имеющие очевидный смысл.

11. Напишите программу, предлагающую пользователю ввести определенное количество 1-, 5-, 10-, 25-, 50-центовых и долларовых монет. Пользователь должен по отдельности ввести количество монет каждого достоинства, например “Сколько у вас одноцентовых монет?” Результат должен выглядеть следующим образом.

 У вас 23 одноцентовые монеты.

 У вас 17 пятицентовых монет.

 У вас 14 десятицентовых монет.

 У вас 7 25-центовых монет.

 У вас 3 50-центовые монеты.

 Общая стоимость ваших монет равна 573 центам.

Усовершенствуйте программу: если у пользователя только одна монета, выведите ответ в грамматически правильной форме. Например, “14 десятицентовых монет” и “1 одноцентовая монета” (а не “1 одноцентовых монет”). Кроме того, выведите результат в долларах и центах, т.е. 5,73 доллара, а не 573 цента.

Послесловие

Не следует недооценивать важность типовой безопасности. Тип — наиболее важное понятие для создания правильных программ, и некоторые из наиболее эффективных методов разработки программ основаны на разработке и использовании типов (см. главы 6 и 9, части II–IV). 

Глава 4

Вычисления

Если результат не обязательно должен быть точным,

я могу вычислить его сколь угодно быстро”.

Джеральд Вайнберг (Gerald M. Weinberg)

42
{"b":"847443","o":1}