Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2013, 22:38   #1
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
Стрелка Проблема с последовательностью.

helpin.jpg

в чем может быть проблема или я ее не правильно сделал?
Код:
Program pr4_2;
uses crt;
var n:integer;
const eps=0.003;
function A(n:integer):real;
var i:integer; S:real;
begin S:=0;
for i:=1 to (n-1) do 
S:=S+sqr(cos(i*Pi/n));
A:=S/sqr(n);
end;
begin clrscr;
writeln('A=');n:=2;
while abs(A(n)-A(n-1))>eps do 
n:=n+1;
writeln ('A(',n:3,')',A(n));
readln
end.

Последний раз редактировалось Stilet; 19.12.2013 в 10:43.
dimka123 вне форума Ответить с цитированием
Старый 19.12.2013, 06:43   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Код:
A:=S/sqr(n);
Вынести вне цикла.
У Вас получаете, что Вы делите первое слагаемое n-1 раз, второе - n-2 и т.д.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 19.12.2013, 09:21   #3
Kemperh4
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 16
Счастье

dimka123
Вот тут:
Цитата:
writeln('A=');n:=2;
поставь:
Код:
n:=3;
а это тут вообще не нужно:
Код:
writeln('A=');
А вместо
Цитата:
writeln ('A(',n:3,')',A(n));
сделай:
Код:
writeln ('A(',n,')',A(n));
тогда смотриться красивее...

Vanta11a
Цитата:

A:=S/sqr(n);

Вынести вне цикла.
У Вас получаете, что Вы делите первое слагаемое n-1 раз, второе - n-2 и т.д.
Если после do нету begin, в цикле будет исполняться только одна команда
Kemperh4 вне форума Ответить с цитированием
Старый 19.12.2013, 09:23   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
Если после do нету begin, в цикле будет исполняться только одна команда
Точно. Я невнимателен.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с последовательностью tasik_ua Помощь студентам 2 27.11.2013 21:50
Задача с последовательностью чисел Лиза_ Паскаль, Turbo Pascal, PascalABC.NET 1 22.11.2012 20:13
Работа с последовательностью, циклы Fantomka92 Общие вопросы C/C++ 1 28.11.2011 12:30
Написать программу с последовательностью Татьяна12678 Паскаль, Turbo Pascal, PascalABC.NET 1 22.05.2011 15:14
Помогите с последовательностью ==Terman== Microsoft Office Excel 5 06.06.2009 12:37