Решение 50 типовых задач по программированию на языке Pascal Дата размещения сборника в сети


Download 1.52 Mb.
Pdf ko'rish
bet59/77
Sana03.02.2023
Hajmi1.52 Mb.
#1152062
TuriРешение
1   ...   55   56   57   58   59   60   61   62   ...   77
Bog'liq
Задачи на Pascal

last
с первой цифрой (обозначим ее как first). Сделать это можно так: 
last := a mod 10; 
first := b; 
while first > 9 do begin 
first := first div 10 
end; 
Здесь мы сначала добыли последнюю цифру a (строка 1), затем скопировали в last значение b 
(
переменную b нельзя изменять, так как ее значение понадобится нам на следующем шаге цикла) и 
во вложенном цикле разделили last на 10 столько раз, чтобы в ней осталась лишь одна цифра, кото-
рая является его первой цифрой. 
Добыв нужные цифры, мы можем выполнить их сравнение и выйти из цикла в том случае, 
когда они не равны, так как при этом нарушается наше характеристическое свойство, данное в усло-
вии, и после этого дальнейшая проверка бессмысленна: 
if last <> first then break


Данил Душистов: «Решение 50 типовых задач по программированию на языке Pascal» 
54 
Когда цикл завершится, нам останется лишь вывести на экран результат сравнения перемен-
ных last и first: если цикл завершился, то последовательность отвечает заданному свойству (так как 
не было выхода через break), они будут равны и будет выведен ответ true; если же был совершен 
выход через break, то переменные неравны и ответ, соответственноfalse
Теперь попробуем оптимизировать программу для обработки вырожденных случаев для пу-
стой последовательности (когда вводится единственный 0) и для последовательности из одного 
члена (когда вводится некоторое число и 0): мы договорились выводить для них ответ false
Очевидно, в данный момент наша программа обрабатывает корректно минимальный случай 
из двух членов: тогда проходит одно повторение тела цикла, в котором переменные last и first по-
лучают значения, затем может произойти выход по break или завершение цикла по вводу нуля, как 
и должно быть. 
Однако если мы введем последовательность из одного члена, то при вводе a и b в переменную 

Download 1.52 Mb.

Do'stlaringiz bilan baham:
1   ...   55   56   57   58   59   60   61   62   ...   77




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling