русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Pause; // пауза до натискання клавіші


Дата додавання: 2014-11-28; переглядів: 815.


}

 

Розглянемо програму більш докладно.

Перший рядок є коментарем. Другий рядок повідомляє компілятор про підключення універсального бібліотечного модуля <syst.h>. У третьому рядку записаний заголовок головної (і єдиної у цьому прикладі) функції програми, що має ім'я main. У наступних рядках записане тіло функції main, яке, так як і тіло будь-якої іншої функції, заключається у фігурні дужки. Тіло функції починається з оголошення змінних дійсного типу a, b, c, S. У мові С++ будь-яка змінна повинна бути оголошена перш ніж вона буде використана. Наступний рядок

printf("a,b = "); scanf("%lf %lf",&a,&b);

містить два оператори. Перший оператор є викликом стандартної бібліотечної функції виведення printf, вона виводить рядок підказки "a,b = ". Другий оператор – виклик стандартної функції scanf для введення із клавіатури вихідних даних - довжин катетів трикутника. Першим аргументом цієї функції є рядок "%lf %lf", він вказує, що будуть вводитися два дійсних числа подвійної точності (тип double). Наступні аргументи – адреси змінних, котрим повинні привласнитися значення, що вводяться. Для одержання адреси змінних a і b використовується унарна операція із символом & (амперсанд).

Наступний рядок програми містить обчислення довжини катету c та операцію присвоєння:

c=sqrt(a*a+b*b);

Правий операнд операції присвоєння містить виклик бібліотечної функції sqrt, що обчислює квадратний корінь.

У рядку

S=a*b/2;

обчислюється площа трикутника S.

Рядок

printf("c = %lf S = %lf \n",c,S);

служить для виведення результатів обчислень на екран комп'ютера. Тут викликається функція printf, перший аргумент якої називається керуючим рядком (або рядком форматів), а наступні аргументи - це змінні, значення яких повинні виводитися на екран. Основне призначення керуючого рядка - управління форматом інформації, що виводиться. Для управління форматами використовуються спеціальні сполучення символів - специфікації формату. Кожна специфікація починається з символу %. Специфікація формату %lf вказує, що буде виводитися дійсне число в десятковому записі. Символи керуючого рядка, які не є специфікацією формату, просто виводяться у поточний рядок на екран. Комбінація символів \n позначає керуючий байт (керуючий символ), виведення якого викликає переміщення текстового курсору у початок нового рядка. Символ \n називають символом завершення рядка.

Далі в програмі записано оператор

pause;

який насправді є макросом, опис якого міститься в заголовковому файлі <syst.h>. Цей оператор призупиняє виконання програми до натискання якої-небудь клавіші. Така пауза часто застосовується для того, щоб втримати робоче вікно редактора програми на екрані при запуску її з оболонки типу Borland C++ або Microsoft Visual C++. Оператор pause; іноді можна замінити викликом стандартної бібліотечної функції getch() або деякими іншими функціями.

 

Приклад 2

У наступному прикладі програми розв’язується квадратне рівняння виду ax2 + bx + c = 0. У програмі передбачений автоматичний вибір форми виводу результату в залежності від властивостей квадратного рівняння: якщо корені є комплексними, вони виводяться в такій формі: x1 = u+vi , x2 = u-vi , де u,v - дійсна й уявна частини комплексних коренів.

Алгоритм розрахунку.

Спочатку обчислюється дискримінант рівняння:

.

Далі, якщо D>0, тоді існують дійсні корені і вони обчислюються за формулами:

Якщо ж D<0, тоді обчислюються комплексні корені:

 

// Розв’язування квадратного рівняння

#include <syst.h>


<== попередня лекція | наступна лекція ==>
Який може розташовуватися | Typedef union unsigned void volatile while continue for private struct virtual


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн