Перевод строки в число - PascalABC.NET
Формулировка задачи:
Нужно написать перевод записи a1^b1*a2^b2*...*ak^bk в число
причём записи az^0 быть не должно, и вместо записи az^1 будет az
я сделал перевод числа в строку, а наоборот потребуется присваивание строк числу(например a := s[1], где s строка)
Решение задачи: «Перевод строки в число»
textual
Листинг программы
- begin
- var S := '2.1^3*3^4*4^5';
- WriteLn('1) Исходное выражение:', NewLine, S);
- WriteLn(NewLine, '2) Разделим на операции возведения в степень:');
- var A := S.Split('*');
- foreach var Sub in A do
- WriteLn(Sub);
- WriteLn(NewLine, '3) Разделим на числа:');
- foreach var Sub in A do
- begin
- var TwoNumbers := Sub.Split('^');
- WriteLn(Sub, ' -> ', TwoNumbers[0], ' ^ ', TwoNumbers[1]);
- end;
- WriteLn(NewLine, '4) Преобразуем в числа и выполним операции:');
- var Result := 1.0;
- foreach var Sub in A do
- begin
- var TwoNumbers := Sub.Split('^');
- var Pow := Power(TwoNumbers[0].ToReal, TwoNumbers[1].ToReal);
- Result *= Pow;
- WriteLn(Sub, ' -> ', TwoNumbers[0], ' ^ ', TwoNumbers[1], ' = ', Pow);
- end;
- WriteLn(NewLine, 'Результат: ', Result);
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д