Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C_08_Vvod-Vyvod_01_CIN_COUT_Function_ukr.doc
Скачиваний:
1
Добавлен:
14.07.2019
Размер:
117.76 Кб
Скачать

Void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

float C,F;

cout<<"Перевід температури в градусах за Фаренгейтом в градуси Цельсія\n\n";

cout<<"Введіть початкові дані:\n";

cout<<"\tТемпература за Фаренгейтом (град) -> ";

cin>>F;

C=5/9*(F-32);

cout<<"\nТемпература за Фаренгейтом: "<<F<<"; ";

cout<<"в градусах Цельсія: "<<C<<endl<<endl;

}

Рядок #include <iostream.h> - це директива препроцесора, по якій до початкового|вихідного| тексту програми підключається заголовний файл <iostream.h>. У цьому файлі описаний набір класів для управління введенням/виводом|висновком|, стандартні об'єкти cin для введення з клавіатури і|та| cout для виводу|висновку| на екран, а також операції поміщення в потік << і|та| витягання|видобування| з|із| потоку >>.

Рядок #include <windows.h> - підключається заголовний файл <windows.h>, у якому знаходиться інформація, необхідна для того, що б у вікні виводу|висновку| могли відображатися російські символи.

Програма на C++ складається з|із| функцій. Функція - це іменована послідовність операторів, яка складається із|із| заголовка і|та| тіла.

Рядок, void main() є заголовком головної|чільної| (в даному випадку і|та| єдиної) функції програми. Ім'я її main, що вказує|показуючий|, що саме з неї необхідно починати|зачинати| виконання програми. За ім'ям функції в дужках слідує|прямує| список формальних параметрів. В даному випадку він порожній|пустий|, але|та| дужки потрібні|необхідні| для того, щоб компілятор міг розпізнати, що це саме функція, а не інша конструкція мови|язика|.

Далі йде тіло функції - |цебто| ті оператори, які потрібно виконати.

Для зберігання початкових|вихідних| даних і|та| результатів потрібно виділити місце в оперативній пам'яті. У нашій програмі потрібно зберігати два значення: F і|та| C, тому в операторові визначаються дві змінні.

При описі будь-якої змінної треба вказати її тип|типа|, щоб компілятор знав, скільки виділити місця в пам'яті, як розшифровувати її внутрішнє представлення|виставу|, а також які дії можна буде виконати з|із| цією величиною. Наприклад, для дійсних чисел в пам'яті зберігається мантиса і|та| порядок|лад|, а цілі представляються просто в двійковій формі, тому внутрішнє представлення одного і|та| того ж цілого і|та| дійсного числа буде різним. Для дій з|із| цілими і|та| дійсними величинами формуються різні набори машинних команд.

Оскільки температура може набувати не лише|не те що| цілих значень, для змінних вибраний дійсний тип float. Можна також вибрати тип|типа| double, який дозволяє представляти|уявляти| дійсні числа більшого діапазону значень і з|із| більшою точністю.

У загальному|спільному| випадку тип змінних вибирається виходячи з можливого діапазону значень і|та| необхідної точності представлення даних. Цілочисельні операції виконуються набагато швидше.

Далі йде оператор виведення назви програми :

cout<<"Перевід температури в градусах за Фаренгейтом в градуси Цельсія\n\n";

Стандартний об'єкт, за допомогою якого виконується вивід|висновок| на екран – це cout. Йому за допомогою операції << передається те, що ми хочемо вивести. За допомогою управляючого символу \n на екран будуть виведено два пустих рядки.

Для того, щоб користувач програми знав, в який момент потрібно ввести|запроваджувати| з|із| клавіатури дані, застосовується запрошення до введення:

cout<<"Введіть початкові дані:\n\tТемпература за Фаренгейтом (град) -> ";

На екран виводиться вказаний в операторові рядок символів. Символ \n переводить|перекладає| курсор на наступний|такий| рядок, а \t - робить|чинить| відступ (табуляція).

Цей рядок можна було б записати н.ч.:

cout<<"Введіть початкові дані :"<<endl<<"\tТемпература за Фаренгейтом (град) -> ";

Для виведення декількох елементів використовується ланцюжок операцій виводу <<. Для перехода на наступний рядок замість символу \n використовується слово endl. Це - маніпулятор; він управляє (маніпулює) стандартним об'єктом cout.

У рядку

cin>>F;

виконується введення з клавіатури одного числа в змінну F за допомогою об'єкту cin і|та| операції витягання|видобування| >>. Якщо потрібно ввести декілька величин, використовується ланцюжок операцій >>. В процесі введення число перетвориться з|із| послідовності символів, набраних на клавіатурі, у внутрішнє представлення дійсного числа і поміщається в елемент пам'яті, зарезервовану для змінної F.

У операторові

C=5./9*(F - 32);

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

Основні правила відповідають прийнятим в математиці: віднімання має нижчий пріоритет, ніж множення, тому для того, щоб воно було виконане раніше, відповідна частина|частка| виразу заключається в дужки. Ділення|поділка| і|та| множення мають однаковий пріоритет і|та| виконуються зліва направо, тобто|цебто| спочатку ціла константа 5 буде поділена на цілу константу 9, а потім результат цієї операції помножений на результат віднімання числа 32 з|із|і змінної F.

Відладка програми

Під час відладки необхідно|треба| запустити програму на виконання кілька разів, задаючи різні значення температури. Можна задавати і цілі числа - вони будуть автоматично перетворені в дійсну форму.

Можна побачити, що результат виконання програми завжди виявляється|опиняється| рівним нулю! Це відбувається|походить| із-за|через| способу обчислення|підрахунку| виразу. Константи 5 і|та| 9 мають цілий тип|типа|, тому результат їх ділення|поділки| також цілочисельний. Округлення не відбувається|походить|, дробова частина|частка| завжди відкидається. Для виправлення помилки необхідно|треба| записати хоч би|хоча би| одну з констант у вигляді дійсного числа, наприклад:

С = 5. / 9 * (F - 32);

Дійсна константа "5". за умовчанням має тип|типа| double, і|та| при виконанні ділення|поділки| відбувається|походить| автоматичне перетворення до цього ж типу|типа| іншої константи, а потім і|та| результату віднімання.

Можна записати цей вираз змінивши|зраджувати| порядок|лад| дій :

C = 5 * (F - 32) /9;

В цьому випадку буде виконано перетворення констант до типу|типа| float, як до найменш довгому з|із| тих, що беруть участь у виразі.

Перед запуском програми необхідно|треба| мати тестові приклади|зразки|, що містять|утримують| початкові|вихідні| дані і|та| очікувані|сподівані| результати. Кількість цих прикладів|зразків| залежить від алгоритму.

Приклад 3|зразок|: Написати функцію користувача, яка переводить|перекладає| температуру в градусах за Фаренгейтом в градуси Цельсія .

Розробка будь- якої функції ведеться в тому ж порядку|ладу|, що і розробка програми в цілому. Спочатку визначається інтерфейс функції, тобто які значення подаються їй на вхід і що повинне вийти в результаті. Потім розробляється структура даних (тип даних), в яких зберігатимуться ці і проміжні значення; потім складається алгоритм, програма і тестові приклади.

Алгоритм роботи програми залишається тим же. Обчислення|підрахунок| температури за Цельсієм для одного значення аргументу оформимо у вигляді окремої функції.

Нашій функції вимагається набути ззовні значення температури по Форингейту. Ця величина, а також результат мають тип|типа| float. Тому, заголовок функції може виглядати так:

float Cels_Fahr(double F)

Результат обчислення|підрахунку| виразу збережемо в змінній C, яка має бути описана усередині|всередині| функції, оскільки поза|зовні| нею вона не потрібна (рекомендується описувати змінні так, щоб їх зона видимості була мінімальною з|із| можливих).

Текст програми :

#include <iostream.h>

#include <windows.h>

double Cels_Fahr(float F)

{

float C;

C= 5./9*(F-32);

return C;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]