Решить с помощью Паскаля две задачи: 1. Составить программу, которая содержит функцию и которая определяет, верно ли, что сумма цифр числа является четным числом.2. Составить программу, которая определяет,верно ли, что в заданном числе все цифры стоят по возрастанию.
program CheckSumDigits; function SumOfDigits(number: integer): integer; var sum, digit: integer; begin sum := 0; while number <> 0 do begin digit := number mod 10; sum := sum + digit; number := number div 10; end; SumOfDigits := sum; end; var num: integer; begin writeln('Введите число: '); readln(num); if SumOfDigits(num) mod 2 = 0 then writeln('Сумма цифр числа является четным числом') else writeln('Сумма цифр числа не является четным числом'); end.
Пример решения второй задачи:
program CheckAscendingDigits; function CheckDigitsAscending(number: integer): boolean; var prevDigit, currentDigit: integer; begin prevDigit := number mod 10; number := number div 10; while number <> 0 do begin currentDigit := number mod 10; if currentDigit >= prevDigit then begin CheckDigitsAscending := false; exit; end; prevDigit := currentDigit; number := number div 10; end; CheckDigitsAscending := true; end; var num: integer; begin writeln('Введите число: '); readln(num); if CheckDigitsAscending(num) then writeln('Все цифры числа стоят по возрастанию') else writeln('Не все цифры числа стоят по возрастанию'); end.
Пример решения первой задачи:
program CheckSumDigits;function SumOfDigits(number: integer): integer;
var
sum, digit: integer;
begin
sum := 0;
while number <> 0 do
begin
digit := number mod 10;
sum := sum + digit;
number := number div 10;
end;
SumOfDigits := sum;
end;
var
num: integer;
begin
writeln('Введите число: ');
readln(num);
if SumOfDigits(num) mod 2 = 0 then
writeln('Сумма цифр числа является четным числом')
else
writeln('Сумма цифр числа не является четным числом');
end.
Пример решения второй задачи:
program CheckAscendingDigits;function CheckDigitsAscending(number: integer): boolean;
var
prevDigit, currentDigit: integer;
begin
prevDigit := number mod 10;
number := number div 10;
while number <> 0 do
begin
currentDigit := number mod 10;
if currentDigit >= prevDigit then
begin
CheckDigitsAscending := false;
exit;
end;
prevDigit := currentDigit;
number := number div 10;
end;
CheckDigitsAscending := true;
end;
var
num: integer;
begin
writeln('Введите число: ');
readln(num);
if CheckDigitsAscending(num) then
writeln('Все цифры числа стоят по возрастанию')
else
writeln('Не все цифры числа стоят по возрастанию');
end.