Учимся вместе ::: Изучи программу ::: FAQs Turbo Pascal Выпуск 9

Вот и вышел наконец-то через несколько недель от даты релиза 9 выпуск FAQs! Многие спросят, что так долго? а отвечу: олимпиада по ИВТ помешала да и Red Alert3 в наши края залетел, так что необесутьде. Что же будет в этом выпуске? Глупый вопрос не правда ли?-) Итак в этой статье стоит передать привет Никлаусу Вирту. Он бы меня высек за такое отношение к языку, но с другой стороны и поблагодарил за воспитание будущего поколения IT. Итак долой прелюдии начнем сие действие.
Итак, во всех умных книжках сначала дают определение что же такое процедуры и функции. Итак:
Процедура - это подпрограмма, которую можно вызвать по имени для выполнения определенных в ней действий. В предыдущих статьях мы уже видели процедуры(Readln,Writeln,Break и т.д и .т.п). Если вы еще не въехали в определение понятия процедуры, то показываю два листинга.
Листинг 1:
uses crt;
begin
clrscr;
writeln('Hello, World!');
readkey;
end.
Здесь все понятно. Дальше юзаем процедуру:
uses crt;
procedure her;
begin
clrscr;
writeln('Hello, world!');
end;
begin
her;
readkey;
end.
Будете ржать, но Листинг1 и Листинг2 это одно и тоже. Как вы, надеюсь, поняли: всю прогу можно затолкать в процедуру и, сделав умный вид, запустить прогу.
Итак, стоит задаться вопросом: нафиг нужны процедуры?  Отвечаю: если есть процедуры или функции, то там уже пахнет ООП. А ООП - это с одной стороны большой геморрой, но с другой стороны - мощная прога. Итак в программе можно создать процедуру и вызывать ее по мере необходимости. Допустим, у вас есть прога: она что-то вычисляет. И в разных разветвлениях есть одинаковые строки вычисления. Чтобы не писать по десять раз одно и тоже, мы создаем процедуру и вызываем ее когда нужно. Ловко да? Я тоже так думаю. В последнее время я ничего кроме процедур и функций ничего не вижу в листингах и исходниках интересных прог. Итак, с теорией мы закончили. 
В процедуру можно затолкать еще процедуры. Вы наверное помните про локальные циклы и глобальные? Здесь подобный расклад. Смотрим листинг:
Листинг3:

uses crt;
procedure her;

procedure fuck;
begin
writeln('Это процедура fuck! Она локальная!');
end;

begin
writeln('Это процедура her! Она глобальная!');
fuck;
end;
begin
procedure her;
readkey;
end.
Итак вызываем процедуру her. А что там? А там еще одна процедура. Что получаем? правильно! 
Итак продолжим. Что такое функции? По тарабарски говоря это подобие процедур. Итак определение.
Функция - это подпрограмма, которая возвращает в точку вызова некоторое значение. Благодаря этому, функции в отличие от процедур можно использовать как составные частивыражений. В предыдущих статьях вы уже познакомились с функциями (SQR,SQRt,Random). Итак в чем отличие процедуры от функции? Смотрим листинг:
Листинг4:
uses crt;
function her:string;
var stroka:string;
begin
stroka:='Hello, world!';
her:=stroka;
end;
begin
clrscr;
s:=her;
writeln(s);
readkey;
end.
В принципе с функциями дело обстоит сложнее. Попытаюсь все объяснить. Итак, объявляем функцию. function her. Это поняно. Зачем пишем function her:string ? Затем, что это значение получит переменная s, которая тоже объявлена string. Далее в функции мы создаем переменную, она будет работать только в функции, нигде больше. Возвращаем функции нужное значение: her:=stroka; Далее в самой программе вызываем функцию. s:=her; Вот и все. Это была простая прога. 
Если я вам не говорил, то следует сказать следующие:
в процедуру и функцию можно вводить определенные переменные, благодаря которым они будут работать и производить вычисления. Сразу замечу: в процедуре и функции объявление переменных, констант и прочей живности - как в обычной проге. По завершении кода функции или процедуры всегда ставиться end;
В общем пока с процедурами и функциями достаточно. Позже мы к ним еще вернемся для углубленного изучения. Ждите нового выпуска (выйдет он скоро, честно!). В новом выпуске я дам большую библиотеку функций библиотеки CRT. 
75.97.110.101

<<< Предыдущая работа

Вернуться в галерею "Учимся вместе"
FAQs Turbo Pascal Выпуск 9
Автор: Kane*
Город: Якутск

Дата: 11.01.2009  08:30
Комментариев: 0
Просмотров: 2042
Оценка: 0 (0|0|0|0|0) [0]

Вернуться на главную
  Работа опубликована администратором Химера  
Вы не можете оценивать

КОММЕНТАРИИ К РАБОТЕ:
Нет комментариев