2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Машина Поста
Сообщение30.07.2016, 20:42 
Здравствуйте! Это еще не основной вопрос. Как выяснилось, я еще одну штуку не могу. Несколько дней мучился, набирал такую блок-схему:
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
 [\scalebox{.87}{
\begin{tikzpicture}[
  font=\sffamily,
  every matrix/.style={ampersand replacement=\&,column sep=2cm,row sep=0.5cm},
  source/.style={draw,thick,rounded corners,fill=yellow!20,text width=6em,inner sep=.3cm},
  process/.style={draw,thick,circle,fill=blue!20},
  sink/.style={source,fill=green!20},
  datastore/.style={draw,very thick,shape=datastore,inner sep=.3cm},
  dots/.style={gray,scale=2},
  to/.style={->,>=stealth',shorten >=1pt,semithick,font=\sffamily\footnotesize},
  every node/.style={align=center},
  decision/.style={diamond, draw=blue, thick, fill=blue!20,
  text width=6em, align=flush center,
  inner sep=1pt},
    line/.style={draw, thick,-latex',shorten >=2pt}] % без этого определения line/style не срабатывает команда \path

  % Position the nodes using a matrix layout
  \matrix{
    \node[source](11){Выполняется команда 1}; \& \node[source](12){Шаг вправо}; \& \node[source](13){Перейти к команде 2}; \\
\& \& \node[source](23){Перейти к команде 1}; \\
   
\node[source] (31) {Выполняется команда 2}; \& \node[decision] (32) {Обозреваемая клетка пуста?}; \& \\

    \& \&  \node[source] (43) {Перейти к команде 3}; \\

\node[source](51){Выполняется команда 3}; \& \node[source](52){Шаг вправо}; \& \node[source](53){Перейти к команде 4}; \\
\& \& \node[source](63){Перейти к команде 3}; \\
    \node[source] (71) {Выполняется команда 4};
      \& \node[decision] (72) {Обозреваемая клетка пуста?};
      \&  \\
    \& \&  \node[source] (83) {Перейти к команде 5}; \\
\node[source](91){Выполняется команда 5}; \& \node[source](92){Поставить метку}; \& \node[source](93){Перейти к команде 6}; \\
\node[source](101){Выполняется команда 6}; \& \node[source](102){Стоп}; \& \node[source](103){Перейти к команде 6}; \\
  };

  % Draw the arrows between the nodes and label them.
\path [line] (11) -- (12); \path [line] (12) -- (13); \path [line] (31) -- (32); \path[line](32) |- node[near start,left]{Да}(23); \path[line](32) |- node[near start,left]{Нет}(43); \path [line] (51) -- (52); \path [line] (52) -- (53); \path[line](72) |- node[near start,left]{Нет}(63); \path [line] (71) -- (72); \path[line](72) |- node[near start,left]{Да}(83); \path [line] (91) -- (92); \path [line] (92) -- (93);
\path [line] (101) -- (102); \path [line] (102) -- (103);
 
\end{tikzpicture}}

на домашнем компе все получилось, а здесь что-то никак. Что я делаю не так?

 
 
 
 Re: Машина Поста
Сообщение31.07.2016, 12:22 
Ладно, напишу, как могу. В книге Могилева, Пака и т.д. Информатика есть такое место:
http://postimg.org/image/axubh2zc1/
Левая программа вопросов не вызывает, а вот правая программа... (она какая-то левая :wink: ). Четвертой команды нет, перехода к пятой команде нет. Я думал-думал и набросал такую блок-схему:
http://postimg.org/image/omv369hiv/
Получается, программа должна выглядеть так:
Изображение
Скажите, пожалуйста, я правильно понимаю или нет?

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group