Функции в языках объектно-ориентированного и алгоритмического программирования (9 класс)
Понятие функции в языках программирования близко к понятию функции в математике. Функция может иметь один или более аргументов. Для каждого набора значений аргументов можно определить значение функции. В программировании говорят, что функция возвращает свое значение, если заданы значения ее аргументов. Функции обычно входят в состав выражений, значения которых присваиваются переменным.
Функции могут быть различных типов: математические, строковые, ввода и вывода, даты и времени и др. Тип функции определяется возможными значениями аргументов и значением функции. В математических функциях значениями как аргументов, так и функций являются числа.
Математические функции.
В языке Visual Basic 2005 математические функции реализуются с помощью методов: синус Math.Sin ( ), косинус Math.Cos ( ), квадратный корень Math.Sqrt ( ) и др.
В языке Gambas и языке OpenOffice.org Basic математические функции реализуются с помощью числовых функций: синус Sin ( ), косинус Cos ( ), квадратный корень Sqr ( ) и др .
Строковые функции.
В строковых функциях строками являются либо аргументы, либо возвращаемые функциями значения. В языке Visual Basic 2005 и языке OpenOffice.org Basic строковые функции оперируют данными в кодировке Unicode, а в языке Gambas — в кодировке ASCII.
Функция вырезания левой подстроки Left ( ).
В функции вырезания подстроки (части строки) Left (Строка, Длина) значением функции является левая подстрока. Подстрока начинается от крайнего левого символа аргумента Строка и имеет количество символов, равное значению числового аргумента Длина.
Функция вырезания правой подстроки Right ( ).
В функции вырезания подстроки Right (Строка, Длина) значением функции является правая подстрока. Подстрока начинается от крайнего правого символа аргумента Строка и имеет количество символов, равное значению числового аргумента Длина.
Функция вырезания произвольной подстроки Mid ( ).
В функции вырезания подстроки Mid (Строка, Позиция, Длина) значением функции является подстрока. Подстрока начинается с символа аргумента Строка, позиция которого задана числовым аргументом Позиция, и имеет количество символов, равное значению числового аргумента Длина.
Функция определения длины строки Len ( ).
В функции определения длины строки Len (Строка) аргументом является строка Строка, а возвращает функция числовое значение длины строки (количество символов в строке).
Функция Asc ( ).
Функция Asc (Строка) осуществляет преобразование строки в числовой код ее первого символа. Аргументом функции является строка, а значением — число.
Функция Chr ( ).
Функция Chr (Число) осуществляет преобразование числового кода в символ. Аргументом функции является число, а значением — символ.
Функции ввода/вывода данных.
В Visual Basic 2005 и в языке OpenOffice.org Basic для ввода данных может использоваться функция InputBox ( ), которая позволяет вводить данные с помощью диалогового окна ввода.
Аргументами этой функции являются две строки: «Сообщение» и «Заголовок», а значением функции является строка, введенная пользователем в текстовое поле:
А = InputBox («Сообщение», «Заголовок»)
Если пользователь введет строку в текстовое поле и щелкнет по кнопке ОК, то значением функции станет строка, введенная пользователем в окно ввода функции текстовое поле. Если пользователь щелкнет по кнопке Отмена, то значением функции станет пустая строка » «.
В языке Visual Basic 2005 и в языке OpenOffice.org Basic для вывода данных может использоваться функция MsgBox ( ). Эта функция позволяет выводить сообщения с помощью окна сообщений, на котором можно разместить определенный набор кнопок и информационный значок о типе сообщения:
MsgBox («Сообщение» [, ЧисКод1 +ЧисКод2] [,"Заголовок"])
Аргумент «Сообщение» выводится в окне сообщений, аргумент ЧисКод1 + ЧисКод2 определяет внешний вид окна, а строка «Заголовок» выводится в строке заголовка окна. Последние два аргумента не являются обязательными.
Необязательные части программного кода заключаются в квадратные скобки.
Например, для функции MsgBox («Сообщение» , 48 + 3, «Заголовок») будет выведено следующее окно сообщений.
Значение, возвращаемое функцией MsgBox ( ) , зависит от того, какая из кнопок на окне сообщений была нажата.
Однако в языке OpenOffice.org Basic для вывода данных часто до сих пор используется оператор Print, который выводит строки или числовые выражения, разделенные запятой или точкой с запятой, в диалоговом окне.
В языках Visual Basic 2005 и Gambas для ввода и вывода данных чаще используются элементы управления графического интерфейса. Для ввода данных используется элемент управления текстовое поле TextBox, а для вывода данных — элемент управления метка Label1.
Функции даты и времени.
В языках Visual Basic 2005 и Gambas и в языке OpenOffice.org Basic существуют функции даты и времени. Для определенности рассмотрим функции даты и времени, принятые в языке Visual Basic 2005.
Функция Today возвращает значение текущей даты, которое можно присвоить переменным типа Date. Значение даты представляется в виде тройки чисел #Число/Месяц/Год#, разделенных знаком «/» .
Функция Timeofday возвращает значение текущего времени типа String, которое можно вывести на надпись. Значение времени представляется в виде тройки чисел #Часы: Минуты: Секунды#, разделенных знаком «:».
Функция Now одновременно возвращает значение текущей даты и текущего времени.
Функция DateDiff (Dateinterval.Day, Dat1, Dat2) возвращает разность значений аргументов Dat1 , Dat2, равную количеству дней между датами. Первый аргумент Dateinterval.Day задает единицу измерения времени.
Контрольные вопросы:
- Какой тип данных могут иметь аргументы и возвращаемые значения математических функций?
- Какой тип данных могут иметь аргументы и возвращаемые значения строковых функций?
- Какой тип данных могут иметь аргументы и возвращаемые значения функций ввода и вывода?
- Какой тип данных могут иметь аргументы и возвращаемые значения функций даты и времени?