Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Циклы итерационной структуры - 2 
V
    Опции темы
Аликс
Дата 8.5.2006, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Я подумал, что может вам не понятна задача, я прекрепил файл.
Задача на ветвление и циклы.

С уважением Аликс

Добавлено @ 15:58 
"Задача на ветвление и циклы." - это не отсюда! 

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  ____________________________.doc 16,50 Kb
PM MAIL   Вверх
VAngeL86
Дата 10.5.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 29.4.2006
Где: Хабаровск

Репутация: нет
Всего: 1



Простая программа на подсчёт функции с заданой точностью! 
Используем цикл с пост условием...
Код

Program Inter;
uses CRT;
var n: integer;
    x, a, S: real;

Function st(a: real; b:integer): real; {функция считает степень по формуле x^a = exp(a*ln(x))}
var tmp: real;
begin
 tmp:=exp(b*ln(abs(a)));
 if a<0 then
  if b mod 2 <> 0 then tmp:=-tmp;
 st:=tmp;
end;

BEGIN
 clrscr;

 S:=0; x:=0.15; n:=1;
 repeat
  a:=st(-1, n+1)*st(x, 2*n+1)/(4*sqr(n) + 1); {считаем очередное слагаемое}
  S:=S+a;
  inc(n);
 until abs(a) < 1E-3; {если это слагаемое меньше точности то завершаем цикл}

 write('S = ', S:0:5);

readkey;
END.


P.S. надеюсь в этот раз я всё правильно понял smile 
 
PM MAIL ICQ   Вверх
Аликс
Дата 4.6.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет




Я посмотрел программу. Вроде всё правильно. Вот только начиная отсюда ничего непонятно:

Цитата

Function st(a: real; b:integer): real; {функция считает степень по формуле x^a = exp(a*ln(x))}
var tmp: real;
begin
tmp:=exp(b*ln(abs(a)));
if a<0 then
if b mod 2 <> 0 then tmp:=-tmp;
st:=tmp;
end;

BEGIN
clrscr;

S:=0; x:=0.15; n:=1;
repeat
a:=st(-1, n+1)*st(x, 2*n+1)/(4*sqr(n) + 1); {считаем очередное слагаемое}
S:=S+a;
inc(n);
until abs(a) < 1E-3; {если это слагаемое меньше точности то завершаем цикл}

write('S = ', S:0:5);


Да, и написание формул тоже непонятно. 
PM MAIL   Вверх
volvo877
Дата 4.6.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Аликс, так более понятно:
Код

const
  eps = 1E-3;

{ Функция возвращает (-1) в степени N }
function minusOnePower(n: integer): integer;
begin
  if odd(n) then minusOnePower := -1
  else minusOnePower := 1;
end;

var
  x, s, next: real;
  n: integer;

begin
  s := 0;
  n := 1;
  x := 0.15;

  x := x * x * x; { В первом слагаемом степень X равна 3 }
  repeat
    { Находим очередное слагаемое }
    next := minusOnePower(n + 1) * x / (4 * sqr(n) + 1);
    s := s + next; { <--- Увеличиваем сумму}

    { Степень Х в каждем следующем слагаемом увеличивается на 2 }
    x := x * sqr(x);
    inc(n);
  until abs(next) < eps;
  writeln(s:15:10);
end.


PM MAIL   Вверх
Аликс
Дата 4.6.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Спасибо! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1060 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.