ЦИКЛІЧНІ ПРОГРАМИ З НАКОПИЧЕННЯМ
Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







ЦИКЛІЧНІ ПРОГРАМИ З НАКОПИЧЕННЯМ





СУМИ АБО ДОБУТКУ

 

7.1. Обчислити значення функції

Аргумент х змінюється від початкового значення 1.3 до кінцевого значення -14.3. Кількість значень аргумента n=9; a=1.32.

7.2. Обчислити значення функції

Аргумент z змінюється від початкового значення 1.2 з кроком 0.25 до кінцевого 4.2; х=8.35; а=3.214.

7.3. Дано одновимірний масив з 25 чисел. Знайти суму перших непарних 11 чисел.

7.4. Дано одновимірний масив Y, який складається з 15 елементів. Обчислити функцію

7.5. Дано одновимірний масив С, який складається з 15 елементів. Обчислити і надрукувати добуток додатних і суму від’ємних елементів.

7.6. Дано одновимірний масив С, який складається з 12 елементів. Обчислити вС значення функції, а також суму значень функцій для від’ємних елементів масиву:

7.7. Дано одновимірний масив А, який складається з 18 елементів. Обчислити і надрукувати суму від’ємних парних елементів.

7.8. Дано одновимірний масив Т, який складається з 18 елементів. Обчислити і надрукувати добуток перших 7 елементів і суми наступних елементів, які знаходяться на парних позиціях.

7.9. Дано одновимірний масив С, який складається з 15 елементів. Обчислити і надрукувати добуток непарних елементів і їх кількість.

7.10. Дано одновимірний масив Y, який складається з 14 елементів. Обчислити і надрукувати суму перших 8 елементів і добуток наступних елементів, які діляться на 3 з остачею 2.

7.11. Дано два одновимірні масиви чисел Х і Т, кожний з яких складається з 12 елементів. Обчислити:

7.12. Знайти середнє арифметичне з модулів обчислених значень функції

7.13. Дано два одновимірні вектори Х і Т, кожний з яких скла-дається з 10 елементів. Обчислити їх скалярний добуток.

7.14. Обчислити значення



де аі, bі визначаються за формулами

7.15. Дано одновимірний масив М, який складається з 18 еле-ментів. Обчислити кількість від’ємних елементів і їх суму.

7.16. Обчислити

7.17. Дано одновимірний масив С, який складається з 16 еле-ментів. Обчислити середнє арифметичне значення парних еле-ментів масиву, які діляться на 3 з остачею 1.

7.18. Дано одновимірний масив Р, який складається з 12 еле-ментів. Обчислити суму модулів вСх від’ємних елементів більших від числа А(А=1.25). Число А ввести з клавіатури.

7.19. Дано одновимірний масив В, який складається з 12 еле-ментів. Обчислити добуток елементів масиву, які не дорівнюють нулю, значення яких знаходяться в межах А<B(I)<C, і їх кількість. Значення А і С ввести з клавіатури.

7.20. Дано цілочисловий одновимірний масив А, який складається з 14 елементів. Обчислити і надрукувати суму парних елементів, які знаходяться на непарних позиціях, і їх кількість.

7.21. Обчислити значення функції , причому b змін-юється від 0.9 до 1.7 з кроком 0.2. Знайти середнє значення різ-ниці між елементами обчисленого вектора А і заданого вектора С, який складається з 5 елементів, за формулою

7.22. Обчислити скалярний добуток векторів X, Y. Вектор за-даний, а значення елементів вектора Х обчислити за формулою

7.23. Дано координати 12 свердловин (хі, уі, і=1,2,...,12) і ко-ординати групового пункту збору нафти хп, уп. Визначити віддаль від кожної свердловини до групового пункту і суму цих віддалей.

7.24. На складі є 12 одиниць обладнання, відома вартість кожної одиниці. Визначити сумарну вартість обладнання і середнє значення вартості одиниці обладнання і відхилення вартості кожної одиниці від середньої.

7.25. В цеху встановлено 15 одиниць обладнання, кожне з яких відпрацювало строк (від 5 до 15 років ), відома вартість кожної одиниці обладнання. Визначити сумарну вартість, кількість одиниць обладнання, що працювало більше 10 років, і його вартість.

7.26. Відомі дані про зарплату кожного працівника бригади, в бригаді 25 чоловік. Визначити сумарну заробітну плату бригади та кількість працівників, які отримали зарплату, вищу від середньої.

7.27. Обчислити суму за формулою:

 

Результат обчислень вивести на друк.

 

Приклад. Дано вектор, який складається з 7 елементів. Обчис-лити суму вСх елементів і добуток ненульових елементів, а також підрахувати кількість нульових елементів. A={8.9; -3.4; 2.6; 0; 4.2; 3.1; 0}.

1. Графічний алгоритм показаний на рис.7.1

 

 

2 Ідентифікація змінних

Змінна А S D n
Ідентифікатор A(i) S D N

 
 

Де S – сума елементів,

D – добуток ненульових елементів,

n – кількість нульових елементів.

 

4. Програма мовою GW Basic

10 REM НАКОПИЧЕННЯ СУМИ, ДОБУТКУ

20 DIM A(7)

30 FOR I=1 TO 7

40 INPUT A(I)

50 NEXT I

60 S=0 : D=0 : N=0

70 FOR I=1 TO 7

80 S=S+A(I)

90 IF A(I)=0 THEN 120

100 D=D*A(I)

110 GOTO 130

120 N=N+1

130 NEXT I

140 PRINT “СУМА=”;S

150 PRINT “ДОБУТОК НЕНУЛ. ЕЛЕМ.=”;D

160 PRINT “КІЛЬКІСТЬ НУЛ. ЕЛЕМ.=”;N

170 END

СУМА=15.4

ДОБУТОК НЕНУЛ. ЕЛЕМ.= -1024.36

КІЛЬКІСТЬ НУЛ. ЕЛЕМ.=2

 

4. Програма мовою С

#include <stdio.h>

main( )

{

float a[7]={8.9, -3.4, 2.6, 0, 4.2, 3.1, 0},

s=0,d=1,m2;

int i,n=0;

 

printf(“DATA:\n”);

for(i=0;i<7;i++)

{

printf(“a[%i]=%f\n”,i,a[i]);

s+=a[i];

if (a[i]= =0)

n++;

else

d*=a[i];

}

printf(“СУМА= %f\n”ДОБУТОК НЕНУЛ. ЕЛЕМ.=%f\n”,s,d);

printf(“КІЛЬКІСТЬ НУЛ. ЕЛЕМ.=%i\n”,n);

}

СУМА=15.400000

ДОБУТОК НЕНУЛ. ЕЛЕМ.= -1024.362450

КІЛЬКІСТЬ НУЛ. ЕЛЕМ.= 2

4. Програма мовою Pascal

program lab7(input,output);

var s,d: real;

n,i: integer;

a: array [1..7] of real;

begin

for i:=1 to 7 do

begin

write(‘a(‘,i,’)=‘);

read(a[i])

end;

s:=0;d:=1;n:=0;

for i:=1 to 7 do

begin

s:=s+a[i];

if a[i]=0 then n:=n+1

else d:=d*a[i]

end;

writeln(‘СУМА=’,s:11);

writeln(‘ДОБУТОК НЕНУЛ. ЕЛЕМ.=’,d:12);

writeln(‘КІЛЬКІСТЬ НУЛ. ЕЛЕМ.=’,n)

end.

СУМА=1.5400E+01

ДОБУТОК НЕНУЛ. ЕЛЕМ.= -1.02436E+03

КІЛЬКІСТЬ НУЛ. ЕЛЕМ.= 2

 

Завдання:

Дано вектор, який складається з 7 елементів. Обчислити суму вСх елементів і добуток ненульових елементів, а також підрахувати кількість нульових елементів. А = {8.9; -3.4; 2.6; 0; 4.2; 3.1; 0}.

Опис форми.

Відкриваємо нову форму і на цій формі створюємо такі елементи (таблиця 7.1):

Табллиця 7.1 - Елементи керування і їх властивості

Елемент (Name) Властивість Значення

 

Label1 Caption Сума
  Alignment 2-Center
Label2 Caption поле Caption порожнє
  BackColor &H80000009&
  BorderStyle 1-FixedSingle
Label3 Caption Добуток ненульових елементів
  Alignment 2-Center
Label4 Caption поле Caption порожнє
  BackColor &H80000009&
  BorderStyle 1-FixedSingle)
Label5 Caption Кількість нульових елементів
  Alignment 2-Center
Label6 Caption поле Caption порожнє
  BackColor &H80000009&
  BorderStyle 1-FixedSingle
CommandButton1 Caption Розрахунок

 

 

Рисунок 7.2 – Інтерфейс програми.


Коли ми двічі клацнемо на кнопці „Розрахунок” з’явиться вікно, в якому набираємо таку програму:

Private Sub Command1_Click()

Dim A(7), S, D, N As Single

For I = 1 To 7

A(I) = Val(InputBox(“Будьласка введіть “ & I & “ Елемент”, “Введення”, “”))

Next I

S = 0: D = 1: N = 0

For I = 1 To 7

S = S + A(I)

If A(I) = 0 Then N = N + 1 Else D = D * A(I)

Next I

Label2.Caption = S

Label4.Caption = D

Label6.Caption = N

End Sub

Тепер програмуємо кнопку „Вихід”:

Private Sub Command2_Click()

End

End Sub

 
 

Рисунок 7.3 – Результат виконання програми

Програма мовою Delphi

Опис форми.

Відкриваємо нову форму і на цій формі створюємо такі елементи:


Таблиця 7.2 - Елементи керування і їх властивості

Елемент (Name) Властивість Значення
Label1 Caption Результати
Label2 Caption Сума S
Label3 Caption Добуток не нул. Елем.
Label4 Caption Кількість нул. Елем.
Memo1 Line Вхідні дані
Button1 Caption Обчислити
Button2 Caption Вихід

 

В результаті наша форма буде мати

вигляд:

 

Рисунок 7.4 – Інтерфейс програми

 

Код програми матиме вигляд:

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

 

type

Tform1 = class(Tform)

Memo1: Tmemo;

Button1: Tbutton;

Button2: Tbutton;

Label1: Tlabel;

Label2: Tlabel;

Label3: Tlabel;

Label4: Tlabel;

procedure FormCreate(Sender: Tobject);

procedure Button1Click(Sender: Tobject);

procedure Button2Click(Sender: Tobject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: Tform1;

s,d: real;

n,i: integer;

a: array [1..7] of real;

 

implementation

 

{$R *.DFM}

 

procedure Tform1.FormCreate(Sender: Tobject);

begin

for i:=1 to 7 do

begin

a[i]:=StrToFloat(InputBox(‘Масив’,’A[‘+IntToStr(i)+’]’,’1’));

Memo1.Lines.Add(‘A[‘+IntToStr(i)+’]=’+FloatToStr(a[i]));

end;

 

end;

procedure Tform1.Button1Click(Sender: Tobject);

begin

s:=0;

d:=1;

n:=0;

for i:=1 to 7 do

begin

s:=s+a[i];

if a[i]=0 then n:=n+1

else d:=d*a[i];

end;

Label2.Caption:=’Сума S=’+Format(‘%5.6s’,[FloatToSTr(s)]);

Label3.Caption:= ‘Добуток не нул. Елем.=’+Format(‘%5.8s’,[FloatToSTr(d)]);

Label4.Caption:=’Кількість нул. Елем.= ‘+Format(‘%5s’,[FloatToSTr(n)]);

end;

procedure Tform1.Button2Click(Sender: Tobject);

begin

close;

end;

 

end.

Рисунок 7.5 – Результат виконання програми

Пояснення до програм

Особливість програм з накопиченням суми або добутку полягає в тому, що формування суми чи добутку проводиться в циклі. Перед заголовком циклу, символ 3, рис.7.1, змінній, в якій накопичується сума, присвоюється нуль (S=0), а змінній для добутку – одиниця (D=1). Обчислення добутку проводиться при хибності умови A(I)=0, символ 6. Структура програми являє собою цикл з параметром, який є індексом масиву, і містить розгалуження. Очевидно, що цикл можна організувати за допомогою оператора циклу чи оператора умовного переходу. Також можуть бути використані циклічні структури з передумовою чи післяумовою.

 

Питання для самоперевірки.

1.Яка структура алгоритму накопичення суми?

2.Яка структура алгоритму накопичення добутку?

3.Чому змінній, в якій накопичується добуток, перед його обчисленням присвоюють одиницю?

4.Яка структура алгоритму знаходження парних чисел; чисел кратних трьом, п’яти?

5.Побудуйте розгалуження за допомогою логічного умовного оператора.

6.Як побудувати програму накопичення суми і добутку, користуючись циклічними структурами з передумовою, з післяумовою?

 

ВКЛАДЕНІ ЦИКЛИ

 

Для завдань, наведених в таблиці 5, необхідно:

- скласти графічний алгоритм з використанням операторів циклу або умовних операторів;

- скласти не менше двох програм: одна пограма з використанням тільки операторів циклу, друга програма – один з циклів (зовнішній або внутрішній) реалізований за допомогою умовного оператора;

- Вивести на друк значення функції і відповідних їм значень аргументів. Виведення аргументів виконати так, щоб один з них друкувався перед початком внутрішнього циклу;

- розв’язати задачу на ЕОМ в діалоговому режимі;

- проаналізувати одержані результати.

Задачі на вкладені цикли (таблиця 8.1) поділяються на три типи:

Перший тип задач. Варіанти: 2, 5, 8, 11, 14, 17, 21, 24. Необхідно обчислити значення y=f(x,z), де обидва параметри циклу х та у змінюються від початкового до кінцевого значення з постійним кроком.

Другий тип задач. Варіанти: 1, 4, 7, 10, 13, 16, 20, 23, 25. Необхідно обчислити значення yi=f(z,xi), де параметр циклу z змінюється від початкового до кінцевого значення з постійним кроком z, а змінна xi(і=1,2,…,n) є елементом одновимірного масиву (дійсні числа).

Третій тип задач. Варіанти: 3, 6, 9, 12, 15, 18, 19, 22. Необхідно обчислити yij=f(xi,zj). В цих задачах х(і=1,2,…,n) і z(j=1,2,…,m) являють собою елементи одновимірних масивів дійсних чисел, які містять відповідно n i m елементів.

Перед складанням алгоритму слід визначити кількість зна-чень функції, які будуть одержані в результаті розв’язання задачі, т.б. кількість значень функції від кожного аргумента. Загальна кількість значень функції дорівнюватиме добутку кількостей значень вСх аргументів.

Таблиця 8.1- Варіанти завдань

  Параметр циклу з регулярною зміною аргумента Параметр циклу з індексною змінною
Варіан ту Функція Параметр циклу Початкове значення Кінцеве значення Крок Позначення індексу Номер індексу Значення індексної змінної
                 

 

с 0,26 1,26 0,2 і 1 2 3 1,95 0.87 1.29
6.35 10.4 7.40 17.9 0.15 2.5      
        i j 1 2 3 4 1 2 3 1.35 2.6 1.86 0.95 0.60 1.28 3.15
f -6 -2.4 1.2 j 1 2 3 28.3 41.7 13.4
8.63 0.75 9.83 1.45 0.4 0.35      
        i k 1 2 3 4 1 2 3 0.68 2.05 1.81 3.86 1.12 2.03 1.56
x 6.2 0.3 i 1 2 3 4 3.28 0.56 2.91 3.26
8.35 –0.9 12.8 –0.4 1.6 0.25      
        k 1 2 3 1 2 3 4 1.86 2.45 3.7 0.96 4.21 2.87 1.78
Продовження таблиці 8.1
10

a 1.7 2.4 0.35 i 1 2 3 4 0.236 2.851 3.270 7.882
83 -4.3 105 –3.8 11 0.15      
        k 1 2 3 1 2 3 4 1.3 –1.6 –2.3 4.51 –4.16 2.61 7.28
x 12.4 19.4 3.5 i 1 2 3 4 -3.46 1.852 3.03 –2.57
10.6 0.85 6.6 1.60 -2 0.25      
        i j 1 2 3 1 2 3 4 62.6 –34.8 41.71 2.75 8.34 6.95 11.7
h 81.6 n 1 2 3 4 0.18 –1.86 0.65 –2.46
Продовження таблиці 8.1
17

2.45 6.82 3.16 10.3 0.35 1.15      
        j m 1 2 3 1 2 3 4 2.46 –7.38 11.6 1.6 0.35 6.71 9.35
        i j 1 2 3 4 1 2 3 4 21.87 32.45 13.01 48.43 842.3 326.8 485.0 206.3
x -3.1 -1.4 k 1 2 3 4 4.285 2.06 5.781 1.984
0.8 –3.4 1.32 –4.2 0.26 –0.4        
        i k 1 2 3 1 2 3 -2.4 1.36 –3.35 128.6 85.9 324.3
q 2.8 5.4 1.3 m 1 2 3 -1.85 2.39 3.65
Продовження таблиці 8.1
24

1.6 7.35 2.5 9.75 0.3 1.2      
b -18 -22 -2 j 1 2 3 4.41 1.85 16.35

 

Приклад. Обчислити значення функції

Аргумент змінюється від початкового значення b=21.5 до кінце-вого b=43.5 з кроком b=5.5. Змінна t являє собою одновимірний масив (t1=1.32; t2=2.73; t3=0.86).

 

Розв’язок задачі.

1. Графічний алгоритм розв’язання задачі наведений на рис.8.

 
 

2. Ідентифікація змінних

 

Змінна q b ti ci
Ідентифікатор G B T(I) C(I)

 

3. Програма мовою GW-Basic

10 REM ВКЛАДЕНІ ЦИКЛИ

20 DIM T(3),C(3)

30 LET G=8.63

40 REM ВВЕДЕННЯ МАСИВУ

50 FOR I=1 TO 3

60 INPUT T(I)

70 NEXT I

80 PRINT “РЕЗУЛЬТАТИ РОЗРАХУНКУ”

90 FOR B=21.5 TO 43.5 STEP 5.5

100 PRINT ”B=“;B

110 FOR I=1 TO 3

120 LET C(I)=G*SQR(B+1)*EXP(T(I))/T(I)

130 PRINT “C(“;I;”)=“;C(I),”T(“;I;”)=“;T(I)

140 NEXT I

150 NEXT B

160 END

РЕЗУЛЬТАТИ РОЗРАХУНКУ

B=21.5

C(1)=116.09 T(1)=1.32

C(2)=229.912 T(2)=2.73

C(3)=112.485 T(3)=8.6E -1

B=27

C(1)=129.504 T(1)=1.32

C(2)=256.478 T(2)=2.73

C(3)=125.483 T(3)=8.6E -1

B=32.5

C(1)=141.654 T(1)=1.32

C(2)=280.539 T(2)=2.73

C(3)=137.255 T(3)=8.6E -1

B=38

C(1)=152.84 T(1)=1.32

C(2)=302.694 T(2)=2.73

C(3)=148.094 T(3)=8.6E -1

B=43.5

C(1)=163.262 T(1)=1.32

C(2)=323.334 T(2)=2.73

C(3)=158.192 T(3)=8.6E -1

 

4. Програма мовою С

#include <stdio.h>

#include <math.h>

#define G 8.63

main( )

{

float t[3]={1.32, 2.73, 0.86},

b,c;

int i;

for(b=21.5;b<=43.5;b+=5.5)

{

printf(“b=%f\n”,b);

for(i=0;i<3;i++)

{

c=G*sqrt(b+1)*exp(t[i])/t[i];

printf(“C=%f T(%i)=%f\n”,c,i,t[i]);

}

}

}

B=21.500000

C=116.090546 T(0)=1.320000

C=229.912903 T(1)=2.730000

C=112.485580 T(2)=0.860000

B=27.000000

C=129.504425 T(0)=1.320000

C=256.478577 T(1)=2.730000

C=125.482918 T(2)= 0.860000

B=32.500000

C=141.653717 T(0)=1.320000

C=280.539795 T(1)=2.730000

C=137.254944 T(2)=0.860000

B=38.000000

C=152.840302 T(0)=1.320000

C=302.694397 T(1)=2.730000

C=148.094147 T(2)=0.860000

B=43.500000

C=163.262177 T(0)=1.320000

C=323.334534 T(1)=2.730000

C=158.192398 T(2)=0.860000

 

5. Програма мовою Pascal

 

program lab8(input,output);

var g,b: real;

i: integer;

c,t: array [1..3] of real;

begin

g:=8.63;

for i:=1 to 3 do

begin

write(‘t(‘,i,’)=‘); read(t[i])

end;

b:=21.5;

writeln(‘РЕЗУЛЬТАТИ РОЗРАХУНКУ’);

repeat

writeln(‘b=‘,b:13);

for i:=1 to 3 do

begin

c[i]:=q*sqrt(b+1)*exp(t[i])/t[i];

writeln(‘C=‘,c[i]:11,’ T(‘,i,’)=‘,t[i]:11)

end;

b:=b+5.5;

until b>43.5

end.

РЕЗУЛЬТАТИ РОЗРАХУНКУ

B=2.150000E+01

C=1.1609E+02 T(1)=1.3200E+00

C=2.2991E+02 T(2)=2.7300E+00

C=1.1249E+02 T(3)=0.8600E+00

B=2.700000E+01

C=1.2950E+02 T(1)=1.3200E+00

C=2.5648E+02 T(2)=2.7300E+00

C=1.2548E+02 T(3)=0.8600E+00

B=3.250000E+01

C=1.4165E+02 T(1)=1.3200E+00

C=2.8054E+02 T(2)=2.7300E+00

C=1.3725E+02 T(3)=0.8600E+00

B=3.800000E+01

C=1.5284E+02 T(1)=1.3200E+00

C=3.0269E+02 T(2)=2.7300E+00

C=1.4809E+02 T(3)=0.8600E+00

B=4.350000E+01

C=1.6326E+02 T(1)=1.3200E+00

C=3.2333E+02 T(2)=2.7300E+00

C=1.5819E+02 T(3)=0.8600E+00

 

Завдання:

Обчислити значення функції

Аргумент змінюється від початкового значення b=21.5 до кінцевого b=43.5 з кроком b=5.5. Змінна t є індексованою (t1=1.32; t2=2.73; t3=0.86).

 

Опис форми.

Відкриваємо нову форму і на цій формі створюємо такі елементи (таблиця 8.2):

Таблиця 8.2 - Елементи керування і їх властивості

Елемент Властивість Значення
CommandButton1 Caption озрахунок
  Alignment 2-Center
CommandButton2 Caption Вихід
  Alignment 2-Center

 

Коли ми двічі клацнемо на кнопці „Розрахунок” з’явиться вікно, в якому набираємо таку програму:

Private Sub Command1_Click()

Dim T(3), C(3) As Double

G = 8.63

For I = 1 To 3

T(I) = Val(InputBox("ВВЕДІТЬ T" & I & " ", "ЗМІННА T", ""))

Next I

Print "РЕЗУЛЬТАТИ РОЗРАХУНКУ"

For B = 21.5 To 43.5 Step 5.5

Print "B="; B

For I = 1 To 3

C(I) = G * Sqr(B + 1) * Exp(T(I)) / T(I)

Print "C("; I; ")="; Format(C(I), "###.####"), "T("; I; ")="; T(I)

Next I

Next B

End Sub

 

Тепер програмуємо кнопку „Вихід”:

Private Sub Command2_Click()

End

End Sub


Рисунок 8.2 – Результат виконання програми.

 

Програма мовою Delphi

Опис форми.

Відкриваємо нову форму і на цій формі створюємо такі елементи (таблиця 8.3):

Таблиця 8.3 - Елементи керування і їх властивості

Елемент (Name) Властивість Значення
Label1 Caption Результат
Memo1 Lines Витерти Memo 1
Button1 Caption Обчислити
Button2 Caption Вихід

 
 

Рисунок 8.3 – Інтерфейс програми.

 


Рисунок 8.4 – Від елементів масиву.

Код програми матиме вигляд

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

 

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

q,b: real;

i: integer;

c,t: array [1..3] of real;

 

implementation

 

{$R *.DFM}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

q:=8.63;

for i:=1 to 3 do

begin

t[i]:=StrToFloat(InputBox('Змінна t','A['+IntToStr(i)+']','1'));

end;

b:=21.5;

repeat

Memo1.Lines.Add('b='+FloatToStr(b));

for i:=1 to 3 do

begin

c[i]:=q*sqrt(b+1)*exp(t[i])/t[i];

Memo1.Lines.Add('C='+Format('%5.8s',[FloatToStr(c[i])])+' T('+IntToStr(i)+')='+FloatToStr(t[i]));

end;

b:=b+5.5;

until b>43.5

 

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

 

end.


Рисунок 8.5 – Результат виконання програми.

Результати обчислення

b=21,5

C=116,0905 T(1)=1,32

C=229,9129 T(2)=2,73

C=112,4855 T(3)=0,86

b=27

C=129,5044 T(1)=1,32

C=256,4785 T(2)=2,73

C=125,4829 T(3)=0,86

b=32,5

C=141,6537 T(1)=1,32

C=280,5398 T(2)=2,73

C=137,2549 T(3)=0,86

b=38

C=152,8403 T(1)=1,32

C=302,6944 T(2)=2,73

C=148,0941 T(3)=0,86

b=43,5

C=163,2621 T(1)=1,32

C=323,3345 T(2)=2,73

C=158,1923 T(3)=0,86

 

Пояснення до програм

 

Алгоритм програми складається з двох циклів, рис.8.1 Зовнішній цикл з параметром b, символ 4, і внутрішній - з параметром І, символ 6. Тіло внутрішнього циклу містить обчислення значень функції с, символ 7, і друкування значень функції с і t, символ 8.1 Аргумент b друкується після заголовка зовнішнього циклу, символ 5.

 

Питання для самоперевірки

 

1. Чому в програмі мовою GW Basic і С зовнішній цикл - цикл з передумовою, а мовою Pascal - постумовою?

2. Чому не допускається перетин вкладених циклів?

3. Як визначити кількість значень функції при зміні двох аргументів?

4. В наведених програмах побудуйте зовнішній або внутрішній цикли за допомогою оператора умовного переходу.

5. Побудуйте графічний алгоритм для обчислення значень функції трьох змінних y=f(a,b,c); i=1,2,...,N; j=1,2,...,M; k=1,2,...,L.

 

 









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.