![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сумма целых чисел от 1 до.... [D7, XP]
tigra © (2006-05-09 19:11:00)Нужно создать программу, которая считает сумму целых чисел от 1 до заданного (предел 100)!
Не подскажите какую формулу нужно придумать и куда её девать после этого!? :)
Плохиш (2006-05-10 15:15:00) [1]
> tigra © (10.05.06 15:05) [24]
> А какой-нибудь Delphi для чайников не поможет?
Попробуйте.
tigra (2006-05-10 15:05:00) [2]А какой-нибудь Delphi для чайников не поможет?
tigra (2006-05-10 15:01:00) [3]
> Плохиш © (10.05.06 14:56) [22]
>
> > при этом нам дали 14 лабораторных, в которых требуется
> что-
> > то сделать и не объясняется
>
> Не верю.
А зря! В первых семи там готовые проги были написаны с некоторыми объяснениями!
А после 7ой лабы задания даются совсем не такие, какие объяснялись в первой части! :(
Плохиш (2006-05-10 14:56:00) [4]
> при этом нам дали 14 лабораторных, в которых требуется что-
> то сделать и не объясняется
Не верю.
> Можешь посоветовать какую-нибудь хорошую и лёгкуюк восприятию
> литературу?
Никлаус Вирт "Введение в язык Паскаль" если сможешь сейчас найти.
tigra (2006-05-10 14:51:00) [5]Дело в том, что я никогда не изучала языки программирования!
Но сейчас мы в универе проходим delphi! при этом нам дали 14 лабораторных, в которых требуется что-то сделать и не объясняется, как! При этом, половина лабораторных с опечатками и ошибками!
Вообще уже во всём запуталась.
Значит нужно книжки по pascal'ю читать? Можешь посоветовать какую-нибудь хорошую и лёгкую к восприятию литературу?
Плохиш (2006-05-10 14:45:00) [6]
> tigra © (10.05.06 14:42) [19]
> Выдает такие ошибки:
> [Error] Lab7.pas(76): Declaration expected but identifier
> 'lbOutput' found
> [Error] Lab7.pas(76): Unterminated string
Прочитай наконец какую-нибуть книжку по синтаксису языка pascal.
tigra (2006-05-10 14:42:00) [7]
procedure TfmExample.mmTask1Click(Sender: TObject);
begin
mmOutput.Clear;
edInput.Clear;
lbOutput.Caption := '';
Panel1.Show;
lbOutput.Visible := true;
lbOutput.Caption := 'Введите n';
bbRun2.Hide;
bbRun1.Show;
edInput.SetFocus;
end;
procedure TfmExample.bbRun1Click(Sender: TObject);
var
x : real;
begin
if (edInput.Text = '') then
exit;
try
x := StrToFloat(Trim(edInput.Text));
except
MessageBeep(0);
ShowMessage('ошибка записи числа' + edInput.Text);
edInput.SetFocus;
exit;
end;
end;
function SummaUsexSisel(n : byte) : integer;
var
i : byte;
begin
result := 0;
For i := 1 to n do result := result + i;
end;
lbOutput.Caption := 'сумма = " + IntToStr(SummaUsexSisel(100)));
end.
Выдает такие ошибки:
[Hint] Lab7.pas(59): Value assigned to 'x' never used
[Error] Lab7.pas(76): Declaration expected but identifier 'lbOutput' found
[Error] Lab7.pas(76): Unterminated string
[Fatal Error] Summa.dpr(5): Could not compile used unit 'Lab7.pas'
SergP (2006-05-10 09:15:00) [8]
> Не подскажите какую формулу нужно придумать
А ведь Гаусс в свое время сам додумался, хоть и был намного меньше тебя.
tigra (2006-05-09 20:30:00) [9]большое спасибо! :)
AlexanderMS (2006-05-09 19:43:00) [10]Это уже облом!
Result := ((1+n)*n) div 2
Какой я программист...
> ошибку заметили?
Не сразу, Delphi бы заметил.
KilkennyCat (2006-05-09 19:39:00) [11]
> [13] AlexanderMS © (09.05.06 19:36)
inc смысла не меняет.
ошибку заметили?
если Result объявить как integer, Ваш вариант с делением не катит.
KilkennyCat (2006-05-09 19:37:00) [12]
> Result := ((2 + (n - 1)) * n )/2
кроме того, это равносильно ((1+n)*n)/2
AlexanderMS (2006-05-09 19:36:00) [13]KilkennyCat © (09.05.06 19:30) [10]
> For i := 1 to n do result := result + i;
Я бы сделал так:
Result := ((2 + (n - 1)) * n )/2
или
For i := 1 to n do inc(result, i);
KilkennyCat (2006-05-09 19:32:00) [14]
> [9] AlexanderMS © (09.05.06 19:28)
> Добавь в раздел Var:
>
> I, N, Result : Integer;
>
>
> > [1] или как сумму членов арифметической прогрессии
>
> Result := ((2 + (n - 1)) * n )/2
И будет ошибка.
AlexanderMS (2006-05-09 19:31:00) [15]
> Учиться, учиться и учиться (с)
Я полностью согласен.
KilkennyCat (2006-05-09 19:30:00) [16]
function SummaUsexSisel(n : byte) : integer;
var
i : byte;
begin
result := 0;
For i := 1 to n do result := result + i;
end;
пример вызова:
Showmessage(inttostr(SummaUsexSisel(100)));
AlexanderMS (2006-05-09 19:28:00) [17]Добавь в раздел Var:
I, N, Result : Integer;
> [1] или как сумму членов арифметической прогрессии
Result := ((2 + (n - 1)) * n )/2
tigra (2006-05-09 19:26:00) [18]=(
Virgo_Style (2006-05-09 19:25:00) [19]tigra © (09.05.06 19:23) [6]
Учиться, учиться и учиться (с)
tigra (2006-05-09 19:23:00) [20]
> не скажу. это секрет, переданный мне под страхом страшных
> мучений...
А у меня комп пишет:
Undeclared identifier: 'result'
И что же мне теперь делать? =0