Алгоритмізація і програмування розгалужуються процесів

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство Освіти Республіки Білорусь

Білоруський національний технічний університет

Кафедра: "Машини та технології ливарного виробництва»

Курсовий проект

на тему:

  1. «Алгоритмізація та програмування розгалужуються процесів»

  2. «Методи рішення нелінійних рівнянь»

Мінськ 2010р.

Постановка завдання № 1. Розробити алгоритм і програму для обчислення функції Z (x), заданої інтервальної на різних проміжках. Якщо функція Z (x) невизначена при будь-яких значеннях x, то в програмі необхідно передбачити виведення повідомлення "При цьому X функція невизначена" і вивести значення X. Загальний вид завдання функції:

де ,

,

,

,

Значення a, b, c, d обчислюються за формулами:

, ,

, , Де n - номер варіанта.

Лістинг програми № 1

Program kursovoj _ Braginec _ DA;

var j: integer;

a, b, c, d, x, x4, x7, x11, x15, x25: real;

i, n: integer;

z: extended;

Begin

a: = 0; b: = 0; c: = 0; n: = 3;

for j: = 1 to n +3 do begin

a: = a + sin (j); c: = c + j * j * j + j; end;

for j: = 2 to n +3 do begin

b: = b +1 / ln (j); end; d: = a + b + c;

x4: = 5 * 4-80; x7: = 5 * 7-80; x11: = 5 * 11-80; x15: = 5 * 15-80; x25: = 5 * 25-80;

writeln ('Vvedite znachenie x =');

readln (x);

if x <= x4 then begin

if (x> 1) and (a> 1) then begin

z: = b * SQRT (x) + SQRT (ln (a * x)) + c * x * x * x + d * exp ((1 / 10) * ln (x));

writeln ('x =', x: 6:2, 'Z =', z: 12:3);

end

else writeln ('x =', x: 6:2, 'Z = net znacheniy');

end;

if (x4 <x) and (x <= x7) then begin

if (x> 0) then begin

z: = a * exp (3 * ln (cos (ABS (x ))))+ b * sin (d * x) + exp (4 * (sin (x) / cos (x))) + d * ln (x) * ln (x);

writeln ('x =', x: 6:2, 'Z =', z: 12:3); end else

writeln ('x =', x: 6:2, 'Z = net znacheniy');

end;

if (x7 <x) and (x <= x11) then begin

if (x> 0) and (x / d> = 0) then begin

z: = ln (abs (a * x)) + b * cos (x * x * x * x) * sin (1 / (x * x * x))-c * ln (x) * ln (x) * ln (x) + sqrt (x / d);

writeln ('x =', x: 6:2, 'Z =', z: 12:3);;

end

else writeln ('x =', x: 6:2, 'Z = net znacheniy');

end;

if (x11 <x) and (x <= x15) then begin

if (x-5 * x * x * x> 0) and (d> 0) and (x * x * x-2 * d <> 0) and (exp (3 * ln (x + c))> = 0) then begin

z: = a * exp (-4 * x) + b * ln (x-5 * x * x * x) + c * SQRT (exp (3 * ln (x + c))) + ln (d) / (x * x * x-2 * d);

writeln ('x =', x: 6:2, 'Z =', z: 12:3);;

end

else writeln ('x =', x: 6:2, 'Z = net znacheniy');

end;

if (x15 <x) and (x <= x25) then begin

if (x <> 0) and (xd> 0) and (d> = 0) then begin

z: = a * exp (3 / 8 * ln (ln (ABS (x ))))+ b * sin (b * exp (-b / x)) + (xc) + d * sin (x * x * x) * sin (x * x * x) / (cos (x * x * x) * cos (x * x * x) * ln (xd));

writeln ('x =', x: 6:2, 'Z =', z: 12:3);

end

else

writeln ('x =', x: 6:2, 'Z = net znacheniy');

end;

if x> x25 then begin

z: = 0;

writeln ('x =', x: 6:2, 'Z =', z: 12:3); end;

End.

Результати завдання № 1

Vvedite znachenie x = 23

x = 23.00 Z = net znacheniy

Vvedite znachenie x =- 37

x =- 37.00 Z = net znacheniy

Vvedite znachenie x =- 100

x =- 100.00 Z = net znacheniy

Vvedite znachenie x =- 7

x = -7.00 Z =- 149327123808.531

Постановка задачі 2. Розробити алгоритм та програму формування одновимірного масиву A [i] за умовою A [i] = Z (x), заданої інтервальної на різних проміжках. Якщо функція Z (x) невизначена при будь-яких значеннях x, то в програмі необхідно передбачити висновок повідомлення «При цьому Х функція невизначена» і вивести значення Х. Вид завдання функції:

де ,

,

,

,

Значення a, b, c, d обчислюються за формулами:

, ,

, , Де n - номер варіанта.

При формуванні функції масиву A [i] можна вибрати кілька варіантів кроку, але за умови, щоб на кожному з інтервалів було взято не менше 10-ти значень

При виконанні завдання крок за x можна брати нецілим числом. У програмі необхідно організувати виведення всіх елементів A [i] і числа їх значень на монітор.

Блок-схема для задачі № 2.

Лістинг програми № 2

Program Kursovoj_Braginec_DA;

uses crt;

var j: integer;

a, b, c, d, x4, x7, x11, x15, x25: real;

i, n, x: integer;

f: text;

z: extended;

Begin

clrscr;

assign (f, 'Otvet.txt');

rewrite (f);

a: = 0; b: = 0; c: = 0; n: = 3;

for j: = 1 to n +3 do begin

a: = a + sin (j); c: = c + j * j * j + j; end;

for j: = 2 to n +3 do begin

b: = b +1 / ln (j); end; d: = a + b + c;

x4: = 5 * 4-80; x7: = 5 * 7-80; x11: = 5 * 11-80; x15: = 5 * 15-80; x25: = 5 * 25-80; x: =- 80 ; for i: = 1 to 131 do begin

if x <= x4 then begin

if (x> 1) and (a> 1) then begin

z: = b * SQRT (x) + SQRT (ln (a * x)) + c * x * x * x + d * exp ((1 / 10) * ln (x));

writeln (f, 'x =', x: 6, 'A [', i ,']=', z: 6:3);

end

else writeln (f, 'x =', x: 6, 'A [', i, '] = net znacheniy');

end;

if (x4 <x) and (x <= x7) then begin

if (x> 0) then begin

z: = a * exp (3 * ln (cos (ABS (x ))))+ b * sin (d * x) + exp (4 * (sin (x) / cos (x))) + d * ln (x) * ln (x);

writeln (f, 'x =', x: 6, 'A [', i ,']=', z: 6:3); end else

writeln (f, 'x =', x: 6, 'A [', i, '] = net znacheniy');

end;

if (x7 <x) and (x <= x11) then begin

if (x> 0) and (x / d> = 0) then begin

z: = ln (abs (a * x)) + b * cos (x * x * x * x) * sin (1 / (x * x * x))-c * ln (x) * ln (x) * ln (x) + sqrt (x / d);

writeln (f, 'x =', x: 6, 'A [', i ,']=', z: 6:3); end

else

writeln (f, 'x =', x: 6, 'A [', i, '] = net znacheniy');

end;

if (x11 <x) and (x <= x15) then begin

if (x-5 * x * x * x> 0) and (d> 0) and (x * x * x-2 * d <> 0) and (exp (3 * ln (x + c))> = 0) then begin

z: = a * exp (-4 * x) + b * ln (x-5 * x * x * x) + c * SQRT (exp (3 * ln (x + c))) + ln (d) / (x * x * x-2 * d);

writeln (f, 'x =', x: 6, 'A [', i ,']=', z: 6:3);

end

else

writeln (f, 'x =', x: 6, 'A [', i, '] = net znacheniy');

end;

if (x15 <x) and (x <= x25) then begin

if (x <> 0) and (xd> 0) and (d> = 0) then begin

z: = a * exp (3 / 8 * ln (ln (ABS (x ))))+ b * sin (b * exp (-b / x)) + (xc) + d * sin (x * x * x) * sin (x * x * x) / (cos (x * x * x) * cos (x * x * x) * ln (xd));

writeln (f, 'x =', x: 6, 'A [', i ,']=', z: 6:3);

end

else

writeln (f, 'x =', x: 6, 'A [', i, '] = net znacheniy');

end;

if x> x25 then begin

z: = 0;

writeln (f, 'x =', x: 6, 'A [', i ,']=', z: 6:3); end;

x: = x +1;

end;

End.

Результати завдання № 2.

x = -80 A [1] = net znacheniy

x = -79 A [2] = net znacheniy

x = -78 A [3] = net znacheniy

x = -77 A [4] = net znacheniy

x = -76 A [5] = net znacheniy

x = -75 A [6] = net znacheniy

x = -74 A [7] = net znacheniy

x = -73 A [8] = net znacheniy

x = -72 A [9] = net znacheniy

x = -71 A [10] = net znacheniy

x = -70 A [11] = net znacheniy

x = -69 A [12] = net znacheniy

x = -68 A [13] = net znacheniy

x = -67 A [14] = net znacheniy

x = -66 A [15] = net znacheniy

x = -65 A [16] = net znacheniy

x = -64 A [17] = net znacheniy

x = -63 A [18] = net znacheniy

x = -62 A [19] = net znacheniy

x = -61 A [20] = net znacheniy

x = -60 A [21] = net znacheniy

x = -59 A [22] = net znacheniy

x = -58 A [23] = net znacheniy

x = -57 A [24] = net znacheniy

x = -56 ​​A [25] = net znacheniy

x = -55 A [26] = net znacheniy

x = -54 A [27] = net znacheniy

x = -53 A [28] = net znacheniy

x = -52 A [29] = net znacheniy

x = -51 A [30] = net znacheniy

x = -50 A [31] = net znacheniy

x = -49 A [32] = net znacheniy

x = -48 A [33] = net znacheniy

x = -47 A [34] = net znacheniy

x = -46 A [35] = net znacheniy

x = -45 A [36] = net znacheniy

x = -44 A [37] = net znacheniy

x = -43 A [38] = net znacheniy

x = -42 A [39] = net znacheniy

x = -41 A [40] = net znacheniy

x = -40 A [41] = net znacheniy

x = -39 A [42] = net znacheniy

x = -38 A [43] = net znacheniy

x = -37 A [44] = net znacheniy

x = -36 A [45] = net znacheniy

x = -35 A [46] = net znacheniy

x = -34 A [47] = net znacheniy

x = -33 A [48] = net znacheniy

x = -32 A [49] = net znacheniy

x = -31 A [50] = net znacheniy

x = -30 A [51] = net znacheniy

x = -29 A [52] = net znacheniy

x = -28 A [53] = net znacheniy

x = -27 A [54] = net znacheniy

x = -26 A [55] = net znacheniy

x = -25 A [56] = net znacheniy

x = -24 A [57] =- 5.08366015838512507E +0040

x = -23 A [58] = net znacheniy

x = -22 A [59] = net znacheniy

x = -21 A [60] = net znacheniy

x = -20 A [61] = net znacheniy

x = -19 A [62] = net znacheniy

x = -18 A [63] =- 1919150107529503510000000000000.000

x = -17 A [64] =- 35150460342785758200000000000.000

x = -16 A [65] =- 643803138411235418000000000.000

x = -15 A [66] =- 11791665798573937500000000.000

x = -14 A [67] =- 215971892663317589000000.000

x = -13 A [68] =- 3955663196137779530000.000

x = -12 A [69] =- 72450498665911326200.000

x = -11 A [70] =- 1326977170869205140.000

x = -10 A [71] =- 24304434670875825.700

x = -9 A [72] =- 445151244453472.912

x = -8 A [73] =- 8153225056674.438

x = -7 A [74] =- 149327123808.531

x = -6 A [75] =- 2730605050.098

x = -5 A [76] =- 45581616.828

x = -4 A [77] = net znacheniy

x = -3 A [78] = net znacheniy

x = -2 A [79] = net znacheniy

x = -1 A [80] = net znacheniy

x = 0 A [81] = net znacheniy

x = 1 A [82] = net znacheniy

x = 2 A [83] = net znacheniy

x = 3 A [84] = net znacheniy

x = 4 A [85] = net znacheniy

x = 5 A [86] = net znacheniy

x = 6 A [87] = net znacheniy

x = 7 A [88] = net znacheniy

x = 8 A [89] = net znacheniy

x = 9 A [90] = net znacheniy

x = 10 A [91] = net znacheniy

x = 11 A [92] = net znacheniy

x = 12 A [93] = net znacheniy

x = 13 A [94] = net znacheniy

x = 14 A [95] = net znacheniy

x = 15 A [96] = net znacheniy

x = 16 A [97] = net znacheniy

x = 17 A [98] = net znacheniy

x = 18 A [99] = net znacheniy

x = 19 A [100] = net znacheniy

x = 20 A [101] = net znacheniy

x = 21 A [102] = net znacheniy

x = 22 A [103] = net znacheniy

x = 23 A [104] = net znacheniy

x = 24 A [105] = net znacheniy

x = 25 A [106] = net znacheniy

x = 26 A [107] = net znacheniy

x = 27 A [108] = net znacheniy

x = 28 A [109] = net znacheniy

x = 29 A [110] = net znacheniy

x = 30 A [111] = net znacheniy

x = 31 A [112] = net znacheniy

x = 32 A [113] = net znacheniy

x = 33 A [114] = net znacheniy

x = 34 A [115] = net znacheniy

x = 35 A [116] = net znacheniy

x = 36 A [117] = net znacheniy

x = 37 A [118] = net znacheniy

x = 38 A [119] = net znacheniy

x = 39 A [120] = net znacheniy

x = 40 A [121] = net znacheniy

x = 41 A [122] = net znacheniy

x = 42 A [123] = net znacheniy

x = 43 A [124] = net znacheniy

x = 44 A [125] = net znacheniy

x = 45 A [126] = net znacheniy



Постановка завдання № 3.

Розробити алгоритм та програму для вирішення нелінійного рівняння з параметрами методом половинного ділення. За допомогою програми обчислити всі корені рівнянь у відповідності із зазначеним варіантом і заданою точністю ε = 10 -4. Параметр а задати самостійно методом перебору. Визначити для яких а рівняння має 1,2,3,4,5 дійсних коренів.


3


Побудувати таблицю яка повинна ілюструвати кількість коренів рівняння для F (x, a) = 0 (обмежитися 5-ма країнами при заданому). Побудувати графік F (x, a) від x для параметрів a відповідного найбільшій кількості коренів знайдених в завданні.

Лістинг програми № 3.

Program Kursovoj_Braginec_DA;

uses crt;

var

yn, yk, e, y, a, x, h, h1: real;

d: integer;

koren: boolean;

f: text;

function funk (x, a: real): real;

begin

funk: = ln (x * a) + exp (2 * ln (cos (a * x))) / sin (a * x) + SQRT ((x +7) / a) + (x +7) + a ;

end;

Begin

clrscr;

assign (f, 'Otvet.txt');

rewrite (f);

a: = 0; h: = 0.001; h1: = 0.001;

while a <4 do begin

writeln (f, 'pri a =', a: 8:4);

d: = 0;

while x <= 10 do begin

if (sin (a * x) <> 0) and (x * a> 0) and ((x +7) / a> = 0) then begin funk (x, a);

if funk (x, a) = 0 then begin

d: = d +1;

writeln (f, 'x =', x: 8:4);

end;

if funk (x, a) * funk (x + h1, a) <0 then

begin d: = d +1;

yn: = x;

yk: = x + h1;

e: = 0.0001;

koren: = false;

while (abs (yk-yn)> e) and (not (koren)) do begin

y: = (yk + yn) / 2;

if funk (y, a) = 0 then koren: = true

else if funk (yn, a) * funk (y, a) <0 then

yk: = y

else yn: = y;

end;

if koren = true then writeln (f, 'x =', y: 8:4)

else writeln (f, 'x =', yn: 8:4);

end;

end;

x: = x + h1;

end;

writeln (f, 'kopHey', d);

a: = a + h;

end;

close (f); END.

Результати рахунку:


pri a = -1.1000

kopHey 1

x =- 9.9990

pri a = -5.0000

kopHey 2

x = -7. 6670

x = -7.0740

pri a = -7.0100

kopHey 3

x = -9.8300

x = -11.6230

x = -18.9510

pri a = -11.2020

kopHey 4

x = -7.0010

x = -9.4230

x = -7.1030

x = -10.4930

pri a = -13.9320

kopHey 5

x = -7.1726

x = -9.2348

x = -9.3293

x = -10.7739

x = -11.3739


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
64.9кб. | скачати


Схожі роботи:
Алгоритмізація і програмування процесів на Fox
Алгоритмізація і програмування процесів обробки даних у середовищі СУБД типу Fox
Алгоритмізація та програмування
Інформатика Алгоритмізація та програмування
Прогнозування та програмування міграційних процесів
Розробка алгоритмів та програмування різних обчислювальних процесів на мові Delphi
Алгоритмізація
Алгоритмізація навчання
Алгоритмізація завдань
© Усі права захищені
написати до нас