функции. Лекция 21. Функции. Функции в Паскале
Скачать 1.01 Mb.
|
Функции в ПаскалеНазначение При разработке программы иногда появляются повторяемые группы действий или возникает необходимость расчленить программу на функциональные модули, сделать ее структуру иерархической. Для этого во всех языках программирования существуют средства организации подпрограмм. В Паскале подпрограмма является частью основной программы, ее описание располагается между разделом var главной программы и ее программным блоком (первым begin). Подпрограмм может быть несколько, их описания располагаются в произвольном порядке одно за другим. Подпрограмма — это специальным образом оформленный алгоритм, который может многократно использоваться при решении более общей задачи. В Паскале различают два вида подпрограмм: процедуры и функции. Основное различие между ними заключается в том, что процедура получает в результате своей работы любое количество данных, а функция — только одно значение. ОписаниеРазделы Описание Структура Переменные Примеры Задания Диктант Начало Выход ФункцияЭто последовательность операторов, имеющая имя и результат Обрабатывает данные, предназначенные ей из главной программы, и затем возвращает полученный результат Функция называется с помощью указателя. Указатель- это имя функции, после которого в круглых скобках перечисляются аргументы функции. Далее Функции Pascal можно разделить на три группы:стандартные функции (abs(x), sqrt(x), sqr(x), sin(x), cos(x), и т.д.); функции программиста (объявлять свою собственную функцию и дальнейшем использовать её так же как и стандартную); библиотечные функции (стандартные библиотечные модули). Меню Структура функцииFunction <имя> (<параметры>):<тип результата>; const …; ….. var … ; Begin <операторы> имя:= выражение; End; Блок описания локальных переменных В разделе операторов должен находится, хотя бы один оператор, присваивающий имени функции значение. Меню Объявление переменныхГлобальные переменные - переменные, объявленные в основной программе, доступны всем операторам программы, а так же операторам процедур и функций. Далее Локальные переменные - переменные, объявленные в процедуре или функции. Они доступны только операторам процедур или функций. Пример:program primer1; var r, c, q : real; function inper ( a: real; b: real) :real; var x,y: real; begin <операторы функции>; end; begin (основная программа) end. Глобальные переменные Локальные переменные Назад Примеры:Вычисление функции Вычисление n-й степени числа. Вычисление скорости свободного падения тела. Меню Вычисление функции program f1; uses Crt; var n,x: real; function fun(a:real):real; var y:real; begin y:=sqrt(a)+a; fun:=y; end; Назад begin write('n='); readln(n); x:=fun(n); writeln('x=',x:3:5); readln; end. Вычисление скорости свободного падения тела. Назад program f2; uses Crt; var t,v: real; function fun(t:real):real; begin fun:=9.8*t; end; begin write('t='); readln(t); v:=fun(t); writeln('v=',v:3:5); readln; end. Вычисление n-й степени числа. program f2; uses Crt; var n: integer; z,x: real; function step(a:integer;x:real):real; var y:real; i:integer; begin y:=1; for i:=1 to a do begin y:=y*x; step:=y; end; end; begin write(‘степень='); readln(n); write('x='); readln(x); z:=step(n,x); writeln('z=',z:3:5); readln; end. Назад Задания:Рассчитать значение х= Меню 4.Написать программу свободного падения. выводящую таблицу скорости за первые 10 секунд с шагом 0,5 секунд 3. Даны шесть различных чисел. Определить максимальное из них. 2. Рассчитать значение х= Диктант по теме: «Функции в Паскале»Какую подпрограмму можно назвать функцией? Объясните назначение локальных и глобальных переменных. Что такое указатель? Перечислите группы функций. Каким образом происходит обращение к функции? меню Задания для самостоятельной работыСоставить программу для вычисления суммы членов геометрической прогрессии. Даны стороны двух треугольников. Найти сумму их периметров и сумму их площадей. Даны координаты точек прямоугольника. Определить, является ли он квадратом, ромбом, трапецией или параллелограммом, и вычислить, исходя из этого, площадь фигуры. Найти все простые числа из заданного интервала натуральных чисел [N1, N2]. меню Вычисление функцииprogram f1; uses Crt; var n,x,s: real; i:integer; function fun(a:real):real; var y:real; begin y:=sqrt(a)+a; fun:=y; end; Назад begin s:=0; for i:=1 to 3 do begin write('n='); readln(n); x:=fun(n)/2; s:=s+x; end; writeln(‘s=',s:3:5); readln; end. Ф У Н К Ц И я Вычисление функцииprogram f1; uses Crt; var n,x: real; i:integer; function fun(a:real):real; var y:real; begin y:=a+sin(a); fun:=y; end; Назад begin s:=0; for i:=1 to 3 do begin write('n='); readln(n); x:=fun(n)/3; s:=s+x; end; writeln(‘s=',s:3:5); readln; end. Ф У Н К Ц И я Составить таблицу скорости свободного падения тела за первые 10 секунд с шагом 0,5 секундНазад program f2; uses Crt; var t,v: real; n:integer; function fun(t:real):real; begin fun:=9.8*t; end; begin n:=1; whle n<=10 do begin write('t='); readln(t); v:=fun(t); writeln(‘t=‘;t'v=',v:3:5); end; readln; end. Ф У Н К Ц И я Ответы на диктант «Функции в Паскале»Это последовательность операторов, имеющая имя и результат. Глобальные переменные - переменные, объявленные в основной программе, доступны всем операторам программы, а так же операторам процедур и функций. Локальные переменные - переменные, объявленные в процедуре или функции. Они доступны только операторам процедур или функций. Это имя функции. Стандартные, функции программиста библиотечные. В основной программе указывается имя функции и аргумент |