\documentclass[a4paper]{article}
\usepackage{progm}
\analpacks
\analoldal{3. feladatsor, 5. feladat}
\renewcommand{\P}{\mathbb{P}}
\begin{document}
\noindent
\emph{Feladat:} Az $x$ szekvenciális file (megengedett
művelet az $sx,dx,x:read$) földrengések adatait tartalmazza.  Egy
elem a következőkből áll:
\begin{itemize}
\item az észlelés helyének koordinátái
\item a rengés erőssége
\item a rengés időtartama
\item a földrész azonosítója
\item a rengést előre jelezték-e
\end{itemize}

Válasszuk ki a $t$ sorozatba az előre nem jelzett földrengések
észlelési helyeit, a $z$ sorozatba pedig a 20 másodpercnél hosszabb
fölrengések adatait!

\emph{Specifikáció:}\\
$\P = (x:\N,y:\N)$\\
$\R = (h:\P,e:\N,t:\N,fazon:\N,j:\L)$\\
$\F = \file(\R)$\\
$A = \alatt{\F}{x} \times \alatt{\seq(\P)}{t} \times \alatt{\seq(\R)}{z}$\\
$B = \alatt{\F}{x'}$\\
$Q = ( x=x' )$\\
$R = ( t=f_1(x') \es z=f_2(x') )$

Ahol $f_1$ és $f_2$ elemenként feldolgozható és egy-egy elemet feldolgozó változataik:\\
$e\in\R$\\
\[
\Tilde f_1(\{e\})=
\left\{
\begin{array}{ll}
  \{e.h\} & \text{, ha } \nem e.j \\
  \varnothing & \text{, egyébként}
\end{array}
\right.
\]
\[
\Tilde f_2(\{e\})=
\left\{
\begin{array}{ll}
  \{e\} & \text{, ha } e.t>20 \\
  \varnothing & \text{, egyébként}
\end{array}
\right.
\]

Tehát ez egy egyváltozós kétértékű elemenkénti feldolgozás.

\begin{stuki}[8cm]
  \stm{z:=<>}
  \stm{t:=<>}
  \stm{sx,dx,x:read}
  \begin{WHILE}{5}{\stm{sx=norm}}
    \begin{IF}{1}{\stm{\nem dx.j}}
      \stm{t:hiext(dx.h)}
      \ELSE
      \SKIP
    \end{IF}
    \begin{IF}{1}{\stm{dx.t>20}}
      \stm{z:hiext(dx)}
      \ELSE
      \SKIP
    \end{IF}
    \stm{sx,dx,x:read}
  \end{WHILE}
\end{stuki}
\end{document}
