Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 while, repeat.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
186.88 Кб
Скачать

3.5 Текст програми

Unit Unit1;

implementation

Const eps=0.0001;

Var x,s:real; k:integer; sx,sk:string;

//Процедура обчислення ряду

procedure Summa(x:real; Var ds:real; Var k:integer);

Var U,R:real;

begin

s:=0;

k:=1;

U:=-sqr(x)*x/6;

While abs(U)<eps do

begin

s:=s+U;

k:=k+1;

R:=sqr(x)/(2*k*(2*k+1));

U:=U*R;

if odd(k) then U:=-U;

end;

end;

//Процедура для кнопки "Решение"

procedure TForm1.Button1Click(Sender: TObject);

var sum:string; ier:integer;

begin

sx:=InputBox('Введіть значення х','Вводьте число з комою','');

Val(sx,x,ier);

if ier<>0 then

begin

ShowMessage('Введіть правильно значення х'); Exit;

end;

// Виклик підпрограми обчислення суми

summa(x,s,k);

str(s:8:4,sum);

sk:=IntToStr(K);

Memo1.Lines.Add('Вычисление сумы ряда');

Memo1.Lines.Add('x='+sx);

Memo1.Lines.Add('Сумма s='+sum);

Memo1.Lines.Add('Количество слагаемых k='+sk);

end;

//Процедура для кнопки "Табулирование"

procedure TForm1.Button2Click(Sender: TObject);

var a,b,h:real;

sa,sb,sh,sy:string;

begin

sa:=InputBox('Введіть значення а','ліву межу проміжку','');

sb:=InputBox('Введіть значення b','праву межу проміжку','');

sh:=InputBox('Введіть значення h','крок табулювання','');

a:=StrToFloat(sa);

b:=StrToFloat(sb);

h:=StrToFloat(sh);

Memo1.Lines.Add('Табулирование функции');

Memo1.Lines.Add('a='+sa+' b='+sb+' h='+sh);

Memo1.Lines.Add(' x s k');

x:=a;

Repeat

Summa(x,s,k);

str(x:4:1,sx);

str(s:7:4,sy);

sk:=IntToStr(k);

Memo1.Lines.Add(' '+sx+' '+sy+' '+sk);

x:=x+h;

Until x>b;

end;

4 Контрольні запитання

1 Структура оператора циклу While.

2 Порядок виконання оператора While.

3 Якого значення набуде оператор n після виконання операторів?

к:=0; n:=17;

While к<7 do

Begin к:=к+1; n:=n-1; end;

4 Структура оператора циклу Repeat-Until.

5 Порядок виконання операторів Repeat-Until.

6 Чим відрізняються оператори циклу While і Repeat-Until?

7 Якого значення набуде змінна Р після виконання операторів?

i:=1; p:=1;

Repeat p:=p*i; i:=i+1; Until p>7;

  1. Лабораторне завдання

1 Скласти схеми алгоритмів та підпрограми рішення таких задач (згідно з варіантом, наведеному у таблиці 4.1):

а) Обчислення добутку нескінченного ряду з точністю до члена ряду, котрий не перевищує за модулем величину 10-4. Визначити кількість наявних доданків. Обчислення виконати для х = 0,5. Використати оператор циклу while для непарних варіантів і Repeat-Until для парних.

б) Табулювання функції при зміненні х від 0,4 до 2,8 з кроком 0,2. В якості функції застосувати добуток ряду, обчислювального у пункті а. Використати оператор Repeat для непарних варіантів і while – для парних.

У проекті передбачити введення значень змінної х з клавіатури одним із можливих способів (за вибором) та виведення здобутих результатів на форму у компоненти Memo, ListBox, Edit або Label (за вказівкою викладача).

2 Оформити протокол виконання лабораторної роботи згідно вимогам.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Таблиця 4.1 – Індивідуальні завдання
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]