
Program
Simple;
{Версия
4} var N
: integer; F
: boolean;
imax
: integer; begin
writeln(‘Программа
определения принадлежности’);
writeln(‘числа
множеству простых чисел’);
repeat
write(‘Введите
исходное натуральное число ’);
readln(N);
if
N<=0 then
writeln(‘Число
должно быть больше 0’);
until
N>0; F:=
false;
imax:=round(sqrt(N));
I:=2;
while
(not
F)
and
(I<= round(sqrt(N))) do
begin
if
(N mod
I) = 0 then
F:=
true
else
I:=I+1;
end;
writeln('Число
не является простым')
else
writeln('Число
простое'); end.I : integer;
If f then
Удобство сопровождения - это способность программы обеспечивать простоту процесса поддержания программы (программного обеспечения) в работоспособном состоянии и простоту внесения в нее необходимых модификаций.
Это свойство обеспечивается правильным оформлением текста программы и наличием необходимой программной документации.
Для простоты сопровождения требуется:
-
Структурированность программы
-
Наличие комментариев в тексте программы
-
Имена переменных должны нести смысловую нагрузку или соответствовать общепринятым обозначениям. (В нашем примере вместо безличного имени F для признака «делитель найден» лучше использовать более информативное имя, например, FlagFound).
Структурированность программы достигается за счет выполнения следующих требований к ее записи:
-
Программа составляется на базе ограниченного набора простых конструкций (следование, ветвление, цикл) без использования переходов с помощью оператора goto.
-
Конструкции записываются с отступами так, чтобы была видна структура программы.
В нашем случае программа структурирована только частично. В ней нарушены правила ступенчатой записи конструкции «если» в теле цикла repeat . . until и в конце программы.
Наличие комментариев обеспечивает так называемую самодокументированность программы. Для достижения этого рекомендуется снабдить комментариями все основные переменные и части программы.
Текст программы после внесения в него изменений примет вид, удовлетворяющей рассмотренным выше критериям. Он приведен на следующей странице.
{Определение
принадлежности множеству простых
чисел}
{Разработал
Питеркин В.М.} Program
Simple; {Версия 5} var N
: integer;
{исходное
число} I
: integer;
{очередной делитель}
FlagFound
: boolean;
{признак ”делитель найден”}
imax
: integer;{максимальный делитель} begin
{ввод
данных}
writeln(‘Программа
определения принадлежности’);
writeln(‘числа
множеству простых чисел’);
{повторять,
пока число не будет введено правильно}
repeat
write(‘Введите
исходное натуральное число ’);
readln(N);
if
N<=0 then
writeln(‘Число
должно быть больше 0’);
{end
if}
until
N>0;
{вычисление
результата}
FlagFound:=
false;
imax:=round(sqrt(N));
I:=2;
{повторять,
пока делитель не найден и
} {не
просмотрены все возможные делители}
while
(not
F)
and
(I<= round(sqrt(N))) do
begin
{если
число делится без остатка – делитель
найден}
if
(N mod
I) = 0 then
F:=
true
else
{
перейти к следующему возможному
делителю}
I:=I+1;
{end
if}
end;
{вывод
результатов} if
FlagFound
then
writeln('Число
не является простым')
else
writeln('Число
простое');
{end
if} end.