Разделы презентаций


Процедуры и функции

Содержание

ОпределениеКозьминых Н.М.Процедуры и функции позволяют: задать определенную функциональность,многократно выполнять один и тот же параметризированный программный код при различных значениях параметров.В C# процедуры и функции существуют только как методы некоторого класса, они

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

Слайд 1Лекция 7. Процедуры и функции
дисциплина «Программирование»
Козьминых Н.М.

Лекция 7. Процедуры и функциидисциплина «Программирование»Козьминых Н.М.

Слайд 2Определение
Козьминых Н.М.
Процедуры и функции позволяют:
задать определенную функциональность,
многократно выполнять один

и тот же параметризированный программный код при различных значениях параметров.
В

C# процедуры и функции существуют только как методы некоторого класса, они не существуют вне класса.
ОпределениеКозьминых Н.М.Процедуры и функции позволяют: задать определенную функциональность,многократно выполнять один и тот же параметризированный программный код при

Слайд 3Функции
Козьминых Н.М.
Функция отличается от процедуры двумя особенностями:
Она всегда вычисляет некоторое

значение, возвращаемое в качестве результата функции;
И вызывается в выражениях.

ФункцииКозьминых Н.М.Функция отличается от процедуры двумя особенностями:Она всегда вычисляет некоторое значение, возвращаемое в качестве результата функции;И вызывается

Слайд 4Процедуры
Козьминых Н.М.
Процедура C# имеет свои особенности:
Она возвращает формальный результат

void, указывающий на отсутствие результата;
Вызов процедуры является оператором языка;


И она имеет входные и выходные аргументы, причем выходных аргументов - ее результатов - может быть достаточно много.

ПроцедурыКозьминых Н.М.Процедура C# имеет свои особенности: Она возвращает формальный результат void, указывающий на отсутствие результата; Вызов процедуры

Слайд 5Функции и процедуры (методы)
Козьминых Н.М.
Обычно метод предпочитают реализовать в виде

функции тогда, когда он имеет один выходной аргумент, рассматриваемый как

результат вычисления значения функции.
Возможность вызова функций в выражениях также влияет на выбор в пользу реализации метода в виде функции.
В других случаях метод реализуют в виде процедуры.
Функции и процедуры (методы)Козьминых Н.М.Обычно метод предпочитают реализовать в виде функции тогда, когда он имеет один выходной

Слайд 6Метод
Козьминых Н.М.
Синтаксически в описании метода различают две части:
заголовок_метода
тело_метода

МетодКозьминых Н.М.Синтаксически в описании метода различают две части:заголовок_методатело_метода

Слайд 7Заголовок метода
Козьминых Н.М.
Синтаксис:
[атрибуты][модификаторы]{void| тип_рез_функции}
имя_метода
([список_формальных_аргументов])
Имя метода и список

формальных аргументов составляют сигнатуру метода.
В сигнатуру не входят имена формальных

аргументов - здесь важны типы аргументов.
В сигнатуру не входит тип возвращаемого результата.

Заголовок методаКозьминых Н.М.Синтаксис:[атрибуты][модификаторы]{void| тип_рез_функции} имя_метода ([список_формальных_аргументов]) Имя метода и список формальных аргументов составляют сигнатуру метода.В сигнатуру не

Слайд 8Модификатор
Козьминых Н.М.
Модификатор доступа может иметь четыре возможных значения, рассмотрим только

два - public и private.
Модификатор public показывает, что метод открыт

и доступен для вызова клиентами и потомками класса.
Модификатор private говорит, что метод предназначен для внутреннего использования в классе и доступен для вызова только в теле методов самого класса.
Если модификатор доступа опущен, то по умолчанию предполагается, что он имеет значение private.
МодификаторКозьминых Н.М.Модификатор доступа может иметь четыре возможных значения, рассмотрим только два - public и private.Модификатор public показывает,

Слайд 9Тип результата
Козьминых Н.М.
Тип результата метода указывается всегда, но значение void

однозначно определяет, что метод реализуется процедурой.
Тип результата, отличный от void,

указывает на функцию.
void A() {...};
int B(){...};
public void C(){...};
Методы A и B являются закрытыми, а метод С - открыт.
Методы A и С реализованы процедурами, а метод B - функцией, возвращающей целое значение.
Тип результатаКозьминых Н.М.Тип результата метода указывается всегда, но значение void однозначно определяет, что метод реализуется процедурой.Тип результата,

Слайд 10Список формальных аргументов
Козьминых Н.М.
Список формальных аргументов метода может быть пустым.
Список

может содержать фиксированное число аргументов, разделяемых символом запятой.
Синтаксис:
[ ref |

out | params ] тип_аргумента имя_аргумента
Обязательным является указание типа и имени аргумента.

Список формальных аргументовКозьминых Н.М.Список формальных аргументов метода может быть пустым.Список может содержать фиксированное число аргументов, разделяемых символом

Слайд 11Список формальных аргументов
Козьминых Н.М.
params - ключевое слово, позволяющее передавать методу

произвольное число фактических аргументов.
Аргументы метода разделяются на три группы:
входные,


выходные (out),
обновляемые (ref).
Список формальных аргументовКозьминых Н.М.params - ключевое слово, позволяющее передавать методу произвольное число фактических аргументов.Аргументы метода разделяются на

Слайд 12Список формальных аргументов
Козьминых Н.М.
Входные аргументы передают информацию методу, их значения

в теле метода только читаются.
Выходные (out) представляют собой результаты метода,

они получают значения в ходе работы метода.
Обновляемые (ref) выполняют обе функции:
их значения используются в ходе вычислений;
обновляются в результате работы метода.
Список формальных аргументовКозьминых Н.М.Входные аргументы передают информацию методу, их значения в теле метода только читаются.Выходные (out) представляют

Слайд 13Тело метода
Козьминых Н.М.
Тело метода является блоком, который представляет собой последовательность

операторов и описаний переменных, заключенную в фигурные скобки.
Если это тело

функции, то в блоке должен быть хотя бы один оператор перехода, возвращающий значение функции в форме return (выражение).
Тело методаКозьминых Н.М.Тело метода является блоком, который представляет собой последовательность операторов и описаний переменных, заключенную в фигурные

Слайд 14Пример
Козьминых Н.М.
// Процедура с входным и выходным параметрами
private void A(out

double p2, double p1) {    p2 = Math.Pow(p1, 3);
}


// Процедура с обновляемым параметром
private void B(ref int a) {    a++;
}
// Функция
private int C(int a) {    return ++a;
}
ПримерКозьминых Н.М.// Процедура с входным и выходным параметрамиprivate void A(out double p2, double p1) {     p2

Слайд 15Вызов метода
Козьминых Н.М.
Синтаксис:
имя_метода( [список_фактических_аргументов] )

Формальный аргумент задается при определении метода

- это всегда имя аргумента (идентификатор).
Фактический аргумент – это выражение,

используемое при вызове метода.
Вызов методаКозьминых Н.М.Синтаксис:имя_метода( [список_фактических_аргументов] )Формальный аргумент задается при определении метода - это всегда имя аргумента (идентификатор).Фактический аргумент

Слайд 16Вызов метода
Козьминых Н.М.
Между списком формальных и списком фактических аргументов должно

выполняться определенное соответствие по:
числу,
порядку следования,
типу,
статусу аргументов.
Если формальный

аргумент объявлен с ключевым словом ref или out, то фактический аргумент должен сопровождаться таким же ключевым словом при вызове метода.
Вызов методаКозьминых Н.М.Между списком формальных и списком фактических аргументов должно выполняться определенное соответствие по:числу, порядку следования, типу,

Слайд 17Пример
Козьминых Н.М.
// Определение метода
private void A(out double p2, double p1){

   p2 = Math.Pow(p1, 3);
}

// Вызов метода
private void

btn_Click(object sender, EventArgs e){
double p, s = 2;
A(out p, s);
btn.Text = p.ToString();
}
// Ответ: 8
ПримерКозьминых Н.М.// Определение методаprivate void A(out double p2, double p1){     p2 = Math.Pow(p1, 3); }// Вызов

Слайд 18Пример
Козьминых Н.М.
// Определение метода
private void B(ref int a){

a++;
}
// Вызов метода
private void btn_Click(object sender, EventArgs e){

int p = 10;
B(ref p);
btn.Text = p.ToString();
}
// Ответ: 11
ПримерКозьминых Н.М.// Определение методаprivate void B(ref int a){   a++;}// Вызов метода private void btn_Click(object sender,

Слайд 19Пример
Козьминых Н.М.
// Определение метода
private int C(int a){
return ++a;
}
//

Вызов метода
private void btn_Click(object sender, EventArgs e){
int

p = 4;
btn.Text = C(p).ToString();
}
// Ответ: 5

ПримерКозьминых Н.М.// Определение методаprivate int C(int a){  return ++a;}// Вызов метода private void btn_Click(object sender, EventArgs

Слайд 20Вопросы…

Спасибо за внимание
Козьминых Н.М.

Вопросы…Спасибо за вниманиеКозьминых Н.М.

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика