Обращение к функции в программе имеет вид паскаль

Презентация на тему: » Функции в Паскале Подпрограммы в Паскале. Подпрограмма — автономная часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из.» — Транскрипт:

1 Функции в Паскале Подпрограммы в Паскале

2 Подпрограмма — автономная часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из различных частей общей программы. В Паскале подпрограмма является частью основной программы, ее описание располагается между разделом var главной программы и ее программным блоком (первым begin). Подпрограмм может быть несколько, их описания располагаются в произвольном порядке одно за другим. В Паскале различают два вида подпрограмм: процедуры (PROCEDURE) и функции (FUNCTION). Основное различие между ними заключается в том, что процедура получает в результате своей работы любое количество данных, а функция только одно значение.

3 Функция Это последовательность операторов, имеющая имя и результат Обрабатывает данные, предназначенные ей из главной программы, и затем возвращает полученный результат Функция называется с помощью указателя. Указатель- это имя функции, после которого в круглых скобках перечисляются аргументы функции.

#6. Процедуры и Функции на PascalABC.net

4 Функции Pascal можно разделить на три группы: стандартные функции (abs(x), sqrt(x), sqr(x), sin(x), cos(x), и т.д.); функции программиста (объявлять свою собственную функцию и дальнейшем использовать её так же как и стандартную); библиотечные функции (стандартные библиотечные модули).

5 Структура функции Function ( ): ; const …; ….. Блок описания локальных переменных var … ; Begin имя:= выражение; End; В разделе операторов должен находится, хотя бы один оператор, присваивающий имени функции значение.

6 Объявление переменных Глобальные переменные — переменные, объявленные в основной программе, доступны всем операторам программы, а так же операторам процедур и функций. Локальные переменные — переменные, объявленные в процедуре или функции. Они доступны только операторам процедур или функций

7 Пример: program primer1; var r, c, q : real; function inper (a: real; b: real) :real; var x,y: real; begin ; end; begin (основная программа) end. Глобальные переменные Локальные переменные

8 Вычисление функции Вычисление скорости свободного падения тела Вычисление n-й степени числа Примеры:

9 Вычисление функции program f1; 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:4:2); end.

10 Вычисление скорости свободного падения тела program f2; 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:5:3); end.

11 Вычисление n-й степени числа program f2; 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; begin write(‘степень=’); readln(n); write(‘x=’); readln(x); z:=step(n, x); writeln(‘z=’, z:4:2); end.

Читайте также:
Программа настройки домашнего кинотеатра

Информатика. Язык Pascal: Процедуры и функции в Pascal. Центр онлайн-обучения «Фоксфорд»

12 Задания: Рассчитать значение Рассчитать значение х= Написать программу свободного падения. выводящую таблицу скорости за первые 10 секунд с шагом 0,5 секунд. Рассчитать значение Рассчитать значение х= Написать программу вычисления площади круга. Для кругов с радиусами 5, 2, 1, 10, 4. Вычисление площади круга оформить в виде функции.

13 Вычисление площади круга var a,c:integer; b,r:real; function circle(r:real):real; begin circle:=pi*r*r; end; begin for c:=1 to 5 do begin write(‘vvod razmer ‘,c,’ radiusa:’); readln(a); b:=circle(a); writeln(‘S=’,b:4:2); end; end. ФУНКЦИЯФУНКЦИЯ

14 Вычисление функции 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); end. ФУНКЦИЯФУНКЦИЯ

15 Вычисление функции 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); end. ФУНКЦИЯФУНКЦИЯ

16 Составить таблицу скорости свободного падения тела за первые 10 секунд с шагом 0,5 секунд program f2; var t,v: real; n:integer; function fun(t:real):real; begin fun:=9.8*t; end; begin n:=1; while n

17 Домашнее задание 1. Составить программу для вычисления суммы членов геометрической прогрессии. 2. Даны стороны двух треугольников. Найти сумму их периметров и сумму их площадей. 3. Даны координаты точек прямоугольника. Определить, является ли он квадратом, ромбом, трапецией или параллелограммом, и вычислить, исходя из этого, площадь фигуры.

4. Найти все простые числа из заданного интервала натуральных чисел [N1, N2].

Источник: www.myshared.ru

Обращение к функции в программе имеет вид паскаль

Все, что необходимо начинающему и опытному программисту

Вспомогательные алгоритмы. Процедуры и функции. Структурное программирование

В этой теме мы с вами рассмотрим методы декомпозиции. То есть мы будем учиться разбивать одну большую задачу на несколько отдельных, помельче. Небольшую самостоятельную задачу обычно гораздо легче решить. В этой теме мы познакомимся со способом записи таких подзадач на языке Паскаль.

Конструирование алгоритма «сверху вниз»

При конструировании достаточно сложного алгоритма логично разбивать его на ряд более йростых задач. Построение алгоритма идет «сверху вниз». Сначала строится основной алгоритм. В нем записываются обращения к вспомогательным алгоритмам, которые позволят решить отдельные, более простые задачи (подзадачи 1-го уровня).

Если есть необходимость, осуществляют дальнейшую детализацию, и подзадача разбивается на еще более простые задачи (подзадачи 2-го уровня). Вспомогательные алгоритмы для решения подзадач последнего уровня не содержат обращений к другим вспомогательным алгоритмам (рис. 9.1).

Рис. 9.1. Схема алгоритма, построенного по принципу «сверху вниз»

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

Читайте также:
Какие возможности имеются в программе ms office excel но отсутствуют в ms office word

Практическая задача с использованием вспомогательных алгоритмов

Задача: выполнить с массивом действия, которые были предложены в заданиях 8.3, 8.4:

а) заполнить одномерный целочисленный массив из 10 элементов случайными числами от -20 до +20;
б) вывести массив на экран в виде строки чисел;
в) подсчитать сумму элементов массива;
г) поменять местами элементы массива следующим образом:
1-й элемент— со 2-м,
3-й — с 4-м,
5-й — с б-м,
7-й — с 8-м,
9-й — с 10-м;
д) вывести измененный массив на экран.

Разобьем основной алгоритм на подзадачи в порядке их перечисления в задании (рис. 9.2).

Рис. 9.2. Блок-схема алгоритма решения задачи из примера 9.1

Обратим внимание: пункты б) и д) выполняют одинаковое действие — вывод массива на экран. Поэтому оформим их в виде отдельного фрагмента программы под некоторым именем, а в нужных местах вызовем этот фрагмент по его имени.
Такой фрагмент называется процедурой.

Процедура оформляется по тем же правилам, что и программа.
Пункты а) и г) оформим также в виде процедур.
Пункт в) — вычисление суммы элементов массива — оформим отдельным фрагментом, но с возвращением результата вычисления. Такой фрагмент называется функцией. В отличие от процедуры, из функции всегда возвращается результат в виде переменной, тип которой указывается в заголовке функции (см. пример 9.1).

Такая организация программы по блокам вспомогательных алгоритмов (процедурам и функциям) придает ей логичную структуру и делает ее более удобной для дальнейшего использования.

Процедуры и функции в программе оформляют в виде отдельных блоков, каждый из которых начинается специальным словом (procedure или function соответственно). Эти блоки должны располагаться в тексте программы перед оператором begin, начинающим основную программу. В каждом блоке процедуры или функции может находиться свой раздел описания переменных (var) и должна быть пара операторов begin . end, между которыми пишется текст процедуры (или функции).

Внимательно читайте комментарии к программе!

Пример 9.1.
Демонстрация процедур и функций на примере работы с одномерным массивом

Задание 9.1.
Написать программу, в которой выполняется:

а) ввод одномерного массива А из 14 чисел (положительных и отрицательных);
б) вывод массива на экран;
в) сдвиг всех элементов массива на одну позицию влево (рис. 9.3); первый элемент встает на место последнего (см. блок-схему алгоритма на рис. 9.4);
г) вывод массива на экран;
д) подсчет количества положительных элементов. Все пункты оформить как процедуры или функции.

Рис. 9.3. Схема циклического сдвига одномерного массива влево

Читайте также:
Написать программу которая из заданного одномерного массива размерности n выводит только те элементы

Рис. 9.4. Блок-схема алгоритма циклического сдвига массива влево

Источник: www.programmer-lib.ru

Процедуры и функции в Паскаль

В этом уроке мы научимся создавать и использовать процедуры и функции в Паскаль.В программировании и при решении задач ОГЭ и ЕГЭ на Pascal часто необходимо выполнять одни и те же действия несколько раз, для этого в Паскаль используются процедуры. Процедуры помогают структурировать программу и делать её более читаемой.
Для задания процедуры в паскаль следует написать ключевое слово procedure, ввести через пробел название процедуре, в скобках задать название аргументов и их тип, после чего использовать конструкцию begin end и в ней задавать команды, которые исполняет процедура. В процедуре можно ввести локальные переменные сразу после begin.
procedure названиеПроцедуры(переменные: типДанных; переменные: типДанных;. );
begin
var локальныеПеременные: типДанных;
.
end;
Локальные переменные используются только внутри процедуры.
Пример процедуры на Паскаль, решающей линейное уравнение вида ax + b = 0 и выводящей решение на экран. Если a = 0 и b = 0, то x может принимать любое значение, решений будет бесконечное количество. Если a = 0 и b ≠ 0, то решений нет, т.к. при любом x член ax будет равен нулю и не может быть равен b. Если a ≠ 0, то единственным решением линейного уравнения будет x = -b/a.
// процедура решения линейного уравнения
procedure linear(a, b: real);
begin
var sol: real;
If (a = 0) and (b = 0) then
begin
writeln(‘Бесконечное количество решений.’);
end;
If (a = 0) and (b <> 0) then
begin
writeln(‘Нет решений.’);
end;
If (a <> 0) then
begin
sol := -b/a;
writeln(sol);
end;
end;
begin
linear(1, 1);
end.

Чтобы вызвать процедуру на Pascal в основной программе, нужно написать название процедуры и задать значения всех аргументов в скобках.
begin
linear(1, 1);
end.

Функции в Паскаль

В отличие от процедур функции в Паскаль возвращают значение. Чтобы задать функцию в программе Паскаль, нужно указать ключевое слово function имя и тип функции.
Общая структура функции в Паскаль
function имя функции(аргументы функции): тип возвращаемого значения;
begin
Команды функции
имя функции:=возвращаемое значение;
end;
Пример функции на Pascal для поиска среднего арифметического между двумя числами a и b. Задаются два вещественных числа типа данных real, внутри вводится локальная переменная med, в которую мы запишем среднее арифметическое двух чисел a и b. В конце функции мы возвращаем
//функция поиска среднего арифметического двух чисел
function medium(a, b: real):real;
begin
// объявляем локальную переменную
var med: real;
// записываем в переменную среднее арифметическое
med := (a + b)/2;
medium:=med;
end;
// вызываем в основной программе функцию
begin
write(medium(2,8));
end.

Комментарии ( 0 )

Нет комментариев. Ваш будет первым!

Источник: itrobo.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru