Циклічні програми з регулярною зміною аргумента, які містять розгалуження

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

у набуває значення від 0 до 8 з кроком 0.15.

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

,

де b=2; 2.4; 2.8; 3.2; 3.6; 4.0;

q=0.1; 0.3; 1.1; 1.25; 1.9; 2.8.

Величини b і q змінюються одночасно.

4.3. Знайти найменше значення функції і відповідне їй значення аргумента:

Аргумент змінюється від початкового значення 0.3 з кроком 0.25 до кінцевого значення 3.3 (радіан).

4.4. Вивести на друк тільки від’ємні значення і їх кількість:

Аргумент х змінюється від початкового значення 1.1 з кроком 0.2 до кінцевого 4.1.

4.5. Знайти найменше додатнє і найменше від’ємне значення функції і відплвідне їм значення аргумента:

Аргумент х змінюється від початкового значення 0.1 з кроком 0.15 до кінцевого 3.1 (радіан).

4.6. Обчислити різницю між максимальним і мінімальним значенням функції:

a = 0.28.

Аргумент х змінюється від початкового значення 0.1 зкроком 0.32 до кінцевого значення 6.5.

4.7. Знайти квадрат максимального значення функції:

b = 4.85.

Аргумент х змінюється від початкового значення 1/16 з кроком 0.25 до кінцевого 4.2.

4.8. Обчислити вС значення функції і аргумента:

Аргумент b змінюється від початкового значення 9.5 з кроком 0.25 до кінцевого 12.75.

4.9. Обчислити значення функції і вивести на друк окремо відємні, а окремо додатні значення функції і відповідні значення їм аргументів:

Аргумент х змінюється від початкового значення 1.2 з кроком 0.15 до кінцевого 4.4.

4.10. Вивести на друк значення функції, які задовольняють умову у<2.5 i y>1.5:

Аргумент а змінюється від початкового значення 1.15 до кінцевого 6.3. Кількість значень аргумента n=9.

4.11. Вивести на друк значення, які задовольняють умову у>1.35 i y<2.4, і відповідні значення аргумента. Аргумент х змінюється від 0.42 до 0.86 з кроком 0.04:

4.12. Обчислити добуток мінімального і максимального значень функції. Кількість значень аргумента n=19. Аргумент y змінюється від початкового значення 0.1 з кроком 0.75 (радіан):

4.13. Вивести на друк значення функції, які лежать в межах

a>b>c, підрахувати їх кількість.

Аргумент х змінюється від початкового значення 3.4 з кроком 0.11 до кінцевого 6.6.

4.14. Обчислити 20 значень функції і відповідних значень аргумента, а також окремо вивести на друк максимальне зна-чення функції:

Аргумент с змінюється від початкового значення 1.35 до кінцево-го 4.35 з постійним кроком.

4.15. Вивести на друк ті значення функції у і їх кількість, які лежать в межах 2.5>y>-1.5:

Аргумент с змінюється від початкового значення 4.2 до 8.3 з кроком 0.15.

4.16. Обчислити члени послідовності

які задовольняють умову 1.5<a<3.8; m=1,2,3,...,16.

4.17. Обчислити таблицю значень функції

для значень х, які змінюються від 0.5 до 8.5 включно з кроком 0.05. При цьому, якщо знаменник менше 10-3 за абсолютним зна-ченням, то покласти у=106. Коефіцієнти а і b ввести з клавіатури.

4.18. Скласти блок-схему алгоритму і програму для розв’язу-вання квадратного рівняння

Якщо дискримінант додатній, то вивести на друк дійсні корені. Якщо дискримінант від’ємний, то вивести окремо дійсну і уявну частини коренів. Введення чисел a, b, q виконати з клавіатури.

4.19. За відомими декартовими координатами х і у довільної точки на площині визначити її полярні координати r і j. При цьому

а полярний кут

4.20. Обчислити пари функцій f1 i f2, якщо межі зміни аргументів однакові. На друк вивести значення функції і аргумента.

Якщо аргумент лежить за вказаними межами, то вивести на друк значення аргумента і повідомлення “ФУНКЦІЯ НЕ ЗНАЙДЕНА”.

Числові значення аргумента ввести з клавіатури.

4.21. Температуру з градуСв за шкалою ЦельСя (С) в градуси за шкалою Фаренгейта (F) переводять за залежністю .

Перевести температури від 12oС до 30 oС з кроком 1oС.

4.22. Зміна потужності випромінювання ізотопів Q в чаС t описується залежністю

де - початкова потужність; - період піврозпаду.

Визначити, через скільки діб потужність випромінювання ізотопу, період піврозпаду якого дорівнює 8 діб, знизиться до безпечної величини 0.15 рентгена на годину, рентгена на годину.

4.23. Тиск рідини з глибиною зростає. Надрукувати таблицю зміни тиску глинистого розчину в середині через кожні 150 м.

Глибина свердловини - 1800 м, густина розчину r=1300 кг/м.

4.24. За перший рік розробки нафтового родовища видобуток нафти склав 200 тис. т на рік. В наступні роки видобуток нафти зростав на 8% за рік. Визначити, скільки буде видобуто нафти з родовища за 25 років.

4.25. Для умови задачі 4.24 обчислити, через який найменший строк видобуток нафти складатиме не менше 350 тис. т нафти за рік.

4.26. Концентрація хлорного вапна в басейні об’ємом V складає С0. В басейн вливають чисту воду при постійному в ньому рівні /приплив дорівнює витоку/. З умови ідеального перемішування концентрація хлорного вапна змінюється за законом

де t - час; С0 - початкова концентрація.

Визначити, через який час концентрація хлорного вапна досягне безпечної для людини велечини 0.1 г/л, Q=120 м/год,

V=25 м3, С0=12 г/л.

Приклад. Вивести на друк тільки від’ємні значення функції і відповідні значення аргумента, а також кількість додатних зна-чень функції

Аргумент х змінюється від початкового значення 1.5 до кінцево-го 3.3 з кроком 0.2.

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

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

 
 

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

Змінна a b x y
Ідентифікатор A B X Y

Тут к - кількість додатних

значень

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

10 REM ЦИКЛ З РОЗГАЛУЖЕННЯМ

20 LET A=3.2

30 LET K=0

40 FOR X=1.5 TO 3.3 STEP 2E-1

50 LET Y=X*LOG(X)-A

60 IF Y<0 THEN PRINT “Y=“;Y,”X=“;X ELSE LET K=K+1

70 NEXT X

80 PRINT “КІЛЬКІСТЬ ДОДАТН. ЗНАЧ. ФУНКЦ.=“;K

90 END

Y= -2.5918 X=1.5

Y= -2.29793 X=1.7

Y= -1.98048 X=1.9

Y= -1.64193 X=2.1

Y= -1.28431 X=2.3

Y= -9.09275E-1 X=2.5

Y= -5.18222E-1 X=2.7

Y= -1.12341E-1 X=2.9

КІЛЬКІСТЬ ДОДАТН. ЗНАЧ. ФУНКЦ.= 2

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

#include <stdio.h>

#include <math.h>

#define A 3.2

#define X1 1.5

#define X2 3.31

#define DX 2e-1

main()

{

float x,y;

int k=0;

for(x=X1;x<=X2;x+=DX)

{

y=x*log(x)-A;

if (y<0)

printf(“\n Y=%f X=%2.if”,y,x);

else

k++;

}

printf(“\n КІЛЬКІСТЬ ДОДАТН. ЗНАЧ. ФУНКЦ.=%i”,k);

}

Y= -2.591802 X=1.5

Y= -2.297932 X=1.7

Y= -1.980477 X=1.9

Y= -1.641931 X=2.1

Y= -1.284309 X=2.3

Y= -0.909273 X=2.5

Y= -0.518220 X=2.7

Y= -0.112338 X=2.9

КІЛЬКІСТЬ ДОДАТН. ЗНАЧ. ФУНКЦ.= 2

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

program lab4(input,output);

const a=3.2;

var y,x: real;

k: integer;

begin

x:=1.5;

k:=0;

repeat

y:=x*ln(x)-a;

if y<0 then writeln(‘y=‘,y:11,’ x=‘,x:11)

else k:=k+1;

x:=x+0.2;

until x>3.3;

writeln(‘КІЛЬКІСТЬ ДОДАТН. ЗНАЧ. ФУНКЦ.=’,k)

end.

Y= -2.5918E+00 X=1.5000E+00

Y= -2.2979E+00 X=1.7000E+00

Y= -1.9805E+00 X=1.9000E+00

Y= -1.6419E+00 X=2.1000E+00

Y= -1.2843E+00 X=2.3000E+00

Y= -9.0928 E -01 X=2.5000E+00

Y= -5.1822 E -01 X=2.7000E+00

Y= -1.1234 E -01 X=2.9000E+00

КІЛЬКІСТЬ ДОДАТН. ЗНАЧ. ФУНКЦ.= 2

езультати:

елементімальний і максимальний елементи, і вивести на друк перетворений масив, а також мінімальний і максимальний еЗавдання:

Вивести на друк тільки відємні значення функції і відповідні значення аргумента, а також кількість додатних значень функції

, = 3.2

Аргумент х змінюється від початкового значення 1.5 до кінцевого 3.3 з кроком 0.2.

Опис форми.

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

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

Елемент (Name) Властивість Значення
Label1 Caption Початкове значення аргументу
Label2 Caption Кінцеве значення аргументу
Label3 Caption Крок зміни аргументу
Textbox1 Name стираємо значення Text1
  BorderStyle 1-FixedSingle
Textbox2 Name стираємо значення Text2  
  BorderStyle 1-FixedSingle
Textbox3 Name стираємо значення Text3
BorderStyle BorderStyle 1-FixedSingle
CommandButton1 Caption Розрахунок
CommandButton1 Caption Вихід


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

Програма з з використанням оператора while…wend:

Private Sub Command1_Click()

Dim X,Y, A as Single

A = 3.2

K = 0

X = Val(Text1.Text)

While X < Val(Text2.Text) + Val(Text3.Text)

Y = X * Log(X) - A

If Y < 0 Then

Print "Y="; Format(Y, "###.####"), "X="; Format(X, "#.##")

Else

K = K + 1

End If

X = X + Val(Text3.Text)

Wend

Print "КІЛЬКІСТЬ ДОДАТНІХ ЗНАЧЕНЬ = "; K

End Sub

Private Sub Command2_Click()

End

End Sub

Програма з оператором Do…Loop:

Private Sub Command1_Click()

Dim X,Y, A as Single

A = 3.2

K = 0

X = Val(Text1.Text)

Do

Y = X * Log(X) - A

If Y < 0 Then

Print "Y="; Format(Y, "###.####"), "X="; Format(X, "#.##")

Else

K = K + 1

End If

X = X + Val(Text3.Text)

Loop Until X > Val(Text2.Text) + Val(Text3.Text)

Print "КІЛЬКІСТЬ ДОДАТНІХ ЗНАЧЕНЬ = "; K

End Sub

Private Sub Command2_Click()

End

End Sub

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

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

Опис форми.


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

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

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


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

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

unit Unit1;

interface

uses

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

StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Memo1: TMemo;

Label1: TLabel;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const a=3.2;

var

Form1: TForm1;

y,x: real;

k: integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

x:=1.5;

k:=0;

repeat

y:=x*ln(x)-a;

if y<0 then Memo1.Lines.Add('y='+format('%2.7s',[FloatToStr(y)])+' x='+FloatToStr(x))

else k:=k+1;

x:=x+0.2;

until x>3.3;

Memo1.Lines.Add('КІЛЬКІСТЬ ДОДАТН. ЗНАЧ. ФУНКЦ. k='+FloatToStr(k));

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end.


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


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

Графічний алгоритм (рис.4.1) складається з циклу, символ 3 - це заголовок циклу і розгалуження. В символі 5 порівнюється значення функції у з нулем. Якщо значення у від’ємне, то друкується значення функції і відповідне значення аргумента, символ 7. Якщо значення у невід’ємне, то вмістиме лічильника циклу зростає на одиницю, символ 6.

Програма має циклічну структуру. В тілі циклу знаходиться розгалуження, яке реалізовано за допомогою умовного оператора. Мовами GW Basic і С цикл організований за допомогою оператора FOR, а мовою Pascal - за допомогою оператора repit...until. На друк виведено віСм від’ємних значень функції і вказано, що два значення функції є додатні.

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

1. Напишіть програму без застосування оператора циклу.

2. Чи може розгалуження не входити до тіла циклу?

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

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

5. Змініть програми таким чином, щоб перед виведенням результатів обчислень було надруковано повідомлення “РЕЗУЛЬТАТИ ОБЧИСЛЕННЯ”.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: