DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Основи роботи з функціями в C++

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Основи програмування
Група:
ПІ

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра Програмного забезпечення Інститут КНІ Лабораторна робота №8 З предмету: “Основи програмування” На тему “Основи роботи з функціями в C++” Львів-2012 Мета роботи: здобути практичні навики створення та застосування функцій у мові С++ . Відповіді на теоретичні запитання Яке призначення функцій у програмуванні? Призначення функцій в програмуванні – це реалізація алгоритму, який можна буде використовувати для різних наборів даних. А також для багаторазового використання даного алгоритму (повторне використання програмного коду). Який загальний вигляд опису функції у мові С++? Синтаксис мови С++ передбачає такий формат опису функції: [тип_результату] ім’я_функції(список_параметрів) { тіло функції } Що таке формальні параметри функції? Для чого вони призначені? Формальні параметри – параметри, які використовуються для позначення вхідних даних функції. З точки зору синтаксису мови С++ кожний формальний параметр описується аналогічно до звичайної змінної, тобто опис формального параметру включає задання типу даних та ідентифікатора. Як здійснюється вихід з функції? Існують два способи завершення виконання функції і повернення у точку програми, з якої здійснено виклик. Перший - завершення виконання функції з використанням оператора повернення return, другий - полягає у послідовному проходженні всіх операторів тіла функції до закриваючої фігурної дужки. Цей спосіб можливий лише для функцій з типом результату void. Як здійснюється виклик функції? Виклик функції здійснюється в потрібному місці програми за її іменем (аналогічно як і для стандартних бібліотечних функцій) у такому загальному форматі: ім’я_функції([список_аргументів]) Що таке аргументи функції? Яка різниця між фактичними та формальними параметрами функції? Список аргументів задає значення фактичних параметрів, які підставлються у відповідні формальні параметри. На відміну від списку формальних параметрів у списку аргументів не потрібно вказувати тип аргумента, достатньо записати лише ідентифікатор. Фактичні параметри відрізняються від формальних тим, що фактичні - це параметри, які підставлються в функцію у ролі аргументів, тоді як формальні – параметри, які використовуються для позначення вхідних даних функції. Під час виклику функції у формальні параметри підставляються значення аргументів у тому порядку, в якому вони задані при виклику функції. Що таке прототип функції? Для чого він призначений? Прототипом функції - це “попереднє” оголошення функції. Для визначення прототипу функції потрібно задати тип результату функції, її ім’я та список типів формальних параметрів у такому форматі: [тип_результату] ім’я_функції(список_типів_параметрів); Прототипом функції призначений для ідентифікації типу значення, яке поверне функція, так, щоб компілятор міг згенерувати коректний код для типу даних, що повертаються. Також прототип фунції у визначає тип та кількість аргументів, які використовуються функцією. Більше того, реалізація другого завдання прототипу функції передбачає можливість автоматичного перетворення типів фактичних аргументів до типу, що зазначений у прототипі функції. У чому полягають правила приведення типів у мові С++? Правила приведення типів у мові С++ полягає в в наступному: якщо типи формального параметру і аргумента функції не співпадають (але вони відносяться до одного з вбудованих типів мови С++), то відбувається автоматичне приведення значення “нижчого” типу до значення “вищого” типу згідно ієрархії основних типів. Перелік основних типів С++ (в порядку від “вищого” типу до “нижчого”) : long double, double, float, unsigned long int, long int, unsigned int, int, unsigned short int, short int, unsigned char, char. Які способи передачі аргументів у функцію Ви знаєте? Мова С++ має два способи передачі аргументів: передача аргументів за значенням і передача аргументів за посиланням (адресою). При: передачі аргументів за значенням значення аргументу копіюється у відповідний формальний параметр функції. При передачі аргументів за посиланням передається не копія значення аргумента, а його адреса. Чому не можна задавати вираз у ролі аргумента коли передача аргумента у функцію відбувається за посиланням? Коли передача аргумента у функцію відбувається за посиланням не можна задавати вираз у ролі аргумента, тому що в функцію повинна передаватися адреса змінної (яка знаходиться в оперативній пам’яті компютера), а вираз – це не змінна, він не міститься в ОЗП і, відповідно, не має адреси. Що таке локальні змінні? А глобальні? Наведіть приклад. Усі змінні, оголошені всередині довільної функції є локальними змінними цієї функції. Це означає, що їх значення зберігаються тільки на час виконання цієї функції. Інколи кажуть, що локальні змінні мають область видимості обмежену тілом функції, в якій вони оголошені. Усі формальні параметри функції розглядаються також як локальні змінні цієї функції. Усі змінні, оголошені поза межами всіх функцій з яких складається програма, називаються глобальними. Наприклад: int x; void somefunction(int i) { int j; } Змінна x – глобальна змінна (оголошена поза межами всіх функцій програми), змінні i та j локальні змінні функції somefunction. У чому полягає суть механізму перекриття імен мови С++? Суть механізму перекриття імен мови С++ полягає в тому, що дозволяється використовувати однакові ідентифікатори для позначення змінних в різних блоках. Умова програми Задано функцію. Написати програму для знаходження визначеного інтегралу з точністю Е=10-3 для заданих границь [a,b] за допомогою трьох методів: 1) прямокутників; 2) трапецій; 3) Сімпсона. 25)x*sin(x)/(cos(x)*cos(x)+1.0) Блок-схема Функція main() Функція y(double x) Функція integr_rec() НІ ТАК Функція integr_trap () Функція integr_simp() Текст програми #include <iostream> #include <conio.h> #include <math.h> #include <time.h> #include <locale.h> using namespace std; #define Pi 3.1415 const double a=0,b=Pi; double f1=0,f2=0,dx=0.00001,x,x1,x2,q=(b-a)/dx; double integr_rec(); double integr_trap(); double integr_simp(); double y(double x); int main() { setlocale(LC_ALL,"ukrainian"); cout<<"Метод Прямокутникiв: "<<integr_rec()<<endl; cout<<"Метод Трапецiй: "<<integr_trap()<<endl; cout<<"Метод Сiмпсона: "<<integr_simp()<<endl; _getch(); return 0; } double y(double x) { return x*sin(x)/(cos(x)*cos(x)+1.0); } double integr_rec() { double s=0; for(x=a;x<=b;x+=dx) { f1=y(x); s+=f1; } return s*dx; } double integr_trap() { double s=0; for(x=a,x1=a+dx;x1<=b;x+=dx,x1+=dx) { f1=y(x); f2=y(x1); s+=(f1+f2)/2.0; } return s*dx; } double integr_simp() { double s=y(a)+y(b); double x=a; for(int i=1;i<=q-1;i++) { x+=dx; if(i%2==0) s+=2*y(x); else s+=4*y(x); } return s*(dx/3.0); } Виконання програми  Висновок. На даній лабораторній роботі я здобув практичні навики створення та застосування функцій у мові С++ . Дізнався про три методи інтегрування функції, які використовуються в програмуванні.
Антиботан аватар за замовчуванням

16.01.2013 12:08

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!