Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2008, 17:25   #1
Katenka
 
Регистрация: 14.12.2008
Сообщений: 3
По умолчанию Задачка с процедурой

Помогите пожалуйста решить задачу! Очень нужно!
Нужно описать процедуру SumDigit(N,S), находящую сумму цифр S целого числа N (N-входной, S-выходной параметр). Используя эту процедуру, найти суммы цифр пяти данных чисел.
Katenka вне форума Ответить с цитированием
Старый 14.12.2008, 17:39   #2
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию

Код:
Procedure SumDigit(N, var S);
summa:integer;
begin
summa:=0;  
 while N<>0 do
   begin
     b:=N mod 10;
     summa:=summa+b;
     N:=N div 10;
   end;

end;
Викдон вне форума Ответить с цитированием
Старый 15.12.2008, 11:45   #3
Katenka
 
Регистрация: 14.12.2008
Сообщений: 3
По умолчанию

какую то ошибку находит в этой строке:
b:=N mod 10;

а для чего вобще эта переменная "b"?
Katenka вне форума Ответить с цитированием
Старый 15.12.2008, 12:13   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
Procedure SumDigit(N:integer;var S:integer);
 var st:string;
     i,x,code:integer;
begin
s:=0;
str(n,st);
for i:=1 to length(st) do
     begin
      val(st[i],x,code);
      s:=s+x;
     end;
end;
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 15.12.2008, 13:32   #5
Katenka
 
Регистрация: 14.12.2008
Сообщений: 3
По умолчанию

Спасибо вам огромное!))

у меня тут есть еще одна задачка не хилая(( не поможете??

Описать функцию Exp1(x,eps) вещественного типа (параметры x,eps - вещественные, eps>0),находящую приближённое значение функции eps(х): eps(х)=1 + x + x^2/2! +x^3/3! + ... + x^n/n! +... .В сумме учитывать все слагаемые, большие eps по модулю. С помощью Exp1 найти приближённое значение экспоненты для данного х при шести данных eps.
Katenka вне форума Ответить с цитированием
Старый 15.12.2008, 13:53   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
var x,eps,sum:real;
    i:integer;

function Fact(x:integer):real;
var j:integer;
    s:real;
begin
s:=1;
for j:=1 to x do
   s:=s*j;
Fact:=s;
end;

function Step(x:real;y:integer):real;
var s:real;
    j:integer;
begin
s:=1;
for j:=1 to y do
   s:=s*x;
Step:=s;
end;

function Fun(x:real;n:integer):real;
begin
fun:=Step(x,n)/fact(n);
end;


begin
writeln('Input data');
readln(x,eps);
i:=0;
sum:=1;
repeat
inc(i);
sum:=sum+Fun(x,i);
until abs(Fun(x,i))<abs(eps);
writeln(sum:12:6);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Люди,помогите с процедурой на выход! Alexij Общие вопросы Delphi 5 08.06.2008 13:43
Помогите с процедурой... Arkuz Помощь студентам 10 15.05.2008 08:56
помогите с процедурой на VBA Exo Microsoft Office Excel 2 06.05.2008 10:53
Помогите разобраться с процедурой OnKeyDown!!! frai Общие вопросы Delphi 9 13.04.2007 15:46