Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Задача на языке Паскаль (http://www.tehnari.ru/f41/t61884/)

марина1111 29.12.2011 02:25

Задача на языке Паскаль
 
создать синтаксический анализатор логического выражения, состоящего из операндов, представленных числами и идентификаторами, объединенными знаками операций отношений и логическими операциями. список идентификаторов вводится с клавиатуры.

марина1111 29.12.2011 02:32

это тема обработка символьной информации

kreol 29.12.2011 03:52

наверное лучше будет почитать соответствующую литературу. К примеру в книге "давайте создадим компилятор" эта тема полностью расписана + на яп турбо
Код:

var c: string;
    res: real;

begin
  read(c);
  case c[2] of
    '+': res:= (ord(c[1])-48)+(ord(c[3])-48);
    '-': res:= (ord(c[1])-48)-(ord(c[3])-48);
    '*': res:= (ord(c[1])-48)*(ord(c[3])-48);
    '/': res:= (ord(c[1])-48)/(ord(c[3])-48);
    else write('error');
  end;
  write('> ',res:2:1);
end.

Внимание тут считается, что все символы вводятся без пробелов,
операции проводятся только над цифрами.
и считается, что пользователь вводит правильные данные.

марина1111 30.12.2011 23:34

спасибо большое!


Часовой пояс GMT +4, время: 06:39.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.