Функции в языках объектно-ориентированного и алгоритмического программирования (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 («Сообщение», «Заголовок»)

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

Диалоговое окно InputBox

В языке Visual Basic 2005 и в языке OpenOffice.org Basic для вывода данных может использоваться функция MsgBox ( ). Эта функция позволяет выводить сообщения с помощью окна сообщений, на котором можно разместить определенный набор кнопок и информационный значок о типе сообщения:
MsgBox («Сообщение» [, ЧисКод1 +ЧисКод2] [,"Заголовок"])

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

Необязательные части программного кода заключаются в квадратные скобки.

Например, для функции MsgBox («Сообщение» , 48 + 3, «Заголовок») будет выведено следующее окно сообщений.

Диалоговое окно MsgBox

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

Значения функции 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 задает единицу измерения времени.

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

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

Содержание