10АБ(2): 8 февраля (актировка), урок №2

 

10АБ(2): 8 февраля (актировка), урок №2


Процедуры пользователя
Если в программе возникает необходимость частого обращения к некоторой группе операторов, то рационально сгруппировать такую группу операторов в самостоятельный блок, к которому можно обращаться, указывая его имя. Такие разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя. Они являются основой модульного программирования. Разбивая задачу на части и оформляя логически обособленные модули в виде процедур и функций, программист реализует основные принципы широко используемого в практике системного подхода и методов нисходящего программирования.При вызове подпрограммы (процедуры или функции), определенной программистом, работа главной программы на некоторое время приостанавливается и начинает выполняться вызванная подпрограмма. Она обрабатывает данные, переданные ей из главной программы. По завершении выполнения подпрограмма-функция возвращает главной программе результат (подпрограмма-процедура не возвращает явно результирующего значения). Передача данных из главной программы в подпрограмму и возврат результата выполнения функции осуществляются с помощью параметров. Параметром называется переменная, которой присваивается некоторое значение в рамках указанного применения. Различают формальные параметры – параметры, определенные в заголовке подпрограммы, и фактические параметры – выражения, задающие конкретные значения при обращении к подпрограмме. При обращении к подпрограмме ее формальные параметры замещаются фактическими, переданными из главной программы.
Процедуры
Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова procedure, идентификатора (имени) процедуры и необязательного, заключенного в круглые скобки, списка формальных параметров с указанием типа каждого параметра. Имя процедуры – идентификатор, уникальный в пределах программы. Тело процедуры представляет собой локальный блок, по структуре аналогичный программе.Описания меток, констант, типов и т.д. действительны только в пределах данной процедуры. В теле процедуры можно использовать любые глобальные константы и переменные.
Пример программы с использованием процедуры с изменяемыми параметрами:
program Exchange;
var x, y: integer; 
procedure SortVoz(var a, b: integer); 
  var c: integer; 
begin 
  If a>b Then  
    begin   
     c:= a;  
     a:= b;  
     b:= c;  
    end;
end;  
begin 
  x:= 5; y:= 3; 
  SortVoz(x, y);  
  write(x, ' ', y); 
end.

Задание для самостоятельного выполнения на тему "Процедуры с изменяемыми параметрами".
«3»: Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания.  
Пример:
Введите три натуральных числа: 10 15 5
5 10 15
«4»: Напишите процедуру, которая сокращает дробь вида M/N. Числитель и знаменатель дроби передаются как изменяемые параметры.
Пример:
Введите числитель и знаменатель дроби: 25 15
После сокращения: 5/3
«5»: Напишите процедуру, которая вычисляет наибольший общий делитель и наименьшее общее кратное двух натуральных чисел и возвращает их через изменяемые параметры.
Пример:
Введите два натуральных числа: 10 15
НОД(10,15)=5
НОК(10,15)=30 
Ваши результаты в виде файлов Proc2_Фамилия_Класс_Группа_Уровень.pas и Proc2_Фамилия_Класс_Группа _Уровень .exe добавляем к комментариям. Где:
  • Фамилия - фамилия автора работы,
  • Класс - класс с литерой,
  • Группа - номер группы,
  • Уровень - уровень задачи (3, 4 или 5),
Пример имен файлов: Proc2_Ivanov_10А_1_4.pas и Proc2_Ivanov_10А_1_4.exe

Ваши помощники:
Учебник: «Информатика (2 часть), 10 класс», К.Ю. Поляков, Е.А. Еремин, параграф 59, стр. 144-149
Презентация: Процедуры_и_функции.ppt, автор К. Ю. Поляков (файл добавлен к сообщению)
сайт: http://www.maksakov-sa.ru/Pascal/ProcedFunctioPascal/index.html
видео: Уроки на языке Pascal. Урок 16. Процедуры и функции.
Файлы:

' }), node.firstChild); }, clearError : function() { BX('err_comment_'+this.id[1]).innerHTML = ""; }, }; window.convertFormToArray = function(form, data) { data = (!!data ? data : []); if(!!form){ var i, _data = [], n = form.elements.length; for(i=0; i
Добавить комментарий
Мне нравится0
Rinat
08.02.2017 11:47:28
ДЗ
Гайфуллин Ринат 10 А
Ответить Ссылка Мне нравится0
Мне нравится0
Kuchkildina
08.02.2017 13:19:02
Процедуры
.
Ответить Ссылка Мне нравится0
Мне нравится0
проба
08.02.2017 19:44:07
Коробейникова_10А
Домашняя работа
Ответить Ссылка Мне нравится0

....