Задачи по программированию (в помощь репетитору)

Автор публикации:

Дата публикации:

Краткое описание: ...


Выбор

Инструкция if

Общие замечания

Приступая к решению задач этого раздела, следует вспомнить, что:

инструкция if используется .для выбора одного из двух направлений дальнейшего хода программы;

выбор последовательности инструкций осуществляется в зависимости от значения условия — заключенного в скобки выражения, записанного после if;

инструкция, записанная после else, выполняется в том случае, если значение выражения условие равно нулю, во всех остальных случаях выполняется инструкция, следующая за условием;

если при соблюдении или несоблюдении условия надо выполнить несколько инструкций программы, то эти инструкции следует объединить в группу — заключить в фигурные скобки;

при помощи вложенных одна в другую нескольких инструкций if можно реализовать множественный выбор.

Задачи

77. Написать программу, которая вычисляет частное двух чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные (делитель равен нулю), вы давать сообщение об ошибке. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление частного.
Введите в одной строке делимое и делитель,
затем нажмите .
-> 12 О
Вы ошиблись. Делитель не должен быть равен нулю.

78. Написать программу вычисления площади кольца. Программа должна проверять правильность исходных данных. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление площади кольца.
Введите исходные данные:
Радиус кольца (см) -> 3.5
Радиус отверстия (см) -> 7
Ошибка! Радиус отверстия не может быть больше радиуса кольца.

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

Введите время (минут.секунд) -> 2.90
Ошибка! Количество секунд не может быть больше 60
Для завершения нажмите

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

Введите год, например 2000, и нажмите
-> 2001
2000 год - не високосный
Для завершения нажмите

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

Вычисление сопротивления электрической цепи.
Введите исходные данные:
Величина первого сопротивления (Ом) -> 15
Величина второго сопротивления (Ом)-> 27.3
Тип соединения (1 — последовательное, 2 — параллельное) -> 2
Сопротивление цепи: 9.68 Ом

82. Написать программу решения квадратного уравнения. Программа должна проверять правильность исходных данных и в случае, если коэффициент при второй степени неизвестного равен нулю, выводить соответствующее сообщение. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Решение квадратного уравнения
Введите в одной строке значения коэффициентов и нажмите

-> 12 27 -10
Корни уравнения:
xl = -25.551
х2 = -28.449

83. Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 10% предоставляется, если сумма покупки больше 1000 руб. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление стоимости покупки с учетом скидки

Введите сумму покупки и нажмите
-> 1200
Вам предоставляется скидка 10%
Сумма покупки с учетом скидки: 1080.00 руб.

84. Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 3% предоставляется, если сумма покупки больше 500 руб, в 5% — если сумма больше 1000 руб. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление стоимости покупки с учетом скидки.

Введите сумму покупки и нажмите
-> 640
Вам предоставляется скидка 3%
Сумма с учетом скидки: 620.80 руб.

85. Написать программу проверки знания даты основания Санкт-Петербурга. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
В каком году был основан Санкт-Петербург?

Введите число и нажмите
-> 1705
Вы ошиблись, Санкт-Петербург был основан в 1703 году.

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

В каком году началась вторая мировая война? Введите число и нажмите -> 1939 Правильно.

87. Напишите программу проверки знания истории архитектуры. Программа должна вывести вопрос и три варианта ответа. Пользователь должен выбрать правильный ответ и ввести его номер. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Архитектор Исаакиевского собора: 1. Доменико Трезини
24
C/C++ в задачах и примерах
2. Огюст Монферран
3. Карл Росси
Введите номер правильного ответа и нажмите
-> 3
Вы ошиблись.
Архитектор Исаакиевского собора — Огюст Монферран.

88. Напишите программу проверки знания истории архитектуры. Программа должна вывести вопрос и три варианта ответа. Пользователь должен выбрать правильный ответ и ввести его номер. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Невский проспект получил свое название:

1. По имени реки, на берегах которой расположен Санкт-Петербург
2. По имени близлежащего монастыря Александро-Невской лавры
3. В память о знаменитом полководце Александре Невском
Введите номер правильного ответа" и нажмите
-> 1
Вы ошиблись.
Правильный ответ: 2.

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

Введите в одной строке два целых числа и нажмите . -> 34 67
34 меньше 67

90. Написать программу, которая выводит пример на умножение двух однозначных чисел, запрашивает ответ пользователя, проверяет его и выводит сообщение "Правильно!" или "Вы ошиблись" и правильный результат. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Сколько будет 6x7?
Введите ответ и нажмите
-> 56
Вы ошиблись. 6x7=4 2

91. Написать программу, которая выводит пример на вычитание (в пределах 100), запрашивает ответ пользователя, проверяет его И выводит сообщение "Правильно!" или "Вы ошиблись" и правильный результат. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Сколько будет 83-17?
Введите ответ и нажмите
->67
Вы ошиблись. 83-17=66

92. Написать программу, которая проверяет, является ли введенное пользователем целое число четным. Ниже приведен рекомендуемый вид экрана программы во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Введите целое число и нажмите -> 23
Число 23 — нечетное.

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

Введите целое число и нажмите
-> 451
Число 451 нацело на три не делится.

94. Написать программу вычисления стоимости разговора по телефону с учетом 20% скидки, предоставляемой по субботам и воскресеньям. Ниже приведен рекомендуемый вид экрана программы во время ее работы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление стоимости разговора по телефону.

Введите исходные данные:

Длительность разговора (целое количество минут) -> 3

День недели (1 — понедельник, Предоставляется скидка 20%. Стоимость разговора: 5.52 руб.

7 — воскресенье) -> 6

95. Написать программу, которая вычисляет оптимальный вес для пользователя, сравнивает его с реальным и выдает рекомендацию о необходимости поправиться или похудеть. Оптимальный вес вычисляется по формуле: Рост (см) — 100. Рекомендуемый вид экрана во время выполнения программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом).

Введите в одной строке через пробел

рост (см) и вес (кг), затем нажмите

->170 68

Вам надо поправиться на 2.00 кг.

96. Напишите программу, которая запрашивает у пользователя номер месяца и затем выводит соответствующее название времени года. В случае, если пользователь введет недопустимое число, программа должна вывести сообщение "Ошибка ввода данных". Ниже приведен рекомендуемый вид экрана во время работы программы.

Введите номер месяца (число от 1 до 12)

-> 11

Зима

97. Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день", "Суббота" или "Воскресенье".
98. Написать программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 999), обозначающего денежную единицу, дописывает слово "рубль" в правильной форме. Например, 12 рублей, 21 рубль и т. д.
99. Написать программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 99), обозначающего денежную единицу, дописывает слово "копейка" в правильной форме. Например, 5 копеек, 41 копейка и т. д.
100. Написать программу, которая вычисляет дату следующего дня. Ниже приведен рекомендуемый вид экрана во время работы программы, (данные, введенные пользователем, выделены полужирным шрифтом).

Введите цифрами сегодняшнюю дату (число, месяц, год) -> 31 12
2000
Последний день месяца!
С наступающим новым годом!
Завтра 1.1.2001

Инструкция switch

Общие замечания

Приступая к решению задач этого раздела, следует вспомнить, что:

инструкция switch предназначена для выбора одного из нескольких возможных направлений дальнейшего хода программы;

выбор последовательности инструкций осуществляется в зависимости от равенства значения переменной-селектора константе, указанной после слова case;

если значение переменной-селектора не равно ни одной из констант, записанных после case, то выполняются инструкции, расположенные после слова default;

в качестве переменной-селектора можно использовать переменную целого (int) или символьного (char) типа.

Задачи

101. Напишите программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня недели или сообщение об ошибке, если введены неверные данные.
102. Написать программу, которая вычисляет стоимость междугородного телефонного разговора (цена одной минуты определяется расстоянием до города, в котором находится абонент). Исходными данными для программы являются код города и длительность разговора. Ниже приведены коды некоторых городов и рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).

Город

Код

Цена минуты (руб.)

Владивосток

423

2,2

Москва

095

1,0

Мурманск

815

1,2

Самара

846

1,4

Вычисление стоимости разговора по телефону.
Введите исходные данные:
Код города -> 423
Длительность (целое количество минут)-> 3
Город: Владивосток
Цена минуты: 2.20 руб.
Стоимость разговора: 6.60 руб.

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

(d + (

1/5

(13 m - 1) ) +Y + (

Y/4

+

c/ 4

- 2 c

+ 777 )

mod

7

Здесь d — число месяца, т — номер месяца, если начинать счет с марта, как это делали в Древнем Риме (март — 1, апрель — 2, ..., февраль — 12), Y — номер года в столетии, с — количество столетий. Квадратные скобки означают, что надо взять целую часть от значения, находящегося в скобках. Вычисленное по формуле значение определяет день недели: 1 — понедельник, 2 — вторник, ..., 6 — суббота, 0 — воскресенье.