![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
PavelM |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Pavel Репутация: ![]() ![]() ![]() |
Добрый день!
Подскажите пожайлуста как это оформить(решить задачку)? сама задача: Дана цепочка символов вида "число1+число2*число3". Вычислить числовое значение выражения и напечатать. цепочка вводится с клавиатуры (строка2+3*5), необходимо сначало определить 1-ю переменную, знак вычисления, 2-ю переменную, знак, 3-ю, и вычислить.на 2 числа вроде работает, а на 3 не хочет. заранее благодарен. |
Client |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
а что пробовал? выкладывай код, поможем
![]() |
PavelM |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Pavel Репутация: ![]() ![]() ![]() |
program raschet;
var str:string[50]; zs:string[4]; si:char; a1,a2,a3:real; i,is,p1,p2,p3:integer; begin writeln('введите строку с выражением'); readln(str); zs:='+-*/'; si:=' '; for i:=1 to 4 do if pos(zs[i],str)>0 then begin is:=pos(zs[i],str); si:=zs[i]; end; if si=' ' then writeln('неправильное выражение') else begin val(copy(str,1,is-1),a1,p1); val(copy(str,is+1,length(str)-is),a2,p2); {val(copy(str,is+1,length(str)-is),a3,p3);} end; writeln(a1); writeln(p1); writeln(a2); writeln(p2); end. |
Client |
![]()
Сообщение
#4
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
Цитата Дана цепочка символов вида "число1+число2*число3" Если только сложение и умножение, то просто находишь позицию '+' и '*', переводишь в число и считаешь |
PavelM |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Pavel Репутация: ![]() ![]() ![]() |
а чтоб для всех операций, если кто нить введет не так как задумано?
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата если кто нить введет не так как задумано? Он должен получить исчерпывающее сообщение о том, что можно вводить, а что нельзя... Или ты пишешь комбайн "все в одном"? Вроде бы заявлено "+" и "*", но раз ввели "минус" - то так и быть, посчитаем и его?... |
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата если Ну кроме операций еще много чего можно ввести, функции, скобки, константы ... Так что ты четко реши что тебе нужно реализовать и вперед. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#8
|
Гость ![]() |
Ок, только + и *
|
PavelM |
![]()
Сообщение
#9
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Pavel Репутация: ![]() ![]() ![]() |
Да, + и * остальное не нужно
|
Client |
![]()
Сообщение
#10
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
uses crt;Так же можешь проверить если '+' находится после '*', то выдать сообщение об ошибке или writeln(a*b+c);но это уже как хочешь ![]() Сообщение отредактировано: Client - 19.03.2008 7:13 |
PavelM |
![]()
Сообщение
#11
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Pavel Репутация: ![]() ![]() ![]() |
Спасибо огромное!!!
![]() |
![]() ![]() |
![]() |
Текстовая версия | 31.07.2025 22:07 |