Ищу словарь, математические выражения на паскале |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Ищу словарь, математические выражения на паскале |
Студент*21в. |
12.02.2007 10:10
Сообщение
#21
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
А может у вас исходник где завалялся?
|
Студент*21в. |
19.02.2007 20:50
Сообщение
#22
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Я благодарю всех, кто помог мне хоть как-то. Только вот я думаю прийдется мне весь курс математики пройти заново или может впервые . А время в обрез .
На одном сайте надыбал: program z1; uses crt; var s:string; i,k:integer; begin clrscr; readln(s); k:=0; for i:=1 to length(s) do begin if s[i]='(' then k:=k+1; if s[i]=')' then k:=k-1; if k<0 then begin writeln('NO'); halt; end; end; writeln('YES!'); readkey; end. Только вот не пойму почему при k<0 записывается "NO". (программа проверяет правельность растоновки скобок). По-мойму при k=1 Сообщение отредактировано: Студент*21в. - 19.02.2007 20:53 |
мисс_граффити |
19.02.2007 22:12
Сообщение
#23
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
1. Теги! Ими надо обрамлять код в любом разделе
2. Цитата На одном сайте надыбал: Может, там и спросишь, почему при k<0? Видимо, имелось в виду, что, если закрывающаяся предшествует открывающейся, то есть ошибка.а вот Цитата (3)( она пропускает на ура, радостно сообщая YES!3. На форуме была программка проверки расстановки скобок - чем она не понравилась? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Студент*21в. |
21.02.2007 20:43
Сообщение
#24
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
1. Ай донт андерррстенд
2 3. Я НЕ ВИДЕЛ |
volvo |
22.02.2007 11:23
Сообщение
#25
|
Гость |
|
Студент*21в. |
18.05.2007 18:33
Сообщение
#26
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Ну а теперь о главном.
Объявляю переменную строчного типа Ввожу туда чего нить вроде "abs(1)+sqrt(2)+ln(3)-sqr(4)*arctan(5)/(-abs(6))" Подгоняю выше написаное под синтактическую диаграму:[-]x(y)z[-]x(y)............. организовываю цикл с шагом"[-]x(y)" с него он начинается и им закачиваетя а между шагов записывается "z" под иксом пойдут абээсы и эскьюэрты. игрек это любое рациональное или действительное число. зед это +,-,*,/.<Это опишем в пользовательском типе.а[-] на случай премены знака он либо есть либо нет. Кстате а можно в паскале вместо "abs(5)" записать просто "5" или например два корня из трех "2*sqrt(3)" или надо оязательно "abs(2)*sqrt(3)"? Далее переменной строчного типа присваеваю "чшру" если она соответствует синтаксической диаграмме. |
Студент*21в. |
21.05.2007 15:45
Сообщение
#27
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Люди, если кто понял выше написаное, пожайлуста напишите что-нибудь.
Наверное это даже не алгоритм, а просто идея написания простым и понятным способом метода решения задачи. Да и еще что это за "теги" такие? Напишите а |
Студент*21в. |
17.08.2007 17:18
Сообщение
#28
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Ты не только сам запутался, но и всех запутал... Тебе чего надо??? Ты можешь привести пример строки, которую получает твоя программа, и сказать, что ИМЕННО с ней надо делать? Что за привычка НИЧЕГО не сказав искать ответ??? Нельзя написать было: "Моя программа должна получать строку вида abs(sin(x) + sec(y)) * ln(sqrt(z)) и должна проверить ее на соответствие синтаксису Паскаля" ? Почему надо все время делать непонятно что? Именно это я и хотел сказать Подскажите ламеру в каком направлении хоть двигаться А то я третий год уже сижу на четвертом курсе из за этой курсовой Охото уж вибираться как-то в програмеры |
hardcase |
17.08.2007 19:02
Сообщение
#29
|
code warrior Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
Именно это я и хотел сказать Подскажите ламеру в каком направлении хоть двигаться А то я третий год уже сижу на четвертом курсе из за этой курсовой Охото уж вибираться как-то в програмеры Ты хочешь сделать простой транслятор арифметических выражений в синтаксисе паскаля? Если так, то нужно сперва нагрузиться теорией. Статья раскрывает таинство обратной польской записи. Алгоритм транслирования в неё эквивалентен проверки синтаксиса. (4 курсу вполне по силам прочитать). Также статья есть на Codenet.ru там же поиск. Далее ваш код в студию. -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Студент*21в. |
1.04.2010 12:21
Сообщение
#30
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
varпотом докидаю) чтоб темку не терять) |
volvo |
1.04.2010 12:41
Сообщение
#31
|
Гость |
Цитата чтоб темку не терять) Для этого на форуме есть как минимум 2 средства:1) У тебя в профиле: "Опции профиля" -> "Найти темы пользователя". У тебя не так много тем, чтобы можно было что-то потерять. 2) Прямо в этой теме - щелкаешь на номер первого (или второго, или последнего, какое тебе больше нравится ) сообщения, получаешь ссылку, и сохраняешь ее. Где хочешь... Можешь прямо в профиле, в поле "Ваш личный блокнот". Информация там хранится постоянно, пока не удалишь ее. Можешь воспользоваться возможностями браузера - "Закладки" есть практически везде. А поднимать тему, которое больше двух лет только для того. чтоб ее "не терять" - это некрофилия в чистом виде. Ты ж как-то ее сейчас нашел? Вот и ищи дальше тем же способом. Можешь не отвечать, через сутки сообщения №29 и №30 удалятся... |
Студент*21в. |
2.04.2010 10:44
Сообщение
#32
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
та не просто неохота по циферкам тыкать постоянно) про опции не знал просто. искал но не заметил
|
Студент*21в. |
4.02.2013 21:32
Сообщение
#33
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Здравствуйте! Произошло чудо, меня восстановили в универе! Думаю теперь все таки придется писать курсовые.
hardcase, спасибо за пример с обратной польской записью! Натолкнуло на кое-какие соображения. Сразу перейду к постановке вопроса. Если я правильно понимаю, программа должна считывать поочереди каждый символ и толкать его в выходную строку, далее происходит вычисление выражения и таким образом сам компилятор покажет есть ли в выражении ошибки синтаксиса либо покажет результат! За код я пока не брался, хочу сперва перекопать учебники и немного выспаться. P.S. Очень радует, что форум до сих пор существует! Сообщение отредактировано: Студент*21в. - 4.02.2013 21:37 |
Текстовая версия | 20.09.2024 3:18 |