Определить, какая из строк является десятичной записью числа, кратного 9. Проверить программу. - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Для заданных трех строк S1, S2 и S3 определить какая из этих строк удовлетворяет следующему свойству: строка является десятичной записью числа, кратного 9.

Решение задачи: «Определить, какая из строк является десятичной записью числа, кратного 9. Проверить программу.»

textual
Листинг программы
var s:array[1..3] of string;
    i:byte;
function kr9(x:string):boolean;
var i:byte;sum:integer;f:boolean;
begin
  f:=true;sum:=0;i:=1;
  while f and (i<=length(x)) do
   begin
    if x[i] in ['0'..'9'] then sum:=sum+ord(x[i])-48
                          else f:=false;
    inc(i)
   end;
  kr9:=f and (sum mod 9 =0) 
end;  
begin
 for i:=1 to 3 do
  begin
   write('S',i,' = ');readln(s[i])
  end;
 for i:=1 to 3 do
  begin
   write('строка ''',s[i],'''');
   if not(kr9(s[i])) then write(' не');
   writeln(' является десятичной записью числа, кратного 9')
  end           
end.

Объяснение кода листинга программы

  1. Объявлены три строки s[1..3] и переменная i типа byte.
  2. Определена функция kr9(x:string):boolean, которая проверяет, является ли строка x десятичной записью числа, кратного 9. Внутри функции объявлены три переменные i, sum и f типа byte.
  3. В цикле while происходит проверка каждого символа строки x. Если символ является числом от 0 до 9, то он добавляется к сумме sum. Если символ не является числом от 0 до 9, то устанавливается значение f равным false.
  4. После каждой итерации цикла увеличивается значение i.
  5. По окончании цикла, функция возвращает значение kr9 равным true, если сумма sum кратна 9 и false в противном случае.
  6. В основном блоке кода происходит заполнение строк s[1..3] с помощью функции readln().
  7. В цикле for выводятся на экран строки s[1..3] и проверяется значение kr9(s[i]). Если значение kr9 равно false, то к строке добавляется слово не.
  8. Завершается программа выходом из функции main.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы