Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Данная программа ищет самый популярный фильм среди данныхСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
#include <stdio.h> typedef struct int main() } Функции в Python Функции в Python создаются с помощью инструкции def. Это действие создает объект функции и присваивает ему имя, которое становится ссылкой на объект-функцию. Пример определения функции: def MyFirstFunction(arg1, arg2, arg3): Здесь MyFirstFunction — это имя функции, используемое как для ее определения, так и для ее вызова. После заголовка с новой строки и с отступом следуют выражения тела функции. В теле функции присутствует (их может быть несколько) инструкция return (может и не быть), которая прерывает выполнение функции возвращает значение в основную ветку программы. ВЫЗОВ ФУНКЦИИ И ВОЗВРАТ ЗНАЧЕНИЯ Пример вызова функции: x = MyFirstFunction(10, 2, 5) ПЕРЕДАЧА ПАРАМЕТРОВ В ФУНКЦИЮ При описании функции после имени в скобках перечисляются параметры функции. Если их нет, то скобки остаются пустыми, но они обязательно должны быть. Далее идет двоеточие, обозначающее окончание заголовка функции. При вызове функции в скобках указывается нужное количество переменных или выражений, значения которых будут переданы функции в качестве параметров. Если у функции нет параметров, скобки (пустые) при вызове все равно нужны. ПРИМЕРЫ Допустим, необходимо вычислить число сочетаний из n элементов по k, равное n!/(k!(n−k)!), для чего необходимо вычисление факториалов трех величин: n, k и n-k. Для этого можно сделать три цикла, что приводит к увеличению размера программы за счет трехкратного повторения похожего кода. Вместо этого лучше сделать одну функцию, вычисляющую факториал любого данного числа n и трижды использовать эту функцию в своей программе. Соответствующая функция может выглядеть так: def factorial(n): result = 1 for i in range(2, n + 1): result *= i return result Этот код должен идти до того места, где мы захотим воспользоваться функцией factorial. Первая строчка этого примера является описанием нашей функции. factorial — идентификатор, то есть имя нашей функции. После идентификатора в круглых скобках идет список параметров, которые получает наша функция. Список состоит из перечисленных через запятую идентификаторов параметров. В нашем случае список состоит из одной величины n. В конце строки ставится двоеточие. Далее идет тело функции, оформленное в виде блока, то есть с отступом. Внутри функции вычисляется значение факториала числа n и оно сохраняется в переменной result. Функция завершается инструкцией Теперь мы можем использовать нашу функцию несколько раз. В этом примере мы трижды вызываем функцию factorial для вычисления трех факториалов: factorial(n), factorial(k), factorial(n-k). n = int(input()) k = int(input()) print(factorial(n) // (factorial(k) * factorial(n - k))) Мы также можем, например, объявить функцию binomial, которая принимает два целочисленных параметра n и k и вычисляет число сочетаний из n по k: def binomial(n, k): return factorial(n) // (factorial(k) * factorial(n - k)) Тогда в нашей основной программе мы можем вызвать функцию binomial для нахождения числа сочетаний: print(binomial(n, k)) Вернемся к задаче нахождения наибольшего из двух или трех чисел. Функцию нахождения максимума из двух чисел можно написать так (впрочем, в Python есть и встроенная функция max): def max(a, b): else: return b Теперь мы можем реализовать функцию max3, находящую максимум трех чисел: def max3(a, b, c): return max(max(a, b), c) Функция max3 дважды вызывает функцию max для двух чисел: сначала, чтобы найти максимум из a и b, потом чтобы найти максимум из этой величины и c. Граф вызовов функций Граф вызовов функции отображает связь функций друг с другом по логике их вызовов. Заметим, что он может быть составлен не только для функций, но и для процедур, то есть для любых подпрограмм. В языках Си и Python процедуры синтаксически не отличаются от функций и даже не выделяются в отдельное понятие. Т.е. все подпрограммы — функции, только некоторые могут ничего не возвращать.
По данному графу видно, что функция A непосредственно вызывает функцию B, которая, в свою очередь, вызывает функцию C(), а та пользуется функцией D(). После вызова функцией А функции B, она сама погружается в ожидание завершения подпрограммы. Таким образом, функции A() важен результат B(), и она не может без него продолжить свое выполнение. Если мы отобразим на графе обратный ход, как возвращается исполнение к функциям вместе с результатами вычислений с более глубоких уровней вызова, то получится вот так:
ПРИМЕР НА ЯЗЫКЕ СИ //заголовки функций: //тела функций int B() int C() int D()
|
||||
|
Последнее изменение этой страницы: 2017-02-19; просмотров: 508; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.20 (0.007 с.) |