Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Помогите, пожалуйста, с элементарным вопросом (http://www.tehnari.ru/f43/t253392/)

Dimafania 21.04.2017 17:33

Помогите, пожалуйста, с элементарным вопросом
 
Программа не работает. Объясните пожалуйста почему. Как задать y, чтобы все заработало? Необходимо решение именно в таком алгоритме.

var
i:Integer;
x:Real;
y:array [1..1000] of Real;


begin
for i:=1 to 720 do
x:=i*3.14/180;
y:=sin(x);
if y[i-1]<0 and y[i]>0 then
x:=(x[i-1]+x[i])/2;
writeln(x);
end.

Dimafania 21.04.2017 17:48

Иными словами у меня есть цикл по i. x - функция от i, y - функция от х. Как прописать условия, чтобы я потом мог указывать y[i], y[i-1] и т.д.

black88 21.04.2017 17:53

Я вижу у Вас объявление массива Y, но обращение к элементам массива Х. Разберитесь в своих переменных )))

Dimafania 21.04.2017 17:57

Цитата:

Сообщение от black88 (Сообщение 2481033)
Я вижу у Вас объявление массива Y, но обращение к элементам массива Х. Разберитесь в своих переменных )))

Уважаемый black, я и реал писал, но Реалу же я не могу присвоить [i], тоже не работает.

black88 21.04.2017 18:13

Вы не о том говорите.
У вас описан массив Y, а в выражении с индексом стоит X.
Второе: Элемент с индексом стоит вне оператора цикла, соответственно индекс у него не изменяется.
Поскольку не использованы операторные скобки, то в цикл входит единственная строка.

black88 21.04.2017 18:19

Упс... Тяпница, извините...

Dimafania 21.04.2017 18:26

Вопрос решил. Подсказали ввести Function название(i:Integer):Real
К счастью помогло)

black88 21.04.2017 18:29

Неисчислимы диалекты языков...

Dimafania 21.04.2017 18:29

Владимир, если у вас будет свободное время, будьте любезны дать знать. Есть нетривиальная задачка, но чувствуется мне ваш опыт поможет решить ее очень элегантным простым способом)

black88 21.04.2017 18:31

Я не Владимир :)
У нас специалистом по программированию действительно является Владимир Игоревич aka Vladimir_S, а я так, немножко балуюсь. Но если что, пишите.


Часовой пояс GMT +4, время: 21:51.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.