\documentclass[a4paper]{article}
\usepackage{progm}
\analpacks
\analoldal{2. feladatsor, 30. feladat}
\begin{document}
\noindent
\emph{Feladat:} Keressünk az $x$ vektorban két olyan szomszédos
elemet, amelyek szorzata negatív!

\emph{Specifikáció:}\\
$\V = \vect(\Z, \Z)$ \\
$A = \alatt{\V}{x}  \times \alatt{\N}{i} \times \alatt{\L}{l}$\\
$B = \alatt{\V}{x'}$\\
$Q = ( x=x' )$\\
$R = ( Q \es l=(\exists i\in[x.lob,x.hib-1]: x[i]*x[i+1]<0) \es l\nyil(i\in[x.lob,x.hib-1] \es x[i]*x[i+1]<0))$

Visszavezetés a lineáris keresés 2.8-ra, általánosított:

\begin{tabular}{ccc}
  feladat &  & lin. ker. 2.8 \\
  \hline
  $x.lob$ & \knyil & $m$ \\
  $x.hib-1$ & \knyil & $n$ \\
  $x[i]*x[i+1]<0$ & \knyil & $\beta(i)$
\end{tabular}

\begin{stuki}
  \stm{i,l:=x.lob-1,\hamis}
  \begin{WHILE}{2}{\stm{\nem l \es i \ne x.hib-1}}
    \stm{l:=(x[i+1]*x[i+2]<0)}
    \stm{i:=i+1}
  \end{WHILE}
\end{stuki}
\end{document}
