Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Структура програми на мові програмування Turbo C

Програма мовою ТС являє собою текстовий файл чи групу об’єднаних текстових файлів, що мають розширення *.с, названих вихідним чи вихідними, структурованих таким способом:

1. Підключення заголовних файлів, що містять прототипи стандартних функцій, які використовуються в даному файлі (директива include).

2. Оголошення public (загальних чи глобальних) змінних. Рublic-змінні – змінні загальні і доступні всім функціям у даному файлі і вкладених файлах; оголошуються за правилами оголошення змінних.

3. Опис заголовків допоміжних функцій, що знаходяться в даному файлі.

4. Головна функція (main).

5. Заголовки і тіла допоміжних функцій, описаних на стадії 3.*

Функція в мові Turbo C – це елементарна частина програми, відособлене об'єднання команд, що мають визначену структуру і конкретні ознаки. Функція має окремий власний заголовок і виконує яку-небудь задану нею дію. Функція грає ту ж роль, що і підпрограми або процедури в інших мовах програмування. Функція може приймати зовнішні змінні, що іменуються параметрами (аргументами), у будь-якій кількості і завжди повертає не більш одного значення.

Заголовок функції створюється за наступними правилами: починається типом змінної, котра повертається функцією, потім йде назва (ім'я) функції й у круглих дужках () опис типу та імені всіх переданих у функцію змінних через кому. Наприклад:

int abs (int x);

Функція abs використовується для розрахунку модуля (абсолютного значення) числа. У даному прикладі у функцію передається цілочислова змінна х, при цьому функція повертає цілочисловий модуль цієї змінної.

Тіло функції, як і програма, являє собою послідовність операторів, яку заключають у фігурні дужки. До речі, головна програма – це тіло функції main. В тілі будь-якої функції використовується оператор return, який повертає значення функції. По цьому оператору завершується робота функції.

Як приклад, розглянемо програму для розрахунку знака числа.

 

# include <stdio.h> /* підключення заголовного файлу, що містить прототипи стандартних функцій вводу–виводу scanf та printf */
int sign (float x) /* оголошення заголовку допоміжної функції sign (знак числа): в функцію передається не цілочислова змінна х, функція повертає цілочислове значення */
{ if (x>0) return 1; if (x<0) return –1; return 0; } /* тіло функції sign (знак числа): в залежності від аргументу х, оператор return повертає 1, –1 або 0 */
void main (void) /* головна функція main */
{ float x; int s; /* оголошення не цілочислової змінної х, та цілочислової s */
printf (“\nвведи x=”); /* вивід на екран повідомлення введи x=*/
scanf (“%f”, &x); /* ввід з клавіатури значення х */
s=sign(x); /* використання функції sign (знак числа): змінній s присвоюється знак введеної змінної х */
printf (“\nзнак змінної x=%d”, s); } /* вивід на екран повідомлення і значення змінної s */

 

Приклад програми, що реалізує метод ділення відрізка наполовину

 

/* метод ділення відрізка наполовину */

#include <stdio.h>

#include <conio.h>

#include <math.h>

float f(float x)

{ return (5*pow(x,4)+3*pow(x,2)–11*x–5); }

void main(void)

{

float a, b, x, fa, fb, fx, e=0.001;

clrscr ();

printf ("\n уведіть границі інтервалу [a,b], на якому шукається корінь рівняння ");

printf ("\n a="); scanf ("%f", &a); printf (" b="); scanf ("%f", &b);

fa=f(a); fb=f(b);

if (fa*fb<0)

{ do

{ x=(a+b)/2; fx=f(x);

if (fa*fx<0){b=x;}

else { if (fx==0) {goto m1;}

else {a=x;}

}

} while (fabs(a-b)>2*e);

m1: printf ("\n значення кореня на інтервалі [a,b] x=%f", x);

printf ("\n значення функції при x=%f \n f(x)=%f", x, fx);

}

else {printf ("\n на інтервалі [a,b] немає коренів");}

getch();

Порядок виконання лабораторних робіт №№ 1–4

При підготовці до зайняття:

1. Вивчити теоретичні відомості по роботі.

2. За індивідуальним завданням (номер завдання відповідає номеру ім’я по батькові студента за журналом) провести відділення коренів графічним або аналітичним методом. Для подальшого уточнення вибрати дійсні позитивні корені.

3. Скласти програму для виконання індивідуального завдання. При реалізації методів уточнення коренів з заданою точністю для розрахунку f(x) використати допоміжні функції.

 

Під час зайняття:

1. Створити файл, набрати і налагодити програму.

2. Отримати результати розрахунку і остаточний лістінг програми.

3. Оформити протокол лабораторної роботи.

 

 

Індивідуальні завдання

Для визначення оптимальної концентрації висхідного компонента в реакторі, яка забезпечує максимальну швидкість протікання хімічного процесу, необхідно вирішити наступні рівняння. Точність рішення e = 0,001. Варіанти індивідуальних завдань приведені в табл. 1.1.

Таблиця 1.1

Варіанти індивідуальних завдань

Група 1 Група 2
x 4 – 2 × x 2 + 5 × x – 3,2 = 0 x 3 – 10 × x – 760 = 0
4,4×x 3 – 9,2× x 2 – 7,3×x + 10,97 = 0 – x – 0,6 = 0
2×x 3 – 7×x 2 + 12×x ­– 12,85 = 0 + x + – 42 = 0
0,4 × x 3 + 2,5 × x 2 – 14 × x + 2 = 0 + x 2 – 16,5 = 0
0,8 × x 3 – 1,5 × x 2 – 5,8 × x – 5 = 0 + 2 × x 2 – 74 = 0
4 × x 3 – 9 × x 2 – 16 × x + 19 = 0 x 4 + – 7,2 = 0
0,1 × x 3 + x 2 – 4 × x – 20 = 0 x 2 + – x – 6,1 = 0
5 × x 4 + 3 × x 2 – 11 × x – 5 = 0 + 2 × x 2 – 10,6 = 0
0,2 × x 4 – 1,5 × x 3 – 4 × x + 25 = 0 x 3 – 16 × x 2 + 25 × x + 44 = 0
2 × x 4 + 10 × x – 7,5 = 0 x 3 – 2,1 × x 2 + 1,28 × x – 0,24 = 0
0,5 × x 4 – 8 × x 2 + 2 × x + 2 = 0 x 3 – 0,39 × x 2 – 10,5 × x + 11 = 0
x 4 + 3 × x 3 – 8 × x – 46 = 0 4,2 × x 3 – 9,1 × x 2 – 7,2 × x + 12 = 0
x 4 – 10 × x + 8,5 = 0 0,5 × x 3 – 3,44 × x 2 + 6,8 × x – 3,5 = 0
0,2×x 4 – 0,7 × x 3 – 6,5 × x + 8,2 = 0 2 × x 4 – 5 × x 2 + 10 × x – 34,81 = 0
4×x4 – 9 × x 3 + 2 × x 2 – 8 × x + 2 = 0 2 × x 3 – 8 × x 2 + 14 × x – 72 = 0
2 × x 3 + 3 × x 2 – 190 = 0 x 3 – 1,473 × x 2 – 5,738 × x + 6,763 = 0
3 × x 4 – 5 × x 3 + 2 × x – 1 = 0 x 4 – 2 × x 2 + 9 × x – 16,8 = 0
x 4 – 5 × x 2 + 14 × x – 1200 = 0 1,6 × x 4 – 2,7 × x 2 + 8,3 × x – 16 = 0
4 × x 3 + 2 × x 2 – 5 × x – 100 = 0 3 × x 4 – 7 × x 2 + 13 × x – 65,3 = 0
3 × x 3 – x 2 – 13 × x – 660 = 0 0,8 × x 4 + 0,3 × x 2 – 2,8 × x + 0,9 = 0

 

 

Контрольні запитання

1. Етапи рішення нелінійних рівнянь. Відділення коренів.

2. Уточнення коренів методом ділення відрізка наполовину.

3. Блок-схема методу ділення відрізка наполовину.

4. Уточнення коренів методом Ньютона (дотичних). Блок-схема методу.

5. Уточнення коренів методом хорд (січних).

6. Блок-схема методу хорд (січних).

7. Уточнення коренів методом ітерацій (методом послідовних приближень).

8. Скласти блок-схему методу послідовних приближень.

9. Структура програми на мові програмування Turbo C. Основні поняття.

10. Правила оформлення допоміжної функції в структурі програми.

 

Последнее изменение этой страницы: 2016-07-23

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...