При составлении программ для решения задач часто приходится в различных местах программы выполнять одну и ту же последовательность операторов, причем обычно с разными значениями переменных. В общем случае иногда говорят о четвертом типе алгоритма — вспомогательном.
Однако, мне такое выделение еще одного типа алгоритма кажется неверным, т.к. вспомогательный алгоритм
не обладает какой-либо особенной структурой, а может представлять собой либо «чистый» алгоритм любой из уже знакомых вам структур — линейный, разветвляющийся или циклический, — либо смесь из этих типов. Отличие же состоит в том, что какая-то часть общего большого алгоритма встречается достаточно часто, и имеет смысл выделить эту часть в отдельный блок, дав ему собственное имя, а затем вызывая его по этому имени в тех местах общего алгоритма, где это необходимо.
В этом случае указанную последовательность операторов следует оформить в виде подпрограммы.
Под подпрограммой принято понимать выделенный в самостоятельную единицу участок программы (внутри этого же исходного файла), имеющий собственное имя, которое позволяет вызывать подпрограмму из основной программы.
Подпрограммы в языке Pascal
Подпрограммы аналогичны программам в миниатюре. Применение подпрограмм дает возможность уменьшить число повторений одной и той же последовательности операторов, а также конструировать программу как набор отдельных подпрограмм.
В языке программирования Pascal определены два вида подпрограмм — процедуры и функции.
В программе описание процедур и функций должно располагаться между разделами описания переменных и основной программой. Каждая процедура или функция определяется только один раз, но может использоваться (вызываться) многократно.
Структура процедур и функций аналогична структуре полной программы на языке Паскаль.
2. Раздел описаний.
3. Тело подпрограммы.
В процедурах и функциях могут быть описаны собственные метки, константы, типы, собственные переменные и даже собственные процедуры и функции. Внутреннее описание должно следовать в том же порядке, что и разделы основной программы.
Рассмотрим оба вида подпрограмм.
+ Процедурой в Турбо Паскале называется особым образом оформленный фрагмент программы, имеющий собственное имя. + Упоминание этого имени в тексте программы приводит к активизации процедуры с таким же именем и называется вызовом процедуры.
Для обмена информацией между процедурой и основ
ной программой используются один или несколько пара
метров. >
Общий вид процедуры:
Результат выполнения процедуры — одно или несколько значений. Он передается в основную Программу как значение ее параметров.
! При вызове процедуры ее формальные параметры заменяются фактическими в порядке их следования. + Фактические параметры — это параметры, которые
передаются процедуре при обращении к ней. + Формальные параметры — это переменные, фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия.! Число и тип формальных и фактических параметров должны совпадать с точностью до их следования.
Паскаль для новичков 10-3 — подпрограммы: функции.
Формальные параметры процедуры делятся на параметры-переменные и параметры-значения. + Параметры-переменные — это те формальные параметры, перед которыми в описании формальных параметров ставится слово Var. И если в процессе работы процедуры их значение изменяется, то и изменяется значение этих переменных в основной программе.
Если формальный параметр описан как параметр-переменная, то при вызове процедуры ему должен соответствовать фактический параметр в виде переменной нужного типа.
+ Параметры-значения — перед ними в описании формальных параметров не ставится служебное слово Var. И в процедуре работают только значения этих параметров. В основной программе после выхода из процедуры их значения не изменяются, т.е. остаются теми же, которые были до начала работы процедуры. Если формальный параметр описан как параметр-значение, то при вызове процедуры ему может соответствовать произвольное выражение того же типа.
В программе различают глобальные и локальные переменные.
+ Глобальные переменные — это те переменные, которые объявлены в описании основной части. Глобальные переменные доступны как в основной программе, так и во всех ее подпрограммах. + Локальные переменные — это те переменные, которые объявлены в процедурах и функциях. Они существуют только тогда, когда работает подпрограмма. Локальные переменные доступны (определены и сохраняют свои значения) только внутри той подпрограммы, в которой они описаны.
Пример.
Написать программу, которая упорядочивает значение трех чисел следующим образом: а£ Ыс. Решение.
1. Составим процедуру maxmin(x, y), которая в переменную х помещает большее из значений х и у, а в переменную у меньшее.
2. В основной программе вызовем эту процедуру сначала от переменных с и Ъ, затем от переменных а и Ъ.
Program vip;
var a, b, c: real;
procedure maxmin(var x, y: real);
var z: real;
Begin
if y> x then begin
end; End;
Begin
Writeln(‘ Введите три произвольных вещественных числа’);
Readln(a, b, c);
write(‘a= , , a: 8: 2> , b= , , b: 8: 2, ‘c= , > c: 8: 2);
readln End. Попробуйте самостоятельно ответить на вопросы.
• Какие из параметров процедуры minmax являются локальными?
• Назовите, какие параметры являются формальными и фактическими?
• Почему параметры х и у объявлены параметрами-переменными?
• Допустимы ли следующие обращения: maxmin(5.2, sin(z))
maxmin(z, k), где к — integer, z — real?
• Что необходимо изменить в программе для того, чтобы
упорядочить переменные а, Ь и с следующим образом:
а< Ь< с!
+ Функцией в Турбо Паскале называется особым образом оформленный фрагмент программы, имеющий собственное имя. Результат работы функции возвращается в виде значения этой функции. Структура функции:
Функцию можно использовать в качестве фактического параметра при обращении к другой функции или процедуре.
! В теле любой функции нужно осуществить присваивание ей вычисленного значения. В левой части оператора присваивания в этом случае указывается имя функции.
![]() |
Пример.
Составить программу расчета значения выражения: у = 2х 6 + Зх 4 + 5х 2 + 1, написав функцию возведения вещественного числа х в степень п (n: integer) Решение: Program Ex1; Var x, y: real;
function step(x: real; n: integer): real; var i, k: integer; Begin k: =0; у: =1;
if n=0 then step: =1 else begin
for i: =1 to n do y: =y*x; if k=1 then step: =1/y else step: =y; л end; end; Begin
л/гКе(‘Введите х’); Readln(x);
y: =2*step(x, 6)+3*step(x, -4)+5*sqr(x)+1; write(‘y=’.y: 8: 2); read In end.
Так же как и в случае с процедурами, различают формальные и фактические параметры функции.
Число и тип формальных и фактических параметров должны совпадать с точностью до их следования.
Тип формального параметра может быть только стандартным или ранее объявленным в разделе описания типов.
![]() |
Контрольные вопросы
1. Под подпрограммой принято понимать.
а) выделенный в самостоятельную единицу участок про
граммы, позволяющий вызывать подпрограмму из основ
ной программы;
б) выделенный участок программы, имеющий собствен
ное имя;
в) выделенный в самостоятельную единицу участок про
граммы (внутри этого же исходного файла), имеющий
собственное имя, которое позволяет вызывать подпрограм
му из основной программы.
Укажите правильный вариант ответа
2. В ЯП Паскаль используется два вида подпрограмм:
процедуры и функции.
Верно ли данное высказывание?
3. В заголовке подпрограммы при ее описании указы
вается список формальных параметров, которые при вы
зове этой подпрограммы в основной программе замеща
ются на:
Укажите правильный вариант ответа.
4. Даны заголовки подпрограмм:
б) procedure fg(a, b, c: real): real;
в) function f(x: real): boolean;
г) procedure gg(a, b: real);
д) function g(b: integer);
Укажите варианты неверных (ошибочных) заголовков подпрограмм, если таковые имеются.
5. При обращении к подпрограмме количество формаль
ных и фактических параметров должно совпадать.
Верно ли данное высказывание?
6. При обращении к подпрограмме порядок следова
ния формальных и фактических параметров должен со
впадать.
Верно ли данное высказывание?
7. При обращении к подпрограмме имена формальных
и фактических параметров должен совпадать.
Верно ли данное высказывание?
8. При обращении к подпрограмме типы формальных
и фактических параметров должен совпадать.
Верно ли данное высказывание?
9. Пусть в разделе описаний описана функция:
function F(x: integer): real;
А также описаны некоторые переменные:
Ниже приведены примеры вызова этой функции в основной программе:
Укажите вариант верного примера, если таковой имеется.
![]() |
10. Переменные, описанные в основной программе, яв
ляются по отношению к внутренним процедурам и функ
циям.
11. Переменные, описанные внутри процедур и функ
ций, являются по отношению к внутренним процедурам
и функциям.
Ответы_____________________________ _^
1. Правильный ответ — в.
2. Правильный ответ — ДА.
3. Правильный ответ — б.
4. Правильный ответ — б, д.
5. Правильный ответ — ДА
6. Правильный ответ — ДА
7. Правильный ответ — НЕТ
8. Правильный ответ — ДА
9. Правильный ответ — в.
10. Правильный ответ — в.
11. Правильный ответ — а.
Задания и упражнения
Выдать таблицу квадратов чисел X из заданного диапазона [А? В] с некоторым шагом h.
Входные данные:
X — переменная, принимающая значения из диапазона [А? В].
А — начало диапазона [А? В].
В — конец диапазона [А? В].
h — шаг, с которым происходит изменение значения переменной X.
Выходные данные:
Таблица квадратов чисел X.
1 Процедуру line можно усовершенствовать, сделав ее более гибкой, чтобы можно было выводить произвольное число некоторого (любого) символа. Для этого нужно в описание процедуры внести список параметров. Procedure line (hinteger; c: char); Var i: integer;
for i: =1 to I do
writeln; End; • Кроме того, в программу можно также внести и функцию расчета квадратов (в виде подпрограммы), описание которой будет иметь вид: function Y(x: real): real; begin Y: =x*x; end.
Источник: lektsia.com
Презентация Понятие подпрограмм. Подпрограммы в языке Паскаль
Вы можете ознакомиться и скачать презентацию на тему Понятие подпрограмм. Подпрограммы в языке Паскаль. Доклад-сообщение содержит 14 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.
Слайды и текст этой презентации
Слайд 1
Описание слайда:
Понятие подпрограмм. Подпрограммы в языке Паскаль.
Слайд 2
Описание слайда:
Повторение материала Какова структура программы? Обязателен ли заголовок программы? Перечислите разделы описаний Какие служебные слова служат для описания переменных? Какое служебное слово является началом основной части программы? Как заканчивается программа?
Слайд 3
Описание слайда:
Слайд 4
Описание слайда:
Ключворд — ответ
Слайд 5
Описание слайда:
Подпрограмма – повторяющая группа операторов, оформленная в виде самостоятельной программной единицы. В языке Pascal механизм подпрограмм реализуется в виде ПРОЦЕДУР (PROCEDURE) и ФУНКЦИЙ (FUNCTION)
Слайд 6
Описание слайда:
Подпрограмма — процедура Описание: выбрать для неё имя. определить параметры. составить последовательность действий, которые надо выполнять, для получения результата. Обращение: вызов выполнения указанных действий, для конкретных значений параметров.
Слайд 7
Описание слайда:
Параметры Параметры
Слайд 8
Описание слайда:
Параметры Глобальные – описываются в головном модуле, доступны любой подпрограмме. Локальные – используются только в процедуре, они могут быть или не быть, описываются после слова VAR, с указанием типа.
Слайд 9
Описание слайда:
Параметры Формальные – описываются в заголовке процедуры, к ним относятся входные и выходные параметры. Входные – это и параметры значений, описываются через запятую с указанием типа. При выходе из процедуры – не сохраняются. Выходные – это и параметры переменные, описываются после VAR через запятую, с указанием типа. При выходе из процедуры – сохраняются.
Фактические – располагаются в головном модуле при вызове процедуры.
Слайд 10
Описание слайда:
Формальные и фактические параметры должны совпадать Формальные и фактические параметры должны совпадать по 3 признакам: по количеству по типу по порядку следования
Слайд 11
Описание слайда:
Общий вид структуры подпрограммы Рrосеdиrе <имя>(формальные параметры); VAR (описание локальных параметров, они могут быть или не быть) begin тело процедуры end; (конец процедуры) BEGIN (головного модуля) Фактические параметры END.
Источник: mypresentation.ru
Разработка урока в 10 классе по теме: «Подпрограммы в языке Паскаль»
план-конспект урока по информатике и икт (10 класс) по теме
Урок разработан для учащихся 10 класса, изучающих информатику на профильном уровне. Цель урока: дать учащимся представление о подпрограммах и возможностях их использования. Показать на примерах механизм реализации подпрограмм с помощью процедур. На уроке осуществляются устный опрос и самостоятельная работа – заполнение Ключворда, присутствует лекционный материал, проводится практическая работа в среде языка программирования Паскаль. Учащиеся получают представление о подпрограмме – процедура, параметрах, применение процедуры при решении задач.
Скачать:
![]() |
43.4 КБ |
Предварительный просмотр:
Учитель информатики и ИКТ первой квалификационной категории МОУ Лицей № 15 Заводского района г. Саратова – Канаева Галина Васильевна.
ПРЕДМЕТ Информатика и ИКТ
ТЕМА: «Подпрограммы в языке Паскаль»
ЦЕЛЬ УРОКА: Дать учащимся представление о подпрограммах и возможностях их использования. Показать на примерах механизм реализации подпрограмм с помощью процедур.
Использовать специальные термины при ответе на вопросы
Формировать умение применять полученные знания в процессе создания и отладки программ
Развивать внимание, наблюдательность, память, логическое мышление
Развивать умение анализировать и систематизировать необходимый для работы материал
Развивать навыки принимать решения самостоятельно
Соблюдать правила техники безопасности в кабинете информатики
Воспитывать культуру поведения, иметь свой взгляд на способ решения поставленной задачи, уметь выслушивать противоположную точку зрения
I . Повторение материала.
II . Изучение нового материала.
III . Итог урока.
IV . Домашнее задание.
- Повторение материала.
- Какова структура программы?
- Обязателен ли заголовок программы?
- Перечислите разделы описаний
- Как ие служебные слова служат для описания переменных ?
- Какое служебное слово является началом основной части программы?
- Как зак анчивается программа ?
PROGRAM ИМЯ; (можно не писать)
4. PROCEDURE , FUNCTION
А сейчас будем разгадывать КЛЮЧВОД, заполняя его – повторим операторы, служебные слов а языка Паскаль
Воспользовавшись буквами – подсказками восстановите кроссворд.
Ключевое слово PROCEDURE
II . Изучение нового материала.
При создании программы для решения сложной задачи пр о граммисты выполняют разделение этой задачи на подзадачи, по д задачи — на еще меньшие подзадачи и так далее, до легко програ м мируемых элементарных задач. Со временем у каждого программиста через некоторое время появляется большой набор собственных заготовок, неординарных решений и т. д., которые он хотел бы использовать во всех своих творениях.
Язык программирования Pascal позволяет ра з делять программу на отдельные части, которые называются по д программами. Сам термин подпрограмма говорит о том, что она подобна и подчинена основной программе. Подпрограммы решают три важные задачи, значительно облегчающие программирование:
- избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты, т. е. сократить объем пр о граммы;
- улучшают структуру программы, облегчая понимание при разборе;
- уменьшают вероятность появления ошибок, повышают ус тойчивость к ошибкам программирования и непредвиденным п о следствиям при модификации.
Таким образом, подпрограмма — это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих ме с тах программы обеспечивается лишь обращение к ней по имени.
О бщие принципы выделения подпрограмм:
— если в программе необходимо переписывать одни и те же последовательности команд, то стоит эту последовательность к о манд оформить в виде подпрограммы;
- слишком длинную программу полезно разбить на составные части — подобно тому, как книгу разбивают на главы. При этом о с новная программа становится похожей на оглавление;
- при решении задачи могут возникать слишком сложные по д задачи. Целесообразней отладить их отдельно в небольших пр о граммах. Добавление этих программ в основную задачу будет ле г ким, если они оформлены как подпрограммы;
- все, что вы сделали хорошо в одной программе, вам захоче т ся перенести в новые программы.
В язык е Pascal механизм подпрограмм реал и зуется в виде ПРОЦЕДУР ( PRO CEDURE ) и ФУНКЦИЙ ( FUNCTION ) , которые вводятся в пр о грамму с помощью своего описания, но их структура такая же, как и структура программы. Они различаются назначением и способом их использования.
Процедуры предназначены для выполнения некоторой посл е довательности действий.
Чтобы использовать подпрограмму – процедуру её надо описать и к ней надо уметь обращаться.
- выбрать для неё имя.
- определить параметры.
- составить последовательность действий, которые надо выполнять, для получения результата.
О бращение : вызов выполнения указанных действий, для конкретных значений параметров.
Параметры бывают следующих видов:
I . Глобальные – параметры описываются в головном модуле, доступны любой подпрограмме.
I . Локальные – используются только в процедуре, они могут быть или не быть, описываются после слова VAR , с указанием типа.
II . Формальные – описываются в заголовке процедуры, к ним относятся входные и выходные параметры.
III . Входные – это и IV . параметры – значени й описываются через запятую с указанием типа. При выходе из процедуры не сохраняются.
III . Выходные – это и IV . параметры – переменные описываются после слова VAR через запятую, с указанием типа, при выходе из процедуры сохраняются.
Эти параметры описываются в круглых скобках после имени процедуры
II . Фактические – в головном модуле при вызове процедуры.
При вызове (обращении) формальные параметры заменяются на фактические.
Формальные и фактические должны совпадать по 3 –ём признакам:
- по количеству
- по типу
- по порядку следования.
Любая п роцедура начинается с заголовка, который является ее обязательной частью (в отличие от заголовка программы). Он состоит из служебного слова Procedure , за которым следует имя процедуры, а в круглых ско б ках — список формальных параметров. После заголовка могут идти те же разделы, что и в программе. Таким образом, общий вид будет следующим:
Р r осеd иге (формальные парамет ры) ;
VAR (описание локальных параметров, они могут быть или не быть)
end; (конец процедуры)
BEGIN (головного модуля)
Используя подпрограмму – процедуру рассмотрим несколько задач
1. Составить программу сложения 2-х чисел, значения ввод ятся с клавиатуры.
uses crt ; ( глобальные ) ( формальные )
procedure summa ( x,y:real ; var s:real);
begin ( параметры – переменные, выходные, при выходе с охраняются )
s := x + y ; (параметры – значений , входные , при выходе не сохраняются)
writeln ( ‘ bbed ite 2 chisla ‘);read( a,b );
2 . Составить программу нахождения максимального из четырёх чисел, вводимых с клавиатуры.
procedure maxim ( x,y : real; var s:real);
writeln ( ‘ bbedite 4 chisla ‘); readln ( a,b ,c,d );
В переменную S заносим большее из двух чисел А и В.
В переменную S заносим большее из двух чисел С и S .
В переменную S заносим большее из двух чисел D и S .
Произвести отладку на компьютере.
- Итак, мы познакомились с новым понятиям: подпрограмма, процедура. Узнали, какие параметры необходимо для работы с процедурами. Структуру процедуры. Описание.
- Треугольник задан координатами вершин, вычислить периметр, площадь. Вычисление длин сторон оформить с помощью процедуры.
- чтобы подсчитать длину одной стороны необходимо 4 числа
X2,Y2 X1,Y1,X2,Y2,X3,Y3 – входные параметры
A,B,C – промежуточные параметры
A B P,S – выходные периметр, площадь
- формула для подсчёта длины:
Какая функция в Паскале означает корень квадратный? – SQRT
означает возведение в квадрат – SQR
- периметр находим по формуле Р= A+B+C
- формула для нахождения площади:
- сколько раз будем обращаться к процедуре? – 3 раза
По теме: методические разработки, презентации и конспекты
Разработка уроков 7 класс по теме «Обработка оборок»
В данном материале 4 разработанных урока 7 класса по теме «Обработка оборок: Отделка швейных изделий. Виды отделки. Обработка отлетного среза оборки швом вподгибку двойной строчкой. Вт.
Методическая разработка урока 5 класс по теме «У врача»
Данная разработка может быть использована при прохождении темы » У врача» в 5 классе при любом УМК.
разработка урока 6 класса по теме Radio and Television
разработка урока 6 класса по теме Radio and Televisio.
Разработка урока 5 класс по теме «Среднее арифметическое»
Цель урока: Организация деятельности учащихся на закрепление и применения понятия среднего арифметического.
Разработка урока 5 класс по теме «Среднее арифметическое»
Разработка урока «Среднее арифметическое», 5 класс (ФГОС).
Презентация на тему «Подпрограммы в языке Паскаль»
Презентация на тему «Подпрограммы в языке Паскаль» можно использовать для изучения материала в 9 классе на два урока.