Особенности решения простейших математических задач на объектно-ориентированном языке программирования Delphi
Довольно часто при написании программ необходимо решать арифметические задачи разного уровня. Объектно-ориентированные языки программирования позволяют реализовать практически любую математическую задачу. Рассмотрим основные принципы решения данной проблемы. Для этого необходимо использовать не числа, как в математике, а переменные – символы, которые будут обозначать цифры в «общем» виде.
Существуют специальные знаки, позволяющие записывать арифметические действия:
- := - присваивание (А:=В).
- операции языка: + - сложение (А:=В+С)
* - умножение
? - вычитание
/ - деление - ; - символ для разделения инструкций языка (операторов)
Для решения арифметических задач необходимо описывать все используемые переменные:
Var a, b, c, dude: integer; //целые числа
x, y, z, max: real; // вещественные числа
Т.е. пример a+b=c мы будем решать следующим образом:
1. Заведем 3 переменные a, b, c. (Var a,b,c: integer;)
2. Запись c:=a+b будет означать, что результат суммы двух чисел, лежащих в ячейках a и b будет записан в переменную с. Обратим внимание, что в языке программирования Delphi запись с=а+b будет означать, что сумма чисел а и b равна с.
Теперь, если нам необходимо решить пример 2+4=6, при запуске программы мы в переменную a положим 2, в b – 4 и программа выдаст ответ 6.
Используя для ввода данных в языке программирования Delphi строковые поля (например, классов TEdit, TMemo), для решения математических задач необходимо использовать функции:
StrToInt (<переменная>) (перевод из строки в целый тип данных);
StrToFloat (<переменная>) (перевод из строки в вещественный тип данных);
Для вывода результата нужно обратно переводить из числового в строчный тип с помощью функций:
IntToStr (<переменная>) (перевод числа из целого в строчный тип);
FloatToStr(<переменная>) (перевод числа из вещественного в строчный тип);
Рассмотрим алгоритм решения арифметической задачи:
1. ввод данных
Например:
a:=StrToInt(Memo1.text); {занести в переменную а содержимое многострочного редактора Memo1, переведенное из строкового в числовую форму для выполнения математических действий}.
b:=StrToInt(Edit1.text); {занести в переменную b содержимое однострочного редактора Edit1, переведенное из строкового в числовую форму для выполнения математических действий}.
2. проведение определенных действий, требуемых в условии задачи.
Например, нахождение суммы а и b - c:=a+b; {ответ с}
3. вывод результата или сообщения о проведенном анализе данных.
Вывод результата:
Memo1.text:=IntToStr(c); {вывод результата решения примера в многострочный редактор Memo1 путем перевода ответа из числовой в строковую форму}.
Вывод сообщения:
Edit1.text:=’Задача решена успешно!’; {вывод сообщения о проведенном анализе данных в многострочный редактор Edit1}. В данном случае перевод сообщения из числового типа в строковую форму НЕ ОСУЩЕСТВЛЯЕТСЯ!
Решим простейший пример: найти сумму трех чисел, введенных с клавиатуры.
- Описываем после служебного слова VAR несколько переменных целого типа для удобства решения: Var a, b, c, s: integer;
- На форму заводим 3 метки: Label1, Label2, Label3. У каждой из них в свойстве Caption написать соответственно а=, в=, с=.
- Наносим однострочные элементы управления Edit1, Edit2, Edit3. В них будем вводить числа. Для этого в свойстве Text нужно удалить надписи.
- Заводим кнопку, которую называем Cумма.
- Наносим элемент управления Memo1 и удаляем все надписи в многострочном редакторе. Для этого в окне Свойства объекта выбираем свойство Lines и удаляем все надписи в нем.
Примерно ваша форма должна выглядеть так:
6. Активируем кнопку. Обрабатываем событие OnClick (по щелчку). Появляется процедура TForm1.Button1Click(Sender: TObject);
7. В теле процедуры присваиваем заведенным переменным значения строк следующим образом a:=StrToInt(Edit1.text); (аналогично для b и c)
8. Вычисляем сумму s:=a+b+c;
9. Выводим результат в Memo1. Для этого записываем Memo1.Text:=IntToStr(s);
Окно программного кода Unit1 в «общем» виде будет иметь следующий вид:
Таким образом, рассмотрены особенности решения простейших математических задач на объектно-ориентированном языке программирования Delphi. Представленные материалы были апробированы в Городском Дворце Творчества Детей и Молодежи г. Оренбурга.