10.05.2009, 13:02 | #11 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
x,S,a:REAL; k:INTEGER; FUNCTION X2np(X:Extended; n:INTEGER):Extended; Var i:INTEGER; Y:Extended; BEGIN IF n=0 THEN X2np:=1 ELSE IF n=1 THEN X2np:=X ELSE BEGIN Y:=X; FOR i:=2 TO n DO Y:=Y*X; X2np:=Y; END; END; BEGIN Write('x (>0.5) = '); ReadLn(x); a:=1; k:=0; S:=0; WHILE ABS(a)>1E-6 DO BEGIN INC(k); a:=X2np((x-1),k)/k/X2np(x,k); S:=S+a; END; Writeln('S = ', S:10:7); Writeln('Ln(x) = ', Ln(x):10:7); ReadLn; END. Здесь ограничение точности взято просто "с запасом". Но если это не устраивает и нужно реально считать остаточный член ряда - напишите, сделаем. Просто дело это изрядно муторное. Последний раз редактировалось Vladimir_S; 10.05.2009 в 13:13 |
|
10.05.2009, 13:02 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Я думаю, что проблема получила свое решение по этим ссылкам Нужна помощь с БП Помощь с БП от ПК |
10.05.2009, 13:43 | #12 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
N=10; VAR A:ARRAY[1..N] of INTEGER; B:ARRAY[1..N+1] of INTEGER; i,j,Ncur:INTEGER; BEGIN Randomize; FOR i:=1 TO N DO BEGIN A[i]:=Random(100)-50; B[i]:=A[i]; END; i:=1; Ncur:=N; REPEAT IF B[i]<0 THEN BEGIN B[N+1]:=B[i]; FOR j:=i+1 TO N+1 DO B[j-1]:=B[j]; DEC(i); DEC(Ncur); END; INC(i); UNTIL i=Ncur+1; FOR i:=1 TO N DO Write(A[i]:4); Writeln; FOR i:=1 TO N DO Write(B[i]:4); Writeln; ReadLn; END. |
|
10.05.2009, 13:55 | #13 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
N=8; M=10; VAR A:ARRAY[1..N,1..M] of INTEGER; B:ARRAY[1..N] of INTEGER; i,j,Ncur:INTEGER; BEGIN Randomize; FOR i:=1 TO N DO BEGIN FOR j:=1 TO M DO A[i,j]:=Random(4)-2; B[i]:=0; END; FOR i:=1 TO N DO FOR j:=1 TO M DO IF A[i,j]=0 THEN B[i]:=B[i]+1; FOR i:=1 TO N DO BEGIN FOR j:=1 TO M DO Write(A[i,j]:4); Writeln; END; FOR i:=1 TO N DO WriteLn(B[i]:4); ReadLn; END. |
|
10.05.2009, 15:10 | #14 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
N=10; TYPE AR=ARRAY[1..N] of INTEGER; VAR A,B:AR; i,j,Ncur,i1zer,i2zer,Prod:INTEGER; FUNCTION S_even(AS:AR):INTEGER; VAR Scur,i:INTEGER; BEGIN Scur:=0; FOR i:=1 TO N DO IF (i mod 2)=0 THEN Scur:=Scur+AS[i]; S_even:=Scur; END; PROCEDURE Product(AP:AR;i1p,i2p:Integer; VAR Pr:INTEGER); VAR Pr_cur,i:INTEGER; BEGIN Pr_cur:=0; IF i1p=0 THEN WriteLn('Array contains no zero elements') ELSE IF i1p=i2p THEN WriteLn('Array contains only one zero element') ELSE BEGIN Pr_cur:=1; FOR i:=i1p+1 TO i2p-1 DO Pr_cur:=Pr_cur*AP[i]; END; Pr:=Pr_cur; END; BEGIN Randomize; FOR i:=1 TO N DO BEGIN A[i]:=Random(6)-3; B[i]:=A[i]; END; i1zer:=0; i2zer:=0; i:=1; REPEAT IF A[i]=0 THEN i1zer:=i; INC(i); UNTIL (i1zer>0) OR (i=N+1); i:=N; REPEAT IF A[i]=0 THEN i2zer:=i; DEC(i); UNTIL (i2zer>0) OR (i=0); i:=1; Ncur:=N; REPEAT IF ABS(B[i])<=1 THEN BEGIN FOR j:=i+1 TO N DO B[j-1]:=B[j]; B[N]:=0; DEC(i); DEC(Ncur); END; INC(i); UNTIL i=Ncur+1; FOR i:=1 TO N DO Write(A[i]:4); Writeln; Writeln('Sum of even elements is ', S_even(A)); Product(A,i1zer,i2zer,Prod); IF (i1zer>0) AND (i1zer<i2zer) THEN Writeln('Product of elements between first and last zero is ',Prod); FOR i:=1 TO N DO Write(B[i]:4); Writeln; ReadLn; END. |
|
10.05.2009, 21:17 | #15 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Max_Number_of_Strings=1000; VAR A:ARRAY[1..Max_Number_of_Strings] of INTEGER; i,j,Number_of_Strings:INTEGER; file_inp, file_out, file_interm, file_inf:TEXT; Ch_bef,Ch_aft:Char; S:STRING; BEGIN Assign(file_inp,'D:\x1'); ReSet(file_inp); Assign(file_interm,'D:\x2'); ReWrite(file_interm); Assign(file_out,'D:\x3'); ReWrite(file_out); Assign(file_inf,'D:\inf'); ReWrite(file_inf); FOR i:=1 TO Max_Number_of_Strings DO A[i]:=0; Number_of_Strings:=1; REPEAT Ch_bef:=' '; REPEAT Read(file_inp, Ch_aft); IF ((Ch_bef=' ') AND (Ch_aft<>' ')) OR ((Ch_bef<>' ') AND (Ch_aft<>' ')) OR ((Ch_bef<>' ') AND (Ch_aft=' ')) THEN Write(file_interm, Ch_aft); IF ((Ch_bef<>' ') AND (Ch_aft=' ')) OR (EOLN(file_inp)) THEN BEGIN WriteLn(file_interm); INC(A[Number_of_Strings]); END; Ch_bef:=Ch_aft; UNTIL EOLN(file_inp); ReadLn(file_inp); INC(Number_of_Strings); UNTIL EoF(file_inp); WriteLn(file_inf,'Number of string Number of words'); FOR i:=1 TO Number_Of_Strings DO WriteLn(file_inf,i:10,A[i]:24); Close(file_inf); Close(file_inp); Close(file_interm); ReSet(file_interm); FOR i:=1 TO Number_Of_Strings DO BEGIN FOR j:=1 TO A[i] DO BEGIN Readln(file_interm, S); IF S<>'BEGIN' THEN Write(file_out,S+' '); END; WriteLn(file_out); END; Close(file_interm); Erase(file_interm); Close(file_out); END. Некоторые пояснения. К сожалению, не удалось толком обработать пустые строки, поэтому в исходном файле их быть не должнО. х1, х3 - имена исходного и конечного (с исключенными "BEGIN") файлов, нужные введете сами, равно как и пути к ним. х2 - промежуточный файл, в конце программы он уничтожается. Информация о количестве слов в строках выводится в файл "inf". |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
12.05.2009, 01:40 | #17 (permalink) |
Новичок
Регистрация: 12.05.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
плизз товарищи срочно нужна ваша помощ мне ету задачу неодолеть(((
помогите плизз нужно до завтра сделать оч надеюсь на ваше содействие(((((( условие: Разработать алгоритм и программу решения задачи, в которой сформировать кольцевой односвязный список. |
13.05.2009, 00:30 | #20 (permalink) |
Специалист
Регистрация: 17.07.2007
Адрес: Мордовия
Сообщений: 875
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 4825
|
Ребят, помоите пожалуйста еще с несколькими прогами:
1. Размерность массива задается именованной константой. Задание: В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1.Номер минимального элемента массива. 2.Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает единицу, а потом — все остальные. 2. Размерности массивов следует задать именованными константами. Задание: Дана целочисленная прямоугольная матрица. Определить: 1. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрица¬тельный элемент. 2. Найти номер первого из столбцов, не содержащих ни одного положительного элемента. 3.Задана строка символов. Задание: определить длину самого короткого слова. 4. Создайте список с указанием ваших фамилий, имён, телефонных номеров и дат рождения (число, месяц, год). Использовать тип запись (RECORD), вывести в удобном для просмотра формате. 5. Из множества целых чисел [1..100] выделить следующие множества: делящихся без остатка на 10 6. Оформить решение задачи (см. пункт 1. в данном посте) в виде подпрограммы функции. Привести решения этих задач различными способами, используя в качестве фактических параметров: параметры-значения, параметры-переменные и параметры-константы. Объясните различия. 7. Оформить решение задач (см. пункт 2. в данном посте) в виде подпрограммы процедуры. Привести решения этих задач различными способами, используя в качестве фактических параметров: параметры-значения, параметры-переменные и параметры-константы. Объясните различия. Язык программирования укажите - тогда помогут. Ваш модератор |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
задачи по информатике, помощь, решение задач, студент |
|
|