85777

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

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

Информатика, кибернетика и программирование

Мета роботи – вивчити оператори мови СІ та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами. Завдання: Скласти блок-схеми алгоритмів та програми мовою СІ для табулювання функцій.

Украинкский

2015-03-30

51.17 KB

2 чел.

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”

Кафедра Комп’ютеризованы системи автоматики

ЗВІТ

до лабораторної роботи №2

з курсу: “Алгоритмічні мови та програмування. Частина 1”
на тему:
”ПРОГРАМИ З РОЗГАЛУЖЕНИМИ ТА ЦИКЛІЧНИМИ АЛГОРИТМАМИ ”

Варіант 3

Виконав:
студент групи СІ-11з
Мартинюк П.В.

Перевірив:

Дзелендзяк У.Ю.

Львів 2015

Мета роботи – вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.

Завдання:
Скласти блок-схеми алгоритмів та програми мовою СІ для   табулювання функцій.  Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць 1 і 2 за вказівкою викладача:

а) табулювання функції (див. табл.1),  що вибирається залежно від значення аргумента, на проміжку [a, b] з кроком табуляції h.

СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМАХ АЛГОРИТМІВ І ПРОГРАМАХ, ТА ЇХ ПОЯСНЕННЯ

main() - головна функція (метод);

#include  <math.h>  включення файлу math.h у вихідну програму;

printf - один з методів виведення;

tan - математичне обчислення тангенсу;

pow - математичне піднесення числа до степеню;

getch() - метод зупинки роботи програми допоки не буде нажата будь-яка клавіша

for() - циклічний оператор;

scanf_s() - зчитування з клавіатури

if() - метод перевірки;

ТЕКСТ ПРОГРАМИ (CODE):

#include <stdio.h>

#include <math.h>

int main( int argc, const char* argv[] )

{

float value;

float result;

float x;

float xMax;

float step;

float e = 2.71828182846;

printf("X = ");

scanf_s("%f", &x);

printf("xMax = ");

scanf_s("%f", &xMax);

printf("step = ");

scanf_s("%f", &step);

printf("\n");

for(; x <= xMax; x += step)

{

if(x < 0.6) {

value = x - sin(x);

result = pow(e, value);

}else if(x <=0.6 || x < 0.7) {

value = fabs(log(x));

result = tan(value);

}else {

value = pow(x,7);

result = atan(value);

}

printf("Result = %.2f \n", result);

}

getch();

return 0;

}

Результат роботи програми:
X = 0.5

xMax = 0.8

step = 0.02

Result = 1.02

Result = 1.02

Result = 1.03

Result = 1.03

Result = 1.03

Result = 1.04

Result = 0.52

Result = 0.48

Result = 0.44

Result = 0.41

Result = 0.37

Result = 0.10

Result = 0.12

Result = 0.15

Result = 0.17

Result = 0.21

б) табулювання  функції, представленої рядом (див. табл.2), на інтервалі  [a,  b] з кроком табуляції h та абсолютною  похибкою d.  Оцінку похибки здійснювати за значенням модуля чергового члена ряду.

6

tg(│ln(x)│)

arctg(

x<0.6

0.6≤x<07

x≥0.7

0.02

[0.5, 0.8]

ТЕКСТ ПРОГРАМИ (CODE):

#include <stdio.h>

#include <math.h>

int main( int argc, const char* argv[] )

{

float value1 = 0;

float value2 = 0;

float result = 0;

float sum = 0;

float x;

int xMax;

float step;

int d;

float k = 1;

printf("X = ");

scanf("%f", &x);

printf("xMax = ");

scanf("%i", &xMax);

printf("step = ");

scanf("%f", &step);

for(; x <= xMax; x+=step)

{

sum = 0;

result = 0;

for(k = 1;; k++)

{

value1 = pow(-1, k) * x / k * (k + 1);

value2 = sin(2 * k + 1);

result = value1 * value2;

if(fabs(result) <= 0.001) break;

sum += result;

}

printf("\n");

printf("X = %0.1f Sum = %.2f \n", x, sum);

}

getch();

return 0;

}

Результат роботи програми:
X = -1

xMax = 1

step = 0.5

X = -1.0 Sum = 0.66

X = -0.5 Sum = 0.33

X = 0.0 Sum = 0.00

X = 0.5 Sum = -0.33

X = 1.0 Sum = -0.66

Висновки: я  вивчив оператори мови Сі та основні функції введення-виведення даних, навчився складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.


 

А также другие работы, которые могут Вас заинтересовать

71131. Способы перемешивания. Барботаж 1.66 MB
  Если опалесценция не наблюдается и размеры пузырьков примерно одинаковы, то рассчитанная величина скорости движения может быть здесь применена. Определение Vв по вышеприведенной формуле из условий равновесия неприемлемо в следующих обстоятельствах...
71132. Ферментеры 995 KB
  В зависимости от условий проведения осуществляемых процессов ферментеры делят на следующие группы: На практике ферментеры одной и той же конструкции могут быть использованы для разных процессов. К этой группе относятся ферментеры с различной конструкцией барботеров а также эрлифтные и барботажноэрлифтные.
71133. Ферментеры для твердофазного культивирования 358 KB
  Накопление пены способствует усилению массообменных процессов в системе газ-жидкость и биосинтеза. Разрушение пены происходит при соприкосновении пузырьков пены с поверхностью вращающегося вертикально диска. В таких устройствах отделение бражки от пены происходит...
71135. Травматический шок 23.01 KB
  Шок - удар, толчок, потрясение, столкновение. Это слово впервые появилось в медицине в 1737 году благодаря переводу книги консультанта армии Людовика 15 Генри Ле Драна. И так, под шоком следует понимать нарушение жизнедеятельности организма, возникающее в результате действия чрезвычайного раздражителя.
71136. ТЕРМИЧЕСКИЕ ПОРАЖЕНИЯ. ОЖОГИ 29.21 KB
  При ведении боевых действий термические факторы использовались в глубокой древности. В настоящее время ожоговая травма наиболее часто встречается в морских сражениях. Термические ожоги в современной войне являются одним их ведущих видов поражения.
71137. Синдром длительного раздавливания 19.98 KB
  Нейрорефлекторный компонент в частности длительное долевое раздражение имеет ведущее значение в патогенезе СДР посредством нарушения деятельности органов дыхания кровообращения; наступает рефлекторный спазм сосудов угнетение мочеотделения сгущение кровипонижение устойчивости организма к кровопотере.