Автор Гілка: Побудова блок-схем в LaTeX  (Прочитано 8451 раз)

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Треба побудувати одну блок-схему програми (сам нюю розробив).
Стрілки і лінії знаю як малювати, квадратики з текстом - знаю, от з ромбиками (які малюють в місцях розгалуження) - проблема.
Ще хотілося б подивитись на зразки цих блок схем - малювати типу вперше буду =)
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #1 : 2010-05-17 17:23:37 »
навіщо вам це в латеху робити? там є якась псевдографіка, але і так то була би незручна робота.
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #2 : 2010-05-18 18:11:46 »
Порада: не робіть блок-схем в LaTeX без спеціалізованого пакету.
На ось таке
% Блок-схема роботи квазісилового алгоритму

\setlength{\unitlength}{1ex}
\begin{picture}(60,77)(0,-81)
\savebox{\data}(15,9)[bl]{
\put(0,0){\line(1,0){12}\line(1,3){3}}
\put(0,0){\line(1,3){3}}
\put(3,9){\line(1,0){12}}}


\put(58,-6){\line(0,-1){4}\vector(-1,0){23}}
\put(50,-19){\usebox{\data}}
\put(57,-15){\makebox(0,0){\parbox[c]{7ex}{\centering Вихідна модель}}}
\put(57,-26){\circle{4}}
\put(57,-24){\vector(0,1){5}}

\put(50,-70){\usebox{\data}}
\put(57,-66){\makebox(0,0){\parbox[c]{7ex}{\centering Резуль\-туюча модель}}}
\put(56,-76){\vector(0,1){6}\line(-1,0){30}}
\put(57,-54){\circle{4}}
\put(57,-61){\vector(0,1){5}}

\put(5,-8){\framebox(30,4){Розрахунок загального СФ}}
\put(20,-8){\vector(0,-1){4}}
\put(0,-16){\framebox(40,4){Розрахунок квазісили для кожного атому}}
\put(20,-16){\vector(0,-1){4}}
\put(17,-20){\line(1,0){6}\line(1,-1){3}}
\put(17,-20){\line(-1,-1){3}}
\put(26,-23){\line(0,-1){4}}
\put(14,-27){\line(0,1){4}\line(1,0){12}}
\put(20,-24){\makebox(0,0)[c]{\m{N}}}
\put(20,-27){\vector(0,-1){4}}
\put(0,-35){\framebox(40,4){
\parbox[c]{40ex}{\centering Розрахунок нового положення атома}}}
\put(20,-35){\vector(0,-1){4}}
\put(8,-47){\line(3,2){12}}
\put(8,-47){\line(3,-2){12}}
\put(32,-47){\line(-3,2){12}}
\put(32,-47){\line(-3,-2){12}}
\put(20,-47){\makebox(0,0)[c]{\parbox[c]{14ex}{\centering Відповідає
просторовим обмеженням}}}
\put(4,-47){\line(1,0){4}}
\put(4,-47){\makebox(0,0)[bl]{Так}}
\put(4,-47){\vector(0,-1){12}}
\put(0,-67){\framebox(18,8){\parbox[c]{14ex}{\centering Змінити
положення атома}}}
\put(36,-47){\line(-1,0){4}}
\put(36,-47){\makebox(0,0)[br]{Ні}}
\put(36,-47){\vector(0,-1){12}}
\put(22,-67){\framebox(18,8){\parbox[c]{14ex}{\centering Допоміжний
алгоритм}}}\put(24,-67){\line(0,1){8}}\put(38,-67){\line(0,1){8}}
\put(10,-67){\line(0,-1){4}}
\put(10,-71){\line(1,0){8}}
\put(30,-67){\line(0,-1){4}}
\put(30,-71){\line(-1,0){8}}
\put(18,-71){\vector(0,-1){3}}
\put(22,-71){\vector(0,-1){3}}
\put(14,-74){\line(0,-1){4}\line(1,0){12}\line(0,-1){4}}
\put(14,-78){\line(1,-1){3}}
\put(26,-78){\line(-1,-1){3}}
\put(17,-81){\line(1,0){6}}
\end{picture}
/me убив весь робочий день.
І залишився незадоволений результатом.
« Змінено: 2010-05-18 18:13:10 від serg_ik »
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #3 : 2010-05-18 18:20:09 »
так а чого ви не хочете в якомусь векторному редакторі то намалювати й зробити EPS?
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #4 : 2010-05-18 19:28:27 »
Текст хочу ЛаТеХ-івський тулити. Ну і редактора лінь ставити  ;)
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #5 : 2010-05-18 19:41:20 »
Текст хочу ЛаТеХ-івський тулити. Ну і редактора лінь ставити  ;)
спробуйте оце:
http://www.tex.ac.uk/tex-archive/support/flow/flowdoc.pdf
http://www.ctan.org/tex-archive/help/Catalogue/entries/flow.html
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #6 : 2010-05-18 19:58:40 »
 :'( Вже й так намалював.
З документації не ясно, чи підтримується кирилиця. Схеми не зовсім відповідають ГОСТ-у. Втім, при потребі користуватись можна :)

Збадяжив щось таке: (наведено нижче). Може хто на форумі мав справу з малюванням блок-схем - гляньте чи гарна вийшла ;)
уявлення про гост брав звідси.
« Змінено: 2010-05-19 12:33:55 від serg_ik »
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #7 : 2010-05-19 15:51:22 »
Вирішив трохи позбочуватись - написав:
\Qf \forall i \in [1;N]
питання: чи можна отак прямо біля "для всіх" тулити символ належності до діапазону, чи треба поставити кому:
\Qf \forall i, i\in [1;N]
чи крапку з комою?
(сто років конспект в руках вже не тримав)
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #8 : 2010-05-19 16:07:47 »
мені здається, ваша схема забагато інформації містить. Зокрема, там не повинно бути ніяких блоків а ля  «for i=0» — це ж схема, а не код алгоритму. Для порівняння: http://en.wikipedia.org/wiki/File:Hartree-Fock.png

Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #9 : 2010-05-19 17:38:14 »
Там просто різні рівні деталізації. Он моя блок-схема вирвана з ще більшої схеми - це показано кружочками.
« Змінено: 2010-05-19 17:39:04 від serg_ik »
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній turbosega

  • Кореспондент
  • ***
  • дописів: 170
  • Карма: +0/-0
Re: Побудова блок-схем в LaTeX
« Відповідей #10 : 2010-05-20 20:56:45 »
мені здається, ваша схема забагато інформації містить.
Не згіден щодо інформативності, що містить блок-схема - повинно бути стільки, скільки вимагає поставлене завдання.

Зокрема, там не повинно бути ніяких блоків а ля  «for i=0» — це ж схема, а не код алгоритму. Для порівняння: http://en.wikipedia.org/wiki/File:Hartree-Fock.png
А на блок-схемі, на котру ви надали посилання, теж є цикл, тільки реалізований блоком розгалуження.

А нас в універі вчили блок циклу із регулярною змінною аргумента позначати не таким знаком (знаками) як на блок-схемі приведеній Сергієм Лисовенком, а блоком таким:
« Змінено: 2010-05-20 20:59:08 від turbosega »
Debian GNU/Linux Wheezy (x86_64), Gnome