Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Вниз

Сумма целых чисел от 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.011 c
3-1144105635
djmixer
2006-04-04 03:07
2006.05.28
При интенсивной работе с таблицами Paradox, они начинают умирать


6-1138086770
clickmaker
2006-01-24 10:12
2006.05.28
Indy 10 - IdFtp - HTTP Proxy with FTP support


1-1145377281
Dust
2006-04-18 20:21
2006.05.28
Указатель на функцию из метода.


11-1127210520
Linec
2005-09-20 14:02
2006.05.28
Невозможно сделать повторное создание формы.


15-1146648940
Styx_
2006-05-03 13:35
2006.05.28
Drag n Drop из The Bat!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский