Решение 50 типовых задач по программированию на языке Pascal Дата размещения сборника в сети
Данил Душистов: «Решение 50 типовых задач по программированию на языке Pascal»
Download 1.52 Mb. Pdf ko'rish
|
Задачи на Pascal
- Bu sahifa navigatsiya:
- Примечание
Данил Душистов: «Решение 50 типовых задач по программированию на языке Pascal»
53 программой ответ «нет». Мы возьмем это на заметку и попытаемся сделать контроль исключений, когда уже будет готово решение задачи для общего случая, чтобы заранее не наделать ошибок. Это необходимо потому, что мы попробуем инициализировать значения переменных при запуске про- граммы таким образом, чтобы обработку вырожденных случаев можно было выполнить с мини- мальным вложением дополнительного кода – мы уже делали это в задаче 32. Теперь о переменных. Так как нам необходимо проверять выполнение критерия на двойках (парах) элементов, то и хранить в памяти нужно сразу два элемента (a и b). Первый элемент не имеет предшественника, поэтому после ввода мы не обрабатываем его и можем вводить следующий эле- мент в одном операторе с ним: read(a, b); Имея два элемента, мы уже можем выполнить проверку нашего свойства. Однако уже на этом этапе мы можем догадаться, что в силу необходимости выполнить проверку для всех пар элементов последовательности следует сразу поместить ее в цикл. Мы будем считывать каждый очередной член последовательности в переменную b, и так как последнее вводимое число по условию – 0, то предусловием цикла будет b < > 0 (так как при b = 0 цикл должен прекратиться): while b <> 0 do begin ... a := b; read(b) end; На месте троеточия будет располагаться код проверки каждой пары, полностью охватываю- щий определение нашего свойства. Примечание: в «шаблоне» основного цикла мы выделили также оператор a := b, который обеспечивает движение по каждым двум соседним элементам последова- тельности. Следует обратить внимание на то, что мы должны проверять выполнение нашего свой- ства для 1-го и 2-го, 2-го и 3-го, 3-го и 4-го и т. д. элементов последовательности. Когда мы уже выполнили проверку для двух элементов, например, для 1-го (который хранится в переменной a) и 2-го (который хранится в переменной b), то далее мы присваиваем переменной a значение переменной b (в которой у нас хранился 2-ой элемент), затем считываем в b 3-й элемент, чтобы проверить свойство для 2-го и 3-го элементов и т. п. При этом нужно четко понимать, что мы не можем считывать в цикле сразу две переменные, так как при таком подходе проверка будет выполняться лишь для 1-го и 2-го, 3-го и 4-го и т. д. элементов, что неверно. Разберем саму проверку. Так как на каждом шаге цикла программе требуется выяснить, начи- нается ли следующий член последовательности с десятичной цифры данного, то, имея данный член в переменной a и следующий член в b, мы должны сравнить последнюю цифру a (обозначим ее как Download 1.52 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling