Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Оснащения врачебно-сестринской бригады.
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Дисциплины:
2021-06-23 | 37 |
5.00
из
|
Заказать работу |
|
|
Задание: Составить программу к решению задачи:«Дано целое число N. Найти произведение цифр этого числа».
Решение:
Для того чтобы найти произведение цифр числа, необходимо знать эти цифры. Алгоритм нахождения цифр уже обсуждался ранее (последнюю цифру находим с помощью остатка от деления на 10 и укорачиваем число на эту цифру делением числа на 10 нацело, затем процесс повторяется, пока не будут найдены все цифры числа). Но в ранее рассмотренных задачах, заранее оговаривалось количество цифр заданного числа. В этой задаче количество цифр может быть произвольным.
Пусть Х – переменная, в которой будет храниться цифра числа, найденная в текущий момент. Пусть Р – произведение цифр. Вначале работы программы Р равно 1, т.к. при поиске произведения, переменную нельзя обнулять (сколько 0 не умножай – результатом будет 0).
Если повторять операторы
X=N MOD 10
N=N\10
P=P*X, то постепенно в переменной Р будет получаться произведение цифр числа N.
Убедимся в этом на конкретном примере. Допустим N=2584.
X | N | P | |
До выполнения операторов X=N MOD 10 N=N\10 P=P*X | 0 | 2584 | 1 |
После первого выполнения операторов | 4 | 258 | 4 |
После второго выполнения операторов | 8 | 25 | 32 |
После третьего выполнения операторов | 5 | 2 | 160 |
После четвертого выполнения операторов | 2 | 0 | 320 |
В этом примере операторы повторялись 4 раза, так как число было четырехзначным, но по условию задачи количество цифр может быть любым, поэтому количество повторений не известно. Чтобы применить для решения задачи оператор цикла с предусловием, нужно выяснить условие, при котором следует выполнять данную серию операторов. Рассмотрим на примере еще одного числа. Допустим N=319.
X | N | P | |
До выполнения операторов | 0 | 319 | 1 |
После первого выполнения операторов | 9 | 31 | 9 |
После второго выполнения операторов | 1 | 3 | 9 |
После третьего выполнения операторов | 3 | 0 | 27 |
|
Сопоставляя примеры, можно сделать вывод, что операторы повторяются до тех пор, пока число N не станет равным 0. Условие работы цикла N<>0.
Итак, в программе необходимо реализовать следующий алгоритм:
1. ввести число N;
2. P=1;
3. в цикле с предусловием N<>0
a) вычислить цифру Х;
b) оторвать цифру от исходного числа;
c) увеличить произведение;
4. вывести результат.
Программа:
CLS
PRINT “введите заданное число”
INPUT N
P=0
WHILE N<>0
X=N MOD 10
N=N\10
P=P*X
WEND
PRINT “произведение цифр числа равно ”, P
END
Задание: Составить программу к решению задачи:«Дано целое число n. Является ли число перевертышем? Например, 56465 – читается одинаково в ту и другую сторону».
Решение:
Для того, чтобы определить, является ли число перевертышем, необходимо перевернуть это число и проверить, равно ли оно исходному. Пусть Y – перевернутое число. Чтобы его получить, нужно собрать по разрядам цифры исходного числа, но в обратном порядке.
В этой задаче количество цифр может быть произвольным, поэтому цифры будем находить так же, как и в предыдущей задаче. Пусть X – переменная, в которой будет храниться цифра числа, найденная в текущий момент.
Рассмотрим, на конкретном примере: допустим N=2584.
X | N | У | Получение числа у | |
До выполнения операторов X=N MOD 10 N=N\10 У=??? | 0 | 2584 | 0 | |
После первого шага цикла | 4 | 258 | 4 | 0*10+4 |
После второго шага цикла | 8 | 25 | 48 | 4*10+8 |
После третьего шага цикла | 5 | 2 | 485 | 48*10+5 |
После четвертого шага цикла | 2 | 0 | 4852 | 485*10+2 |
Выясним, каким должен быть оператор нахождения числа Y. Из последнего столбца таблицы видно, что содержимое переменной Y на каждом шаге работы цикла увеличивается в 10 раз и к нему прибавляется цифра, найденная на соответствующем шаге работы цикла (Y=Y*10+х).
Если повторять операторы
X=N MOD 10
N=N\10
Y=Y*10+Х, то в итоге в переменной Y будет перевернутое число. Останется сравнить его с данным. Но, в процессе работы цикла, число N превратилось в ноль. Поэтому необходимо перед циклом сохранить данное число в дополнительной переменной. Пусть это будет переменная K.
|
Итак, в программе необходимо реализовать следующий алгоритм:
1. ввести число N;
2. сохранить данное число в переменной K;
3. в цикле с предусловием N<>0
a) вычислить цифру Х;
b) оторвать цифру от исходного числа;
c) увеличить число Y;
4. сравнить числа K и Y и вывести результат.
Программа:
CLS
PRINT “введите заданное число”
INPUT N
K=N: Y=0
WHILE N<>0
X=N MOD 10
N=N\10
Y=Y*10+X
WEND
IF K=Y THEN PRINT “является перевертышем” ELSE PRINT “не является перевертышем”
END
Задания для самостоятельного решения:
1. Женщина шла на базар продавать яйца. Ее случайно сбил с ног всадник, в результате чего все яйца разбились. Всадник предложил оплатить убытки и спросил, сколько у нее было яиц. Женщина сказала, что точного числа она не помнит, но когда она брала яйца парами, то оставалось одно яйцо. Одно яйцо оставалось также, когда она брала по 3,4, 5 и 6 яиц, но когда она брала по 7 штук, то в остатке ничего не было. Напишите программу, которая определит какое минимальное число яиц было в корзине.
2. Дано натуральное число N. каких цифр в числе больше: четных или нечетных.
3. Дано натуральное число N. Получить новое число, приписав к числу N такое же.
4. Дано натуральное число N. Найти разницу между максимальной и минимальной цифрами числа.
5. Дано натуральное число N. Приписать к числу по краям единички.
6. Дано натуральное число N. Обрезать крайние цифры числа.
7. Написать программу перевода числа n в систему с основанием k (1<k<10).
Приложения
|
|
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!