Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 21.04.2017, 17:33   #1 (permalink)
Dimafania
Member
 
Регистрация: 18.05.2015
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, с элементарным вопросом

Программа не работает. Объясните пожалуйста почему. Как задать 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:33
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Можете ознакомится, тут наверняка есть дельные советы

Помогите с вопросом
Помогите пожалуйста с вопросом насчет видеокарты
Помогите с вопросом

Старый 21.04.2017, 17:48   #2 (permalink)
Dimafania
Member
 
Регистрация: 18.05.2015
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Иными словами у меня есть цикл по i. x - функция от i, y - функция от х. Как прописать условия, чтобы я потом мог указывать y[i], y[i-1] и т.д.
Dimafania вне форума   Ответить с цитированием
Старый 21.04.2017, 17:53   #3 (permalink)
black88
Banned
 
Регистрация: 22.12.2015
Сообщений: 1,404
Сказал(а) спасибо: 45
Поблагодарили 10 раз(а) в 4 сообщениях
Репутация: 12622
По умолчанию

Я вижу у Вас объявление массива Y, но обращение к элементам массива Х. Разберитесь в своих переменных )))
black88 вне форума   Ответить с цитированием
Старый 21.04.2017, 17:57   #4 (permalink)
Dimafania
Member
 
Регистрация: 18.05.2015
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от black88 Посмотреть сообщение
Я вижу у Вас объявление массива Y, но обращение к элементам массива Х. Разберитесь в своих переменных )))
Уважаемый black, я и реал писал, но Реалу же я не могу присвоить [i], тоже не работает.
Dimafania вне форума   Ответить с цитированием
Старый 21.04.2017, 18:13   #5 (permalink)
black88
Banned
 
Регистрация: 22.12.2015
Сообщений: 1,404
Сказал(а) спасибо: 45
Поблагодарили 10 раз(а) в 4 сообщениях
Репутация: 12622
По умолчанию

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

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 21.04.2017, 18:19   #6 (permalink)
black88
Banned
 
Регистрация: 22.12.2015
Сообщений: 1,404
Сказал(а) спасибо: 45
Поблагодарили 10 раз(а) в 4 сообщениях
Репутация: 12622
По умолчанию

Упс... Тяпница, извините...
black88 вне форума   Ответить с цитированием
Старый 21.04.2017, 18:26   #7 (permalink)
Dimafania
Member
 
Регистрация: 18.05.2015
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вопрос решил. Подсказали ввести Function название(i:Integer):Real
К счастью помогло)
Dimafania вне форума   Ответить с цитированием
Старый 21.04.2017, 18:29   #8 (permalink)
black88
Banned
 
Регистрация: 22.12.2015
Сообщений: 1,404
Сказал(а) спасибо: 45
Поблагодарили 10 раз(а) в 4 сообщениях
Репутация: 12622
По умолчанию

Неисчислимы диалекты языков...
black88 вне форума   Ответить с цитированием
Старый 21.04.2017, 18:29   #9 (permalink)
Dimafania
Member
 
Регистрация: 18.05.2015
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Владимир, если у вас будет свободное время, будьте любезны дать знать. Есть нетривиальная задачка, но чувствуется мне ваш опыт поможет решить ее очень элегантным простым способом)
Dimafania вне форума   Ответить с цитированием
Старый 21.04.2017, 18:31   #10 (permalink)
black88
Banned
 
Регистрация: 22.12.2015
Сообщений: 1,404
Сказал(а) спасибо: 45
Поблагодарили 10 раз(а) в 4 сообщениях
Репутация: 12622
По умолчанию

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

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.