ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


ЦИКЛІЧНІ ПРОГРАМИ З РЕГУЛЯРНОЮ ЗМІНОЮ АРГУМЕНТА, ЯКІ МІСТЯТЬ РОЗГАЛУЖЕННЯ

 

 

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

ІТЕРАЦІЙНІ ЦИКЛІЧНІ ПРОЦЕСИ

 

Для наведених в таблиці 4 рівнянь необхідно:

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

- скласти програму для ЕОМ;

- розв’язати рівняння на ЕОМ в діалоговому режимі, користуючись розробленою програмою;

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

Примітка. При використанні методу Ньютона необхідно визначити, яка з крайніх точок інтервалу ізоляції буде рухомою.

Таблиця 5.1

№ ва-ріанту Рівняння Інтервал ізоляції кореня Похибка об- числення Метод роз- в`язування
4x3-5x2+3x=0 х3-x-1=0 x3-3x2+4x-9=0 x3+3x-1=0 x3-ex-5.5=0 х3-x+1=0 tg3(x)-tg(x)-1=0 ex-1/x-1=0 2x3-7x2+3x-10=0 x+ln(x)-2=0 x3+3x+1=0 2x3-5x2+5x-12=0 xln(x)-2=0 5x3-6x2+x-2=0 x3- -8.5=0 ex-ln(x)-20=0 3x3-4x2+2x-3=0 x3+2x-11=0 ex-2-ln(x+2)=0 4x3-5x2+2x-3=0 x3-2x-5=0 sin( )-cos( )+2 =0 2x3-5x2+7x-15=0 ex-1/x-1=0 2ex-2-lg(x+12)=0 [1;2] [1;2] [2;3] [0;1] [2.6;3] [-2;-1] [0.8;1] [0.5;1] [3;4] [2;1] [0;-1] [2;3] [2;3] [1;2] [2;3] [3;3.2] [1;2] [1;2] [2;3] [1;2] [2;3] [0;0.2] [2;3] [0.5;1] [2;3] 0.0001 0.001 0.001 0.001 0.0001 0.001 0.001 0.0001 0.001 0.0001 0.0001 0.001 0.001 0.001 0.0001 0.0001 0.0001 0.001 0.001 0.001 0.0001 0.0001 0.001 0.0001 0.0001 ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій Ньютона ітерацій

Приклад. Знайти корінь рівняння xlnx+x-0.5=0 на інтервалі [0;1] з точністю e=10-4, користуючись методом ітерацій.

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

 

1. Запишемо рівняння у вигляді xi+1=0.5-xilnxi і наведемо початкове значення кореня х0=0.5.

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

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

 

Змінна xi xi+1 t e n
Ідентифікатор X Y T E N

 

Тут N - кількість ітеацій

 

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

 

10 REM ІТЕРАЦІЙНІ ЦИКЛИ

20 LET E=1E-4

30 LET X=2.5E-1

40 LET N=0

50 LET Y=5E-1-X*LOG(X)

60 LET T=ABS(X-Y)

70 LET X=Y

80 LET N=N+1

90 IF T<E THEN 50

100 PRINT “КОРІНЬ=“;Y

110 PRINT”КІЛЬКІСТЬ ІТЕРАЦІЙ=”;N

120 END

КОРІНЬ=7.29874E-1

КІЛЬКІСТЬ ІТЕРАЦІЙ=23

 

 
 

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

 

#include <stdio.h>

#include <math.h>

#define E 1e-4

main( )

{

double x=2.5e-1,y,t;

int n=0;

do

{

y=5e-1-x*log(x);

t=fabs(x-y);

x=y;

n++;

}

while (t>E);

printf(“\nКОРІНЬ=%f ”,x);

printf(“\nКІЛЬКІСТЬ ІТЕРАЦІЙ=%i”,n);

}

КОРІНЬ= 0.729874

КІЛЬКІСТЬ ІТЕРАЦІЙ=23

 

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

 

program lab5(input,output);

var y,x,e,t: real;

n: integer;

begin

e:=0.0001;

x:=0.25;

n:=0;

repeat

y:=0.5-xln(x);

t:=abs(x-y);

x:=y;

n:=n+1;

until t<e;

writeln(‘КОРІНЬ= ’,y:12);

writeln(‘КІЛЬКІСТЬ ІТЕРАЦІЙ= ’,n);

end.

КОРІНЬ= 7.29874E-01

КІЛЬКІСТЬ ІТЕРАЦІЙ= 23

 

 

езультати:

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

Знайти корінь рівняння xlnx+x-0.5=0 на інтервалі [0;1] з точністю e=10-4, користуючись методом ітерацій.

Опис форми.

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

 

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

 

Елемент (Name) Властивість Значення
CommandButton1 Caption Обчислити
CommandButton2 Caption Вихід

 


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

Код програми:

Private Sub Command1_Click()

e = 0.0001

x = 0.25

n = 0

Do

Y = 0.5 - x * Log(x)

t = Abs(x - Y)

x = Y0000000000000000

n = n + 1

Loop Until t < e

Print "КОРІНЬ="; Format(Y, "###.####")

Print "КІЛЬКІСТЬ ітерацій = "; n

End Sub

Private Sub Command2_Click()

End

End Sub


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

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

Опис форми.

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

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

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

 


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

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

unit Unit1;

interface

uses

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

StdCtrls;

 

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

y,x,e,t: real;

n: integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

e:=0.0001;

x:=0.25;

n:=0;

repeat

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

t:=abs(x-y);

x:=y;

n:=n+1;

until t<e;

Label2.Caption:='КОРІНЬ= '+format('%2.8s',[FloatToStr(y)]);

Label3.Caption:='КІЛЬКІСТЬ ІТЕРАЦІЙ= '+FloatToStr(n);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end.


 

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

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

 

Особливість ітераційних циклів є те, що наперед невідома кількість циклів, які виконуються. Обчислення в циклі припинюється при досягненні заданої точності. Ітераційні цикли будуються за допомогою операторів умовного і безумовного переходів, а також використовуються структури організації циклів з передумовою чи з післяумовою..

Графічний алгоритм показаний на рис.5.1. Символ 2 задає початкове наближення кореня точності обчислення, обнуляє лічильник ітерацій. В символі 3 проводяться обчислення за ітераційною залежністю. Після обчислення модуля різниці двох послідовних наближень кореня, символ 4, виконується переприсвоєння “старого” наближення на “нове”, символ 5. В цьому ж символі організований лічильник ітерацій. Символ 6 керує повторенням циклу.

Мовою GW-Basic ітераційний цикл побудований за допомогою оператора умовного переходу, а мовами С і Pascal, Visual Basic та Delphi - за допомогою операторів циклу з постумовою.

 

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

 

1. Яка відмінність ітераційного циклу від циклу з регулярною зміною аргумента?

2. Як одержати ітераційну формулу для застосування методу ітерацій?

3. Яка умова закінчення ітераційних обчислень?

4. Як отримати кількість виконаних ітераційних циклів?

5. Який оператор керує виходом з циклу?

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

 

ОДНОВИМІРНІ МАСИВИ

Для задач цього розділу необхідно скласти графічний алгоритм, провести ідентифікацію змінних, скласти прграму і розв’язати задачу на ЕОМ.

6.1. Дано одновимірний масив Х, який складається з 12 еле-ментів, обчислити

Результат вивести у вигляді масиву у.

6.2. Обчислити значення виразу

Аргумент х змінюється від 0.8 до 1.7 з кроком 0.05 (радіан). Результати обчислень вивести у вигляді масиву.

6.3. Дано координати точок х1, y1, x2, y2,...,x20,y20 та рівняння прямої y=ax+b; b= -2.1; a=1.34. Сформувати і вивести на друк масив С, який складається з ординат точок, що належать цій пря-мій, і визначити їх кількість.

4
Дано координати точок х1, y1, x2, y2,...,x12,y12. Визначити, чи належать точки заштрихованій фігурі (рис.6.1).

 

6.5. Дано координати точок х1, y1, x2, y2,...,x15,y15. Сформувати і вивести на друк два масиви: масив А - ординати точок, які знахо-дяться в першій чверті, і їх кількість; масив В - абсциси точок, які знаходяться в третій чверті, і їх кількість.

6.6. Дано координати точок х1, y1, x2, y2,...,x15,y15. Якщо точка попадає в площину, обмежену колом х2+y2=R2 , то вивести на друк координати цієї точки і повідомлення “ТОЧКА В ПЛОЩИНІ”; якщо точка за межами кола, то вивести на друк координати точки і повідомлення “ТОЧКА ЗА МЕЖАМИ”. R=15.

6.7. Дано цілочисловий одновимірний масив, який складається з 16 елементів. Знайти парні елементи масиву, які більші числа А, і їх кількість. Число А ввести з клавіатури.

6.8. Дано одновимірний масив P, який складається з 16 елемен-тів. Знайти номери тих елементів, модуль яких дорівнює заданому числу А. Число А ввести з клавіатури.

6.9. Дано цілочисловий одновимірний масив T, який скла-дається з 25 елементів. Сформувати два масиви: перший, який складається з додатних елементів масиву T, другий - з від’ємних.

6.10. Дано одновимірний масив P, який складається з 30 еле-ментів. Знайти мінімальний елемент і його порядковий номер. ВС числа, які знаходяться перед мінімальним елементом, поділити на нього. Вивести на друк заданий і новоутворений масиви.

6.11. Дано одновимірний масив P, який складається з 32 еле-ментів. Обчислити значення функції для від’ємних елементів ма-сиву і підрахувати їх кількість.

6.12. Обчислити елементи масиву T, який складається з 8 еле-ментів:

6.13. Дано одновимірний масив В, який складається з 15 еле-ментів. Сформувати вектор А, першим елементом якого є найменше число, а наступні елементи вектора А - числа, які знаходяться за найменшим елементом масиву В.

6.14. Дано одновимірний масив Х, який складається з 15 еле-ментів. Визначити півсуму найбільшого і найменшого елементів масиву.

6.15. Дано одновимірний масив С, який складається з 16 еле-ментів. Поміняти місцями мінімальний і максимальний елементи.

6.16. Дано одновимірний масив В, який складається з 12 еле-ментів. Сформувати вектор С, що повинен складатися з елементів вектора В, які знаходяться перед максимальним елементом. Вивести на друк вектори В і С.

6.17. Дано цілочисловий одновимірний масив С, який скла-дається з 15 елементів. Знайти максимальний елемент і його порядковий номер. ВС непарні числа, які знаходяться за максимальним елементом, звести до квадрата. Вивести на друк заданий і новоутворений масиви.

6.18. Дано три одновимірні масиви чисел A, B, C, які містять по 4 елементи. Сформувати матрицю T, стовпцями якої є дані масиви.

6.19. Дано одновимірний масив Х, розміром 20 елементів. Об-числити суму кожної пари суСдніх елементів масиву.

6.20. Обчислити значення перших п’ятнадцяти елементів ге-ометричної прогреСї, коли відомий перший елемент а=2 і її знаменник g=1.5. Наступний елемент геометричної прогреСї утворюється множенням попереднього на знаменник прогреСї.

Примітка: для розміщення в пам’яті обчислених елементів про-греСї їх слід об’явити як масив.

6.21. Дано одновимірний масив Х, розміром 15 елементів. Про-вести циклічний зсув елементів у масиві вправо на 2 позиції.

6.22. Дано одновимірний масив С, який складається з 12 еле-ментів. Вилучити з масиву k-й елемент масиву (k<12).

6.23. Дано одновимірний масив Х, який складається з 12 еле-ментів. Замінити одиницями елементи масиву, які знаходяться після найменшого елементу.

6.24. Дано собівартості тонни нафти для 15 родовищ (від 4000 до 5500 крб. за тону). Визначити номери родовищ, для яких собівартість тонни нафти перевищує 5000 крб., і їх кількість.

6.25. Дано процентний показник виконання планового завдання кожним робітником бригади (від 60% до 115%). В бригаді 16 робітників. Визначити кількість і порядковий номер робітників, які виконали планове завдання на 100% і більше.

6.26. Для умови задачі 6.25 визначити кількість робітників, які виконали планове завдання від 101% до 110% і більше 110%, а також визначити їх порядкові номери.

6.27. Дано послідовність цілих чисел а12,...,а16. Знайти макси-мальний елемент цієї послідовності і поміняти місцями мак-симальний елемент з першим парним числом цієї послідовності. На друк вивести задану і перетворену послідовності чисел.

6.28. Дано послідовність цілих чисел х12,...,х20. Відомо, що в ній є два однакові числа. Вивести на друк порядкові номери цих двох однакових чисел і значення цього числа.

6.29. Дано цілочисловий масив А, який складається з 12 елементів. Створити масив С, який складається з непарних чисел масиву А, полічити кількість елементів масиву С. Вивести на друк заданий і новоутворений масиви.

6.30. Дано цілочисловий масив А, який складається з 12 елементів. Створити масив С, який складається з остач ділення елементів масиву А на ціле число k(k<10). Обчислити добуток ненульових елементів масиву С.

6.31. Дано масив С, який складається з N елементів (N<10). Поміняти місцями перший елемент масиву з максимальним, другий з мінімальним, решту залишити без зміни. Вивести на друк заданий і новоутворений масиви.

6.32. Дано цілочисловий масив А, який складається з 12 еле-ментів. Починаючи з другого непарного елемента, поділити вС решту елементів масиву С на цей непарний елемент. Вивести на друк заданий і новоутворений масиви.

6.33. Дано вектор, який містить К елементів. Вилучити з нього елементи, які знаходяться між максимальним і мінімальним еле-ментами. Вивести на друк значення максимального і мінімального елементів і два вектори.

6.34. Виконати перестановку в даному масиві Е(22) таким чином, щоб спочатку були записані підряд 9 перших елементів масиву, що мають парні індекси. Після них розмістити елементи масиву, що мають непарні індекси з номерами І=1,...,17.

6.35. В заданому масиві В, який містить 21 елемент, замінити вС від’ємні елементи, що знаходяться на парних місцях, макси-мальним його елементом, а на непарних місцях - мінімальним елементом масиву. Заданий і новоутворений масиви вивести на друк.

6.36. Обчислити середнє геометричне значення елементів зада-ного масиву F(19), які більші за абсолютною величиною від числа А. Результати вивести на друк. Значення середнього геометричного елементів є величина .

6.37. Дано масив А, який складається з 19 елементів. Вивести на друк три перші від’ємні елементи цього масиву разом з поряд-ковими номерами цих елементів у масиві.

6.38. В заданому масиві А, який містить 19 елементів, замінити вС від’ємні елементи, що знаходяться на парних місцях, середнім арифметичним значенням, обчисленим із вСх від’ємних елементів; елементи, що знаходяться на непарних місцях, замінити середнім геометричним значенням вСх додатних елементів масиву. Заданий і перетворений масиви вивести на друк. Sар= Sгеом=

6.34. Для заданого масиву В(21) вивести на друк значення чет-вертого і шостого від’ємних елементів цього масиву і їх поряд-ковий номери в масиві.

6.40. В заданих двох векторах А і В однакової розмірності N знайти окремо найбільше і найменше значення сум їх елементів цих векторів (і=1,...,N) і вивести на друк одержані значення.

6.41. В заданому масиві А(17) замінити вС нульові елементи середнім арифметичним значенням, знайденим із вСх від’ємних елементів масиву. Перетворений масив вивести на друк. Середнє арифметичне значення обчислюється за формулою Sар=

6.42. Дано масив А(32). Знайти і вивести на друк найменше із додатних елементів масиву.

6.43. В заданому масиві Е(31) замінити вС нульові елементи середнім геометричним значенням вСх додатних елементів масиву. Перетворений масив вивести на друк.

6.44. Виконати перестановку елементів в заданому масиві Т(22) таким чином, щоб спочатку були записані підряд п’ять перших додатних елементів масиву. Заданий і перетворений масиви вивести на друк.

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

в точках хі= -2.2+і*0.2; і=0,1,2,...,20. m=1.7. Одержані значення організувати в масив, елементи якого розмістити в зворотньому порядку їх обчислення, і вивести на друк.

6.46. Замінити в заданому масиві А(27) вС нульові елементи, що знаходяться на непарних місцях, середнім арифметичним значенням, обчисленим із вСх від’ємних елементів масиву, а нульові елементи, що знаходяться на парних місцях - середнім геометричним значенням вСх додатних елементів масиву. Заданий і перетворений масиви вивести на друк.

6.47.В заданому масиві В(21) замінити вС від’ємні елементи, що знаходяться на парних місцях, його максимальним елементом, а на непарних місцях - мінімальним елементом масиву В. Заданий і перетворений масиви вивести на друк.

6.48. Замінити в заданому масиві А(37) вС нульові елементи числами, які обчислюються за формулою:

де n - порядковий номер нульового елемента масиву. Перетворений масив вивести на друк.

6.49. Даний вектор С, який складається з 12 дійсних чисел. Сформувати вектор D, непарні елементи якого є ціла частина непарних компонент вектора С, а парні елементи вектора D є дробова частина парних компонент вектора С.

6.50. Даний вектор А, який складається з n елементів. Переставити компоненти вектора, які розміщені після найбільшого елемента вектора А на початок, а компоненти, які розміщені перед найбільшим елементом на кінець вектора. Вивести заданий та новоутворений вектори.

6.51. Даний вектор Е, який складається з дійсних чисел, частина цих чисел має нульову дробову частину. Замінити перших два елементи заданого вектора з нульовою дробовою частиною на середнє арифметичне додатніх елементів вектора. Вивести на друк заданий та новоутворений вектори.

6.52. Даний вектор B, який складається з n дійсних чисел. Замінити перших два нульових елементи заданого вектора відповідно на перших два ненульові елементи цього вектора. Надрукувати заданий та перетворений вектор.

6.53. Дано вектор T, який складається з k цілих чисел. Замінити непарні елементи вектора Т середнім арифметичним елементів які діляться на 5 з остачею 3. Вивести на друк заданий і новоутворений вектори.

6.54. Згенерувати елементи вектора А, який містить 11 елементів. Його елементи повинні бути цілими числами і знаходитися в межах від 5 до 15.

Приклад. Дано одновимірний масив А, який складається з 9 елементів (21; 32.6; 8.3; -4; 12.2; 4.5; 3.8; 7.5; 6.1). Поміняти місцями мінімальний і максимальний елементи, і вивести на друк перетворений масив, а також мінімальний і максимальний елементи.

 

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


 

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

 

Змінна А Міні- мальний елемент Макси- мальний елемент Номер міні-мального елемента Номер макси- мального елемента
Ідентифікатор А M1 М2 K N

 

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

 

10 REM ОДНОВИМІРНИЙ МАСИВ

20 DIM A(9)

30 PRINT “ВИХІДНІ ДАНІ”

40 FOR I=1 TO 9

50 PRINT “A(“;I;”)=“

60 INPUT A(I)

70 PRINT TAB(10),A(I)

80 NEXT I

90 LET M1=A(1)

100 LET M2=A(1)

110 FOR I=2 TO 9

120 IF A(I)<M1 THEN M1=A(I) : K=I

130 IF A(I)>M2 THEN M2=A(I) : N=I

140 NEXT I

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

220 LET A(K)=M2

230 LET A(N)=M1

240 FOR I=1 TO 9

250 PRINT A(I)

260 NEXT I

270 PRINT “МАКС.ЕЛ.=“;M2

280 PRINT “МІН.ЕЛ.=”;M1

290 END

 

 

ВИХІДНІ ДАНІ

A(1)=? 21

A(2)=? 32.6

A(3)=? 8.3

A(4)=? -4

A(5)=? 12.2

A(6)=? 4.5

A(7)=? 3.8

A(8)=? 7.5

A(9)=? 6.1

 

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

-4

8.3

32.6

12.2

4.5

3.8

7.5

6.1

МАКС.ЕЛ.=32.6

МІН.ЕЛ.= -4

 

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

 

#include<stdio.h>

#include<math.h>

#define NUM 9

main()

{

float a[NUM]={21,32.6,8.3,-4,12.2,4.5,3.8,7.5,6.1},

m1,m2;

int i,k,n;

printf(“ВИХІДНІ ДАНІ \n”);

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

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

printf(“РЕЗУЛЬТАТИ РОЗРАХУНКУ \n”);

m1=m2=a[0];

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

{

if(m1<a[i])

{

m1=a[i];

k=i;

}

if(m2>a[i])

{

m2=a[i];

n=i;

}

}

a[k]=m2; a[n]=m1;

printf(“max=%f min=%f\n”,m1,m2);

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

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

}

 

ВИХІДНІ ДАНІ

A(0)=21.000000

A(1)=32.600000

A(2)=8.300000

A(3)= -4.000000

A(4)=12.200000

A(5)=4.500000

A(6)=3.800000

A(7)=7.500000

A(8)=6.100000

 

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

max=32.600000 min= -4.000000

a[0]=21.000000

a[1]= -4.000000

a[2]=8.300000

a[3]=32.600000

a[4]=12.200000

a[5]=4.500000

a[6]=3.800000

a[7]=7.500000

a[8]=6.100000

 

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

 

program lab6(input,output);

var max,min: real;

k,n,i:integer;

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

begin

writeln(‘ВИХІДНІ ДАНІ’);

for i:=1 to 9 do

begin

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

read(a[i])

end;

for i:=1 to 9 do writeln(‘a[‘,i,’]=‘,a[i]:11);

writeln;

max:=a[1]; min:=a[1];

for i:=2 to 9 do

begin

if max<a[i] then

begin

max:=a[i];

k:=i

end;

if min>a[i] then

begin

min:=a[i];

n:=i

end;

end;

a[k]:=min; a[n]:=max;

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

writeln(‘max=‘,max:11); writeln(‘min=‘,min:11);

for i:=1 to 9 do writeln (‘a[‘,i,’]=‘,a[i]:11)

end.

 

ВИХІДНІ ДАНІ

A(1)=2.1000 E+01

A(2)=3.2600 E+01

A(3)=8.3000 E+00

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти