D3lphi Функция - подпрограмма, выполняющая какие-либо операции и возвращающая значение.
Процедура - подпрограмма, которая только выполняет операции, без возврата значения.
Метод - это функция или процедура, которая принадлежит классу или экземпляру класса. 
как бы да, но... только на самом начальном этапе, что бы угомонить хаос в голове новичка ))
в дальнейшем, все интереснее все эти понятия контекстно зависимые, контекстом является 
парадигма программирования и/или конкретный язык
1 - в контексте парадигм, из данных понятий уникально одно 
Метод, как уже было сказано 
D3lphi, это нечто принадлежащее классу. класс, в свою очередь, это фундаментальное понятие 
ООП основанного на классах (шарм ситуации в том, что ООП бывает тоже разное ;))
в этом случае чаще принято уточнять что метод - это один из 
видов челнов класса (бывают еще 
поля, 
свойства, 
интерфейсы но это уже контекст конкретного языка) .. и как верно заметил 
Griboks - он реализуется 
функцией или 
процедурой
но .. 
есть много языков, где понятия метод нет вообще
а еще есть 
функциональное программирование .. эта парадигма частично присутствует во многих современных языках, однако есть языки, где любой код только 
функция
2 - из контекста языков:
понятие 
процедура в явном виде, чаще всего употребляют преподаватели, которые сами учились на языках типа 
Fortran, 
Pascal или родственных, и либо не имели другого опыта вообще, либо иной опыт был на много скромнее
сейчас доминируют языки, основывающиеся на 
Си синтаксисе, даже java и js в данном вопросе станут родственниками классического Си
а в нем нет понятия 
процедуры, только 
функции.. а на случай, когда функция не обязана возвращать какую либо величину, просто указывается тип возвращаемого значения 
void
смешение всего этого на примере 
C# - в этом языке, все есть 
объект. а любой исполняемый код это 
метод, и методы реализуются только 
функциями (в тч 
void функциями)