Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
296
Добавлен:
04.03.2014
Размер:
1.7 Кб
Скачать
Задача:
Ввести число. Если количество его разрядов меньше пяти, то вывести его на экран, дописав нули перед числом так, чтобы в итоге получилось пять знаков. Если количество разрядов больше пяти, то вывести только первые пять разрядов. Если число пятизначное, то вывести его как есть.

Описание переменных:
a - введенное число;
b - хранение результата выполнения операций над числом a;
n - количество разрядов числа;
diff - разница между числом 5 и n.

Алгоритм решения задачи:
Определить количество разрядов числа.
Найти разность между необходимым числом разрядов (уменьшаемое) (в данном случае 5) и полученным значением (вычитаемое).
Если разность положительна, значит в введенном числе меньше пяти разрядов. В этом случае в цикле дописываем нули перед числом.
Если разность отрицательно, то введенное число имеет больше пяти разрядов. В этом случае в цикле делим его нацело на 10.
Во всех остальных случаях выводим число как есть.
Программа на языке Паскаль:
const
D = 5;
var
a,b: longint;
n,diff: integer;
begin
write('a = '); readln(a);
b := a;
n := 0;
if b = 0 then n := 1;
while b > 0 do begin
b := b div 10;
n := n + 1;
end;

diff := D-n;
if diff > 0 then begin
while diff > 0 do begin
write('0');
diff := diff - 1;
end;
writeln(a);
end
else begin
if diff < 0 then begin
b := a;
while diff < 0 do begin
b := b div 10;
diff := diff + 1;
end;
writeln(b);
end
else
writeln(a);
end;

readln;
end.
Соседние файлы в папке Условные операторы. Циклы