Написать программу паскаль вообще не шарю в программах,а так 2 ! «a»: ввести натуральное число и найти сумму его цифр. пример: введите натуральное число: 12345. сумма цифр 15. «b»: ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом. пример: введите натуральное число: 12342 нет. пример: введите натуральное число: 12245 да.
Дискретность - это свойство алгоритма, когда алгоритм разбивается на конечное число элементарных действий (шагов) . Понятность - свойство алгоритма, при котором каждое из этих элементарных действий (шагов) являются законченными и понятными. Детерминированность - свойство, когда каждое действие (операция. указание. шаг. требование) должно пониматься в строго определённом смысле, чтобы не оставалась места произвольному толкованию. чтобы каждый, прочитавший указание, понимал его однозначно. Массовость - свойство, когда по данному алгоритму должна решаться не одна, а целый класс подобных задач. Результативность – свойство, при котором любой алгоритм в процессе выполнения должен приводить к определённому результату. Отрицательный результат также является результатом.
Procedure F(n: integer); begin if n>0 then begin Write (n); F(n-2); F(n div 4); end end;
begin F(9); end.
На выходе будет 97531112
Если нужна трассировка, её можно сделать примерно так:
procedure F(n: integer); begin Writeln('Вход'); if n>0 then begin Writeln ('В выходную строку: ',n); Writeln('Вызов F(n-2)'); F(n-2); Writeln('Вызов F(n div 4)'); F(n div 4); end; Writeln('Выход') end;
begin F(9); end.
Результат трассировки: Вход В выходную строку: 9 Вызов F(n-2) Вход В выходную строку: 7 Вызов F(n-2) Вход В выходную строку: 5 Вызов F(n-2) Вход В выходную строку: 3 Вызов F(n-2) Вход В выходную строку: 1 Вызов F(n-2) Вход Выход Вызов F(n div 4) Вход Выход Выход Вызов F(n div 4) Вход Выход Выход Вызов F(n div 4) Вход В выходную строку: 1 Вызов F(n-2) Вход Выход Вызов F(n div 4) Вход Выход Выход Выход Вызов F(n div 4) Вход В выходную строку: 1 Вызов F(n-2) Вход Выход Вызов F(n div 4) Вход Выход Выход Выход Вызов F(n div 4) Вход В выходную строку: 2 Вызов F(n-2) Вход Выход Вызов F(n div 4) Вход Выход Выход Выход
A)
var num, sum, i, temp: Integer;
begin
print('Number: ');
readln(num);
temp:= num;
i:=1;
while(temp <> 0) do
begin
temp:= temp div 10;
if(temp =0) then break;
i:= i+1;
end;
temp:= i;
sum:=0;
for i:=0 to temp do
begin
sum:= sum + (num mod 10);
num:= num div 10;
end;
println('Sum: ',sum);
end.
B)
var num, temp: Integer;
bool:boolean;
begin
readln(num);
temp := num mod 10;
num := num div 10;
while(num<>0) do
begin
if (temp = num mod 10)
then
begin
bool:=true;
break;
end;
temp := num mod 10;
num := num div 10;
end;
if bool then write('Yes') else write('No');
end.