\documentclass{article}
\usepackage[magyar]{babel}
\usepackage[latin2]{inputenc}
\begin{document}


\centerline{\bf Pótzárthelyi feladatok (2004. dec. 20.)}

\section{ZH pótlása (C++)}
\begin{enumerate}
\item Írjunk C++ programot egy lejtőn lecsúszó/gördülő test sebességének és
  megtett útjának kiszámítására a következők szerint:
\begin{itemize}
\item Súrlódás nélkül lecsúszó testre definiáljunk egy osztályt, melynek két
  virtuális függvénye határozza meg az adott időpontbeli sebességet és megtett
  utat.
\item Súrlódás esetére (forgás nélkül) származtassunk az előbbi osztályból egy újabb osztályt,
  melyben az előbbi virtuális függvényeket felül\-de\-fi\-niáljuk.
\item Gördülés esetére származtassunk le egy másik osztályt az első
  osz\-tály\-ból. Tegyük fel, hogy homogén gömb alakú golyó gurul le a lejtőn,
  ennek a tömegközépponton átmenő tengelyre vonatkozó tehetetlenségi nyo\-matéka
  $$\frac{2}{5}MR^2$$
\item Példányosítsuk mindhárom osztályt, de a főprogramban mindenütt az
  ősosztály mutatóját használjuk! A számítás elején kérjük be az adatokat, és ha
  súrlódás ill. gördülés esetével van dolgunk, az
  ősosztály mutatóját  a megfelelő mutatóval tegyük egyenlővé (polimorfizmus
  lehetőségének felhasználása).
\end{itemize}
\item Írjunk C++ programot a 
{\it Millikan}-kísérlet leírására a következők szerint:
\begin{itemize}
\item
Definiáljuk a töltés osztályt, melynek 
privát {\tt q} tagját a konstruktor inicializálja, {\tt get()} tagfüggvénye 
pedig visszaadja az értékét! 
\item Hasonlóan írjunk egy tömeg osztályt is, melynek
konstruktora nem engedi, hogy a privát {\tt m} tagja negatív értéket vegyen
fel! 
\item Definiáljunk továbbá egy konstans erőterek esetére vonatkozó álta\-lá\-nos célú 
osztályt, amely a térerősség és valamely anyagi állandó értékét felhasználva 
megadja az erő értékét. Származtassuk le ebből az 
osz\-tály\-ból a homogén gravitációs és homogén elektromos térre vonatkozó 
osz\-tá\-lyo\-kat (mindkét esetben az {\tt ero()} nevű függvény adja meg az erőt)!
\item A homogén gravitációs és homogén elektromos térnek megfelelelő fenti osztályokból 
többszörös öröklődéssel származtassuk le  a 
{\it Millikan}-kísérlet leírására alkalmas osztályt, mely a homogén elektromos 
és gravitációs tereken kívül egy, a sebességgel ellentétes irányú és 
$6\pi\eta rv$ nagyságú súrlódási erőtagot is figyelembe vesz. Aknázzuk ki a
függ\-vé\-nyek túlterhelésében rejlő lehetőségeket! 
\item Alkalmazzuk ezt 
az osztályt a Millikan kísérlet modellezésére! A kondenzátor két $D=8\,cm$ 
átmérőjű vízszintesen elhelyezett fémkorong, a lemezek távolsága $d=1\,cm$. 
A síkkondenzátor geometriai közép\-pont\-jába kezdősebesség nélkül $r=10\,\mu m$ 
átmérőjű $\rho=870 kg/m^3$ sűrűségű és $10^{-15} C$ töltésű olajcseppeket 
juttatunk, és $U=1200V$ feszültséget kapcsolunk a 
kondenzátor lemezeire. A levegő dinamikai viszkozitása $20^\circ$C-on $\eta=1.81\times
10^{-5}\frac{kg}{m\; s}$. Megfelelő numerikus 
algoritmussal vagy analitikusan oldjuk meg a mozgás 
differenciálegyen\-le\-tét, az eredmény file-ban adjuk meg az út-idő adatokat, a 
kezdeti idő\-pont\-tól a lemezbe való becsapódás időpontjáig $10\,ms$ lépésközzel. 
\end{itemize}

\end{enumerate}
\section{ZH pótlása (Java)}
\begin{enumerate}
\item Írjunk Java alkalmazást, mely egy (parancssorban) adott file első 10 byte-ját
bemásolja egy másik (parancssorban megadott) file-ba és a file műve\-le\-tek\-nél
előforduló leggyakoribb hibák esetén saját kivételkezelőt futtat (nem létezik
a forrásfile, valamelyik file-t nem tudja megnyitni, nem tud eleget
olvasni belőle, vagy írni bele, stb.).
\item Írjunk Java alkalmazást két szál közötti adatcserére a következőképpen:
Mindkét szálat elindítjuk.
Az első szál elindításakor jelenjen meg egy grafikus felület beviteli szövegmezővel. A beírt szöveg után entert
ütve a szöveget adja át a másik szálnak, amely csak ekkor jelenítsen meg egy ablakot, benne a kapott szöveggel.
\end{enumerate}

\end{document}
