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


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

Загрузка...

ЗМІНОЮ АРГУМЕНТА

 

Цикл типова структура, яка характерна для багатьох програм. Цикл складається із заголовка і тіла циклу. Заголовок циклу мовою GW Basic описується оператором циклу FOR. В цьому операторі задається початкове значення параметра циклу, крок його зміни і перевірка досягнення параметром циклу кінцевого значення. Тіло циклу являє собою послідовність операторів, які виконуються в циклі. Закінчується цикл оператором NEXT. Цикл мовою Pascal може бути організований за допомогою оператора for...do, але параметром циклу в цьому операторі повинна бути тільки цілочисельна змінна. Ця змінна набуває значеня від 1 до N з кроком зміни на одиницю, де N - кінцева кількість циклів. Тіло мовою Pascal може складатись з одного або послідовності операторів, обмежених словами begin i end. Такі цикли називаються циклами за лічильником.

Цикли також можуть бути побудовані за допомогою операторів умовного і безумовного переходу, так звані цикли з передумовою і післяумовою.

Для завдань, які описані в таблиці 3, необхідно:

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

- провести ідентифікацію змінних;

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

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

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

Якщо за умовою задачі не заданий один з параметрів циклу (початкове, кінцеве значення параметра або крок зміни), то його необхідно визначити, користуючись залежністю

(3.1)

де N - кількість циклів;хпк - початкове і кінцеве значення параметра циклу;

- крок зміни параметра циклу.

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

№ ва-   Константи Аргу- Почат- кове знач. Кінце- ве зна-чення Крок зміни Пара- Кіль- кість інтер-
рі- ан-ту Функція a b мент пара-метра циклу пара- метра циклу Метра Циклу валів пара- метра
                 

 

21.4 1.95 x 4.6 - 1.5
121.2 3.8 q 1.4 1.85 -
8.3 1.43 p - -4.74 0.15
1.6 2.09 m - 1.5
0.83 - x 1.15 - 0.35
3.85 1.8 a - 150 70
1.6 14.3 t 2.75 5.0 -
- 6.215 b 400 540 -
2.43 - y 1.62 - 0.15
1.85 2.63 a -3.45 - -1.6
- 3.85 d -2.3 0.01 -
2.65 1.48 x 0.75 0.012 -
3.2 - y -4.8 0.1 -
- 8.45 z - 0.24 3.2
-16.3 - x -16.3 - -9.3
-8.6 3.28 d 3.6 - 4.0
1.42 0.85 z 1.6 0.35 -
Продовження таблиці 3.1
18

3.2 - f -4.8 0.1 -
8.9 - a 350 - 500
1.2 - z 2.6 - 3.8
- 6.15 x - 0.2 1.65
3.26 - x - 0.18 3.41
1.85 6.21 g 3.1 -
4.55 7.53 x 4.8 0.25 -
6.92 - f 0.6 - 1.4

Приклад. Скласти графічний алгоритм і прграми обчислень таблиці значень функції

y=bx2+ex-1, b=11.83.

Аргумент х змінюється від початкового значення х=2.6 з постійним кроком 0.15, кількість значень функції n=8.

Графічний алгоритм і програми скласти з використанням оператора циклу та умовного оператора.

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

1. Визначимо кінцеве значення аргумента х:

, звідки

2. Графічний алгоритм з використанням оператора циклу показаний на рис. 3.1, з використанням умовного оператора на рис. 3.2.

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

3.1. З використанням оператора циклу

 

10 REM ЦИКЛІЧНА ПРОГРАМА

20 REM ВИКОРИСТАННЯ ОПЕРАТОРА ЦИКЛУ

30 B=11.83

40 FOR X=2.6 TO 3.65 STEP 1.5E-1

50 Y=B*X*X+EXP(X-1)

60 PRINT “Y=“;Y,”X=“;X

70 NEXT X

80 END

Y=84.9238 X=2.6

Y=95.2189 X=2.75

Y=106.176 X=2.9

Y=117.816 X=3.05

Y=130.164 X=3.2

Y=143.248 X=3.35

Y=157.1 X=3.5

Y=171.759 X=3.65

 

3.2. З використанням умовного оператора

10 REM ЦИКЛІЧНА ПРОГРАМА

20 REM ВИКОРИСТАННЯ УМОВНОГО ОПЕРАТОРА

30 B=11.83 : X=2.6

40 Y=B*X*X+EXP(X-1)

50 PRINT “Y=“;Y,”X=“;X

60 X=X+0.15

70 IF X<=3.65 THEN 40

80 END

Y=84.9238 X=2.6

Y=95.2189 X=2.75

Y=106.176 X=2.9

Y=117.816 X=3.05

Y=130.164 X=3.2

Y=143.248 X=3.35

Y=157.1 X=3.5

Y=171.759 X=3.65


 

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

 

#include <stdio.h>

#include <math.h>

#define x1 2.6

#define x2 3.66

#define dx 1.5e-1

#define b 11.83

main( )

{

float x,y;

for(x=x1;x<x2;x+=dx)

{

y=b*x*x+exp(x-1);

printf(“\ny=%f x=%f,y,x);

}

}

Y=84.923828 X=2.600000

Y=95.218979 X=2.750000

Y=106.176201 X=2.900000

Y=117.816490 X=3.050000

Y=130.164230 X=3.200000

Y=143.247772 X=3.350000

Y=157.100037 X=3.500000

Y=171.759277 X=3.650001

 

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

 

program lab3(input,output);

const b=11.83;

var x,y : real;

i : integer;

begin

x:=2.6;

for i:=1 to 8 do

begin

y:=b*x*x+exp(x-1);

writeln(‘y=‘,y:11,’ x=‘,x:11);

x:=x+0.15;

end;

end.

Y=8.4924E+01 X=2.6000E+00

Y=9.5219E+01 X=2.7500E+00

Y=1.0618E+02 X=2.9000E+00

Y=1.1782E+02 X=3.0500E+00

Y=1.3016E+02 X=3.2000E+00

Y=1.4325E+02 X=3.3500E+00

Y=1.5710E+02 X=3.5000E+00

Y=1.7176E+02 X=3.6500E+00

 

Завдання:

Скласти програму для обчислення таблиці значень функції:

 

, b= 11.83
Аргумент х змінюється від початкового значення х = 2.6 з постійним кроком 0.15, кількість значень функції n = 8.

Опис форми.

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

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

Елемент (Name) Властивість Значення
CommandButton1 Caption Розрахунок
CommandButton2 Caption Вихід

 
 

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

Програма.

Private Sub Command1_Click()

Dim x, y, b as Single

b = 11.83

For x = 2.6 To 3.65 Step 0.15

y = b * x ^ 2 + Exp(x - 1)

Print "y="; Format(y, "###.####"), "x="; Format(x, "##.##")

Next x

End Sub

 

Private Sub Command2_Click()

End

End Sub

 


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

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

Опис форми.

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

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

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


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

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

unit Unit1;

interface

uses

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

StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const b=11.83;

var

Form1: TForm1;

x,y : real;

i : integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

x:=2.6;

for i:=1 to 8 do

begin

y:=b*x*x+exp(x-1);

Memo1.Lines.Add('y='+format('%2.7s',[FloatToStr(y)])+' x='+FloatToStr(x));

x:=x+0.15;

end;

 

end;

 

 

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

 
 

end.

Рисунок 3.6– Вікно програми підчас виконання.

 

 


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

В графічному алгоритмі (рис.3.1) в символі 3 формується заголовок циклу, де вказано початкове, кінцеве значення параметра циклу і крок його зміни, символи 4 і 5 являють собою тіло циклу. На рис.3.2 наведено алгоритм циклічної програми із застосуванням логічного символу 6, де значення параметра циклу зрівнюється з кінцевим. В символі 3 задається початкове значення параметра циклу, а в символі 5 нарощується параметр циклу на величину кроку.

В прикладі наведено дві програми мовою GW Basic, одна з них - із застосуванням оператора циклу FOR...NEXT, що відповідає алгоритму, зображеному на рис.3.1, друга - з використанням опе-ратора умовного переходу, що відповідає алгоритму, показаному на рис.3.2.

При побудові програми мовою Pascal за допомогою оператора циклу введена додаткова цілочисельна змінна і, яка змінюється від 1 до 8 з кроком 1. Перед складанням прграми необхідно визначити кінцеве значення цієї змінної, користуючись формулою (3.1).

 

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

 

1. Що таке цикл? Складові частини циклу?

2. Чому в циклічних процесах з регулярною зміною аргумента мовою Pascal необхідно вводити додаткову керуючу змінну?

3. Які дані необхідні для організації циклу?

4. В яких межах змінюється параметр циклу в приведених програмах?

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

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

7. Дайте зрівняльну характеристику програм з використанням умовного оператора і оператора циклу?

8. Які відмінності в організації циклу з післяумовою і передумовою.

Загрузка...

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