Продолжение, начало см. МК № 3, 8, 16, 27, 29 (226, 231, 239, 250, 252) Ну что, отдохнули после предыдущего урока? «Как же, отдохнешь, если на дом задано целых две задачи», так и слышится недовольное ворчание. А я, в свою очередь не устаю повторять, что они решаются за десять минут. Вы не согласны? Тогда давайте попробуем вместе…
Задача №20
Составить программу, определяющую количество оставшихся до конца месяца дней. Текущую дату (день, месяц) вводить с помощью оператора READLN. Количество дней в феврале принять равным 28.
Для решения этой задачи нужен лишь… календарик :-):
Зато для следующей задачи нужно знать правила дорожного движения :-).
Задача №21
Водителю необходимо преодолеть расстояние в N км, из них М по городу. Какое при этом требуется минимальное время для прохождения всей дистанции без нарушения допустимых скоростей (60 км/час по городу, 80 км/час за городом). M и N принимать с клавиатуры. Результат выводить с соответствующими комментариями.
В условии не требуется показать время езды по городу и за городом отдельно, но лишняя информация никогда не помешает, тем более что сделать это было нетрудно.
Немножко размялись? Давайте усложним задачу №20:
Задача №22
Составить программу определения суммы количества дней любых заданных (необязательно идущих подряд) трех месяцев года. Количество дней в феврале взять за 28.
Основная сложность программы состоит в том, что нам дают не один, как ранее, а три месяца. Давайте-ка пораскинем мозгами :-). Если месяца три, то определить, сколько дней в каждом из них, удобно в цикле. Но если для обозначения месяцев брать, например, переменные i, i1 и i2, то в цикл их никак не «впихнуть». Поэтому придется использовать массив. Вот так выглядит решение задачи:
А сейчас займемся задачами посерьезней.
Задача №23
Составить программу вывода на экран простых чисел до указанного предела (задавать по READLN).
Для начала разберемся, какие числа называют простыми. Это те числа, которые делятся без остатка только на единицу и на само себя. Примеры простых чисел: 1, 3, 5, 7, 101…
Теперь придумаем алгоритм, который будет находить простые числа. Если число N простое, то оно должно с остатком делиться на числа в промежутке от 2 до N-1. Исключение составляет только единица, которая делится только на себя.
И последний шаг к успеху (точнее, к решению задачи) описать этот алгоритм программно, что мы и сделаем:
Вот за что я люблю такие задачи они заставляют хорошенько подумать :-)!
Задача №24
Составить программу решения биквадратного уравнения, используя подпрограмму вычисления корней квадратного уравнения.
Эта задача еще раз доказывает, что учить информатику нужно с учебником по математике под мышкой :-). Если вы забыли, что такое биквадратное уравнение, то я вам напомню. В общем виде оно записывается как ax4+bx2+c=0. Решается заменой x2 на t. Получаем квадратное уравнение at2+bt+c=0. Далее вычисляем дискриминант D=b24ac и корни: t1,2=(bvD)/2a. И наконец, x1,2=vt1, x3,4=vt2. И не забывайте, что корень из отрицательного числа добыть нельзя, поэтому дискриминант D и корни t1, t2 должны быть больше или равны нулю. Причем корень от положительного числа может быть как больше, так и меньше ноля. Например, корень от 4 = 2, а также 2. Теперь можно (и нужно :-)) решать задачу:
Да, без математики далеко не уедешь, даже если знаешь правил дорожного движения :-).
Вы уже, наверное, устали, поэтому будем закругляться. Домой я задам уже три задачи. Причем не самые простые.
Задача №25
Определить сумму четных строк и произведение нечетных столбцов массива размерностью 56. Вывести на экран таблицу и результаты.
Задача №26
Составить программу решения ввода всех четырехзначных чисел, в которых сумма двух левых разрядов равна сумме двух правых.
И самая элементарная:
Задача №27
Принять с клавиатуры и запомнить в массиве пять чисел. Затем для каждого из них вычислить Y=3,14x^2 и Z=3,14(2x), где x число из массива. Полученные результаты построчно вывести на экран.
Но не расстраивайтесь, ведь я мог дать задачки посложнее, причем о ужас! не три, а четыре, пять или даже шесть :-). И главное, не останавливайтесь на достигнутом; если что-то не получается пишите.