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

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


 

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

75417. Безконтактний магніточутливий давач 262 KB
  Давач що виявляє зміну напруженості постійного магнітного поля має напівпровідниковий комутуючий елемент і що не містить рухомих частин в чутливому елементі рис. Спрацювання давача відбувається при зміні напруженості магнітного поля викликаного наприклад переміщенням постійного магніту розташованого на рухомої частини механізму. Крім того магніточутливих давачи можуть відрізнятися по реакції на зміну магнітного поля: При збільшенні напруженості зовнішнього магнітного поля наприклад при наближенні постійного магніту...
75418. Блоки живлення, лічильники імпульсів, реле часу, сигналізатори рівня, розєми і зєднувачі, вибухобезпечне устаткування 753.5 KB
  Блок живлення — це вторинне джерело живлення, призначене для забезпечення живлення електроприладу електричною енергією, при відповідності вимогам її параметрів: напруги, струму, і т. д. шляхом перетворення енергії інших джерел живлення.
75419. Сенсори. Аналогові сенсори. Сенсори положення, кута, віддалі та товщини 575 KB
  Сенсори положення кута віддалі та товщини. Аналогові сенсори За допомогою аналогових сенсорів перетворюють механічні величини наприклад зміну положення або електричні величини наприклад зміну потужності на електричні сигнали напруги або струму. Сигнали з вимірювального перетворювача можуть бути представлені у фізичних величинах наприклад у випадку перетворювача положення в мм. Сенсори положення кута віддалі та товщини Потенціометричні контактні сенсори При пересуванні ковзного контакту в поступальному потенціометрі або повороту...
75420. Індуктивні безконтактні кінцеві сигналізатори 568 KB
  Котушка з відкритим, чашковим феромагнітним осердям створює високочастотне електромагнітне поле. Котушка є індуктивною частиною коливного контуру, який збуджується за допомогою частотного генератора з частотою близько
75421. Сенсори розтягу, сили, обертового моменту i тиску 585 KB
  Види виконання вимірювальних сіток фольгових тензометрів Для одночасного вимірювання в кількох напрямках служать спеціальні тензометри в яких вимірювальні сітки розміщені одна відносно іншої під кутом 120 або під кутом 45 до напрямку видовження рис.
75422. Сенсори прискорення. Сенсори температури 164 KB
  Сенсори температури. Сенсори температури Найважливішим різновидом давачів є давачі температури оскільки багато процесів у тому числі і в повсякденному житті регулюються температурою наприклад: регулювання опалення на підставі вимірювання температури теплоносія на вході і виході а також температури в приміщенні і зовнішньої температури; регулювання температури води в пральній машині; регулювання температури електропраски електроплитки духовки...
75423. Бінарні сенсори. Цифрові сенсори 480 KB
  Бінарні сенсори влаштовані як реле (перемикачі) або як аналогові сенсори з перемикачем порогового значення. Коли вхідна величина сенсора досягає порогу перемикання, бінарний вихідний сигнал змінює значення. Під час зміни вхідної величини у зворотному напрямі, по досягненню порогового значення...
75424. Інкрементальні сенсори положення. Кодові лінійки і диски абсолютних сенсорів 631 KB
  Інкременгальні сенсори переміщення оснащені лінійкою з рисковими поділками. Читання положення рисок здійснюється оптичними або магнітними методами. В сенсорах через які проходить світло використовуються скляні лінійки з рисками які поглинають світло і проміжками які пропускають світло шириною 4 мкм рис. Пристрої які зчитують це складаються з потужного джерела світла зчитувальної пластинки і електронної системи аналізу.
75425. Основи і методи регулювання. Основні поняття. Види регулювання 205.5 KB
  Види регулювання. Регулювання. Регулювання є дією яка полягає в такому впливі на поточно вимірювану регульовану величину щоб вона була подібною до заданої величини.