У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


Міністерство освіти і науки України

Лабораторна робота

Тема: ЦИКЛІЧНІ ПРОГРАМИ З РЕГУЛЯРНОЮ

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

 

Мета роботи: оволодіння прийомами складання циклічних алгоритмів і програм, освоєння оператора циклу з рiвномiрним приростом аргументу.

Короткі теоретичні вiдомостi

Циклом називається обчислювальний процес, який багаторазово

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

Цикл з рiвномiрним приростом аргумента є найбільш вживаним.

Число його виконань n можна обчислити за формулою:

де Xп, Xк, h - вiдповiдно, початкове i кінцеве значення та приріст параметра циклу.

Для програмування циклу арифметичного типу служать оператори:

- циклу: FOR(Вираз1;Вираз2;Вираз3) оператор;

тут: Вираз1 - присвоєння параметру циклу початкового значення;

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

кінцевого значення;

Вираз3 - нарощення параметра циклу;

оператор - простий оператор або блок, тіло циклу.

- продовження: CONTINUE;

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

В тiлi циклу може також знаходитися оператор break, його виконання приводить до передчасного виходу з циклу.

варіанта | функція | const

а b | Почат знач.

Пара-

метра цикла | Кінцеве знач. | Крок зміни

Пара-

Метра

циклу | Аргу-

мент | Кількість

Інтервалів параметра

12 | 2.65

1.48 |

0.75 |

0.012 |

- |

x |

9

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

#include <stdio.h>

#include <math.h>

#define x1 0.75

#define x2 0.012

#define A 2.65

#define B 1.48

#define delta_x (-0.09)

#define e 2.72

Main()

{

Float X,K;

For(x=x1;x>x2;x+=delta_x)

{

K=sin(e*x*x)/sqrt(A+(B*pow(x,3)));

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

}

}

Результати:

X=0.750000 K=0.552172

X=0.660000 K=0.528272

X=0.570000 K=0.452112

X=0.480000 K=0.349627

X=0.390000 K=0.242962

X=0.300000 K=0.147772

X=0.210000 K=0.073320

X=0.120000 K=0.024043

X=0.030000 K=0.001504

1)

#include<math.h>

#include<stdio.h>

Main()

{

const float A=2.65, B=1.48;

float X=0.012,K;

clrser();

do

{

K=sin(2.72*X*X)/sqrt(A+(B*pow(X,3)));

Printf(“\n X=%f K=%f”,X,K);

X+=(-0.09);

}

While(X<=0.75);

Getch();

}

 

2)

#include<math.h>

#include<stdio.h>

Main()

{

const float A=2.65, B=1.48;

float X=0.012,K;

clrser();

While(X<=0.75);

{

K=sin(2.72*X*X)/sqrt(A+(B*pow(X,3)));

Printf(“\n X=%f K=%f”,X,K);

X+=(-0.09);

}

getch();

}

3)

#include<math.h>

#include<stdio.h>

Main()

{

const float A=2.65, B=1.48;

float X=0.012,K;

clrser();

if(X<=0.75)goto еее

rrr:if(X<=0.75)

{

K=sin(2.72*X*X)/sqrt(A+(B*pow(X,3)));

Printf(“\n X=%f K=%f”,X,K);

X+=(-0.09);

goto rrr;

}

еее getch();

}

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

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

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

Змінна | k | Дx | x | a | b

Ідентифікатор | K | Delta_x | X | A | B

Блок-схема