Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_informatike.docx
Скачиваний:
64
Добавлен:
06.02.2016
Размер:
850.27 Кб
Скачать

Функция (программирование)

Фу́нкция — в программировании — один из видов подпрограммы. Особенность, отличающая её от другого вида подпрограмм — процедуры, состоит в том, что функция возвращает значение, а её вызов может использоваться в программе как выражение.

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

В некоторых языках программирования (например, в Паскале) функции существуют наряду с процедурами (подпрограммами, не возвращающими значения), в других, например, в C, являются единственным реализованным видом подпрограммы (то есть все подпрограммы являются функциями и могут возвращать значение).

Побочным эффектом функции называется любое изменение функцией состояния программной среды, кроме возврата результата (изменение значений глобальных переменных, выделение и освобождение памяти, ввод-вывод и так далее). Теоретически наиболее правильным является использование функций, не имеющих побочного эффекта (то есть таких, в результате вызова которых возвращается вычисленное значение, и только), хотя на практике приходится использовать функции с побочным эффектом, хотя бы для обеспечения ввода-вывода и отображения результатов работы программы. Существует специфическая парадигма программирования — функциональное программирование, в которой любая программа представляет собой набор вложенных вызовов функций, не вызывающих побочных эффектов. Наиболее известный язык программирования, реализующий эту парадигму — Лисп. В нём любая операция, любая конструкция языка, любое выражение, кроме константы, являются вызовами функций. Наиболее полно парадигма функционального программирования реализуется в языке Хаскелл.

40. Оператор ветвления.

Решение большинства задач редко сводиться к простому последовательному расчету по формулам. Чаще порядок вычислений зависит от определенных условий, полученных на предыдущих шагах программы. Для организации вычислений используется условный оператор IF, который в общем виде записывается следующим образом:

If <условие> then <оператор>

Условный оператор (инструкция IF используется в программе, когда в зависимости от некоторого условия надо выбрать одно из двух действий или некоторое действие должно быть выполнено только при выполнении некоторого условия)

if условие then begin инструкции, выполняемые, если условие истинно end else begin ложно end;

В качестве условия должно использоваться логическое значение, представленное константой, переменной или выражением. Логическое выражение принимает одно из двух возможных значений — True (истина) или False (ложь). Часто в роли логического выражения выступает какое-то условие, которое может выполняться либо не выполняться. В первом случае его значение — «истина», а во втором — «ложь». Условный оператор реализует алгоритмическую конструкцию «ветвление» когда выполнение алгоритма в зависимо­сти от выполнения или невыполнения условия может пойти по одной из двух ветвей. Этот оператор называется оператором ветвления и выглядит следующим образом:

If <условие> then <оператор1> else <оператор2>

Пример.

a:=2;

b:=8;

If a>b then Writeln ( ‘а больше b’ )

else Writeln( ‘a меньше b’ );

Если условие истинно, то выполняется оператор, следующий за словом then. Но если условие ложно, то будет выполняться оператор, стоящий за словом else.

Условные операторы могут быть вложены друг в друга:

if условие then… if подусловие then… begin……. end... else… begin…. end…else… begin… end;

При вложенных условных операторов всегда действует правило: альтернатива else считается принадлежавшей ближайшему условному оператору if, имеющему ветвь else.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]