Презентация Взаємодія фактичних і формальних параметрів функції онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Взаємодія фактичних і формальних параметрів функції абсолютно бесплатно. Урок-презентация на эту тему содержит всего 15 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Образование » Взаємодія фактичних і формальних параметрів функції



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    15 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    136.00 kB
  • Просмотров:
    45
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

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

№2 слайд
Розглянемо функц ю, яка
Содержание слайда: Розглянемо функцію, яка визначає найбільше з трьох заданих дійсних значень: double Max ( double x, double y , double z) { x = ( x > y ) ? x : y ; return ( x > z ) ? x : z ; } У разі наступного оголошення змінних і звертання до функції double u, max ; max = Max ( u, 50, u*u/25 ); формальний параметр x функції отримає значення змінної u, параметр y – значення константи 50.0, а параметр z – значення виразу u*u/25 . Всі три значення будуть перетворені до типу double.

№3 слайд
Такий вза мозв язок параметр
Содержание слайда: Такий взаємозв’язок параметрів називають звертанням за значенням (call by value ). У тілі функції параметр x змінюється, проте ці зміни не впливають на значення u . Приклад функції, яка мала би міняти місцями значення двох аргументів: void Swap1 ( int a, int b ) { int d = a ; a = b ; b = d ; }

№4 слайд
Якщо цю функц ю викликати
Содержание слайда: Якщо цю функцію викликати наступним чином: int al = 25 , bet = 18 ; Swap1 ( al, bet ) ; то значення al і bet не зміняться, хоча в тілі функції формальні параметри обмінюються значеннями ( це не впливає на значення фактичних параметрів ). Щоб функція могла змінити значення змінної, треба передати у функцію адресу цієї змінної. Тоді з функції можна буде звертатись до змінної за адресою та оперувати безпосередньо з її значенням, а не з копією, занесеною в стек. Відповідний формальний параметр повинен бути вказівником, базовий тип якого збігається з типом змінної.

№5 слайд
Таку орган зац ю вза мозв
Содержание слайда: Таку організацію взаємозв’язку параметрів називають звертанням через посилання ( call by reference ). Приклад – стандартна функція введення scanf ( ). Запишемо правильний варіант функції обміну: void Swap2 ( int *pa, int *pb ) { int d = *pa ; *pa = *pb ; *pb = d ; } Звертання Swap2 ( &al, &bet ) ;

№6 слайд
Передача параметр в Ус
Содержание слайда: Передача параметрів Усі параметри, за винятком параметрів типу покажчик та масивів, передаються за значенням. Це означає, що при виклику функції їй передаються тільки значення змінних. Сама функція не в змозі змінити цих значень у викликаючій функції. Наступний приклад це демонструє: # include <stdio.h> void test ( int a) {      a=15;      printf (" in test : a==%d\n", a); }

№7 слайд
void main int a printf quot
Содержание слайда: void main () {     int a =10;     printf ("before test : a==%d\n", a);     test (a);     printf ("after test : a==%d\n", a); } При передачі параметрів за значенням у функції утворюється локальна копія, що приводить до збільшення об'єму необхідної пам'яті. При виклику функції стек відводить пам'ять для локальних копій параметрів, а при виході з функції ця пам'ять звільняється. Цей спосіб використання пам'яті не тільки потребує додаткового її об'єму, але й віднімає додатковий час для зчитування.

№8 слайд
Масиви та символьн рядки як
Содержание слайда: Масиви та символьні рядки як параметри функцій. Якщо у функцію передається ім’я масиву, то на відміну від змінних інших типів не створюється копія масиву, а передається адреса його першого елемента. Тому функція здійснює роботу з тим масивом, який задано через фактичний параметр. Використовуються дві рівнозначні форми оголошення формального параметру – вказівника на початок масиву тип_елементів ім’я_масиву [ ] (наприклад int vect [ ] ) тип_елементів * ім’я_вказівника (наприклад int * pv)

№9 слайд
Про люстру мо обидв форми
Содержание слайда: Проілюструємо обидві форми прикладами функцій Average1( ) та Average2( ), кожна з яких обчислює середнє значення n послідовних елементів масиву дійсних чисел. double Average1 ( double mas [ ], int n ) { int i ; double sum = 0 ; for ( i = 0 ; i<n ; i++ ) sum += mas [ i ] ; return sum / n ; }

№10 слайд
double Average double pa, int
Содержание слайда: double Average2 ( double *pa, int n ) { int i ; double *pn, sum = 0 ; for ( pn = pa + n ; pa<pn ; pa++ ) sum += *pa ; return sum / n ; }

№11 слайд
Звертання до описаних вище
Содержание слайда: Звертання до описаних вище функцій буде однаковим double arr [ 150 ], ar1, ar2 ; ………………………. ar1 = Average1 ( arr, 150 ) ; /* ar1= Average2 ( arr,150 )*/ ar2 = Average2 ( &arr[ 10 ], 40 ) ; Змінна ar1 отримає середнє значення всіх 150 елементів масиву, змінна ar2 – середнє значення елементів масиву, які мають індекси від 10 до 49. Все сказане про параметри–масиви цілком стосується і тих параметрів функцій, які є символьними рядками. Їх можна оголошувати як масиви або як вказівники – остання форма на практиці використовується частіше.

№12 слайд
Створення у функц нового
Содержание слайда: Створення у функції нового масиву. Значення, яке повертає функція, не може бути масивом чи символьним рядком. Щоб сформувати у функції новий масив чи символьний рядок, треба виділити місце для нього у викликаючій функції та включити до списку параметрів функції, яка формує масив ( рядок ), адресу виділеної для нього ділянки. Інші варіанти – створення нового масиву ( рядка ) в динамічній пам’яті, або використання глобальних масивів і рядків ( проте вони не захищені від випадкових змін, оскільки до них можна звертатись з кожної точки програми).

№13 слайд
Приклад функц я, яка вид ля
Содержание слайда: Приклад – функція, яка виділяє та повертає перше слово заданого речення. Аргументами функції є адреси фактичних параметрів. Така функція оперує безпосередньо з цими параметрами і може їх змінювати. #include < stdio.h> #include < ctype.h> char * FirstWord ( char * s, char * word ) { char * w = word ; while ( isspase (* s ) ) s++ ; /* пошук початку слова */

№14 слайд
while s ! amp amp s ! , amp
Содержание слайда: while ( *s !=‘ ‘ && *s !=‘,’ && *s !=‘ :’ *s !=‘ .’ *s !=‘ \0’ ) * w++ = *s++; /* копіювання першого слова */ * w = ‘\0’ ; return word ; } int main ( void ) { char str [ ] = “ Наш факультет – найкращий” ; char wrd [25] ; printf (“\n Перше слово: %s \n”, FirstWord (str, wrd )) ; return 0 ; }

№15 слайд
Результат виконання Перше
Содержание слайда: Результат виконання Перше слово: Наш Щоб захистити значення фактичного параметра від випадкових змін у тілі функції, треба в оголошенні відповідного формального параметра вказати const . Якщо ж формальний параметр-вказівник оголосити const, то компілятор стежитиме, щоб у тілі функції значення цього вказівника не змінювалось. Щоб зробити функцію FirstWord ( ) захищеною, оголошення параметрів потрібно записати так: char * FirstWord ( const char * s, char * const word )

Скачать все slide презентации Взаємодія фактичних і формальних параметрів функції одним архивом: