Міністерство освіти і науки України
Лабораторна робота
Тема: ЦИКЛІЧНІ ПРОГРАМИ З РЕГУЛЯРНОЮ
ЗМІНОЮ АРГУМЕНТА
Мета роботи: оволодіння прийомами складання циклічних алгоритмів і програм, освоєння оператора циклу з р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
Блок-схема