\documentclass[a4paper]{article}
\usepackage{progm}
\analpacks
\analoldal{2. feladatsor, 35. feladat}
\begin{document}
\noindent
\emph{Feladat:} Állapítsuk meg, hol van a monoton növekedő $f$
függvényben a legnagyobb ugrás, azaz az $f(k)-f(k-1)$ érték mely
$k$-ra maximális!

\emph{Specifikáció:}\\
$A = \alatt{\Z}{m} \times \alatt{\Z}{n} \times \alatt{\N}{k}$ \\
$B = \alatt{\Z}{m'} \times \alatt{\Z}{n'}$ \\
$Q = ( m=m' \es n=n' \es m\le n-1) \es \forall i\in[m+1, n]: f(i)\ge f(i-1)$ \\
$R = ( Q \es k\in [m+1,n] \es \forall j\in[m+1,n]: f(j)-f(j-1)\le f(k)-f(k-1))$

A visszavezetés általánosított, hiszen az előfeltétel szigorúbb a tétel előfeltételénél.

\begin{tabular}{cccl}
  feladat &  & max. ker. & \\
  \hline
  $-$ & \knyil & $max$ & (alteres általánosított visszavezetés) \\
  $m+1$ & \knyil & $m$ \\
  $k$ & \knyil & $i$ \\
  $j$ & \knyil & $k$ \\
  $f(i)-f(i-1)$ & \knyil & $f(i)$
\end{tabular}

\begin{stuki}
  \stm{j,k,max := m+1,m+1,f(m+1)-f(m)}
  \begin{WHILE}{3}{\stm{j\ne n}}
    \begin{IF}{1}{\stm{f(j+1)-f(j)>max}}
      \stm{k,max:=j+1, f(j+1)-f(j)}
      \ELSE
      \SKIP
    \end{IF}
    \stm{j:=j+1}
  \end{WHILE}
\end{stuki}
\end{document}
