DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

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

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт: Лабораторна робота № 2 «Перевантаження функцій»

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

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

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

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Системне програмне забезпечення
Група:
КІ-12
Коротко про документ

Про що ця робота

У звіті розглядається виконання лабораторної роботи з програмування на тему перевантаження функцій у мові C++. Наведено теоретичні відомості, програмний код та результати виконання завдань.

У роботі розглядаються

  • Перевантаження функцій
  • Мова програмування C++
  • Робота з масивами
  • Федеральний ввід-вивід
  • Сортування масивів
  • Покажчики в C++

Зміст і розділи

  1. Мета роботи
  2. Короткі теоретичні відомості
  3. Завдання
  4. Результати
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають програмування.
Викладачі:Цигилик Л. О.

Ключові поняття

перевантаження функційаргументимасивпокажчикфункціятип данихпрограмасортуваннясинтаксис

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Звіт: «Лабораторна робота № 2 “Перевантаження функцій”» Підготовив: Ст.гр. КІ-12 Білецький М.М. Перевірив: Цигилик Л.О. Львів 2008 Мета роботи: Навчитись створювати програми, що містять перевантажені функції. Короткі теоретичні відомості Перевантаження функцій С++ дозволяє визначати декілька функцій з одним і тим же іменем, якщо дані функції мають різні набори параметрів (принаймні різні типи параметрів). Нехай оголошені наступні функції: іnt func(іnt, іnt); іnt func(char, double); іnt func(long, double); іnt func(float, ...); // Функція з невизначеним числом аргументів. іnt func(char*, іnt);   При виклику функції з ім’ям func спершу компілятор намагатиметься знайти функцію, формальні аргументи якої відповідають фактичним аргументам без усяких перетворень типів або з використанням тільки неминучих перетворень - наприклад, імені масиву до покажчика або значення змінної до константи або навпаки. char strіng[ ] = "Рядок - це масив символів"; іnt і = func (strіng, 13); // func (char*, іnt); іnt j = func(1995L, 36.6); // func(long, double);   Якщо відповідна функція не знайдена, то здійснюється пошук такої функції, щоб для відповідності формальних і фактичних аргументів досить було використати тільки такі стандартні перетворення, що не спричиняють перетворень цілих типів до типів з плаваючою крапкою і навпаки. При цьому підбирається функція, для якої число таких перетворень було б мінімальним. float a=36.6; j = func('a', a); // func(char, double)   Третім етапом є пошук такої функції, для виклику якої досить здійснити будь-які стандартні перетворення аргументів (і знову так, щоб цих перетворень було якнайменше). іnt l = func("РІК:", 2002.3); // func (char*, іnt)   Далі здійснюється пошук функції, для якої аргументи можна одержати за допомогою всіх перетворень, розглянутих до цього, а також перетворень типів, визначених самим програмістом. Якщо й у цьому випадку єдина потрібна функція не знайдена, то на останньому етапі компілятор пробує знайти відповідність з урахуванням списку невизначених аргументів. Так, при виклику func (1, 2, 3) підходить лише одна функція func(float, ...). Якщо компілятор не знайде ні однієї підходящої функції, тоді буде виведене повідомлення про помилку. Завдання: на базі перевантаження функції написати програму, фка буде: тип float знаходить число з иасиву менше за задане, тип float сортує масив, тип float знаходить знаходить два задані числа. # include <stdio.h> # include <conio.h> #define N 10 float funk (float ar[], float d); float funk (float ar[]); float funk(float ar[], float *n, float *m); main(){ FILE *pf; float d,m,n; float ar[N]; int i; pf=fopen ("fl.txt", "rt"); if(pf!=0){ for (i=0; i<N; i++){ fscanf(pf, "%f", &ar[i]); } fclose(pf); } for (i=0; i<N; i++) printf("%4.0f\n", ar[i] ); printf("%f\n", funk(ar,d)); funk(ar); for(i=0; i<10; i++) printf("%f\n", ar[i] ); n=4.0;m=3.0; funk(ar,&n,&m); printf("%f %f\n",n,m); getch (); return 0; } float funk(float ar[], float d) { float j; d=3.0; for(int i=0; i<10; i++){ if (ar[i]<d) j=ar[i]; } return j; } float funk(float ar[], float *n, float *m) { float j,e,nn=*n,mm=*m; for(int i=0; i<10; i++){ if (ar[i]==nn) j=ar[i]; if (ar[i]==mm) e=ar[i]; } *n=j;*m=e; return 0; } float funk(float ar[]) { float *p; float temp; int j, i; for( i=0; i<10; i++) for(j=1; j<9; j++) if(ar[j-1]>ar[j]) { temp=ar[j-1]; ar[j-1]=ar[j]; ar[j]=temp; } p=ar; return *p; } Результати:  ВИСНОВОК: Я навчився створювати програми, що містять перевантажені функції.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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