Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, базовый уровень)



Урок 23
Процедуры и функции
§59. Процедуры. §60. Функции




Содержание урока

§59. Процедуры
§60. Функции

Пример функции

Логические функции

Вопросы и задания

Задачи


§60. Функции


Логические функции


Достаточно часто применяют специальный тип функций, которые возвращают логическое значение (да или нет, True или False). Иначе говоря, такая логическая функция отвечает на вопрос «Да или нет?» и возвращает 1 бит информации.

Вернёмся к задаче, которую мы уже рассматривали: вывести на экран все простые числа в диапазоне от 2 до 1000. Алгоритм определения простоты числа оформим в виде функции. При этом его можно легко вызвать из любой точки программы.

Запишем основную программу на псевдокоде:

Предположим, что у нас уже есть логическая функция isPrime, которая определяет простоту переданного ей числа и возвращает да (в Паскале — True), если число простое, и нет (False) в противном случае. Такую функцию можно использовать вместо выделенного блока алгоритма:

Остаётся написать саму функцию isPrime. Будем использовать уже известный алгоритм: если число n в интервале от 2 до √n не имеет ни одного делителя, то оно простое 1:


1 Эту программу можно ещё немного усовершенствовать: после числа 2 имеет смысл проверять только нечётные делители, увеличивая на каждом шаге значение k сразу на 2.



Эта функция возвращает логическое значение, на это указывает ключевое слово лог (в Паскале — boolean). Значение функции определяется как

знач:=(count=0)


Это оператор присваивания. Слева от знака «:=» записана логическая переменная, а справа — логическое выражение (условие). Если это выражение истинно, то в переменную знач записывается значение да, иначе — значение нет.

Логические функции можно использовать так же, как и любые условия: в условных операторах и циклах с условием. Например, такой цикл останавливается на первом введённом составном числе:



Следующая страница Вопросы и задания



Cкачать материалы урока







Наверх