Функция (информатика) Фу́нкция — в программировании — один из видов подпрограммы. Особенность, отличающая её от другого вида подпрограмм — процедуры, состоит в том, что функция возвращает значение, а её вызов может использоваться в программе как выражение. С точки зрения теории систем, функция в программировании — отдельная система (подсистема, подпрограмма), на вход которой поступают управляющие воздействия в виде значений аргументов. На выходе системы получаем результат выполнения программы, который может быть как скалярной величиной, так и векторным значением. По ходу выполнения функции могут выполняться также некоторые изменения в управляемой системе, причём как обратимые, так и необратимые. В некоторых языках программирования (например, в Паскале) функции существуют наряду с процедурами (подпрограммами, не возвращающими значения), в других, например, в C, являются единственным реализованным видом подпрограммы (то есть все подпрограммы являются функциями и могут возвращать значение). Побочным эффектом функции называется любое изменение функцией состояния программной среды, кроме возврата результата (изменение значений глобальных переменных, выделение и освобождение памяти, ввод-вывод и так далее). Теоретически наиболее правильным является использование функций, не имеющих побочного эффекта (то есть таких, в результате вызова которых возвращается вычисленное значение, и только), хотя на практике приходится использовать функции с побочным эффектом, хотя бы для обеспечения ввода-вывода и отображения результатов работы программы. Существует специфическая парадигма программирования — функциональное программирование, в которой любая программа представляет собой набор вложенных вызовов функций, не вызывающих побочных эффектов. Наиболее известный язык программирования, реализующий эту парадигму — Лисп. В нём любая операция, любая конструкция языка, любое выражение, кроме константы, являются вызовами функций.
Часть программы. Решение задач
1. Найдите ошибку в программе:
program ;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
2. Найдите ошибку в программе:
program Prim 2 1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f ); p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
3. Найдите ошибку в программе:
program Prim_2_1;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
4. Найдите ошибку в программе:
program Prim_2_1;
var a,b:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
5. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
6. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
writeln('p=',p);
readln
end.
7. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c+d+f;
writeln('p=',p);
readln
end.
8. Следующий алгоритм в результате выполнения программы находит:
program Prim_2_3;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p:=a+b+c;
writeln('p=',p);
readln
end
9. Найдите ошибку в программе:
program Prim_2_1;
var a,b,c,d,f,p:integer;
begin writeln('Введите 5 численных значений:');
readln(a,b,c,d,f );
p=:a+b+c+d+f;
writeln('p=',p);
readln
end.