Определить, принадлежит ли член последовательности к заданному интервалу - Turbo Pascal
Формулировка задачи:
Пусть x[0]=a; x[k]=q*x[k-1]+b (k=1, 2, …,n). Даны натуральное n, действительные a, b, c, d, q (c<d). Принадлежит ли x[k] интервалу (c, d)?
Решение задачи: «Определить, принадлежит ли член последовательности к заданному интервалу»
textual
Листинг программы
// Перед вами - WEB-среда разработки PascalABC.NET. // Она основана на современном языке PascalABC.NET, совместимом с Delphi Object Pascal. // Программа запускается на сервере, ввод-вывод передается по сети. // Программу можно опубликовать и ссылаться на нее в Интернете в виде // [url]http://pascalabc.net/WDE/?file=имя_опубликованного_файла.pas[/url] // Зарегистрированные пользователи получают дополнительные возможности: // долговременное хранение своих программ, возможность работы с папками var i,n: Integer; a,b,c,d,q, tmp: Double; function x( k: Integer ): double; begin if ( k = 0 ) then x:= 0 else x := q * x( k-1 ) + b; end; begin repeat Writeln( 'Read: a, b, c, d, q, n' ); Readln( a,b,c,d,q, n ); until( c < d ); for i:=1 to n do begin tmp := x(i); if (tmp >= c) AND (tmp <= d) then writeln( i ); end; end.
Объяснение кода листинга программы
Этот код написан на языке Turbo Pascal и выполняет следующие действия:
- Объявляет переменные
i
,n
,a
,b
,c
,d
,q
иtmp
, которые будут использоваться в функцииx
. - Определяет функцию
x
, которая принимает один аргументk
типаInteger
. Внутри функции проверяется, равно лиk
нулю, и если да, то возвращается значение0
. В противном случае, функция вызывает саму себя с аргументомk-1
и умножает результат наq
, а затем прибавляет к нему значениеb
. - В цикле
repeat-until
считываются значенияa
,b
,c
,d
иq
с консоли, а переменнаяn
устанавливается равной значению, введенному пользователем. - В цикле
for
перебираются значенияi
от 1 доn
. Для каждого значенияi
вызывается функцияx(i)
, и если результатx(i)
находится в интервале отc
доd
, то значениеi
выводится на консоль. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д