Uploaded by velichko

Встроенный язык 1С Работа с числами

advertisement
Встроенный язык
Работа с числами
1. Создайте папку «Встроенный язык 1С».
2. Запустите программу 1С в режиме Конфигуратора, указав путь к
созданной Вами папке.
3. Откройте окно конфигурации.
4. В ветке Обработки добавьте обработку «Работа с числами».
Немного теории.
Примитивный тип данных Число (Number).
Числовым типом данных во встроенном языке 1С может быть
реквизит объекта конфигурации или переменные в модулях.
Максимально допустимая разрядность числа составляет 38 знаков,
длина целой части не может превышать 32 символа, точность — 10
символов. Хотя в переменных можно оперировать числами превышающих
разрядность в 38 символов, но в ИБ (информационную базу) можем
записывать значения с длинной целой части не больше 32-х знаков.
Над данными числового типа применимы операции: +, -, *, /, ( ),
%(остаток от деления нацело 10%3=1).
Математические функции для чисел можно посмотреть в Синтакспомощнике: Общее описание встроенного языка-> Встроенные функции->
Функции по работе с типом Число.
Рассмотрим некоторые из них на примерах:
Окр(<Число>, <Разрядность>, <РежимОкругления>) Функция округляет
исходное число до нужной разрядности в соответствии с заданным режимом
округления.
Параметры: <Число> (обязательный), Исходное число. Остальные параметры
не обязательны.
Пример:
// Округлим цену до копеек
ОкругленнаяЦена = Окр(Цена, 2);
// Округлим цену до сотен рублей
ОкругленнаяЦена = Окр(Цена, -2);
Цел(<Число>) — Функция вычисляет целую часть переданного числа,
полностью отсекая дробную часть.
Пример: МожноКупить = Цел(Наличность/Цена);
Часто на практике встречается преобразование типов данных из строки
в число, для этих целей есть функция Число().
Функция Число() — Преобразует полученный параметр (параметр обычно
строкового типа) в значение типа Число.
Пример: КонтрольноеЧисло = Число(Прав(СтраховойНомер,2));
Типа Булево преобразуется в число:
• Ложь преобразуется в 0;
• Истина преобразуется в 1.
Приоритет арифметических операций:
1) ( )
2) Унарные арифметические операции (+, -)
3) *, /, %
4) Бинарные арифметические операции (+, -)
5) Операции сравнения (>,>=,
6) НЕ
7) И
8) ИЛИ
Формат(<Значение>, <ФорматнаяСтрока>) Функция формирует удобное
для чтения представление значений.
Параметры: <Значение> (обязательный) Тип параметра: Число; Дата; Булево.
Форматную строку удобно задавать, вызвав: Конструктор форматной строки
Макс(<Значение1>,…,<ЗначениеN>) Функция определяет максимальное
значение из полученных параметров.
Параметры: <Значение1>,…,<ЗначениеN> (обязательный) и могут иметь
один Тип: Число; Строка; Дата; Булево.
Пример:
// Пример для чисел
A = Макс(1, 2, 3);
// A = 3
Мин(<Значение1>,…,<ЗначениеN>) Из полученных параметров функция
определяет минимальное значение.
Пример:
// Пример для чисел
A = Мин(1, 2, 3);
// А = 1
Часто встречаются задачи, когда число надо представить прописью, для этих
целей есть функиця:
ЧислоПрописью(<Число>, <ФорматнаяСтрока>,
<ПараметрыПредметаИсчисления>)Функция формирует представление
числа прописью.
Задание 1.
5. В обработке «Работа с числами» перейдите на закладку данные. Добавьте
реквизиты: Число1 (тип данных Строка, 10), Число2 (тип данных Число, 10,
точность 4), Число 3 (тип данных Число, 10, точность 0).
6. Перейдите на закладку Формы и добавьте форму обработки с созданными
реквизитами.
7. Добавьте команды формы и перетащите их на командную панель, как
показано на рисунке ниже.
8. В свойствах каждой команды добавьте соответствующее действие.
9. Например, по нажатию на кнопку Числовой формат в поле Число2 должно
появляться числовое значение поля Число1.
10. Ниже приведен программный код процедур и результаты их выполнения.
Задание 2.
Результат:
Задание 3.
Результат:
Задание 4.
Результат:
Задание 5. Примеры работы с числовыми функциями в 1С 8.2 и 8.3
Окр
Функция Окр(x, y, z) позволяет округлить число “x” в зависимости от
заданной разрядности “y” и режима округления “z”.
Цел
Функция Цел(x) возвращает целую часть переданного в параметре числа “x”.
Число
Функция Число(x) пытается преобразовать полученное значение “x” в
значение типа Число. Такому преобразованию поддаются значения типа
Булево и типа Строка (строка должна состоять только из цифр), во всех
остальных случаях генерируется ошибка.
Мин
Функция Мин(x1…xn) возвращает минимальное из переданных ей значений
“x1…xn”, работает не только с числами.
Макс
Функция Макс(x1…xn) возвращает максимальное из переданных ей значений
“x1…xn”, как и предыдущая функция работает не только с числами.
Вычислить
Функция Вычислить(x) позволяет вычислить математические и логические
выражения “x”, а также операции конкатенации.
Модуль
В 1С пока нет отдельной функции для получения модуля числа, но эта
проблема решается просто:
Использование этой функции:
Sqrt
Функция Sqrt(x) просто возвращает квадратный корень переданного ей числа
“x”.
Pow
Функция Pow(x, y) возводить число “x” в степень “y” и возвращает результат.
Exp
Функция Exp(x) возвращает результат возведения числа Эйлера в указанную
степень “x”.
Логарифм
Функции Log(x) и Log10(x) возвращают натуральный и десятичный
логарифм числа “x” соответственно.
Тригонометрия
Набор функций которые вычисляют соответствующие тригонометрические
функции, результат исчисляется в радианах:

Sin(x) — синус;

Cos(x) — косинус;

Tan(x) — тангенс;

ASin(x) — арксинус;

ACos(x) — арккосинус;

ATan(x) — арктангенс.
Случайные числа
Для получения случайных чисел в 1С существует даже не функция, а целый
объект — генератор случайных чисел, пусть даже этот объект содержит всего
один метод — СлучайноеЧисло(x, y), который возвращает случайное число в
диапазоне от “x” до “y”.
Ввести число
Функция ВвестиЧисло(x, y, z, v) позволяет вывести форму ввода числа,
которое записывается в переменную “x”, в параметрах можно указать
подсказку “y”, длину числа “z” и точность “v”.
В результате получится что-то вроде этого:
11. САМОСТОЯТЕЛЬНО.
1. Выведите сообщение о максимальном и минимальном значениях из
данных, внесенных в поля Число1, Число2 и Число3.
2. Выведите сообщение о максимальном и минимальном значениях из
данных, внесенных в поля Число1, Число2 и Число3 прописью.
3. С помощью функции ВвестиЧисло() введите число а. Возведите
число а в квадрат. Выведите результат в поле Число1.
4. С помощью функции ВвестиЧисло() введите число а. Вычислите
квадратный корень из числа а. Выведите результат в поле Число1.
5. С помощью функции ВвестиЧисло() введите числа а и в. Возведите
число а в степень в. Выведите результат в поле Число1.
6. Внесите в поле Число1 значение «1000». Вычислите функцию Log(x)
и представьте результат в поле Число2. Вычислите функцию Log10(x) и
представьте результат в поле Число3.
7. Внесите в поле Число1 значение «10». Вычислите функцию Sin(x) и
представьте результат в поле Число2. Вычислите функцию Cos(x) и
представьте результат в поле Число3.
8. С помощью функции ВвестиЧисло() введите числа а и в. Вычислите
функцию Tan(x) и функцию ATan(x). Выведите результат с помощью
функции Сообщить().
9. С помощью функции ВвестиЧисло() введите число а. Выведите с
помощью функции Сообщить() число а прописью.
10. Вычислите площадь круга по формуле S=πr2, если значение
радиуса вводится в поле Число1. Результат выведите в поле Число2.
11. Рассчитайте площадь треугольника через основание (значение
вводится в поле Число1) и высоту (значение вводится в поле Число2) по
формуле
. Результат выведите в поле Число3.
12. Рассчитайте площадь трапеции по формуле:
.
Значения h,a,b вводите в поля Число1, Число2 и Число3. Результат вывести с
помощью функции Сообщить().
Покажите результаты работы преподавателю.
Download