Скачать презентацию ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ ЛЕКЦИЯ 3 Скачать презентацию ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ ЛЕКЦИЯ 3

Программирование на языке высокого уровня_Лекция_3.pptx

  • Количество слайдов: 51

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ. ЛЕКЦИЯ 3 ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ. ЛЕКЦИЯ 3

Методы • • • Подпрограмма, процедура, функция, метод. Объявление методов. Проектирование методов. Хорошие и Методы • • • Подпрограмма, процедура, функция, метод. Объявление методов. Проектирование методов. Хорошие и плохие названия. Видимость методов. Статистические методы. Передача параметров. Переменное число параметров. Перегрузка методов. Инкапсуляция данных и логики. Get и set. Рекурсия. 2

Подпрограмма • Имеет имя. • Может вызываться многократно из других частей программы. 3 Подпрограмма • Имеет имя. • Может вызываться многократно из других частей программы. 3

Выделение логически целостной подзадачи • Легко понимать • Легко поменять 4 Выделение логически целостной подзадачи • Легко понимать • Легко поменять 4

Подпрограммы • Процедуры • Функции 5 Подпрограммы • Процедуры • Функции 5

Функция • Значение • Побочный эффект 6 Функция • Значение • Побочный эффект 6

Функции • Math. Pow(x, y); • Console. Read. Line(); • Console. Write. Line(); 7 Функции • Math. Pow(x, y); • Console. Read. Line(); • Console. Write. Line(); 7

Процедуры int main { return 0; } 8 Процедуры int main { return 0; } 8

void main { } 9 void main { } 9

C# • Процедуры • Функции • Методы 10 C# • Процедуры • Функции • Методы 10

Методы class Program { static void Main(string[] args) { } } Внутри класса 11 Методы class Program { static void Main(string[] args) { } } Внутри класса 11

Объявление метода • • • public static double Sqrt (double x) { … Модификаторы Объявление метода • • • public static double Sqrt (double x) { … Модификаторы Тип результата Имя Параметры Тело 12

Проектирование метода • Четкое назначение • Одно действие • Минимальная связность 13 Проектирование метода • Четкое назначение • Одно действие • Минимальная связность 13

Имя • Глагол • Сделай! Хорошие примеры: -Напечатай таблицу! Print. Table(); -Построй дом! Build. Имя • Глагол • Сделай! Хорошие примеры: -Напечатай таблицу! Print. Table(); -Построй дом! Build. House(); Плохие примеры: -Вывод таблицы Table. Printing(); -Строительство Building(); 14

Тип результат • void • Любой тип данных -Console. Write. Line(); -Console. Read. Line(); Тип результат • void • Любой тип данных -Console. Write. Line(); -Console. Read. Line(); 15

Модификаторы • public • private • static 16 Модификаторы • public • private • static 16

Видимость методов 17 Видимость методов 17

Видимость методов по умолчанию private 18 Видимость методов по умолчанию private 18

Обычные и статические методы 19 Обычные и статические методы 19

return 20 return 20

Параметры • Фактические • Формальные 21 Параметры • Фактические • Формальные 21

Фактические параметры 22 Фактические параметры 22

Формальные параметры 23 Формальные параметры 23

Передача параметров через стек 24 Передача параметров через стек 24

Передача параметров через стек 25 Передача параметров через стек 25

Передача параметров через стек 26 Передача параметров через стек 26

Передача параметров через стек 27 Передача параметров через стек 27

Передача параметров по значению 28 Передача параметров по значению 28

Передача параметров по значению 29 Передача параметров по значению 29

Передача параметров по ссылке • ref • out 30 Передача параметров по ссылке • ref • out 30

ref 31 ref 31

out 32 out 32

out 33 out 33

Переменное число параметров 34 Переменное число параметров 34

Переменное число параметров 35 Переменное число параметров 35

Переменное число параметров 36 Переменное число параметров 36

Метод • • Пространство имен Имя класса Имя метода Параметры 37 Метод • • Пространство имен Имя класса Имя метода Параметры 37

Перегрузка методов пример Console. Write. Line 38 Перегрузка методов пример Console. Write. Line 38

Инкапсуляция Сокрытие данных Сокрытие логики Сокрытие сложности 39 Инкапсуляция Сокрытие данных Сокрытие логики Сокрытие сложности 39

get и set 40 get и set 40

Рекурсия Вызов функции самой себя 41 Рекурсия Вызов функции самой себя 41

Пример рекурсии 42 Пример рекурсии 42

Практическое упражнение Игра крестики-нолики 43 Практическое упражнение Игра крестики-нолики 43

Задачи • • • Показ игрового поля Прием команд пользователя Реализация игровой логики 44 Задачи • • • Показ игрового поля Прием команд пользователя Реализация игровой логики 44

Игра 45 Игра 45

Game. Field • • Записать символ Прочитать символ 46 Game. Field • • Записать символ Прочитать символ 46

Game. Engine • • • Запустить игру Ход компьютера Обработка хода пользователя Проверка окончания Game. Engine • • • Запустить игру Ход компьютера Обработка хода пользователя Проверка окончания игры Кто победитель? 47

Game. Output • • Показать игровое поле Показать исход игры 48 Game. Output • • Показать игровое поле Показать исход игры 48

Game. Input • Запрос команды 49 Game. Input • Запрос команды 49

Игровой цикл Пока пользователь не пожелает завершить игру или пока она не будет окончена: Игровой цикл Пока пользователь не пожелает завершить игру или пока она не будет окончена: -Показать поле -Выполнить ход компьютера -Если игра не окончена: -Показать поле -Запросить ход пользователя -Если пользователь не пожелал завершить игру: -Выполнить ход пользователя 50

Проблемы • • Определение победителя Ход компьютера Вывод игрового поля Игровой цикл 51 Проблемы • • Определение победителя Ход компьютера Вывод игрового поля Игровой цикл 51