Меню
Разработки
Разработки  /  Информатика  /  Разное  /  9 класс  /  Нестандартные функции в Паскале

Нестандартные функции в Паскале

Данная разработка содержит: объяснение материала, примеры функций, проверочную работу, задания по описанию функций.
14.01.2013

Описание разработки

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Данная разработка предназначена для использования при прохождении темы «Нестандартные функции в Паскале» в курсе «Программирование» и ориентирована на учащихся школ с гуманитарным профилем.

При минимальном количестве часов, отведенных на предмет Информатика, сложностях при знакомстве с программированием, но обязательном (по программе) освоением этой темы, предложенный вариант объяснения давал неплохие результаты при его использовании.

Предварительные знания:

1. Подпрограмма (п/п) – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах основной программы обеспечивается лишь обращением к ней по имени.

Или: Подпрограмма – специальным образом оформленная программа, к которой можно обращаться из любой точки основной программы.

2. Использование п/п позволяет:

  • сократить объем программы;
  • улучшить структуру программы с точки зрения ее читаемости и наглядности;
  • облегчает процесс отладки.

3. В Паскале подпрограммы реализованы в виде Функций и Процедур

4. Все переменные, а также другие объекты, описанные в подпрограмме, являются локальными и действуют только внутри этой подпрограммы. Никакой связи между ними и объектами вызывающей программы (основной), имеющими такие же имена, нет.

5. Параметры, указанные в описании подпрограммы называются формальными.

6. Обращение к подпрограмме записывается в виде имени подпрограммы, за которым следует заключенный в скобки список параметров, отделенных друг от друга запятыми. Эти параметры называются фактическими и их количество, последовательность и тип должны совпадать с типом, количеством и последовательностью формальных параметров.

НЕСТАНДАРТНЫЕ ФУНКЦИИ

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

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

FUNCTION           имя_функции (перечень формальных параметров и их тип): тип результата;

begin

                   …       составной оператор (шаблон, по которому обрабатываются параметры)

end;

  • В тексте программы описание функции всегда следует за описанием переменных.
  • Результат вычисления функции (значение функции) присваивается имени функции, поэтому среди входящих в функцию операторов должен обязательно входить оператор присваивания, в левой части которого стоит имя данной функции.
  • Параметры, указанные в описании функции, называются формальными.
  • Обращение к функции записывается в виде имени функции, за которым следует заключенный в скобки список параметров, отделенных друг от друга запятыми.
    Эти параметры называются фактическими и их количество, последовательность и тип должны совпадать с типом, количеством последовательностью формальных параметров.
  • Фактическими параметрами могут быть константы, значения переменных, результат работы функции.

Примеры:

Описание функции выбора большего из двух аргументов.

Function   MAX (A, B: real): real;

 begin

  if a>b then MAX:=a  else  MAX:=b;

 end;

Наберите программу:

PROGRAM   PRIMER;

var     b: integer;

function  tri (a:integer):integer; {функция, утраивающая значение параметра, а – формальный параметр}

begin

tri:=3*a; {результат работы функции д.б. обязательно присвоен имени функции}

end;

BEGIN

Writeln (tri (4)); {вызов функции, 4 – фактический параметр}

Writeln ('введите любое целое число, которое вы хотите утроить');

readln (b);

writeln (tri(b));

writeln (tri (2)+tri (4));

END.

Вариант №1

Что появится на экране?

Program    prim

Var a, b: integer;

C: real;

Function  pr(x, y: real): real;

Begin           pr: =(x + y)/2       end ;

BEGIN

A: =4;           b: =6;

Writeln (pr (a, 2):1:0);

C: =pr (pr (b, 6), 4);

Writeln (c:1:0)

END.

Вариант№2

Что появится на экране?

Program                prim;

Var a, b, c: integer;

Function pr (x, y: integer): integer;

begin            pr: =x*y+2           end;

BEGIN

A: =4;                 b: =2;

Written (pr (a, b));

C: =pr (pr (b, 6), a);

Writeln (c);

END.

Вариант№3

Что появится на экране?

Program       prim;

Var  a, b, c: integer;

Function pr (x, y: integer): integer;

begin            pr: =x +(y div 2)  end;

BEGIN

A: =4;                 b: =6;

Writeln (pr (a, 2));

C: =pr (pr (b, 6), 4);

Writeln (c);

END.

Вариант №4

Что появится на экране?

Program          prim;

Var a, b, c: integer;

Function  pr (x, y: integer):integer;

Begin     pr:=x+2*y                  end;

BEGIN

A:=2;        b: =1;

Writeln (pr (a, 2), 2);

C: =pr (pr (b, 2), 2);

Writeln (c);

END.

В архиве ещё 12 вариантов

Задания на оформление функций:

  1. Описать функцию, рассчитывающую определенный процент от числа.
  2. Описать функцию, рассчитывающую площадь прямоугольника.
  3. Описать функцию, переводящую рубли в доллары с учетом меняющегося курса доллара.
  4. Описать функцию, рассчитывающую площадь треугольника по основанию и высоте (по формуле Герона).
  5. Описать функцию, рассчитывающую площадь треугольника по формуле Герона.
  6. Описать функцию, рассчитывающую гипотенузу по катетам.
  7. Описать функцию, определяющую какое количество пассажиров, весом 80 кг, может поднять лифт задаваемой грузоподъемности.
  8. Описать функцию, определяющую количество оставшихся карандашей после их расфасовки по 25 штук.
  9. Описать функцию, которая задает номер цвета 2 (зеленый), если число отрицательное и – 4 (красный), если число положительное.
  10. Описать функцию, выдающую 0 или 1 в зависимости от того, делится ли рассматриваемое целое число на 5 или нет (делится – 1, не делится – 0)

Функции с локальными переменными:

  1. Описать функцию, рассчитывающую произведение задаваемого количества натуральных чисел (1*2*3*4*…*N)

Разбор задания:

Function     pr(x: integer): integer;

  var i, p: integer;

begin

   p:=1;

   for i:=1  to  x   do

      p:=p*I;

     pr:=p

end;

  1. Описать функцию, рассчитывающую сумму задаваемого количества натуральных чисел (1+2+3+4+…+N).
  2. Описать функцию, рассчитывающую среднее арифметическое задаваемого количества натуральных чисел.

Содержимое разработки

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА


Данная разработка предназначена для использования при прохождении темы «Нестандартные функции в Паскале» в курсе «Программирование» и ориентирована на учащихся школ с гуманитарным профилем.

При минимальном количестве часов, отведенных на предмет Информатика, сложностях при знакомстве с программированием, но обязательном (по программе) освоением этой темы, предложенный вариант объяснения давал неплохие результаты при его использовании.


Предварительные знания:

  1. Подпрограмма (п/п) – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах основной программы обеспечивается лишь обращением к ней по имени.

Или: Подпрограмма – специальным образом оформленная программа, к которой можно обращаться из любой точки основной программы.


2. Использование п/п позволяет:

  • сократить объем программы;

  • улучшить структуру программы с точки зрения ее читаемости и наглядности;

  • облегчает процесс отладки.

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

  2. Все переменные, а также другие объекты, описанные в подпрограмме, являются локальными и действуют только внутри этой подпрограммы. Никакой связи между ними и объектами вызывающей программы (основной), имеющими такие же имена, нет.

  3. Параметры, указанные в описании подпрограммы называются формальными.

  4. Обращение к подпрограмме записывается в виде имени подпрограммы, за которым следует заключенный в скобки список параметров, отделенных друг от друга запятыми. Эти параметры называются фактическими и их количество, последовательность и тип должны совпадать с типом, количеством и последовательностью формальных параметров.

НЕСТАНДАРТНЫЕ ФУНКЦИИ


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

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


FUNCTION имя_функции (перечень формальных параметров и их тип): тип результата;

имя, которое дает программист

begin

… составной оператор (шаблон, по которому обрабатываются параметры)

end;


  • В тексте программы описание функции всегда следует за описанием переменных.

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

  • Параметры, указанные в описании функции, называются формальными.

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

  • Фактическими параметрами могут быть константы, значения переменных, результат работы функции.



Примеры:

  1. Описание функции, вычисляющей площадь прямоугольника

Function rectangle (b, d: real): real;

begin

rectangle:=b*d;

end;

  1. Описание функции выбора большего

из двух аргументов.

Function MAX (A, B: real): real;

begin

if ab then MAX:=a else MAX:=b;

end;



Наберите программу:

PROGRAM PRIMER;

var b: integer;

function tri (a:integer):integer; {функция, утраивающая значение параметра,

а – формальный параметр}

begin

tri:=3*a; {результат работы функции д.б. обязательно присвоен имени функции}

end;


BEGIN

Writeln (tri (4)); {вызов функции, 4 – фактический параметр}

Writeln ('введите любое целое число, которое вы хотите утроить');

readln (b);

writeln (tri(b));

writeln (tri (2)+tri (4));

END.




Проверочная работа (работа выполняется не на компьютере)
Вариант №1

Что появится на экране?

Program prim

Var a, b: integer;

Ответ:

3

5

C: real;

Function pr(x, y: real): real;

Begin pr: =(x + y)/2 end ;

BEGIN

A: =4; b: =6;

Writeln (pr (a, 2):1:0);

C: =pr (pr (b, 6), 4);

Writeln (c:1:0)

END.


Вариант№2

Что появится на экране?

Program prim;

Var a, b, c: integer;

Ответ:

10

58

Function pr (x, y: integer): integer;

begin pr: =x*y+2 end;

BEGIN

A: =4; b: =2;

Written (pr (a, b));

C: =pr (pr (b, 6), a);

Writeln (c);

END.


Вариант№3

Что появится на экране?

Program prim;

Var a, b, c: integer;

Function pr (x, y: integer): integer;

Ответ:

3

5

begin pr: =x +(y div 2) end;

BEGIN

A: =4; b: =6;

Writeln (pr (a, 2));

C: =pr (pr (b, 6), 4);

Writeln (c);

END.


Вариант №4

Что появится на экране?

Program prim;

Var a, b, c: integer;

Function pr (x, y: integer):integer;

Ответ:

62 Внимательно с выводом на экран!

9

Begin pr:=x+2*y end;

BEGIN

A:=2; b: =1;

Writeln (pr (a, 2), 2);

C: =pr (pr (b, 2), 2);

Writeln (c);

END.


Вариант №5

Program prim;

Var a, b, c: integer;

C: real;

Ответ:

12

16

Function pr(x, y: integer): integer;

Begin pr=(x +y)*2 end;

BEGIN

A:=4; b:=1;

Writeln (pr (a, 2));

C:=pr (pr (b, 1), 4);

Writeln (c);

END.


Вариант №6

Что появится на экране?

Program prim;

Ответ:

4

5

Var a, b, c integer;

Function pr (x, y: integer):integer;

Begin pr:=(x*2+y) div 2 end;

BEGIN

A: =4; b: =2;

Writeln (pr (a, 1));

C: =pr (pr (2, b), 4);

Writeln (c);

END.


Вариант №7

Что появится на экране?

Program prim;

Ответ:

5

10

var a, b,c: integer;

function pr (x, y: integer): real;

Ответ:

5

9

begin pr: =(x+y)-1 end;

BEGIN

a:=4; b:=6;

writeln (pr (a,2));

c: =pr (pr (b, 2), 4);

writeln (c);

END.



Вариант №8

Что появится на экране?

program prim;

var a, b,c: integer;

Ответ:

3

5

function pr (x, y: integer): real;

begin pr: = (x+y) div 2 end;

BEGIN

a: = 4; b:= 6;

writeln (pr (a, 2));

c:=pr (pr (b, 6), 4);

writeln (c);

END.




Вариант №9

Что появится на экране?

program prim;

var a, b : integer;

c: real;

function pr(x, y: real): real;

begin pr: =(2*x+y)/2 end;

BEGIN

a: =4; b:= 4

writeln (pr (b, 2):1:0);

c:=pr(pr (b, 6), 4);

writeln (c:1:0);

END.


Вариант №10

Что появится на экране?

Program; prim;

Var a, b,c: integer;

c: real;

Ответ:

5

9

Ответ:

12

72

function pr( x, y: integer): integer;

begin pr: = (x+y)*2 end;

BEGIN

a:= 4; b: = 6;

writeln(pr(a, 2 ));

c: =pr(pr(b, 6 ), pr( 2, 4));

writeln( c));

END.


Вариант №11

Что появится на экране?

Program; prim;

Var a, b,c: integer;

function pr( x, y: integer): integer;

begin pr: = x+2*y end;

Ответ:

8

38

BEGIN

a:= 4; b: = 6;

writeln(pr(a, 2 ));

c: =pr(pr(b, 6 ), pr( 2, 4));

writeln( c));

END.



Вариант №12

Что появится на экране?

Program prim;

Ответ:

10

382

Var a, b,c: integer;

function pr(x, y: integer): integer;

begin pr: = x*y+2 end;

BEGIN

A: = 4; b: = 6;

writeln(pr(a, 2))

c: = pr(pr(b, 6), pr(2, 4));

writeln(c);

END.

Вариант №13

Что появится на экране?

Program prim;

Var a, b,c: integer;

Ответ:

6

10

Ответ:

8

16

function pr(x, y: integer): integer;

begin pr: = x+y+2 end;

BEGIN

A: = 4; b: = 2;

writeln(pr(a, b))

c: = pr(pr(b, 6), a);

writeln(c);

END.


Вариант №14

Что появится на экране?

Program prim;

Var a, b,c: integer;

c: real;

function pr(x, y: integer): integer;

begin pr: = x+y-1 end;

BEGIN

A: = 4; b: = 6;

writeln(pr(a, pr(2,2))

c: = pr(pr(b, 2), 4);

writeln(c);

END.


Вариант №15

Что появится на экране?

program prim;

Ответ:

4

8

var a, b,c: integer;

fanction pr(x, y: integer): integer;

begin pr: =(x+y)/2 end;

BEGIN

A: =4; b: =6;

Writeln(pr(a, 2));

C: =pr(pr(b, pr(3,2)),4);

Writeln(c);

END.



Вариант №16

Что появится на экране?

program prim;

var a, b,c: integer;

faction pr(x, y: integer): integer;

Ответ:

10

21

begin pr: =x+(y div 2) end;

BEGIN

A: =4; b: =6;

Writeln(pr(2,2)+pr(a,b));

C: =pr(b, 6)+12;

Writeln(c);

END.




Задания на оформление функций:

  1. Описать функцию, рассчитывающую определенный процент от числа.



  1. Описать функцию, рассчитывающую площадь прямоугольника.



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



  1. Описать функцию, рассчитывающую площадь треугольника по основанию и высоте (по формуле Герона).



  1. Описать функцию, рассчитывающую площадь треугольника по формуле Герона.



  1. Описать функцию, рассчитывающую гипотенузу по катетам.



  1. Описать функцию, определяющую какое количество пассажиров, весом 80 кг, может поднять лифт задаваемой грузоподъемности.



  1. Описать функцию, определяющую количество оставшихся карандашей после их расфасовки по 25 штук.



  1. Описать функцию, которая задает номер цвета 2 (зеленый), если число отрицательное и – 4 (красный), если число положительное.



  1. Описать функцию, выдающую 0 или 1 в зависимости от того, делится ли рассматриваемое целое число на 5 или нет (делится – 1, не делится – 0)


Функции с локальными переменными:

  1. Описать функцию, рассчитывающую произведение задаваемого количества натуральных чисел (1*2*3*4*…*N)

Разбор задания:

Function pr(x: integer): integer;

Локальные переменные, используемые в п/п, имена которых могут совпадать с именами переменных основной программы

var i, p: integer;

begin

p:=1;

for i:=1 to x do

p:=p*I;

pr:=p

end;

  1. Описать функцию, рассчитывающую сумму задаваемого количества натуральных чисел (1+2+3+4+…+N).


  1. Описать функцию, рассчитывающую среднее арифметическое задаваемого количества натуральных чисел.

-80%
Курсы повышения квалификации

Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50

Продолжительность 72 часа
Документ: Удостоверение о повышении квалификации
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Нестандартные функции в Паскале (32.11 КB)

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

Чтобы добавить комментарий зарегистрируйтесь или на сайт