Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример 1. Формулировка задания:



Формулировка задания:

Пользуясь рекуррентной формулой Yi = Yy-1 + Yi-3 * Yi-3, где i=3,4,…n, для заданного значения n вычислить Yn, если известны Y0, Y1, Y2.

Ввод исходных данных и вывод результатов вычислений должен осуществляться в разных пользовательских окнах.

Program Recur_1;

{Пользуясь рекуррентной формулой y(i)=y(i-1)+y(i-3)^2

где i=3,4,...,n для заданного значения n вычислить y(n),

если известны y(0), y(1), y(2).

Входные данные: y(0),

y(1),

y(2) - значения начальных элементов

n - номер искомого значения.

Выходное данное: y(n) - значение элемента с номером n

}

USES Crt; {подключение модуля}

{Процедура вывода пользовательского окна на экран}

PROCEDURE Okno(xv,yv,xn,yn,colfona,colbukv:BYTE;zag:STRING);

VAR

i:INTEGER;

BEGIN

Window(xv,yv,xn,yn); {Установка размеров окна}

TextColor(colbukv); {Установка цвета шрифта}

TextBackGround(colfona); {Установка цвета фона}

ClrScr; {переводит курсор в левый верхний угол окна и

очищает окно, заливая его цветом установленного фона}

GoToXY((xn-xv) DIV 2 - Length(zag) DIV 2,1);

Write(zag);

Window(xv+1,yv+1,xn-1,yn);

END;

Var

y0, y1, y2, {исходные данные}

y:LongInt; {результат}

a, b, c, {вспомогательные переменные}

i, {номер текущего элемента}

n:Integer; {номер искомого элемента}

txt:string; {вид заголовка пользовательского окна}

Begin

TextBackGround(BLACK);

TextColor(15);

clrscr;

{Окно формулировки задания. Белый текст на синем фоне.}

Okno(8,15,72,20,BLUE,15,'Формулировка задания');

WriteLn('Пользуясь рекуррентной формулой y(i)=y(i-1)+y(i-3)^2');

WriteLn('где i=3,4,...,n для заданного значения n вычислить y(n),');

WriteLn('если известны y(0), y(1), y(2).');

{Окно ввода исходных данных. Белый текст на зеленом фоне.}

Okno(10,2,70,5,2,15,'Ввод');

Write('Задайте значения y(0), y(1) и y(2) -> ');

ReadLn(y0,y1,y2);

Write('Задайте значение n -> ');

ReadLn(n);

a:=y0;

b:=y1;

c:=y2;

{Окно вывода результата. Белый текст на красном фоне.}

Okno(7,7,73,12,4,15,'Вывод');

{Решение с использованием управляющей структуры While-Do}

i:=3;

While i<=n

Do Begin

y:=y2+y0*y0; {значение очередного элемента последовательности}

y0:=y1;

y1:=y2;

y2:=y;

i:=i+1;

End;

WriteLn('While: значение элемента последовательности y(',n,')=',y);

{Решение с использованием управляющей структуры Repeat-Until}

y0:=a;

y1:=b;

y2:=c;

i:=3;

Repeat

y:=y2+y0*y0; {значение очередного элемента последовательности}

y0:=y1;

y1:=y2;

y2:=y;

i:=i+1;

Until i>n;

WriteLn('Repeat: значение элемента последовательности y(',n,')=',y);

{Решение с использованием управляющей структуры For-To-Do}

y0:=a;

y1:=b;

y2:=c;

For i:=3 To n

Do Begin

y:=y2+y0*y0; {значение очередного элемента последовательности}

y0:=y1;

y1:=y2;

y2:=y;

End;

WriteLn('For: значение элемента последовательности y(',n,')=',y);

ReadLn;

End.





Дата публикования: 2014-11-03; Прочитано: 256 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...