Всем доброго времени суток.
Сегодня продолжаем совершенствовать калькулятор и на очереди у нас работа с буфером памяти, то есть чтобы происходило запоминание введенных значений с клавиатуры в какой-то переменной, а потом эту переменную использовать!
Переменные созданы и теперь мы можем их использовать.
Необходимо теперь сделать так, чтобы при нажатии на какую-то операцию, происходило сохранение значения в буфер из поля "Табло".
Это значит, что необходимо прописывать для каждой арифметической операции один и тот же программный код.
Начнем с операции "Сложение".
Откроем форму и для команды сложение пропишем процедуру (конечно ее нужно создать через свойство "Действие") (Рисунок 1).
В этой процедуре мы говорим следующее:
1. Присваиваем переменной "Буфер" значение, которое сейчас находится в поле "Табло".
2. После этого поле "Табло" обнуляем.
3. Используем переменную "Операция", для присвоения значения самой операции. То есть мы делаем некую идентификацию!
И теперь это необходимо сделать для трех остальных операций: вычитание, умножение и деление (Рисунок 2).
Это мы только поработали с буфером, то есть с возможностью сохранения значения в переменной, а теперь необходимо сделать так, чтобы по нажатию на кнопку равно происходило выполнение арифметических действий.
Откроем форму и для команды "Равно" создадим процедуру, в которой пропишем первое действие (Рисунок 3).
В этой процедуре говорится, что если действие было "Сложение", тогда необходимо выполнить сложение числа, которое находится в буфере с числом, которое находится в поле "Табло".
Необходимо прописать еще для трех остальных действий. Все это должно быть прописано в кнопке "Равно", но просто так тут прописать не получится, необходимо использовать полное условие, то есть:
---------------------------------------------
Если "+" Тогда
ТоТо
ИначеЕсли "-" Тогда
ТоТо
ИначеЕсли....
--------------------------------------------
Давайте изменим код в этой процедуре так (Рисунок 4).
Таким образом, процедура будет определять то, что вы нажали (какую операцию выбрали) и в зависимости от этого выполнять нужно действие. В коде прописано, что буфер стоит первым, так как мы всегда сначала пишем число, над которым нужно выполнить действие, а если будет иначе, то будет ошибка в работе калькулятора.
Таким же образом необходимо прописать код для всех остальных операций, но только нужно знать формулы, по которым будут считаться эти значения.
Начнем с самых простых:
1. Операция деления единицы на Х. То есть, по нажатию должно происходить деление числа один на введенное число в поле табло, а после этого выводить результат (Рисунок 5).
2. Операция возведения числа Х в степень У. То есть число Х должно умножиться на себя столько раз, чему равно значение У. Для этого будем использовать встроенную функцию (Рисунок 6).
3. Вычисление квадратного корня. Используя встроенную функцию платформы (Рисунок 7).
4. Факториал числа. Факториал числа считается по формуле:
n! = 1*2*3*...*n. Например, 5! = 1*2*3*4*5 = 120.
Сначала необходимо создать функцию, которая будет считать сам факториал любого числа (Рисунок 8).
Потом для команды прописать процедуру и там вызов этой функции, вывести значение в поле "Табло" (Рисунок 9).
Проверим работу (Рисунок 10).
Корень (Рисунок 11).
Деление (Рисунок 12).
Возведение в корень (Рисунок 13).
Давайте теперь вот что проверим и калькулятор не правильно будет обрабатывать данные, когда нажимаете мышкой на цифры.
Откройте калькулятор и с помощью мышки попробуйте вывести в табло число "11", но он у вас выведет не правильно (Рисунок 14).
Все это из-за того, что у нас происходит записывание в буфер и автоматическое обнуление табло при нажатии на цифру.
Это мы исправим, но только уже на следующем занятии.
На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!
Всем спасибо.
Задать вопросы, которые у вас возникли вы можете, написав комментарий или вступить в группу и задать там свой вопрос, а так же можно на канале нажать кнопку "Написать сообщение".
Ссылка для вступления телеграм-канал - t.me.Apiscourses
Подписаться в группу ВКонтакте
Или написать на электронную почту - awesome.razrab@yandex.ru
Ссылка для вступления в чат на Дзен - https://yandex.ru/chat/#/join/34271c4c-039e-4d1d-97af-b24b3204ad08.
Прошлые уроки:
Введение Урок 1 Урок 2 Урок 3 Урок 4 Урок 5 Урок 6 Урок 7 Урок 8 Урок 9 Урок 10 Урок 11 Урок 12 Урок 13 Урок 14 Урок 15 Урок 16 Урок 17 Урок 18 Урок 19 Урок 20 Урок 21 Урок 22 Урок 23 Урок 24 Урок 25 Урок 26 Урок 27 Урок 28 Урок 29 Урок 30 Урок 31 Урок 32 Урок 33 Урок 34 Урок 35 Урок 36 Урок 37 Урок 38 Урок 39 Урок 40 Урок 41 Урок 42 Урок 43 Урок 44 Урок 45 Урок 46 Урок 47 Урок 48 Урок 49 Урок 50 Урок 51 Урок 52 Урок 53 Урок 54 Урок 55 Урок 56 Урок 57 Урок 58 Урок 59 Урок 60 Урок 61 Урок 62 Урок 63 Урок 64 Урок 65 Урок 66 Урок 67 Урок 68 Урок 69 Урок 70 Урок 71 Урок 72 Урок 73
На этом все. Жду Вас на следующем занятии.
P.S. Подписывайтесь на мой канал :-)
программирование программирование 1с 1с предприятие обучение онлайн обучение 1с