Вычислить контрольное число данной записи - Pascal ABC
Формулировка задачи:
У меня дано любое число формата x.xxx.xxx. Как вычислить контрольное число этой записи??
Заранее благодарен !
Решение задачи: «Вычислить контрольное число данной записи»
textual
Листинг программы
Function KC(A : Longint) : Byte; Var n1,n2 : Byte; fl : Boolean; Begin n1:=0; n2:=0; Fl:=True; While A>0 do Begin If Fl then n1:=n1+(A mod 10) else n2:=n2+(A mod 10); Fl:=not Fl; A:=A div 10; end; n1:=n1*3+n2; If n1 mod 10 = 0 then KC:=0 else KC:=10-(n1 mod 10); end; Begin Writeln(KC(1234456)); end.
Объяснение кода листинга программы
- В функции KC объявлены три переменные: n1, n2 и fl. Все они имеют тип byte.
- Переменная fl инициализируется значением True. Она будет использоваться для контроля цикла.
- Задается начальное значение для переменных n1 и n2, которые равны 0.
- Задается начальное значение для переменной fl, которая равна True.
- Запускается цикл while, который будет выполняться до тех пор, пока значение переменной A больше 0.
- Внутри цикла проверяется условие: если значение переменной fl равно True, то к переменной n1 прибавляется значение A, делённое на 10, иначе к переменной n2 прибавляется значение A, делённое на 10.
- После этого меняется значение переменной fl, которое становится противоположным (False).
- Значение переменной A делится на 10.
- Повторяются шаги 6-8 до тех пор, пока значение переменной A не станет равным 0.
- После завершения цикла значение переменной n1 умножается на 3 и к ней прибавляется значение переменной n2.
- Затем проверяется, делится ли значение n1 на 10 без остатка. Если да, то значение KC устанавливается в 0, иначе в 10 минус остаток от деления значения n1 на 10.
- В конце программы выводится значение KC, которое равно 10.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д