Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Readln(x);. 1) видим, что в последней строке выводятся на экран переменные a и b, поэтому сначала нужно определить






Begin

a: = 0;

b: = 0;

Readln(x);

while x > 0 do begin

y: = x mod 10;

if y > 3 then a: = a + 1;

if y < 8 then b: = b + 1;

x: = x div 10

End;

Writeln(a);

Writeln(b)

End.

Решение:

1) видим, что в последней строке выводятся на экран переменные a и b, поэтому сначала нужно определить, что они обозначают в программе

2) перед началом цикла переменные a и b обнуляются

3) на каждом шаге цикла при выполнении некоторых условий переменные a и b увеличиваются на 1, то есть представляют собой счётчики

4) увеличение переменных зависит от значения y = x mod 10, то есть от последней цифры числа

5) если последняя цифра числа больше 3, увеличивается счётчик a, если меньше 8 – счётчик b;

6) в конце каждого шага цикла операция x: =x div 10 отсекает последнюю цифру в десятичной записи числа

7) цикл заканчивается, когда перестаёт выполняться условие x > 0, то есть, когда все цифры исходного числа отброшены

8) таким образом, делаем вывод: после завершения цикла в переменной a находится количество цифр, больших 3, в десятичной записи числа, а в переменной b – количество цифр, меньших 8

9) если было выведено 4 и 2, то в числе 4 цифры больше 3 и 2 цифры меньше 8

10) так как число пятизначное, есть 4 + 2 – 5 = одна цифра, которая больше 3 и меньше 8 одновременно; она должна быть минимальной, поэтому эта цифра 4

11) для того чтобы число было минимальным, ещё одна цифра должна быть минимальной и меньшей 3 – это старшая 1, и три цифры минимальные из цифр, больших или равных 8, то есть три цифры 8

12) ответ: 14888.

Ещё пример задания:

P-05. Ниже записан алгоритм. Сколько существует таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 12?

var x, a, b: integer;

Begin

readln(x);

a: =0; b: =0;

while x> 0 do begin

a: =a + 1;

b: =b + (x mod 10);

x: =x div 10;

End;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.