(курс 68 ч.) Функции в языках объективно-ориентированного и процедурного программирования

Планирование уроков на учебный год (по учебнику Н.Д. Угриновича)


Урок 7
Функции в языках объективно-ориентированного и процедурного программирования


§ 1.5. Функции в языках объективно-ориентированного и процедурного программирования



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

1.5. Функции в языках объективно-ориентированного и процедурного программирования

Лабораторная работа № 2

Лабораторная работа № 10

Лабораторная работа № 11


1.5. Функции в языках объективно-ориентированного и процедурного программирования


Понятие функции в языках программирования близко к понятию функции в математике. Функция может иметь один или более аргументов или не иметь аргументов, в зависимости от решаемой задачи. Для каждого набора значений аргументов можно определить значение функции. В программировании говорят, что функция возвращает свое значение, если заданы значения ее аргументов. Функции обычно входят в состав выражений, значения которых присваиваются переменным.

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

image Математические функции. Примеры математических функций в языке Gambas и языке OpenOffice.org Basic: синус Sin(), косинус Cos (), квадратный корень Sqr () и др.

В языке Visual Basic математические функции реализуются с помощью методов: синус Math. Sin (), косинус Math. Cos (), квадратный корень Math. Sqrt () и др.

image Строковые функции (табл. 1.5). В строковых функциях аргументы и возвращаемые функциями значения могут иметь строковый тип или другой. В языке OpenOffice.org Basic и языке Visual Basic строковые функции оперируют данными в кодировке Unicode, а в языке Gambas — в кодировке ASCII.

image Функция вырезания левой подстроки Lef t (). В функции вырезания подстроки (части строки) Left (Строка, Длина) значением функции является левая подстрока. Подстрока начинается от крайнего левого символа аргумента Строка и имеет количество символов, равное значению числового аргумента Длина.

image Функция вырезания правой подстроки Right (). В функции вырезания подстроки Right (Строка, Длина) значением функции является правая подстрока. Подстрока начинается от крайнего правого символа аргумента Строка и имеет количество символов, равное значению числового аргумента Длина.

image Функция вырезания произвольной подстроки Mid (). В функции вырезания подстроки Mid (Строка, Позиция, Длина) значением функции является подстрока. Подстрока начинается с символа аргумента Строка, позиция которого задана числовым аргументом Позиция, и имеет количество символов, равное значению числового аргумента Длина.

image Функция определения длины строки Len (). В функции определения длины строки Len (Строка) аргументом является строка Строка, а возвращает функция числовое значение длины строки (количество символов в строке).

image Функция Asc (). Функция Asc (Строка) осуществляет преобразование строки в числовой код ее первого символа. Аргументом функции является строка, а значением — число.

image Функция Chr(). Функция Chr (Число) осуществляет преобразование числового кода в символ. Аргументом функции является число, а значением — символ.

Таблица 1.5. Строковые функции и их значения

image

image Функции ввода/вывода данных. В языке OpenOffice.org Basic и в языке Visual Basic для ввода данных может использоваться функция InputBox (), которая позволяет вводить данные с помощью диалогового окна ввода (рис. 1.9).

image

Рис. 1.9. Диалоговое окно ввода функции inputBox ()


Аргументами этой функции являются две строки: "Сообщение" и "Заголовок", а значением функции является строка, введенная пользователем в текстовое поле:

А = InputBox ("Сообщение","Заголовок")


Если пользователь введет строку в текстовое поле и щелкнет по кнопке ОК, то значением функции станет строка, введенная в текстовое поле. Если пользователь щелкнет по кнопке Отмена, то значением функции станет пустая строка "".

В языке OpenOffice.org Basic и в языке Visual Basic для вывода данных может использоваться функция MsgBox (). Эта функция позволяет выводить сообщения с помощью окна сообщений, в котором можно разместить определенный набор кнопок и информационный значок о типе сообщения:

MsgBox("Сообщение" [,ЧисКод1+ЧисКод2][,"Заголовок"])


Аргумент "Сообщение" выводится в окне сообщений, аргумент ЧисКод1+ЧисКод2 определяет внешний вид окна, а строка "Заголовок" выводится в строке заголовка окна. Последние два аргумента не являются обязательными. Необязательные части программного кода заключаются в квадратные скобки.

Например, для функции

MsgBox("Сообщение", 48+3, "Заголовок")


будет выведено следующее окно сообщений (рис. 1.10).

image

Рис. 1.10. Диалоговое окно сообщений функции MsgBox ()


Значение, возвращаемое функцией MsgBox (), зависит от того, какая из кнопок в окне сообщений была нажата (табл. 1.6).

Таблица 1.6. Значения функции MsgBox ()

image

Однако в языке OpenOffice.org Basic для вывода данных часто до сих пор используется оператор Print, который выводит строки или числовые выражения, разделенные в программе запятой или точкой с запятой, в диалоговом окне.

В языках Visual Basic и Gambas для ввода и вывода данных чаще используются элементы управления графического интерфейса. Для ввода данных используется элемент управления текстовое поле TextBox, а для вывода данных — элемент управления метка Label.

image Функции даты и времени. В языке OpenOffice.org Basic и в языках Visual Basic и Gambas и существуют функции даты и времени. Для определенности рассмотрим функции даты и времени, принятые в языке OpenOffice.org Basic.

image Функция Time возвращает значение текущего времени в формате Часы:Минуты:Секунды.

image Функция DateDiff возвращает количество дней между двумя датами, заданными в формате День/Месяц/Год.

Контрольные вопросы


1. Какой тип данных могут иметь аргументы и возвращаемые значения математических функций?

2. Какой тип данных могут иметь аргументы и возвращаемые значения строковых функций?

3. Какой тип данных могут иметь аргументы и возвращаемые значения функций ввода и вывода?

4. Какой тип данных могут иметь аргументы и возвращаемые значения функций даты и времени?

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






Наверх