
Программирование на языке высокого уровня_Лекция_3.pptx
- Количество слайдов: 51
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ. ЛЕКЦИЯ 3
Методы • • • Подпрограмма, процедура, функция, метод. Объявление методов. Проектирование методов. Хорошие и плохие названия. Видимость методов. Статистические методы. Передача параметров. Переменное число параметров. Перегрузка методов. Инкапсуляция данных и логики. Get и set. Рекурсия. 2
Подпрограмма • Имеет имя. • Может вызываться многократно из других частей программы. 3
Выделение логически целостной подзадачи • Легко понимать • Легко поменять 4
Подпрограммы • Процедуры • Функции 5
Функция • Значение • Побочный эффект 6
Функции • Math. Pow(x, y); • Console. Read. Line(); • Console. Write. Line(); 7
Процедуры int main { return 0; } 8
void main { } 9
C# • Процедуры • Функции • Методы 10
Методы class Program { static void Main(string[] args) { } } Внутри класса 11
Объявление метода • • • public static double Sqrt (double x) { … Модификаторы Тип результата Имя Параметры Тело 12
Проектирование метода • Четкое назначение • Одно действие • Минимальная связность 13
Имя • Глагол • Сделай! Хорошие примеры: -Напечатай таблицу! Print. Table(); -Построй дом! Build. House(); Плохие примеры: -Вывод таблицы Table. Printing(); -Строительство Building(); 14
Тип результат • void • Любой тип данных -Console. Write. Line(); -Console. Read. Line(); 15
Модификаторы • public • private • static 16
Видимость методов 17
Видимость методов по умолчанию private 18
Обычные и статические методы 19
return 20
Параметры • Фактические • Формальные 21
Фактические параметры 22
Формальные параметры 23
Передача параметров через стек 24
Передача параметров через стек 25
Передача параметров через стек 26
Передача параметров через стек 27
Передача параметров по значению 28
Передача параметров по значению 29
Передача параметров по ссылке • ref • out 30
ref 31
out 32
out 33
Переменное число параметров 34
Переменное число параметров 35
Переменное число параметров 36
Метод • • Пространство имен Имя класса Имя метода Параметры 37
Перегрузка методов пример Console. Write. Line 38
Инкапсуляция Сокрытие данных Сокрытие логики Сокрытие сложности 39
get и set 40
Рекурсия Вызов функции самой себя 41
Пример рекурсии 42
Практическое упражнение Игра крестики-нолики 43
Задачи • • • Показ игрового поля Прием команд пользователя Реализация игровой логики 44
Игра 45
Game. Field • • Записать символ Прочитать символ 46
Game. Engine • • • Запустить игру Ход компьютера Обработка хода пользователя Проверка окончания игры Кто победитель? 47
Game. Output • • Показать игровое поле Показать исход игры 48
Game. Input • Запрос команды 49
Игровой цикл Пока пользователь не пожелает завершить игру или пока она не будет окончена: -Показать поле -Выполнить ход компьютера -Если игра не окончена: -Показать поле -Запросить ход пользователя -Если пользователь не пожелал завершить игру: -Выполнить ход пользователя 50
Проблемы • • Определение победителя Ход компьютера Вывод игрового поля Игровой цикл 51