Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сумма целых чисел от 1 до.... [D7, XP]


Страницы:   1 2

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо