Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Сумма целых чисел от 1 до....   Найти похожие ветки 

 
tigra ©   (2006-05-09 19:11) [0]

Нужно создать программу, которая считает сумму целых чисел от 1 до заданного (предел 100)!
Не подскажите какую формулу нужно придумать и куда её девать после этого!? :)


 
KilkennyCat ©   (2006-05-09 19:14) [1]

result := 0;
For i := 1 to n do result := result + i;


 
tigra ©   (2006-05-09 19:18) [2]

а что обозначает result := 0?


 
Virgo_Style ©   (2006-05-09 19:19) [3]

[1] или как сумму членов арифметической прогрессии


 
tigra ©   (2006-05-09 19:19) [4]

и куда это вообще всё вписывать?


 
KilkennyCat ©   (2006-05-09 19:20) [5]


> [2] tigra ©   (09.05.06 19:18)


не скажу. это секрет, переданный мне под страхом страшных мучений...


 
tigra ©   (2006-05-09 19:23) [6]


> не скажу. это секрет, переданный мне под страхом страшных
> мучений...

А у меня комп пишет:
Undeclared identifier: "result"
И что же мне теперь делать? =0


 
Virgo_Style ©   (2006-05-09 19:25) [7]

tigra ©   (09.05.06 19:23) [6]

Учиться, учиться и учиться (с)


 
tigra ©   (2006-05-09 19:26) [8]

=(


 
AlexanderMS ©   (2006-05-09 19:28) [9]

Добавь в раздел Var:

I, N, Result : Integer;


> [1] или как сумму членов арифметической прогрессии

Result := ((2 + (n - 1)) * n )/2


 
KilkennyCat ©   (2006-05-09 19:30) [10]

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:31) [11]


> Учиться, учиться и учиться (с)

Я полностью согласен.


 
KilkennyCat ©   (2006-05-09 19:32) [12]


> [9] AlexanderMS ©   (09.05.06 19:28)
> Добавь в раздел Var:
>
> I, N, Result : Integer;
>
>
> > [1] или как сумму членов арифметической прогрессии
>
> Result := ((2 + (n - 1)) * n )/2


И будет ошибка.


 
AlexanderMS ©   (2006-05-09 19:36) [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:37) [14]


> Result := ((2 + (n - 1)) * n )/2


кроме того, это равносильно ((1+n)*n)/2


 
KilkennyCat ©   (2006-05-09 19:39) [15]


>  [13] AlexanderMS ©   (09.05.06 19:36)


inc смысла не меняет.

ошибку заметили?
если Result объявить как integer, Ваш вариант с делением не катит.


 
AlexanderMS ©   (2006-05-09 19:43) [16]

Это уже облом!
Result :=  ((1+n)*n) div 2
Какой я программист...

> ошибку заметили?

Не сразу, Delphi бы заметил.


 
tigra ©   (2006-05-09 20:30) [17]

большое спасибо! :)


 
SergP ©   (2006-05-10 09:15) [18]


> Не подскажите какую формулу нужно придумать


А ведь Гаусс в свое время сам додумался, хоть и был намного меньше тебя.


 
tigra ©   (2006-05-10 14:42) [19]

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"


 
Плохиш ©   (2006-05-10 14:45) [20]


> 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:51) [21]

Дело в том, что я никогда не изучала языки программирования!
Но сейчас мы в универе проходим delphi! при этом нам дали 14 лабораторных, в которых требуется что-то сделать и не объясняется, как! При этом, половина лабораторных с опечатками и ошибками!
Вообще уже во всём запуталась.
Значит нужно книжки по pascal"ю читать? Можешь посоветовать какую-нибудь хорошую и лёгкую к восприятию литературу?


 
Плохиш ©   (2006-05-10 14:56) [22]


> при этом нам дали 14 лабораторных, в которых требуется что-
> то сделать и не объясняется

Не верю.

> Можешь посоветовать какую-нибудь хорошую и лёгкую к восприятию
> литературу?

Никлаус Вирт "Введение в язык Паскаль" если сможешь сейчас найти.


 
tigra ©   (2006-05-10 15:01) [23]


> Плохиш ©   (10.05.06 14:56) [22]
>
> > при этом нам дали 14 лабораторных, в которых требуется
> что-
> > то сделать и не объясняется
>
> Не верю.


А зря! В первых семи там готовые проги были написаны с некоторыми объяснениями!
А после 7ой лабы задания даются совсем не такие, какие объяснялись в первой части! :(


 
tigra ©   (2006-05-10 15:05) [24]

А какой-нибудь Delphi для чайников не поможет?


 
Плохиш ©   (2006-05-10 15:15) [25]


> tigra ©   (10.05.06 15:05) [24]
> А какой-нибудь Delphi для чайников не поможет?

Попробуйте.



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.061 c
8-1135949830
Shev
2005-12-30 16:37
2006.05.28
Мультимедия


2-1147434529
Sergey17
2006-05-12 15:48
2006.05.28
Использование UPDATE SQL (Delphi 7)


4-1141243206
g-l-u-k
2006-03-01 23:00
2006.05.28
Отлов окна по его классу


4-1141606261
Nostradamus
2006-03-06 03:51
2006.05.28
HKLM под Windows Vista (Build 5308)


15-1146715840
Fin
2006-05-04 08:10
2006.05.28
Доступ в две сети с одной машины!