|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
20.12.2015, 13:33 | #11 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Var n,i:integer; a,x,S:real; f:Text; Begin Assign(f,'Ln.txt'); Rewrite(f); for i:=-9 to 9 do begin x:=0.1*i; a:=x; S:=a; n:=1; repeat n:=n+1; a:=-a*(n-1)/n*x; S:=S+a; until Abs(a)<1E-7; Writeln(x:4:1,S:15:5,Ln(1+x):15:5); Writeln(f,x:4:1,S:15:5); end; Close(f); Readln End. |
|
20.12.2015, 13:33 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Данная тема уже обсуждалась ранее и возможно решена Задание по программированию в Pascal. Строки Чемпионат мира по программированию 2014 Хочу научиться программированию микроконтроллеров |
20.12.2015, 16:27 | #15 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
20.12.2015, 16:55 | #16 (permalink) |
Member
Регистрация: 26.01.2013
Сообщений: 946
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 497
|
Сначала убрал x:=0.1*i; и вместо -9 и 9 поставил переменные, которые ранее задаются. Переменные вводил в виде десятичных дробей, т. к. формула для суммирования действует на полуинтервале (-1;1].
Потом пробовал, чтобы введеные границы в виде десятичной дроби умножились на 10 потом вместо -9 и 9 соответственно шли дальше по вашей программе. Ни там, ни там ничего не получилось... |
20.12.2015, 17:16 | #17 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Вот вариант: Код:
Var n,i,M:integer; a,x,S,Step:real; f:Text; Begin Assign(f,'D:\Ln.txt'); Rewrite(f); Write('Step = '); Readln(Step); M:=Trunc(2.0/Step); x:=-1; for i:=1 to M do begin x:=x+Step; a:=x; S:=a; n:=1; repeat n:=n+1; a:=-a*(n-1)/n*x; S:=S+a; until Abs(a)<1E-7; Writeln(x:6:3,S:15:5,Ln(1+x):15:5); Writeln(f,x:6:3,S:15:5); end; Close(f); Readln End. |
|
20.12.2015, 19:55 | #19 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Var n,i,M:integer; a,x,S,Step,mn,mx:real; f:Text; Begin Assign(f,'Ln.txt'); Rewrite(f); Write('Minimal value = '); Readln(mn); Write('Maximal value = '); Readln(mx); Write('Step = '); Readln(Step); M:=Trunc((mx-mn)/Step)+2; x:=mn-step; for i:=1 to M do begin x:=x+Step; a:=x; S:=a; n:=1; repeat n:=n+1; a:=-a*(n-1)/n*x; S:=S+a; until Abs(a)<1E-7; Writeln(x:6:3,S:15:5,Ln(1+x):15:5); Writeln(f,x:6:3,S:15:5); end; Close(f); Readln End. |
|
20.12.2015, 20:11 | #20 (permalink) |
Member
Регистрация: 26.01.2013
Сообщений: 946
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 497
|
Во, то что нужно
Еще добавлю чтобы при задании значений промежутка не выходить за (-1,1) |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|