Все о Pascal
Главная
Вход
Регистрация
Суббота, 04.05.2024, 18:27Приветствую Вас, программист Гость | RSS
Меню сайта

Категории раздела
Уроки Pascal [36]
Мемы - "Типичный программист" [1]
Задачи [10]
Заработок в интернете [14]
Олимпиадные задчи [1]

Наш опрос
Оцените мой сайт
Всего ответов: 249

Статистика

Форма входа

Главная » Статьи » Уроки Pascal

Процедуры и функции.
Многие из вас, скорее всего решали задачи, которые требуют написания большого кода. Зачастую, когда что-то написано не так и вы начинаете отладку, лазить по большому коду неудобно. Поэтому легче разбить программу на отдельные подзадачи, из которых будет состоять решение одной задачи. Для этого на помощь приходят функции и процедуры. Функция, всегда должна ОБЯЗАТЕЛЬНО что-то возвращать. Будь то целое, дробное число или строка. Процедура тоже, должна возвращать значение в основную программу, но процедура вернув число в основную программу, забывает это число в отличии от функции. Процедуры и функции хороши тем, что их локальные переменные не занимают памяти в основной программе. И если процедура вернула какое-либо число, то его можно запомнить(будь то какая-либо переменная или название функции).
Процедура вызывается в программу, делает что-либо и возвращает память назад компьютеру.
Рассмотрим пример написания программы:
Сосчитать сумму двух чисел и вывести её на экран.
Напишем в виде функции и процедуры.

Сначала в верху программы, нужно обязательно описать ПОСТОЯННЫЕ ПЕРЕМЕННЫЕ(не константы, т.е. не локальные).
Но в данном случае, нам это не понадобится.
function symma:integer; { здесь мы описываем функцию и задаем её имя, под которым будем вызывать в основной программе, так же пишем тип возвращаемых данных }
var a,b:integer; { описываем переменные }
begin { начинаем работу функции }
writeln('Введите два числа'); 
readln(a,b);
writeln('Сумма двух чисел равна = ',a+b);
end; { конец функции }
begin  { начало основной программы }
symma; { вызов функции и указанным именем }
end.

Теперь напишем такую же программу в виде процедуры.
var ch1,ch2:integer; { описание глобальных переменных }
procedure symma(a,b:integer); { описание процедуры, в скобках указаны две переменные которые будут взяты из основной программ, а так же указан их тип }
begin
writeln('Сумма двух чисел = ',a+b);
end;
begin
writeln('Введите два числа');
readln(ch1,ch2); { читаем два числа }
symma(ch1,ch2); { вызываем процедуру }
end.

Теперь как же работала наша процедура, попав на строчку symma(ch1,ch2); переменной a было присвоено значение ch1, переменной b было присвоено значение ch2. 

Потренируйтесь писать небольшие функции и процедуры.
Например:
1. Отсортируйте введенный с клавиатуры одномерный массив. { процедурой и функцией }
2. Найдите максимум во введенном одномерном массиве. { процедурой и функцией }
3. Найдите НОК и НОД двух чисел. { процедурой и функцией }
4. Напишите рекурсивную процедуру поиска n-ого члена последовательности чисел Фибоначчи. { только процедурой }\
Pascal, Pascal, Pascal....
Кто решил пишем в комментарии.

Категория: Уроки Pascal | Добавил: yurabobr1 (25.12.2012)
Просмотров: 1445 | Комментарии: 9 | Теги: паскаль, function, функция, процедура, функции, массивы, pascal, процедуры, procedure | Рейтинг: 5.0/2
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2024