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

Процедуры в Паскале

Файл содержит: 1. методику преподавания темы"Процедуры в Паскале" для учащихся школ гуманитарного профиля. 2. проверочные работы по теме
09.12.2012

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

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

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

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

Процедуры в Паскале

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

ПРЕДВАРИТЕЛЬНЫЕ ЗНАНИЯ:


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

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


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

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

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

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


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


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


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


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


ПРОЦЕДУРЫ

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

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


Формат процедуры:

Procedure имя ( , , ; var , , );

Список переменных (и их типов), требующихся для передачи выработанных процедурой значений

Список формальных параметров (игроков)

и их типов.



BEGIN

….

Тело процедуры

….

END;

! Поскольку процедура не возвращает значение, нельзя включать вызов процедуры в выражение или в оператор WRITE


Сравнительное описание функции и процедуры:


Function pr(a, b:integer): integer;

Begin

Результат работы функции –

одно значение

Pr:=a+b

End;

Procedure pr(a, b:integer; var c, d, x, y: integer);

Begin

Из этих переменных можно будет «забирать» и использовать полученные значения

C:=a+b;

D:=a-b;

X:=a*b;

Y:=a div b

End;


Примеры (для работы на компьютере с разбором)


  1. Процедура без параметров

Описать процедуру, выводящую на экран сообщение: «Внимание!». (В рабочих программах этим сообщением может быть объемная инструкция)


Procedure pr ;

Begin

Writeln ('Внимание!')

End;

Вызов процедуры:

…;

…;

На экране появится сообщение «Внимание!»

Pr;




  1. Процедура с одним параметром

Описать процедуру, выводящую на экран сообщение: «Внимание!» «заказанным» при вызове цветом

Procedure pr (a:integer) ;

Begin

Textcolor (a);

Writeln ('Внимание!')

End;

Вызов процедуры:

На экран выводится сообщение красным цветом (номер цвета может находиться в переменной)


Pr(4);

В:=6;

Pr(B);…



  1. Процедура с несколькими входными параметрами

Описать процедуру, выводящую на экран сообщение «Внимание!» «заказанным» цветом в «заказанной» позиции экрана.

Procedure pr (a,b,c:integer) ;

Begin

Textcolor (a);

Gotoxy(b,c);

Writeln ('Внимание!')

End;

Вызов процедуры:

На экран выводится сообщение красным цветом в 20 позиции на 10 строчке


Pr(4,20,10);



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

Описать процедуру, выводящую на экран сообщение «Внимание!» «заказанным» цветом в «заказанной» позиции и производящую расчет трех значений.


Procedure pr (a, b, c:integer;var x, y, z: integer) ;

Begin

X:=a*b;

Y:=a*8+b*b;

Z:=a-b;

Textcolor(c);

Writeln ('Внимание!')

End;

Вызов процедуры:

Pr(4, 8, 3; k, l, m);

Z:=m+k;

На экран выведется надпись цветом
№ 3, в переменные k, l, m будут записаны выработанные значения, которые можно будет использовать в дальнейшей работе.




Задания для самостоятельной работы:


  1. Описать процедуру, которая выводит на экран изображение стрелки () в заданной позиции;

  2. Описать процедуру, которая помещает в центр экрана сообщение «STOP!» и, после паузы, удаляет его;

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

  4. Описать процедуру, рассчитывающую площадь и объем куба;

  5. Описать процедуру, которая вычисляет сумму двух чисел и выводит эту сумму на экран;

  6. Описать процедуру, которая переводит рубли в доллары и евро.


Варианты проверочной работы:

(В некоторых вариантах не используется одна из переменных основной программы)



Вар. 1 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x,y:integer; var z : integer );

begin

Ответ:

2

6

Ответ:


82

Ответ:

6

10

writeln (x+y);

z:=x+y*2

end;

BEGIN

m:=4;

a (2,m,n);

writeln(n)

END.


Вар. 2 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x:integer);

begin

write (2*x);

end;

BEGIN

m:=2;

a (4);

writeln (m)

END.


Вар. 3 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x,y:integer; var z : integer );

begin

writeln (x);

z:=x+y

end;

BEGIN

a (2,4,n);

writeln(n)

END


Вар. 4 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x:integer; var y,z: integer );

begin

Ответ:


15

y:=2*x;

z:=3*x

end;

BEGIN

a (3,m,n);

writeln(m+n)

END.


Вар. 5 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x,y:integer);

Begin

writeln(x+y)

Ответ:

6

24

end;

BEGIN

m:=2;

n:=4;

a(m,n);

writeln(m,n)

END.


Вар. 6 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x:integer; var y: integer);

begin

Ответ:

x

6

Ответ:

2*x

6

y:=2*x;

writeln('2*x')


end;

BEGIN

m:=3;

a(m,n);

writeln(n)

END.


Вар. 7 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x:integer; var y: integer);

begin

y:=2+x;

writeln('x')


end;

BEGIN

a(4,m);

writeln(m)

END.


Вар. 8 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x:integer; var y: integer);

begin

Ответ:

6

x

Ответ:

9

3

Ответ:

3

3

y:=2*x;

writeln(x)


end;

BEGIN

m:=3;

a(m,n);

writeln(m)

END.

Вар. 9 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x,y:integer);

begin

writeln(x+y);

Ответ:

6

x

Ответ:

9

3

writeln(x)

end;

BEGIN

m:=3;

n:=4;

a(m,n)

END.


Вар. 10 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x,y:integer);

begin

writeln(x+y);

writeln('x')

end;

BEGIN

m:=2;

n:=4;

a(m,4)

END.


Вар. 11 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x:integer; var y: integer);

begin

y:=2*x;

Ответ:

8

4

Ответ:

4

8

Ответ:

4

8

writeln(x)


end;

BEGIN

a(4,m);

writeln(m)

END.


Вар. 12 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x,y:integer);

begin

writeln(x);

writeln(x+y)

end;

BEGIN

m:=4;

a(m,4)

END.


Вар. 13 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x:integer; var y: integer );

begin

y:=x;

writeln (2*x);

end;

BEGIN

m:=4;

a (m,n);

writeln(n)

END.


Вар. 14 Что будет напечатано на экране в результате выполнения программы:

Program prim;

Var m,n:integer;

Procedure a(x,y:integer);

begin

Ответ:

8

4

Ответ:

x

4

writeln ('x');

writeln (y);

end;

BEGIN

m:=4;

a (m,4);

END.




Пример процедуры, использующей локальные переменные:


Процедура, выводящая на экран «цепочку» из тире «заказанного» количества звеньев:


  1. Описание процедуры:

procedure pr(a:integer);

var i: integer; {i локальная переменная}

begin

for i:=1 to a do

write ('')

end;



  1. Вызов процедуры в программе:

For i:=1 to 5 do {i – переменная из основной программы}

begin

pr(i);

writeln

end;

  1. Результат выполнения фрагмента:

– –

– – –

– – – –

– – – – –



-80%
Курсы дополнительного образования

Создание динамических веб-страниц с помощью PHP и MySQL

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

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

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

veterlg, 14.01.2013 22:25
Спасибо! Замечательное объяснение процедур и функций! Доступно и понятно.