8(CA@AUTOEXECXECesM 078  c}E q0 \C)CC8`DCeECiD` RP h1$E ȍ @y b Y)hܭ]L]` q  DMD   u j)`0  ,p0i2 &28jJ1f02 9 g iJf0i1)xԍӭ232002XԦ`  *'  } *(L `(  L l pL[,L] C i0 } p  gފދLh ( LD 0  C  C  \i +$+0'}; $(%)  b L[C `D P^߰")(݃   $DD}G@НL]S")M T H0 G$Ș݃ b 8$}$%8(() T `$E0(0)8`$GE` P} Li 8GD }L[ PH >iJ ;  yyB } ' |L[ "E( % H$ H#`L]B  0 G LO<  ( d lH۪!A3 A }jA !B EIC Y$E0 F  < 7 JN8Ndâ!,P h0ʠJd,6 } ' r/ $ ɛ ` '  L[  l }-     }    L[L  }  '  L[   p  ` g  l }) g ' }L[) ̠,L]T-0 |LM N݃:ː6UV LM N L(TU N,)M}LL[IL3GDIɛ ɜ DI  , JȊGм  G I) GȦ=}*GG ȄI1200820I H1E 1h0hIGI2ȢI`FE 0ɛ rɛ$ l '}蚦TTUVD`M L$:;Pyȱ$` r  iȱ$/:ȱ$VWyA**⩀ / }`$***? mL]-+ȱ$ɛ m* ? g. $0f.?'@BrAsTt[ }0: gL  `$0`j`& CpCi s L0JCܢj? I#}𴽎F ގМގ& & 0 C4 08L`0   | 레L] EGȽGȽ}G | E` 8,  }EG)݀G)ȱGȱG`"!L] l!i}栠$8  (IƭIp  h,g+j? 8 ii(Lq)! }S S0$}) E9`H)N,L]8GH Lq`gNgfj****8jHi h` } 2J  &e2i`"%?&;^$IM ! ! <u hh`$}Ev옝^! 1EHFHjm GHm H`u$Ev`L=? +`!,pFE ȄD8 }q D&E`I0` i`+DOS SYSMOC.I  J ٍ = ) F)}8`Ll T!U<; Ln <JM -18    HH =}D 1 :  /1[F:M #.! 0`>C #   #`>   e}L'>/b;\I\o@ @LK~ L  % /e  L ; H}H0S0N:;=91D,1ɛK$ɛ`:;ʾ  ,ɛ}`XYȄ #`DTDRLUFFFCICLRSJ==CIYEEONSMDLNOOUAOOOARPLNCL#####PANVBNFR*),-PQORa/%<}) j ө  RES L%-, # 3 0 %   4(H 4(` }( 3  #  ZOiۨ L4RE 3 =F S Z +8!} 0+  FF % 4 4& 4(X)Y    # 4 ʤ Ȅ L"}F F LH hL4`*J 0 B B 0a   8#}    Lkl  );<  : ` 0 } T T 7̀΀$}LIl <;`<L 3   #/ ! R( 7 7   7 89i L7 ,(&  %} L480  ` Ln    `   HJJJJ h) ii0HI B V`0  ,BLV&}[J  B Vso Fhh` GH ,H hɐɀɡ)HDCȱCɛeCD먥D h'}N MSп` ED` OIH`hhXhh  nL Free FilesBreakI/O-Error 144Disk f(}qllWrite protectedFile MismatchBad Filename}Disketovy magazin FLOP 37, 5/95 --------------------------------File lock)}edDevice doneDirectory fullFile not foundBad Load FileNot DOS II+Bad HexAbort-> Source-> DestinationD1:+DOS SY}'FLOP 37''TITLE37FLOP37d)l od &ina i v&ech lid), kter`m jsem tohle v&e vypr*v%l, v%d%l. Je to Vrchlab) ;-$.vn) s@O@9P>,}PUTU@-}TU@?U?.}UP?UUUPUU/}UUPUUꪩUUPUU0}UUP?UUU?ꪪUUP?UUU1}UUUPUUTUUU@ꪪUUUT2}UUUUUUPUUUTUUUU@3}UUUPꪪUUUT?UUUU@?UUUUP4}?UUUUT?UUUUUUUU@UU5}UUPꪪUUUUTꪪUUUUUꪪUUUUU6}UUUU@UUUUPUUUUPUUUUT7}UUUUTUUUUTUUUUUUUUUU8}UUUUUUUUUUUUUUUUUUUU9}UUUUUUUUUTUUUUTUUUUT:}UUUUPUUUUPUUUU@ꪪUUUU@;}ꪪUUUUUꪪUUUUTUUUUPUUUU@<}?UUUU?UUUT?UUUUP?UUUU@=}?ꪪUUUUꪪUUUTUUUU@UUUU>}UUUPUUU@ꪪUUUTꪪUUUP?}UUUUUUPUUU@?ꪪUUT@}?ꪪUUU@UUTUU@UUTA}ꪩUU@UTUU@UTB}UU@?UT?U@UC}PUUPUD}@T@>TE}5[F}oVjUG}ZUUVUjH}UVUZUUUVI}UUjUUUUZUUjJ}UUVUUZUUUjUUVK}UUUZUUUjUUVPS<<lL}lHllll0|||fl0fF8l8pv00 p88pl88l~0~ 0`||0p00M}||||``<`| >||||~|0 0 ~~`0 0`8llN}||||<< x||O}|v|p|00000|f<ll|x00 8``0 xx8lP} x |~l8l8|~v~~l8||l8  | 8<8l8v8l| <>>CVM4.0<<< BY RADEK STERBA, RASTER 19958 j jg}FAn0R"zU4w`N8'xpjd^WRh} P(!yy!y'yzy!y'y zy!y'y&zy!y'y>zy!yFyNzy!y'y zy!y'y&zy!y'yTzy!yFyfzy!y'ylzy!ybyzy!y'yzy!ybyzy!y~i}yzy!y'y xz z d d d d dddd d ddddddj}dJ{H`HQQHHHQHQHlHQQHHHQHQp1[2H hJJJJJ)iϠȌq1q1v1mt1u1΍s1)`u1`s1)u1`01s1)u1ao1o1)p})%2i%2&2i&2%2n&28 %22&2%/ ~1ҩ@ p ~1`Lk0 `ppppLq}T N@12r}pR2A1Hͤ̌Р LW2̹`й`йaФh@-agazin&,/0$isketovyzpravodajs}propocitace!tari4otojedalSICIslo6aSehojistEoblIbenWhopoCItaCovWho23magazInt}u$oufAm Ze6AstohleUvodnIdemozaujalo6ytvoRilho2adek]tErba 2!34%2!cojevdneSnImmagazInu.echteseu}pRekvapit3nadnicneprozradIm kdyZReknu ZejsmesesnaZili abybylconejzajImavEjSI$AvAnAmtosicedostzabra34tv} alecobychompro6As vErnWCtenARe neudElali*istEseuZtESIte coskvElWhouvidIte takZe$ostbyloUvodu jdesenaw}vEc*akspustitvlastnImagazIn:dejemaximAlnEsrozumitelnYavyCerpAvajIcInAvod 6ybertesinEjakouUx}p45lnElibovolnouklAvesu 3tlaCteji 6pRIpadE Zesenicnestalo znamenAto ZenebyladostateCnElibovolnAy}0rotosivybertejinouavraTtesekbodu 6pRIpadE zesepoCItaCrestartoval budetonejspISetIm Zejstesivz}ybrali562%3%44eDsitedyvybertenEjakoujinouklapkuavraTtesekbodu 6pRIpadE ZejstepomaCkaliceloukl{}Avesnicianicsenestalo pRestaNtesvouklAvesnicinazYvatklAvesnicI poRiDtesijinouazaCnEtepEknEodzaCAtkuprvnImb|}odem 467aktakhlebytoneSlo6ysiprostEnedokAZetevybratpoRAdnElibovolnouklAvesu4akZe6AmnEjakouvyberus}}Am:kustetRebamezernIk tojetapodlouhlAklAvesavdolnICAstiklAvesnice0oznAtejipodletoho ZenanInenInicnap~}sanWho.ac78ojeStECekAteXejstetennAvodnestihlipReCIst.odobrA teDpustImcelYtextjeStEjed}noudokolaspeciAlnEpro6As 4otojedalSICIslo6aSehojistE0.odobrA teDpustImcelYtextjeStEjedQ #<<lllllllp88pl8||l8|||l8|~l8 8` 8< x |~8l8v00 }0 0`||8x~||||``<`| >||||~|0 0 ||`0 } 0`p``p$' }fffffff>`<|fl0fF68of;p88pf< 80 0 ~~`0 0```nf>ff~fff~~f<flxxlf`````~cwkccfv~~nff>l8xlfflx66>ff>6fffff~ ~~6fv~~nfl8|ffff  }`<|6~ ffff>6 x6~ 0~x`x`~l8|ff|lf6>`<<6~ } ff<00<>f>``|ff|>ff>>f>|``|fff8<<``lxlf8<fkc|f }fffff>|f```>`<|~ffff>fff<ck>6f< x~ 0~0p p8 }k Xpx(( . p ) -ӍK* w+Ս, ) ) + ) ) )M)?#%!C#! 67+L< }( (L4( (L4( )L4( W)L4( (L4( (L4(-`֩L+-٩4-`-Ȅ,`֩ }L+-L((90%24()%84 -( -,tʎ,սV)U) ) +U) (U) )V)׹-4-`1- }-(, !՝ם֝,- )L+`---@@` )໙-``/ )` }"/L)֥ .i)*͹.i.Π`ȱ_:R)` )@hhK*ө(l Lt*Lt* }+ - w+ )Lx($Lt* )- ) )@Ԣ0BJKi +Di!+E VHL+0BpEDJI }H VH(iϥ)ioРɛ*+ȩȩϢ0 B VhɈLV* - , -- w+L)ɛ8e͍ }pip ) p )LY*Ӆˍ@ҩo (ҙЈ&0-1j-L }) ` ) ͹Ω@ϩ+,Щ,Ҥҩ-өѠɛ ,Lw,"ȱ,L,ҝ-i͐Πȱ } ,Ll, -'ޤ'Ȉ ,ψ8eх͐i(ϐФҥәȄ$L+JJJJJ),e`ȱȱ,` } ͙Ι-,-i,-i-`@2!34%2(90%24%84Fs$Du0B. }@B,A&-HH$˹- ԍй-Ѝ- ! hh@  }  -g. +0BJKYD.E VHLI.0B }D.EHAI VH0 B VhɈЧ`D:SYSTEM*.HYP( +0BJKYD.E VHLI.0B ?$isketov`magaz n&,/0  &]o  f S N=<Nbn$}u.hNy  V*(en) 'ten*@i magaz)nu FLOP ---------------------------- V)tejte u 37.')sla Va&eho zp$}ravodaje. V%@)me, (e V*m p@ijde v tuto ro'n) dobu vhod. Tak(e hur* do toho. V n*sleduj)c) nab)dce si vyberte: Redak$}ce uv*d)... Obsah magaz)nu P@ipravujeme ATARI slezina v Prost%jov% Kurs programov*n) v jazyce C$}/ B%(n* inzerce N*vrat do DOSu Redakce uv*d)... ---------------- vodn)k Ohlasy $}Hot News Metoda st@)d*n) obrazovek Na&e recenze a manu*ly$ Algoritmus pro n*hodn` v`b%r B$. Link$}ovac) program B$+ Zaj)mav[ stereogramy* FREE CON 95 - report*(7 Vy&lo 7.')slo 'asopisu ALERT!$} D+le(it[ adresyD:LINKER.CAPD:NAHODA.CAP3 Pr+vodn) 'l*nek ke stereogram+m4 Polokou$}le "norm*ln)"6 Polokoule "zvl*&tn)"D:STEREOGR.CAPD:G8VIEW.HYPD:PKOULE1.PICD:G8VIEW.HYPD:PKOUL$}E2.PICD:FRECON95.CAP Strana A Strana B P@ipravujeme k uveden) do '.38 ----------------------$}-------- Souhrnn` 'l*nek o stavu do&l`ch a uve@ejn%n`ch p@)sp%vk+ jako uz*v%rka dvoulet[ho obdob) pr*ce prost%jovsk[ redak$}ce. Doplky k seznamu vydan[ literatury pro na&e po')ta'e. Test autorsk[ho programu BaBy Bag &)@en[ho firmou EXMINSY.$} Kurs jazyka C - 8. '*st ------------------------------! Text kursu" Zdrojov` v`pis pro ST% $} Zdrojov` v`pis pro XL/XE 1.'*st1 Zdrojov` v`pis pro XL/XE 2.'*st2 Zdrojov` v`pis pro XL/XE 3.'*stD:KU$}RSC8.CAPD:NERVYST.CD:PART1.CD:PART2.CD:PART3.C P@ejete si DOS? Po ni'em jin[m neto$}u()m...D:UVOD37.CAPD:OHLASY37.CAP Kr*tk[ a 'erstv[ zpr*vy ----------------------- Zat)m se nepoda@ilo z$})skat slibovan` pakovac) syst[m ZIP. M*me jen jeho polovinu, kter* bez t[ druh[ asi nem* velik` v`znam. Program pro celost$}r*nkov` tisk ERNOB L MAGIE je ji( t[m%@ hotov`. Autor n*m zaslal vyti&t%n` manu*l s p@ipom)nkou, (e tento velk` programov` $}syst[m hodl* st*le poskytnout jako voln% &i@iteln`. Kdy( to dob@e p+jde, bude program p@edstaven ve@ejnosti ji( v dubnu na sl$}ezin% v Prost%jov%. Podle neov%@en[ zpr*vy vznik* v Ro(nov% u firmy FLOP snaha o zru&en) placen[ slu(by kop)rov*n) PD disk$}et. B%hem m%s)ce hodl*m zajet osobn% do Ro(nova a na m)st% vyzv%d%t v&echny aktu*ln) informace. Doufejme, (e se jedn* jen o p$}lan` poplach ze strany ne&astnou n*hodu odbyt[ho z*kazn)ka. Sou'asn* sestava redakce FLOPu kon') s ')slem 38. M* n%kdo z*$}jem o pr*ci na magaz)nu? St@)d*n) obrazovek Popis t[to metody B$ P@ilo(en[ p@)klady $} B$ Je&t% jedna uk*zka: Ru'i'kov[ hodiny B$D:SCREEN.CAPD:EXAMPLES.CAP$}D:HODINY.CAP Na&e recenze a manu*ly ------------------------------------ Popis megadema JOYRIDE$} Manu*l na hru MANKALAD:JOYRIDE.CAPD:MANKALA.CAPVy&lo posledn)?$ ')slo 'asopisu Alert!----------------$}----------------------- dlouho o'ek*v*n[ posledn)$ dvoj')slo Alertu! mi p@i&lo ve st@edu 17.1.1995. Osmibitov[ ataristy$} vlastn)c) n%jak` CD p@ehrava' by mohlo zaj)mat schema interface pro jeho p@ipojen) k po')ta'i i s popisem 'innosti. D*le p$}okra'uj) t[mata programov*n) a ]prav her, nov% se objevil PASCAL. ALERT! si kupuje jen asi 1000 atarist+ z celkov[ho ohromn$}[ho mno(stv) majitel+ po')ta'+ u n*s. Pro zru&en) prod%lku nakladatele bude nutno, aby si v&ichni p@edplatili p@)mo u JRC a o$}'ek*v* se tak[ zv`&en) ceny ')sla na 50 korun. Jinak 'asopis jako takov` kon')...  DLEIT ADRESY: ----------$}------ FLOP Ro(nov pod Radho&t%m Prost%jovsk* redakce: Zden%k Burian Jan Walla Radek $}t%rba Ji@) SvobodaD:OBSAH37A.CAP) Celkov` popis soubor+- Sektorov* datab*ze B$$}5 CTH FastBasic B$ Animovan[ demo z INTERNETu B$ a origin*ln) dokumentace B$}$0 Nab)dkov` cen)k EXMINSY B$D:OBSAH37B.CAPD:BOBTEST.CAPD:BOBTEST.TXT P@edstavujeme V*m$} sektorovou datab*zi SEKBASE.TBA od pana Vladim)ra Li&ky. V%@)me, (e se V*m bude l)bit.!! nespou&t%jte jej p@)mo z magaz)nu$} !! Pro pr*ci s datab*z) mus)te ud%lat n*sleduj)c) v%ci: Vy'lenit si jednu stranu diskety. Vytvo@te si disketu s FLO$}PDOSem, form*tovanou na hustotu MEDIUM, nakop)rujte na ni TBASIC.COM a nakonec SEKBASE.TBA, ov&em pod jm[nem AUTORUN.BAS kv+l$}i samospou&t%n). Napi&te v DOSu p@)kaz "JOB TBASIC", kter` V*m modifikuje DOS tak, aby do&lo po nabootov*n) t[to diskety k $}automatick[mu startu TBASICu a cel[ datab*ze. Nyn) m+(ete pracovat. Program V*s povede s*m. Je nutn[ si uv%domit pouze: $}Vytvo@it mapov` soubor m+(ete jen jednou, p@i inicializaci, pak m+(ete @*dky tuto inicializac) vymazat Form*t datab*ze je z$}ad*n v DATA @*dku - ten si mus)te upravit sami. P@)jemnou pr*ci v*m spolu s autorem p@eje JW. CTH FastBasic - kompatib$}iln) interpret---------------------------------------& Nouzov` p@eklad dokumentace B$' Pozn*mky k syst[$}mu B$( Origin*ln) dokumentace B$D:FBASIC.CAPD:FBASICPO.CAPD:CTHFAST.DOCD:INZ$}ER37.CAP Firmu EXMINSy jsem p@edstavil v minul[m ')sle FLOPu. Nyn) uv*d)m sl)ben` cen)k s nab)dkou program+ z roku 1995$}. N%kter[ z nich jsou V*m ji( zn*m[ z b%(n[ nab)dky firmy FLOP Ro(nov, proto(e jejich auto@i pou()vaj) r+zn[ distributory.$} EXMINSY m* cen)k mnohem v%t&). N%kter[ programy jsou vlastn) produkce, jin[ jsou dal&)ch autor+. Vlastn) cen)k nen) za@az$}en do prohl)(en) pomoc) HYPERTEXTu z n%kolika d+vod+. P@edn% je moc dlouh`, d*le je form*tovan` na tisk rozm%ru A5 komprimova$}n`m p)smem. Proto p@i prohl)(en) na obrazovce bude trochu vadit spousta @)d)c)ch kd+. FLOP P.O.Box 69 Ro($}nov p. Radh. 756 61 telefon: 0651/56 53 59 K firm% FLOP Ro(nov pat@) tak[ dv% p@idru(en[ prodejny. Prvn) je v $}Ku@imi, co( je kousek od Brna, druh* je zase bl)zko Prahy. Zden%k Burian Marie Majerov[ 33 Prost%jov - Vr$}ahovice 798 11 telefon do pr*ce: 0641/93 241 kl.212  Dopravn) stavby Mosty $ Jan Walla $} Ku'erova 22 Prost%jov 796 01 e-mail: wallarisc.upol.cz Radek t%rba sl. odboje 36 Pros$}t%jov 6 798 11 e-mail: sterbarrisc.upol.cz nebo sterbarinfnw.upol.cz Ji@) Svoboda Tyr&ova$} 14 Prost%jov 796 01 ATARI slezina PV96--------------------------------------- Atari klub Prost%jo$}v bude letos na ja@e 13. dubna v sobotu po@*dat setk*n) pro v&echny skaln) ataristy. Pozv*nka plat) pro 8-mi bitov[ i majit$}ele vy&&)ch typ+. Vstup samoz@ejm% nen) uzav@en pro jin[ po')ta'e, ale pro n% nem*me (*dnou nab)dku. Akce bude uspo@*d*na v$}e velik[m s*le restaurace HAN v prvn)m poschod) od 9.00 do 21.30. Restaurace je um)st%na na z*padn)m okraji Prost%jova na r$}ohu ulic Plumlovsk[ a Jungmanovy. Zast*vka autobusu je nedaleko, pro motoristy je mo(nost parkov*n) v p@ilehl`ch vedlej&)ch$} ulic)ch. Vstupn[ bude sp)&e symbolick[, asi dv% koruny, proto(e n*jem za s*l je p@ekvapiv% mal`. Dotazy a (*dosti o reze$}rvaci stol+ n*roky na elektrickou energii$ pos)lejte na moji adresu, nebo m% m+(ete volat do pr*ce. Odpoledn) telefony bude $}vy@izovat kolega od ST Honza K@upka z Olomouce na ')sle 068/5431108 - ZB- e. Odpoledn) telefony bude $bpq/ԩ0q1p̭p͠ɛspsp̩͢0BJKsDpE VLpD:(}0BDEHI V0G p"/ q  q`0 BLV p(} ` `pppO(}OAq(i DOS.SYS, AUTOEXEC.BAT ---------------------Syst[mov[ soubory. TITLE37.COM -----------Cituji Zdek0}a: B*je'n[ demo se zrcadlov`m zkrucuj)c)m efektem. FLOP37.COM, SYSTEM.HYP G8VIEW.HYP ----------------------0}Hypertext se sv`mi datov`mi soubory a extern)m prohl)(e'em. OBSAH37?.CAP ------------Informace o obsahu obou s0}tran magaz)nu. UVOD37.CAP ----------Nejkrat&) ]vodn)k, jak` jste kdy 'etli. OHLASY37.CAP ----------0}--Reakce na Va&e dotazy a p@ipom)nky. INZER37.CAP -----------ten*@sk* inzerce. MANKALA.CAP -----0}------Popis matematick[ h@)'ky "Mankala". JOYRIDE.CAP -----------Informace o &pi'kov[m celodiskov[m demonstra0}'n)m programu JOYRIDE. FRECON95.CAP ------------Report*( z n*v&t%vy akce po@*dan[ v Plzni firmou CONSUL. 0} STEREOGR.CAP, PKOULE1.PIC, PKOULE2.PIC --------------------------Dva stereogramy p@eveden[ z PC a jejich popis.0} KURSC8.CAP, NERVYST.C, PART?.C, NERVY.LNK, NERVY.COM, CISLA.DAT, MATICE.DAT ---------------------------0}-----Dal&) '*st kurzu programovac)ho jazyka C s jedn)m uk*zkov`m programem. MATICE.DAT ---------------------------0N TBASIC.COM, BASIC.COM, AUTORUN.BAS ----------------------------------Op%t soubory inicializuj)c) TURBOBASIC a B4}ASIC. SCREEN.CAP, EXAMPLES.CAP, SCREEN??.TBA -------------------------Metoda st@)d*n) obrazovek a jej) pou4}(it) pro animaci grafick`ch objekt+. Dolo(eno skupinou demonstra'n)ch progr*mk+ v TBASICu. HODINY.CAP, HODINY.TBA, HOD4}INY.PIC ----------------------------------Modifikace @e&en) p@edminul[ho hlavolamu od JW s vyu(it)m p@esunu dat mezi n4}%kolika obrazovkami. Velmi p+sobiv[... LINKER.CAP, LINK.COM --------------------Slib z minul[ho ')sla jsme dodr4}(eli!!! Uv*d)me program pro pohodln[ a opakovan[$ spojov*n) v)ce soubor+. NAHODA.CAP, NAHODA.BAS ---------------4}-------Popis a demonstrace algoritmu pro n*hodn[ vyb)r*n) z mno(iny prvk+ bez opakov*n). Elegantn), rychl`, bezkonkuren'n),4} ]chvatn`.. :-$ CTHFAST.COM, CTHFAST.DOC, SC., BENCHTST.BAS ------------------------------Origin*ln) bal)k4} CTH FASTBASICu. FBASIC.CAP, FBASICPO.CAP ------------------------P@eklad a dopluj)c) 'l*nek k bal)ku CTH FAST4}BASIC. BOBTEST. ---------Origin*ln) bal)k s demonstrac) metody "hadovit` pohyb v lince". Dopln%no 'esk`m p@ekl4}adem od Zdeka. SEKBASE.TBA -----------Turbobasicovsk* sektorov* datab*ze od p. Vladim)ra Li&ky, vyu()vaj)c) p@5})m` p@)stup na disk. NAB95.CAP ---------Nab)dka program+ &)@en`ch firmou EXMINSY. VANOCE.COM ------5}----Pod v*no'n) strome'ek - v*no'n) demonstra'n) progr*mek. Jak dojemn[... Za notn[ zpo(d%n) autor nem+(e.$OM ------4o V*(en) 'ten*@i, dodate'n% V*m za celou redakci i firmu FLOP p@eji pohodu a ]sp%chy do nov[ho, nyn) ji( sou'asn[ho ro9}ku 1996. Douf*m, (e V*noce jste si u(ili hodn% vesel[ a pohodu V*m nezkazilo ani nedod*n) tohoto ')sla magaz)nu, kter[ bylo9} p+vodn% pojato jako v*no'n). Snad V*m n*ladu nejv`zna'n%j&)ch sv*tk+ v roce p@ipomene jednoduch` demo progr*mek, kter` nal9}eznete na prvn) stran% diskety. N%kte@) z V*s ji( pos)laj) do Ro(nova p@ihl*&ky na p@)&t) ro'n)k na&eho FLOPu. To je velmi 9}dob@e a je&t% lep&) bude, kdy( se i dal&) z*jemci projev) b%hem m%s)ce. Na z*klad% Va&eho ohlasu bude rozhodnuto o dal&)m osu9}du magaz)nu a podrobn* informace vyjde v posledn)m ')sle prob)haj)c)ho ro'n)ku. -ZB-ozhodnuto o dal&)m osu8g Jsem 'lenem nyn) ji( zlikvidovan[ho ATARI klubu v Praze, m*m disketovou jednotku ATARI 1050 a sh*n)m n*hradn) @em)nek. N= }a cen% mi nez*le() a vzal bych i dva @em)nky. ing. M.Jurn)k Na uveden` dotaz zareagoval p@ekvapiv% j= }eden z 'len+ Atari klubu Prost%jov, s*m majitel pouze datasetu. Kulat` @em)nek by dovedl vyrobit, ale v jednotce je pou(it` t= }enk` placat`. Po jeho vyjmut) z m[ mechaniky byl zm%@en &uplerou a kolega bude hledat vhodnou n*hradu v r+zn`ch kataloz)ch. = } O v`sledku budu informovat 'ten*@e i tazatele, samoz@ejm% se m+(ete zapojit do akce sh*n%n) @em)nku s n*mi. - = }ZB-`sledku budu informovat 'ten*@e i tazatele, samoz@ejm% se m+(ete zapojit do akce sh*n%n) @em)nku s n*mi. - < Prod*m tisk*rnu SP-180VC speci*ln% ur'enou pro p@ipojen) k po')ta'i COMODORE-C64 asi za 2000 K'. Je nepou()v*na, proto(e jA}e omylem majetkem ataristy. S.Opletal odpov%di na adresu redakce$2000 K'. Je nepou()v*na, proto(e j@[ MANKALA - popis hry. Hra Mankala je zaj)mav* matematick* h@)'ka, kter* jist% stoj) alespo za vyzkou&en). Podle oE}zna'en) je autorkou Elizabeth Chase MacRaeov* a hru vytvo@ila v roce 1982. Manu*l na ni jsem ve sv`ch p@)ru'k*ch nena&el, pE}roto jsem se rozhodl mal` popis k n) s*m na'rtnout. Ov%@il jsem si toti( na sch+zk*ch na&eho klubu, (e n%kte@) atarist[ i hrE}*'i$ na jej) princip nep@i&li ostatn% ani j* s*m ne$. Snad je to t)m, (e nen) na co st@)let a vzhledov% vypad* grafika velmiE} primitivn%. Po spu&t%n) hry se objev) nab)dka na stisk START pro zapo'et) hry nebo OPTION pro v`b%r zp+sobu. Po ur'it[ dobE}% se spust) automaticky demo. Pomoc) OPTION je mo(n[ volit hru pro dva hr*'e nebo jednoho proti po')ta'i, u n%ho( lze navolE}it 'ty@i stupn% inteligence. Po stisku START se vyp)&e dal&) nab)dka na p@)m[ zapo'et) hry nebo na volbu po'tu hrac)ch kameE}n+ pomoc) kl*vesy SELECT v rozmez) 3 a( 8. Na obrazovce se vykresl) hrac) pole slo(en[ ze dvou @ad &esti obd[ln)'k+, po strE}an*ch je um)st%no po jednom v%t&)m pro ka(d[ho hr*'e. )k*m tomu chl)ve'ky$. Po zapo'et) hry je v hrac)ch pol)ch um)st%no E}stejn[ mno(stv) hrac)ch kamen+, kter[ ov&em p@ipom)naj) pom%rn% jednoduch[ bod)ky. Ovl*dac)m r*me'kem @)zen`m joystickem hr*'E}i st@)dav% ozna'uj) sv* vhodn* pol)'ka. Z nich jsou v&echny obsa(en[ kameny vybr*ny a n*sledn% rozm)sov*ny kolem dokola cel[E}ho hrac)ho pole po jednom do ka(d[ho "chl)ve'ku". 'elem je nashrom*(dit nejv%t&) po'et bod+ do sv[ho osobn)ho sb%rn[ho pole.E} V ka(d[m tahu tak m+(e b`t do n%j p@id*n nejv`&e jeden bod vyjma zvl*&tn)ho p@)padu$. Hr*' tak nedobrovoln% v%nuje body i dE}o hrac)ch pol) protihr*'e, nikoliv v&ak jeho sb%rn[ho. Pokud tah skon') um)st%n)m zbyl[ho kam)nku do sv[ho sb%rn[ho pole, pE}okra'uje bez p@eru&en) dal&)m tahem. Pokud skon') um)st%n)m posledn)ho do sv[ho hrac)ho pole, kter[ bylo p@ed t)m pr*zdn[, uzE}me kam)nky z pole protihr*'e um)st%n`m pod nebo nad t)mto polem. Je to nejv%t&) p@)le(itost si po@*dn% "nahrabat". Samoz@ejm%E } pouze za p@edpokladu, (e toto pole n%jak[ kameny v+bec obsahuje. V tomto p@)pad% se ale dal&) tah p@ed*v* protihr*'i. Ve vE!}y&&)ch obt)(nost)ch program uva(uje tak schopn%, (e m% autorka jeho prost@ednictv)m b%(n% por*(). Na ovl*d*n) hry mi chyb) E"}mo(nost kdykoliv se vr*tit pomoc) konzolov`ch kl*ves START a j.$ na za'*tek, zejm[na pro p@eru&en) automaticky spu&t%n[ho deE#}ma. Tak[ pauzy mezi jednotliv`mi partiemi jsou tak nucen% dlouh[. Mo(n*, (e se jedn* o po&kozen) vznikl[ v&elijak`mi p@evody E$}na kazet% do Turba a potom na disketu. V ka(d[m p@)pad% doporu'uji hru vyhrabat mezi zapr*&en`mi odlo(en`mi "star`mi hloupostE%}mi" a @*dn% vyzkou&et. -ZB- )pad% doporu'uji hru vyhrabat mezi zapr*&en`mi odlo(en`mi "star`mi hloupostD2JOYRIDEV Atari arch)vu program+ pro Atari XE/XL na Internetu se nach*z) i s[rie celodiskov`ch demonstra'n)ch program+. VyznI'}a'uj) se t)m, (e zab)raj) ob% strany diskety a po nabootov*n) z DOSu jsou toti( v%t&inou ne'iteln*$ na')taj) jednotliv[ '*stI(}i a p@edv*d%j) mnohdy nepochopiteln[ v%ci.Jedn)m z nich je i demo JOYRIDE. Je absolutn% nejlep&) ze v&ech dem, kter[ jsme doI)}posud m%li tu mo(nost shl[dnout. Leckter` zap@is*hl` odp+rce po')ta'+ PC by mohl poznamenat a ur'it% by si to nenechal uj)t$I*}, (e by takov[ demo zaujalo i u(ivatele t[to platformy. Proto(e nem*me mo(nost V*m toto demo p@edlo(it, pokus)m se te o jeI+}ho stru'n` popis. Je mi jasn[, (e to nebude ono, proto(e psan` text nem* schopnost ohromit, ale aspo budete v%d%t, (e n%co tI,}akov[ho existuje.Po vlo(en) diskety zap)n*m po')ta'. Postupn% se objevuj) ]vodn) titulky doprov*zen[ tajemn`mi zvuky - n%coI-} jako ze sci-fi filmu - hlubok[ tny, p)p*n), sy'en). Je to docela sugestivn) a 'lov%k m* pocit, (e na n%j mus) ka(dou chv)liI.} n%co "vybafnout". Z titulk+ se dov)te, (e autory dema jsou Teli Sandor, Bene Tamas a Felker Farkas, v&ichni z Hard Software I/}- Hungary. Objevuje se velk` barevn` n*pis JOYRIDE podbarven` kombinovanou hudbou slo(enou ze sampl+ a klasick`ch frekvenc)-mI0}odulovan`ch zvuk+.Titulky skon'ily a disketov* jednotka n%co na')t*. Za moment se v doln) '*sti objevuje n*pis "Joyride" a vI1} horn) '*sti se zvl*&tn)m zp+sobem pohybuje spousta bod+. N%co na zp+sob pr+letu vesm)rem, nebo sp)&e prostorov` pr+chod n%jaI2}kou strukturou. Rozezn)v* se dal&) hudba. )k*m si "p%kn` efekt", ale tu si v&)m*m, (e disketov* jednotka jede d*l. Co(e?!?! I3}To nen) prvn) '*st dema, to je "jenom" aby nebyla nuda mezi nahr*v*n)m jednotliv`ch '*st) dema! Jsem p@ekvapen, a to jsem vlaI4}stn% je&t% nic nevid%l...*st 1.$Objevuje se scroll-text posouvaj)c) se text$ v nejjemn%j&)m rozli&en) GR.8$. P)smena oI5}dhadem 16x16 bod+$ jedou zprava doleva po sinusovce, ale ka(d[ m* jin` odst)n a hlavn%: nat*'ej) se podle sm%ru sv[ho posuvu.I6} Vid%l jsem spoustu r+zn`ch sinusov`ch scroll+, ale nat*'ej)c) se p)smenka nem%l (*dn`. Hmm..., dobr`!*st 2.$Dal&) scrollI7}-text jedouc) z prav[ strany obrazovky do lev[. Zase po sinusovce, ale tento je shora dol+ duhov` a p)smena se nenat*'ej). PoI8} chv)li je najednou nahrazeno 'ern[ pozad) celoobrazovkovou animac) postavy 3D "pan*k" sestaven` z koul), cel* sc[na je zlevI9}a osv%tlena$. Postava (ongluje s m)'ky. Scroll-text jede po sinusovce d*l - nad pohybuj)c)m se obrazem! Kr')m obo') - tolik PI:}MG objekt+ p@ece Atari k dispozici nem*. Je to mo(n[? Jak je to.. moment p@em`&l)m.. Jo!! V)m jak to d%laj). Chytr` zp+sob a I;}vypad* to efektn%! Nebudu v&ak nic prozrazovat.$*st 3.$Podstatn`m jevem t[to '*sti je simulace letu nad planetou. Kope'kI<}y a hory v doln) '*sti obrazovky jsou sice poskl*d*ny jen z bod+, ale vypad* to velmi dob@e. Samoz@ejmost) je skv%l* hudba. TI=}a ostatn% podbarvuje i v&echny dal&) '*sti dema.*st 4.$To je teda drzost! Objevuj) se t@i koule, po jejich( povrchu je roI>}lov*n text! Jak to st)haj), nech*pu. Ka(dou chv)li je zp+sob rolov*n) m%n%n. Sice a( po p*rvte@inov[m sledov*n) n*pisu CALCULI?}ATING, ale pot[ n*sleduj)c) rotace text+ jsou naprosto plynul[. M+j verdikt: drzost! Neberou ohled na v`po'etn) v`kon po')ta'I@}e. :-$V`zva TURN DISK.Ot*')m disk a t%&)m se, co je&t% uvid)m...*st 5.$V lev[ '*sti jsou pohybuj)c) se hv%zdy, v prav[IA} '*sti n%jak` detail obli'eje fotka GR.9$. Nad hv%zdami se postupn% objevuje text v GR.8$ - informace o prvn)m autorovi. AhIB}a, to foto je jeho. Texty miz), o'ek*v*m foto dal&)ho z tv+rc+. Hmm!!! P@i&lo, ale trochu jinak, ne( jsem 'ekal - postupnou, IC}naprosto plynulou metamorfzou morphing$ z fota prvn)ho. Vypisuj) se informace o druh[m autorovi. D*le p@ich*z) te u( naprID}osto o'ek*van%$ metamorfza v t@et) foto a dal&) texty. A tak po@*d dokola.. Ty p@em%ny vypadaj) fakt skv%le.*st 6.$P@edsIE}tavte si, (e se prot@ednictv)m sv[ obrazovky d)v*te na foto v&ech t@) autor+, kter[ je ov&em na v`&ku trochu v%t&) - asi tak IF}2 obrazovky. A tohle velko-foto zb%sile poletuje v&elijak zleva doprava a nahoru dol+. Nav)c je to n%jak` prokl*dan` md rycIG}hl[ st@)d*n) obrazovek a barev, pomoc) n%ho( se vytv*@) dojem jemn%j&) v)cebarevn[ grafiky$, tak(e to vypad* dost jemn% a p@iIH}tom je tam v)c odst)n+ jedn[ barvy. N*sleduje tzv. plasmatick` efekt t[m%@ p@es celou obrazovku. A to si vzpom)n*m, (e jsem II}v n%kter`ch demech vid%l "plasma" v malink[m 'tvere'ku uprost@ed obrazovky. Pokrok se prost% ned* zastavit...*st 7.$Pl*poIJ}laj)c) ohe. Pou(it` grafick` md je sice pon%kud hrub&), ale simulace chov*n) skute'n[ho ohn% je velmi realistick*.Nyn) se IK}objevuje fotografie s detailem tv*@e n%jak[ d)v'iny ve stejn[ grafice, jako p@edchoz) ohe$. Fotografie asi v 8 odst)nech &IL}edi$ je o@ez*na do kruhu. N*sleduje n*pis voln% p@elo(eno$: "P%kn[ foto, ne?! Ale je to p@)li& oby'ejn[, (e!". Beng!!!! FotoIM} se pozvolna rozto'ilo.. Co to to to... Kontroluji dr*ty od monitoru. Vedou ur'it% do toho At*rka, co zde na stole le()? Ano,IN} vedou. A fotka se ot*') jakoby nic.. Sed)m a sleduji to. Jako(to 'lov%k, kter` si a( doposud myslel, (e o mo(nostech Atari vIO}) v&e, za')n*m p@em`&let, jak to asi d%laj). Nejsp)&e maj) v&echny pozice naskl*d*ny v pam%ti a jenom vym%uj) obrazovky, @)kIP}*m si. Te foto zmizelo a objevuj) se dal&) n*pisy: "Asi V*s zaj)m*, jak to d%l*me, (e?", "Asi m*me v&echny pozice naskl*dan[IQ} v pam%ti...", "Mo(n* ano..." , "Ale mo(n* ne!". A provokativn% se objev) dal&) kruhov* fotka a n*sleduje efekt "mix[r". ProsIR}t% jako kdy( se d)v*te shora do mix[ru. Fotografie se tot*ln% zdeformuje, pak se zvoln) ot*'ky a nakonec p@ich*z) zp%tn` chodIS} a( do jej)ho ]pln[ho obnoven). A te n*pis: "Je to real-time efekt!!!". V%@)m tomu. Tolik jednotliv`ch pozic by se toti( do IT}pam%ti neve&lo. Objevuj) se dal&) a dal&) fotografie a s ka(dou z nich je bu ot*'eno nebo "mixov*no". Kdo um), um), kdo neumIU}), m* sm+lu. J* (asnu..*st 8.$Jsem trochu v transu. Ani m% u( n%jak moc nep@ekvapuje tato prostorov* @ada &achovnic. SkrzIV} pr*zdn* pole jsou vid%t dal&) &achovnice, kter[ jsou za touto horn). A v&echny se po@*d p@ibli(uj) a( "prol[tnete" jedn)m z IW}pr*zdn`ch pol). Po chvilce tento efekt kon'). Ani si n%jak neuv%domuji, kolik tam t%ch vrstev bylo vid%t najednou. Byly t@i, IX}nebo v)c? Rozhodn% jsem si v&ak jist, (e ka(d* &achovnice m%la jinou barvu a pohyb byl naprosto plynul`.N*sleduje zb%sil[ vyIY}kreslov*n) r+zn`ch k@ivek r+zn`mi barvami. Nev)m, zda se mi to zd*lo, nebo tam najednou opravdu bylo asi 8 r+zn`ch barev odsIZ}t)n+$. P@itom rozhodn% ne&lo o (*dn` z GTIA md+ GR.9,10,11$.Bl)() se z*v%r dema. Postupn% se ukazuj) men&) obr*zky, kter[ I[}p@ipom)naj) v&echny jednotliv[ '*sti.Demo bylo vyrobeno v roce 1995. THE END. J* @)k*m: P*nov[, bravo!!!Jestli existuj) nI\}%jak[ hranice toho, co m+(ete na sv[m Atari spat@it, pak se jim asi toto demo dosti p@ibli(uje. I kdy( schopn` program*tor doI]}k*(e u v%t&iny p@edlo(en`ch efekt+ doj)t k my&lence, jak by to 'i ono s*m ud%lal, rozd)l je v tom, (e auto@i tohoto dema to sI^}ami vymysleli a naprogramovali. Jsem zv%dav, zda se n%kdy objev) je&t% n%co lep&)ho.. -R-sH| V`prava na akci FREE CON 95 do Plzn% dne 18.11.1995 Informace o po@*d*n) ve@ejn[ akce se zam%@en)m na stroje firmy ATARIM`} ke m% dorazila teprve t`den p@ed jej)m kon*n)m d)ky p@edplacen[mu "ALERTu!". Vzbudila samoz@ejm% m+j z*jem a j* dostal chu Ma}k jej) n*v&t%v%. Situaci komplikovala vzd*lenost 400 km a nedostatek 'asu k p@)prav*m na cestu. Od za'*tku jsem p@edpokl*daMb}l na dopravu pou(it) auta z d+vodu dovozu vybaven) a tak[ domluvit si alespo jeden nocleh. Ve st@edu jsem se vypravil do OloMc}mouce a na&el t@i z*jemce o ]'ast, kte@) se odhodlali ut[ci v p*tek ze sv`ch &kol, aby &lo odjet ji( p@ed polednem. Proto(eMd} j* m%l je&t% ve 'vrtek na starosti sch+zku prost%jovsk[ho ATARI klubu, zastihlo m% p*te'n) r*no v d%sn[m chaosu. Nakonec jseMe}m zapom%l origin*ln) hry z Prost%jova na uk*zku. M) spolujezdci ne&li do &koly rad%ji v+bec. V Brn% byla pl*novan* zast*vkaMf} u ing. Zdeka Ku'ery pro m+j vylep&en` po')ta' 1040 STFM. Proto(e cestu zn*m, povedlo se mi zabloudit tro&i'ku v ulic)ch m%sMq})* %^"`3BST8B&BРBBBB-----------B*AUTOEXECBATBU+TITLE37 COMB)FLOP37 COMB>SYSTEM HYPBG8VIEW HYPB-----------B OBSAH37ACAPB OBSAH37BCAPBUVOD37 CAPBOHLASY37CAPBINZER37 CAPBMANKALA CAPB9&JOYRIDE CAPBc_FRECON95CAPB-----------BSTEREOGRCAPB>PKOULE1 PICB>#PKOULE2 PICB-----------B}aKURSC8 CAPBANERVYST C B PART1 C B4PART2 C BCPART3 C BTNERVY LNKBNUNERVY COMB"CISLA DATBMATICE DATB-----------ta. Je&t% hor&) to bylo p@i hled*n) v`jezdu na d*lnici do Prahy, co( jsem op%t pokl*dal za jednoduch[. Tak(e ]hrnem poj)(ky Mr}po Brn% zabraly v`razn% v)ce 'asu ne( samotn` p@esun z Prost%jova. U Zdeka to bylo tak[ zaj)mav[. Dostal jsem sv+j po')ta'Ms} s vestav%nou HD disketovou jednotkou, p@edvedl n*m origin*ln) zahrani'n) drahou bed`nku na hardisk i se zdrojem a uvedl @aduMt} nov`ch pesimistick`ch poznatk+ o ne$fungov*n) nov%j&)ch hardisk+ SCSI na ATARI ST, a( jsme ]pln% zbledli. Cesta do JihlavMu}y ub%hla v kr*sn[ pohod%. Tam jsme sjeli z d*lnice za ]'elem p@)m[ j)zdy do Plzn% bez n%jak`ch oklik p@es Prahu. To bylo velmMv}i chytr[. P@enosov* rychlost ihned klesla ze 110 km/h pod 80 !$, neust*le bylo nutn[ kontrolovat kudy m*me jet a proto(e se Mw}za'alo v tu dobu stm)vat, stala se j)zda dosti riskantn). Na okraji Plzn% se poda@ilo p@ijet o 3/4 na 6. Vlastn% nepoda@iloMx}, proto(e podle pl*nu to m%lo b`t d@)v a m%l se kupovat pl*nek Plzn%. Sice jsme jedno knihkupectv) na&li, ale byla to zrovna My}specializovan* prodejna BENu. Za jin`ch okolnost) bych zaj*sal a utratil spoustu pen%z. Pl*nek byl nalezen podle nouzov[ho @eMz}&en) na n*dra() a byl dosti nep@ehledn`. ekalo n*s proto je&t% trochu bloud%n) po m%st%. L)bila se mi p@i tom zna'n* svobodaM{} v neplacen[m parkov*n), ale v`razn% v ulic)ch chyb) cedule s jejich jm[ny. Z p+vodn) prodejny CONSULu v P*lenick[ ulici n*M|}s navedli k z*kladn) &kole, 'ili m)stu po@*d*n) akce. M`m koleg+m se ji poda@ilo i naj)t, kde(to j* s*m neust*le neust*le trpM}}%l naprostou nev%domost) a dezorientac). Kolem &koly jsme pak n%kolikr*t prob%hli jako hladov) psi s nulov`m v`sledkem. JenomM~} opod*l st*la ve tm% skupinka chulig*n+ a vesele se bavila. V zoufalstv) jsem je oslovil a hle - nebyli to chulig*ni, ale aktM}ivn) j*dro Atari ST klubu, asi 8 lid). Je zcela nejasn[, pro' se nebavili o po')ta')ch, to by byli k pozn*n) ihned. Mus)m je M}ale jinak pochv*lit, proto(e tam trp%liv% 'ekali na sv[ho p@edsedu a po@adatele akce majitele firmy CONSUl Tom*&e Tich[ho, abM}y mu pomohli p@ipravit m)stnost ve &kole. Po chv)li p@ijel s*m Tom*& a j* vid%l, (e je to sympatick` mlad` mu(. Neprojevil M}(*dn` ]div nad rozmno(en)m sv`ch brig*dn)k+ a my se prost% zapojili do spole'n[ 'innosti. Pozd%ji roz@e&il ot*zku na&eho nejiM}st[ho p@enocov*n) velmi lehce, proto(e n*s vzal k sob% do nov[ho bytu. Jen upozornil na nutnost 'asn[ho vst*v*n). U Tom*&e M}to bylo moc hezk[. V&ude koberce a t)m i zna'n* kapacita nouzov`ch n*v&t%vn)k+, v pokoji p%kn[ akv*rium, v kuchyni mo(nost poM}j)d*n) p@ivezen`ch z*sob. V mal[ kom+rce star&) ST p@ebudovan[ do v%(e s hardiskem a s p@ipojen`m modemem, kter[ zat)m slou()M} 'ist% pro elektronickou po&tu. P@ece na to nebude pou()vat PC!$ Tom*& n*m vypravoval @adu zaj)mav`ch v%c) z minulosti ataM}ristick[ho d%n) v Plzni a ze sv[ sou'asn[ prakse obchodn)ka sna()c)ho se nab)zet sortiment pro z*jemce o "nekompatibiln)" po'M})ta'e. Zm)nil se i o hor&)ch str*nk*ch m)stn)ho podnik*n). Dost*v* v sou'as[ dob% anonymn) v`hru(ky vy(aduj)c) asi 50 000 K',M} p@ede dv%ma t`dny prob%hl u n%j v nov[ prodejn% na n*m%st) pokus o ozbrojenou loupe( za b)l[ho dne, jej)m( n*sledkem le() prM}odava' v nemocnici. Jinak byla ale z*bava optimistick* a velmi zaj)mav*. Jen jsem litoval nedostatku z*znamov[ho kazetov[hoM} m[dia pro okam(it[ vytvo@en) rozhovoru pro magaz)n FLOP. Ani se n*m necht%lo j)t sp*t a kdy( jsme p@ece jen &li, necht%lo seM} n*m zase vybalovat nafukovac) leh*tka a jin[ spac) podlo(ky. Z+stalo tedy jen u koberc+. R*no n*s Tom*& zavedl do &koly, kM}de jsme si jako prvn) instalovali techniku. J* m%l 800 XE, 1040 STFM, barevn` a monochromatick` monitor, video, kartu VideomaM}ster, disketovu jednotku. Kolega si dovezl Jagu*ra s CD a n%jak[ moduly s hrami na v`m%nu. Od Tom*&e se dozv%d%l zaj)mav[ v%cM}i. Jeho CD ROM je jedna z n%kolika u n*s, s*m Tom*& ji j%&t% nem*, a CD kotou'ky s nov`mi tituly se zat)m neprod*vaj). PozdM}%ji jsem si je&t% domluvil s jedn)m m)stn)m ataristou donesen) chyb%j)c) nap*jec) &+ry a prodlu(ky. Co jin[ho by tak mohlo M}chyb%t elektrik*@ovi.$ Pak byl m+j st+l kompletn% p@ipraven`. Akce trvala od 8 hodin r*no do 9-ti ve'er. Nebyl na n) (*dn` M}mas)vn) n*val, ale celou dobu bylo s k`m mluvit. Z*jemci o osmibitov[ po')ta'e by mo(n* byli zkl*m*ni, proto(e mimo m% a JRC M}se objevilo jen p*r dal&)ch bez sv[ techniky 'i nab)dky. , Ale mohlo to b`t (iv%j&), kdyby p@i&la spousta dal&)ch t@eba se jeM}n pod)vat. Tak jsem zaznamenal jen jednoho z*jemce o koupi jedin[ p@)ru'ky, dva aktivn) ataristy ze sdru(en) DYNAMIC, dva z*jM}emce o virtu*ln) disky pro emul*tor mal[ho Atari. Samoz@ejm% nejzaj)mav%j&)m ]'astn)kem pro osmibitov[ u(ivatele byl p@)tomn`M} ing. Ji@) Richter z Prahy. Trochu m% p@ekvapilo, (e Jirka m% s*m poznal a oslovil jako prvn). Mluvili jsme spolu pak b%hemM} cel[ho dne, co( bylo mnohem d[le ne( v 'ervnu v Praze, kdy se Jirka vymluvil na vlastn) svatbu. Jen tak mezi @e') se m% zeptM}al, jestli nechci vyzkou&et p@ipojen) CD mechaniky k 800 XE, na co( jsem z+stal z)rat. N%co bylo napsan[ v ALERTu, ale p@edstM}avoval jsem si obs*hl[ za@)zen) se spoustou kabel+ a p@)slu&enstv). Jirka vyt*hl odn%kud jen jakousi placatou krabi'ku, kteroM}u naz`val DISKMAN a je to kapesn) CD p@ehrava' na sluch*tka, a je&t% mal` interfejs nap*jen` p@)mo ze s[riov[ho portu po')ta'M}e. V mal[ chv)li mi p@edvedl nata(en) n%kolika her za sebou. Princip 'innosti je samoz@ejm% v)ce podobn` pr*ci s datasetem M}ne( s disketovou jednotkou. Pou()van` CD p@ehr*va' nen) na rozd)l od CD ROM ur'en`mi p@)mo pro po')ta'e vybaven` mo(nost) ovlM}*dat ukl*d*n) dat pomoc) programu a n%jak`ch sign*lov`ch veden). Propojen) pou()v* pouze zvukov` v`stup z p@ehr*va'e. Proto jM}e nutn[ p@ed nata(en)m programu nastavit nejprve p@ehrava' na jeho za'*tek. Program+ se ov&em vejde na kotou'ek mnohem v)ce nM}e( hudebn)ch skladeb a proto jejich mo(n` po'et p@esahuje kapacitu p@edvoleb na p@ehrava'i. Jirka proto pou(il slou'en) progrM}am+ do 'tve@ic a nav)c je na rozhrann) ru'n) p@ep)na' pro lev` a prav` kan*l. Za'*tek vlastn)ho natahov*n) zprost@edkuje obM}ykl` turbozavad%' z kartrid(e. Ke ka(d[ 'tve@ici je p@ipojen` na za'*tku rychl` CD loader, kter` u( za@)d) dal&) bleskov`$ pM}@enos. Proto(e p@enos prob)h* skute'n% jen pro audio veden), zacht%lo se mi vid%t v 'innosti CD ROM od Jagu*ra. Jirka se vytaM}sil s n%jak`mi speci*ln)mi propojovac)mi kabely a tuto jednotku skute'n% p@ipojil. M%la chv)li probl[my identifikovat kotou'eM}k s daty jako audio CD, pak si ale dala @)ci a na')t*n) program+ tak[ fungovalo. V sou'asn[ dob% m* Jirka vyp*len` jeden ukM}*zkov` kotou'ek. Pro p@)padn` prodej by se muselo naj)t n%kolik stovek z*jemc+ o koupi a i pak by cena nebyla zanedbateln*. OM}v&em v pom%ru cena/v`kon to vych*z) docela solidn%. Doporu'uji ale 'erpat informace p@)mo od pramene - z 'asopisu ALERT! neboM} od firmy JRC. Od Jirky a redaktor+ ALERTu! jsem se dozv%d%l n%kter[ dal&) zaj)mav[ v%ci. P@edn% mal[ ATARI se dosud u nichM} prod*v* a jde st*le na odbyt. vida!$ Prodej v`tvor+ na&ich program*tor+ jde ztuha vzhledem k cen% rozs*hl`ch komplet+ zahraM}ni'n)ch star`ch her, kter[ jsou dnes naprosto voln[ k &)@en). Posledn) dv% ')sla ALERTu! jsou pl*novan[ jako jedno dvoj')slo M}a o jeho dal&)m pokra'ov*n) rozhodne ohlas 'ten*@+ na anketu do n%j chystanou. Tady by jsme se m%li v&ichni zamyslet, jestli M}nad*le chceme m)t ti&t%n` 'asopis pro vyznava'e trojno(ky. Osobn% v n%m vid)m mo(nost plo&n[ho &)@en) informac) o novink*ch zM}e zahrani'), 'innosti na&ich atarist+ a inzerce. Ne'ek*m od n%j n*hradu za podrobn[ manu*ly ke zpir*t%n`m program+m a proto zM}a n%j bez v*h*n) sou'asnou cenu asi 200 korun za rok d*m. Pro majitele v)cebitov[ho po')ta'e @ady ST 'i FALCON bylo na akciM} v)ce zaj)mav`ch mo(nost). J* s*m jsem p@enechal starost o cuc*n) hardisk+ instalovan`ch ST stroj+ sv`m koleg+m a hlavn% jsemM} p@edv*d%l na sv[m digitalizaci barevn`ch obr*zk+ sv`m za@)zen)m VIDEOMASTER  COLOR MASTER. Pou(it[ video sice nebylo nejkvaM}litn%j&), p@esto se da@ily docela p%kn[ obr*zky z filmu Vinetou. P@)tomn` byl kompletn) t`m ORTHODOX ze Zl)na. Nejzn*mn%j&)M} je asi Petr Stehl)k, kter` provozuje ve Zl)n% vlastn) BBS stanici zam%@enou na ATARI. Ve vedlej&)m kout% m)stnosti se usadilM}a '*st redakce NARSILu v 'ele s K*jou Rousem. Asi z nejv%t&) d*lky p@ijeli dva atarist[ z Bratislavy, zn*m) ]'astn)ci v AtariM} konferenci na INTERNETu Andrej a Zby&ek. Ve vlaku str*vili asi 10 hodin, to je cel* noc a vlastn% hned dvakr*t za sebou. AM}kce skon'ila p@ed dev*tou hodinou, ale dost 'asu zabral je&t% ]klid m)stnosti. Organiz*tor Tom*& objednal pro ]'astn)ky n%kolM}ik stol+ v m)stn) restauraci. li jsme se tam tak[ pod)vat na hodinku. Sedli jsme si ke stolu s ORTODOXy a bylo to prima. R*dM}i by jsme se zdr(eli, ale p@ed n*mi byla dlouh* cesta dom+, tak(e to nebylo mo(n[. Tom*& n%kam zmizel je&t% n%co za@izovat M}a tak jsem se sna(il z)skat n%jak[ informace od jin`ch atarist+. Vstupn[ bylo 20 korun a neplatili jej (*ci hostitelsk[ &kolyM} a vystavovatel[. To je velmi zaj)mav[ a tolerantn), (e si zde mohli r+zn) prodejci docela zadarmo d%lat reklamu, obsadit stoM}ly a 'erpat elektrickou energii. Neplat)c) byli v takov[ p@evaze, (e akce vzhledem k n*jmu m)stnosti prod%lala p@ibli(n% st%jM}nou '*stku jako loni ATARI klub Brno. V Plzni to na&t%st) nezp+sob) krach pokladny klubu, proto(e sponzorem akce je firma CONM}SUL. Chv)li p@ed odjezdem jsem kr*tce promluvil s Tom*&em a dozv%d%l se o reklamac)ch na d@)ve prodan[ diskety s hrami z PrM}ost%jova. Dost m% to deprimovalo, pak jsem si uv%dmil, (e &lo asi o diskety zna'ky KODAK, kter[ po n%jak[ dob% nyn) hodn% zloM}b) i m% . Kdy( jsem si uv%domil, kolik FLOP+ bylo na nich rozesl*no, ud%lalo se mi je&t% h+@. Na zp*te'n) cest% se nekonaloM} (*dn[ dobrodru(stv) se zkratkami, n`br( se to vzalo obj)(kou p@es Prahu. To p@ineslo d*lni'n) pohodu a plyn jsem uvolnil a(M} v Olomouci vyjma nutn[ho tankov*n)$, kam jsme p@ijeli kolem t@et) r*no. B%hem j)zdy prob)hal neust*l` rozhovor jako prost@eM}dek proti us)n*n) @idi'e. Nap@)klad se m) spolujezdci, v&ichni obyvatel[ panel*k+, bavili o vz*cn`ch chv)l)ch klidu p@i sou'aM}sn[m odchodu ostatn)ch 'len+ dom*cnost). Nejv%t&) hl*&ku pronesl nejmlad&) ]'astn)k, toti( (e se nejrad%ji zav@e na z*chod%, M}kde m* klid. Tomuto v`roku jsem se vydr(el pochecht*vat jist% p+l hodiny. Po sjet) z d*lnice mi v uli'k*ch Slavon)na ruply M}nervy, 'i co, a j* nedal p@ednost jak[musi vozidlu na beztvar[ k@i(ovatce moje vn)m*n) bylo ji( oslaben[$. Spolucestuj)c) seM} ohl[dli a informovali m%, (e se jednalo o auto policie, na'e( jsem se probral z d@)moty. Na&t%st) n*s nikdo nehonil a tak moM}hl doma v pohod% vystoupit nejmlad&) spolujezdec. V podstat% ji( tvrd% spal, tak jsme ho dovedli a( ke dve@)m i s v`bavou. V M}aut% z+stal jen zapomenut` spac*k. Zb`vaj)c) dva vystoupili spole'n% s t)m, (e se vysp) jeden u druh[ho. Pozd%ji vy&lo najeM}vo, (e v+bec nespali, n`br( do r*na zkoumali dovezen[ programy. To j* nechal neciteln% po')ta'e v aut% v gar*(i a klidn% si dM}oma lehl a spal. N*klad na cestu vy&el podle p+vodn)ho odhadu na 1200 korun za benz)n. Loni bych to mo(n* za slezinu atarisM}t+ nedal, ale nyn) jsem moc r*d, (e takov* akce byla v Plzni uspo@*dan*. Bylo to zaj)mav[, u(ilo se legrace, pozvedlo se utlaM}'ovan[ ataristick[ sebev%dom), jedeme p@)&t% zase!! Pozn*mka: ve&ker[ uv*d%n[ informace se vztahuj) ke dni po@*d*n) akce.M} -ZB-dom), jedeme p@)&t% zase!! Pozn*mka: ve&ker[ uv*d%n[ informace se vztahuj) ke dni po@*d*n) akce.L Zaj)mav[ stereogramy. Na&i 'ten*@i jsou jist% ji( s principem stereogram+ sezn*meni pomoc) 'l*nk+ ve FLOPu nebo s uU}(it)m jin[ literatury. Proto nebudu zdr(ovat opakov*n)m vysv%tlen) o co jde. J* s*m se na n% r*d kouk*m, hlavn% proto(e patU}@)m k t%m lidem, kte@) je vid). D*le m% zaj)maj) jako objekty vytv*@en[ na po')ta'i. Teoreticky by si je mohli kreslit i u(ivU}atel[ mal[ho Atari, jen m)t k tomu ur'en` program. Nekoupil jsem si (*dnou z vy&l`ch knih pas)vn% p@edkl*daj)c)ch n%kolik oU}br*zk+ za zna'nou cenu. V literatu@e podle sv[ p@edstavy bych hledal podrobn` popis principu vzniku a tvorby obr*zk+ na takovU}[ ]rovni, aby bylo mo(n[ podle toho sestavit n%jak` ten progr*mek. R*d bych ale sehnal knihu od Dana Dyckmana "Skryt[ rozm%U}ry", v n)( sice "recept" na vytvo@en) programu tak[ nen), ale je zde dost naps*no o historii stereo obr*zk+ a hlavn% obsah knU}ihy je pojat` aktivn)m zp+sobem. Obr*zky toti( neslou() jen na kouk*n), ale p@edstavuj) prostorov[ r[busy, jako jsou bludi&t%U}, rozmot*n) uzlu, skl*d*n) objekt+. Ned*vno jsem si tro&i'ku pohr*l s programem 3D MAGIC na PC, ani( bych jej n%jak l[pe znU}al. Prost% jsem jen p@ipraven` objekt nechal zapracovat do n%kolika typ+ op%t p@ipraven[ho pozad), je( jsou barevn*. ObjektU}em byl kruh rozd%len` na n%kolik mezikru() odli&en`ch stupn%m &edi. V`sledn`m efektem je podle p@edpokladu p@ibli(n* polokoulU}e. Zarazilo m% ale, (e efekt vznik* nejen na jaksi b%(n[m pozad) s chaotick`m vzorkem, ale i p@i pou(it) obr*zku kv%tu na 'erU}n[m pozad). U kv%t+ dojde po v`po'tu k jejich deformaci, ale mezi nimi z+st*v* spousta 'ern[ho pozad). To neobsahuje teoreticU}ky (*dnou prostorovou informaci, ale ta koule tam p@ece je vid%t! Obr*zky jsem si p@inesl na sv[ ST a vyzkou&el si jejich tU}isk p@eveden)m do odst)n+ &edi na tisk*rn% CANON BJ-230 s rozli&en)m 360 dpi. Pokus dopadl dob@e. Kupodivu fungovala i konverU}ze do monochromatick[ho rozli&en). To se m% p@i prvn)ch pokusech p@ed rokem nepoda@ilo. U p+vodn)ho rozli&en) m* jeden bod U}256 mo(n`ch barev, zmen&) se jakoby informa'n) hodnota po 'ernob)l[m p@evodu na 1/128 p+vodn)ho rozli&en). Tedy pokud uva(ujiU} spr*vn%, kolega tvrd), (e ne. A p@ece jsou obr*zky vid%t, jen se zdaj) trochu zaml(en[ jakoby popra&kem n*hodn`ch bod+. PrU}oto(e monochromatick[ rozli&en) je i na mal[m Atari a velikost obr*zk+ byla jen 320  200 bod+, na p+vodn)m PC monitoru podiU}vn% mal[$ rozhodl jsem dokon'it sv[ pokusy p@enosem z ST na 8-mi bit a rozd%lit se s V*mi o v`sledek m[ 'innosti. Z origin*U}ln) velikosti je ubr*no jen 8 @*dk+. Na mal[m Atari se objevil zn*m` efek barevn`ch vad osamocen`ch bod+ v nejjemn%j&)m rozliU}&en), ale nen) na z*vadu pozorov*n) obr*zk+. Proto(e obr*zky neobsahuj) pomocn[ pozorovac) body, je l[pe viditeln` ten "nenU}orm*n)" s r+(emi. Jako pomocn[ body poslou() toti( samotn[ kv%ty. Pro spr*vn` pohled je t@eba slou'it prav` obraz lev[ho kv%tU}u s lev`m obrazem prav[ho kv%tu tak jako u obvykl`ch pomocn`ch bod+$ a pak je&t% tro&i'ku dolaovat do objeven) se cel[ poloU}koule, kter* se opticky roz&)@) i na 'ern[ pozad). -ZB- &t% tro&i'ku dolaovat do objeven) se cel[ poloTNo P v*I*o P UGu%'Fu[DwRRtk UGu%'FO_~HM,$ȠO_~HM,ވ{dY}+'XJRz{d+'X @6]ƈMjm%h$٪@6]ƈMְm[u%K7jKO6ܕXTvm[u%K7jKn_֤.'R'Y}jOjBu"֤.'R'z\_.뼮ڪr\_.lWޑ;H6Љ^$a+O];H6Љ}mk>u{zY}IoQ=׷>u_nP6NF%a$_nP6N{҃;'Wk;kn(>Kuv҃;'Wk;k|vQj87w=DUwY}~NQj87w=Dmݰޅy[[WҶ [յ}+jޅy[[Wҷ] nR/z/MWnR/v;OnOtY};O_]@5Rm?5U/ߣ[@5Rm?5l_/jKy2_~5H?p]/m~ā 5Y}H?p+(ۯiPX+(ۯipX v0^zPm v AwV ?/X!jmPV ?Y}?X Dw*XGGlx8OoSJ#ە(Y}b_?d%Cǀ ?xBo+^H0?H;J om^5u|G`_WW{^.u|G|GnY}U[uܪGn@ V!-  A{A \,\nY}<"8_4}wy/$m\ +IU\ $_X7ۣ|( `7wsJ 2^Be>u !_Y}*QA(j^ $ճZJp?k@X_h RL (`h[ R0$  UַY}d@זqb( 9`w*֓[(j҃oȒ@e  {}5Q >Qԃ#Sc@C#W%&T?=>]!iKY}wT $w}=sokTas^U)V$L}olJڃHwVb|ze_UzߍCz)SP>WY04Ocz׶Y}$;ݕU>WXG i# eUs?DŽǕO$xz]0ܱ1j SKNi03֐؈W@wWY}Ā}ݫ%I gH@+[tF!ڥ. 0XTH ҄_wB|!6+G /_{t Y}@~Aݗ,??XAZI.F]JeLWnS}}uW3iw{|?Y}e%XvGu+Sv{QIc׿WUn,VwU#p';\?˻JvURbUwR㿻noII,RY}gݷYRQ/kfmRm /״*"Su?U%&[wۏӽ^W@IVC=Uz?Y}VrXYۀײmTJ+[`*>QQ,]ݵfs}J@Urr;}kS@>@km\J9^vTY} Q?݀$'ZڥR\@uՙ8 ǼJ5D[U"V)8A8j֒Z@-t;8 ֭UJ:H]qY}mUvk)BHRJ'AcZ$7;E(ժI%=*YJ: v$6OZ3 Vԩ6R%Uӭ}hVFNR:Xk$>pzl*}m o$pIgVY}*M' U1T2KͶUKUVՕU@+Uּ2 {[p(6ZT ZKx-H}v +J6ZmdionY}C,+ص@kB I=7l^RۡVܕFI@"},;{AuOn"PT ~{ "=;E%ޥ{"I0 Y}@{" $,;w-iK oS Y%!Pըu~|D=w/')OV2h{e?0RZzGJiRVe?iK'%YUP@Y}~ݨz)Bv*3U?tz^*xk_[uh||Oz>ow`m_~5~wֿZ}:߻{Om7j6o݀'+dWo;|N]+YoUv}:{]0`:7[@? +dZ}h``=-i}@ :n p(# sW *-:@ w >8[= wUjuz ~ǀZZ}lX{X jQv@M\9=IECY z!߇S[~ #( ?XUoAÀ-߇8Z}\?Koq=݀ۼn>Vʼn?~n{q~km1B5t‡#[`;]&Zx }ڬ:O}xZ}UWoO0wZۿ _|  ݠɵn Co MNH^;|}\ۯ/5u s@n{Z}ЏvNZ }oNe@D*LHVFw&aa tXP0V0L h}~BXjdG(LxHI$~_ڿvJCu[Ȑ}Z }'ޫ;u{}mu!# nH뿵jH$om? VJAڻ#/]W5/*CJ}6 .5* (֫fO5jZ }7Zn< ][]r<=9~c'tukW#[8?s޷>ֹ ?52ht#lJʇ`bTA_wO6}}NKo}OnWZ}]IU/ݼﺤܿZ/wqIYo|m_I)b>W寽$6R*I^{Uc)onokZU(5Z}oշt*:wϯۏJN[0IZv}IWmۨ)m?4}_,!߭B)EN2{Z}ޤUMTӫRCjUWԠW8IrP^xCS>8J[TpUi+V7kUR JpZ}V?b!kH.ժHIk~HڪpH-krU%*w[UUrMSo)$5~UI?߿XDm&VTjZ}U%꿨UZEUNUz--mhhEdUThVFZR@ ~ڴ6H)Sl`˶$]jIG)`*xmZ5VJ{e!԰e$Z}*S]<UpMZX U*@+״BT^-4$`kDJ]m-I?J/u50MZŭ 4eevZ}&HZ\At@%wvaJUj ϾQLT{u[*Deв#%m7ȨZ߫~Ae'i߬h%IpZ}Xv%"&%%4ǢMףiDNK$]Hm:@o~RiU_v Ԥ'XI]qI2EH=I$ԥ+ X!.Z}d.{IRhb?u[IZ$]$uWiu]H)*W%۩)5RmI7w/j\T.W~jBᔿҶK *O{HJZ}Kk'H9:j(x7/^UGzE[b[]oI&9ok=H,Z/[oS!~E;׿>S}^ݪ Z}ڨaNԔ}Ҿ*kow腩 'ȾPxP[#ڿI#?5=U|_e+C]e5{J[IX5ndzp7} usZ}XZEx?۵׷kw.+m%w귽n¼}/j`_(UvuGjk`u*ZwGk__t]X aߗaZ}=h_t-l7qc@6ޯ7_j7~5K *7~p j  5IZ}ppB@ տ]<Oz dUXE ?x?P ?x?ǀTjlhJi1FǠvZ}lX)p8)Q op8A )U`(PG C+`8LjN7x$ܐCG?hZ}:Mҁfum(T[>e[vɡO_@7ZtGCږ@wzD5Gh m]Ow݂uo {yN`!݂G$vZ}oM_ m+} Y~؁Y6{ڽ$ ]k@w g@Mߓ Z}$>^@gH!h_$ڻPj4}F c m>AM  J Z }V@(n b JIùԬ=(@_YL ]@" 2oD@B[@* p(miJ@5, HZ!}J`*@0L ? ֯&Ȭ@=t"aQ@C֯Wbʤ B_=[h%D{kZ)b6_?vj?(vAgZ"}j?{HP}j)W>.-rI3Ǽku_*?,}+OB_=[h%D{kZ)b6_?vj?(vAgX7UU@UTUU@URU+UR P^$}UU UUPUU*UTUJUT^%}*@j UUT*UU@UUT@ ^&} 0UUUUUUUUPUUUUH 4UjUUUU@V^'}UUUTUjUUUU@(UUUUU*UUUUUXUUUUUTJUUUUZJUU( TUJ^(}P TUT U*UZJ*VUT RmUZJ()JUUUխ-UUUP)MZUUUTUVJSUUj^)}5UVH*UUI@)UVUUTRUjUUI@*RUU )UUUU[jRUU]UU QUUVH%UU*T RUUR^*}HIU%UUUURR@Ҫ@ J*$UH K)VRUUUUiU%P%UUUV[RU%*UUUUUJ*jU* RVRJ^+}JQ TUEUU)Z *JURU*%URJUUUUZePUUUUIVQ%*IPUUjRԭIU)*VVT*UkUjJHiR^,}UUT KJU*PUVUTURVDUUUZ+QK@UUZk*H*JVI))TڤJJJJ$*RUTU$@VRRRRUU^-}5ZR% JթTU*UUZJ ) IIURIT jJJHUUjUUT%T5RURVKRA UR*J-J"@*H*U%UTKR^.}@UUUUUIPU)RT"*%*R U*UTUEU*UTHU4*UUUJUTRUUUUUU%*%%-BIJj^/}$(*H*T UJUUU%U UUUURUUUJUUUU%$*$RUUUUUU) UUUU*JURIj )@JUUZ^0}@*TUI$-I%UUUJVEUURQ UJU*$U*H ZZ@UUjԕUI(UPTTVJUUUUUUTP^1}UJD-%$URURT@*+RUUUUUUJHUJH*U**UU**TR * UUUURUe*URJUT^2}UU(@*%UUIURUTIUUIUUUI@*UUUTUTJU*%UTjRMjH-IԪHTJQ@UUR^3}U$RT+RUUUT֊UTU*HU@U*jԩ$U)U@IUUTURPU"R5TRI(VB*J$UJ^4}U*R@UV@I*UUUTH*Q@IUUUUUU($UUQUUJ % *PJ$*RHT^5}V$I*V UZUURPUQ ISmTPRmUTQUJmE* PU%*URTU PJTUUPPRB^6}@U*U*Q$RJUKTTRRTUUTIUUUU)$ URUjH)$URVRjT$JպH@JJJUiRUU^7}U*UPUUUj$E))HHU)"@*[UUI(*MPUT$U)UjT UTԪUT$RUUUTRUUJI*^8} U*RU(UU*JUIPTJUURTU*JRUJVURRTUUUIIJU@)TUUT@UUT*T^9}$JUUUTVU*JUT**@UUTJJ$U@UUUIiTRUUUJ^:}*UUVjkUUUUVPTUjT*UPUUVP^;}j UP UUUPEUT⪪RUUT UU^<} UU UHUZP PUT @^=}^>}^?} @R@ TT+PT@@^@}*P*VJXUTUUU*^A}jUZUTUUU@UJUUUUP*R U^B}UUPUJXUUUUUT*UT @ ZUJUU@UU@UUUT^C}* UUUUUUPUURUUUT*@*ZTʪU@V^D}UUP U5Z)mUU`%RhjZT*U+UVUmUUP*UUT UUUUU@TU ^E}UJRUURUmU[V*U JUUPVURT$%@UUJ*@JUUUUj@ZURRUUUUU^F}P UUUUTUUUJ*)@*UR%*HI*UZک *JRJʪURR URZ%HUUJ)UUUjҩ@)^G}UJPRUTVTJJJJTiE@UUJJV*URR" TI@U[)*PTEUM%IT@J^H} *TT($*UZ@RUUVP*TUUJQKU*RQ*Zղ) uUAH UUUji+JVJ)$*UUUR@UUUj 5^I}JuUUUU)ZBTUU*(RKUU%H UJ$jJTUUUUUB@IUUiTjJUU]))IU*U*JPUUUUR^J}UD@*$RRUJJURUUUhRU,*I*TUUUUU%Q$ URTUJV@UZJJ@ TU*URU*UJI^K}R$H*UUDTRT*(U*UUjU*R,PUUIU)JJ@UTUUUIU*JI$A UUU*VUUUURRHUUJU*UU$^L}UI$ D*UUUU$IjIUUUU*IRUUY! *JRU$UI$ UUUVUUT )UR@ڪ^M}URZJ U*RR@*URRD*T T -UUjJUU@ UD UR@*T+JI j)^N} E%*UjjIUQ"U*ZUT*UU+T*UU*UT(@ RUUDUURTT VDUUUJZB*^O}RR*UUUTUUR*UU*(UU*@ҪJ**URJZT%UUIUUUTHU(RUU TUUR^P}Ԫ*E URURPT@%U*U%UiT5R*UUUUUUTRTT+($UU*J^Q}UUUUUQTT%TUUT JUUR SR*DUJUJQVU*URQ(UUԪ@*T*QWT^R}P*D)))UmUT$E%mT%U%-UU%PR@T*UI(TUUU!P%URUUURU$JReUUVU" UTUJ$ J*d^S}R$@URIUU*IH%*)U$ UUUUR@IR*UUI%**UURUJZIJUJHUUJ$PUU%J"$E^T}RUVU)R*uUI)I@*U[RTDUUU*JRJ@URURU TUTT%TTBUUUI%)IJ U*PU@^U}**JRUUU*ITUP*UUU**U(TJETIURUT@UJIUUP*$PUUURSV(TJ^V}UUR$UUI$TRHJT *JKVUUU*TUPUUQJRPUV*Ԓ*UUT^W}[kUPUU+mVU@URRUVR5UUUUH[UUUUUU*U ^X}mjjUP URHUUU^Y}UZUT@^Z}^[}^\}@D@+jU@U*E@^]}RUUZkUJ U*J Z^^}*UTUUUU@UUUT^_}*UUUT jU Z@UUUTUUUT0 UUUUUU^`}P PUUVUUUUU@UUUTUUUT0 UUUUUU\7 KURS jazyka C - 8.'*st Celou n*pl tohoto pokra'ov*n) kursu tvo@) popis @e&en) zadan[ ]lohy od za'*tku a( po funk'fb}n) program. e&en) vych*z) p@ev*(n% z dosud prob)ran`ch znalost) s minimem uveden`ch novinek. Co jsou to "NERVY"? Jfc}e to netypick* po'etn) ]loha uveden* v nov[m 'asopise "K@)(ovk*@sk` TV magaz)n" vy&l[m v prosinci 1995. Upozornila m% na ni mfd}oje spolupracovnice z pr*ce Ji@inka, kter* r*da lu&t) k@)(ovky. Po prozkoum*n) pravidel jsem do&el k z*v%ru, (e se nejedn* fe}o (*dnou h*danku 'i hlavolam, ale o pracnou po'etn) d@inu se zji&ov*n)m v`sledku. V+bec si nemysl)m, (e by bylo mo(n[ odvodiff}t si n%jak[ rovnice, 'i jin[ urychluj)c) matematick[ @e&en). Zato se mi ]loha zd* velmi vhodn* ke strojov[mu @e&en), vlastnfg}% bych @ekl, (e p@)mo k@i') po naprogramov*n). Kdy( jsem si uv%domil p@)le(itost prakticky se pocvi'it v C['ku a mo(n* z)skatfh} i funk'n) program na mal[ ATARI, pustil jsem se do toho. Pravidla hry NERVY Jako v`choz) data pro v`po'et jsou zafi}dan[ dv% tabulky hodnot. Prvn) p@edstavuje matici ')sel 1010, obsahuj)c) hodnoty v rozsahu 50 a( 150. Ka(d* polo(ka je grafifj}cky ztv*rn%na jako m%&ec s korunami. Druh* tabulka obsahuje 200 desetim)stn`ch ')sel a 200 dev)tim)stn`ch. Tyto se naz`vaj) rfk}odn* ')sla. K v`po'tu ka(d` pou(ije sv[ vlastn) rodn[ ')slo R$ nebo 'len+ sv[ rodiny. U dev)tim)stn`ch ')sel se dopln) jafl}ko des*t* ')slice nula, kter* se m+(e um)stit na za'*tek, na sedmou pozici, nebo na konec. V matici m%&c+ se vyb)raj) hodnofm}ty tak, (e um)st%n) ')slice v ')sle uva(ov*no od lev[ho okraje odpov)d* @*dek podle ')slov*n) shora dol+, vlastn) hodnota ')sfn}lice ud*v* sloupec, 'ili polohu m%&ce na @*dku. T)mto zp+sobem je ur'eno celkem deset m%&c+, jejich( obsah se prost% se'te. fo} Jako druh[ R pro v`po'et se vybere z tabulky p@ipraven`ch doplkov`ch podle jednoduch[ho pravidla kdo m* vlastn) ')slo dev)fp}tim)stn[, vyb)r* z desetim)stn`ch a naopak. )slo je t@eba vybrat tak, aby byl sou'et z)skan`ch m%&c+ co nejv%t&), ale nesm) fq}se vz)t stejn` m%&ec, jako pro vlastn) R. To je trochu matouc), proto vyj*d@)m podm)nku matematicky. Dvojice rodn`ch ')sel -fr} vlastn) a doplkov[ z tabulky - nesm) m)t na stejn[ pozici stejnou ')slici. Mo(n* v`hra po vylosov*n)$ je d*na sou'tem m%fs}&c+ ze sv[ho R a doplkov[ho. Podle hodnot uveden`ch v m%&c)ch m+(e b`t nejm[n% 1000 K' a nejv)ce 3000 K'. Nic moc za 600 maft}tematick`ch operac). P@)prava @e&en) ]lohy. Vstupn) data jsou ulo(ena ve dvou zvl*&tn)ch souborech. To umo(uje nezfu}*visle aktualizovat obsah m%&c+ nebo R. Jako pot@ebn[ funkce programu jsem uva(oval mimo vlastn)ho v`po'tu mo(nost vytvo@it fv}oba datov[ soubory a editovat jejich obsah. Rodn* ')sla je vhodn[ ulo(it jako @et%zce, proto(e operace prob)haj) s jednotlifw}v`mi ciframi, mimo-to desetim)stn[ ')slo je trochu velk[ pro zpracov*n), alespo pro mal` po')ta'. Vlastn) '*stky v m%&c)chfx} sice d*vaj) malou v`hru, ale jdou v pohod% zpracovat jako integer. Pro ukl*d*n) a 'ten) dat jsem vyzkou&el form*tovan[ 'tefy}n) a z*pis funkcemi fprinf$ a fscanf$. Li&) se od zat)m zn*m[ funkce tisku na obrazovku printf$ t)m, (e p@ed form*tovac) @fz}et%zec je p@id*n ukazatel na soubor odd%len` od @et%zce '*rkou. Hodnota ukazatele se z)sk* otev@en)m souboru fopen$ 'i copenf{}$. Funkce maj) zaj)mavou vlastnost, (e ')slo p@ev*d) do souboru na @et%zec. D*le u @et%zce neulo() jeho koncov` znak, tak(f|}e data se "nalep) na sebe" a funkce 'ten) se v nich pak ani nevyzn*. Proto je vhodn[ za ka(d`m ulo(en`m @et%zcem nebo ')slem f}}poslat je&t% znak konce @*dku. V u'ebnici nen) na toto v`razn% upozorn%no, ale praktick` p@)klad v n) uveden[ obsahoval. Cf~}el` trik vypad* takto: fprintfpt,"s\n",string$; Zp%tn[ na'ten): fscanfpt,"s",string$; Data jsou pak v souborecf}h ulo(ena jako @et%zce ukon'ovan[ RETURN, 'ili ka(d[ ')slo je samostatn` odstavec. Proto odpadla nutnost vym`&let n%jak` po@if}zova' dat na R, proto(e je lep&) pou()t textov` editor v re(imu ASCII. To znamen* u apka nepsat do textu (*dn[ @)d)c) kdy,f} u TEXTWRITERu prov[st export jako ASCII. Ono opsat 400 desetim)stn`ch ')sel je pr*ce na 2.5 a( 3 hodiny, proto je vhodn[ pf}rov*d%t po krat&)ch 'asov`ch ]sec)ch ul*d*n) na n%jakou disketu. Taky je na m)st% mo(nost editace p@eklep+ a v+bec chyb, prosf}t% to, co um) i nejjednodu&&) textov[ editory. V programu jsem ponechal po@izova' dat matice, proto(e opsat 100 ')sel na jef}den z*tah a bez chyb nen) takov* hr+za. Popis 16-ti bitov[ verze Program jsem za'al vytv*@et na ATARI MEGA STE prf}oto(e je to pohodln%j&) pr*ce, to v*m nebudu nic nalh*vat. Origin*ln) v`pis je v textu NERVYST.C, u n%ho( byl proveden p@i p@f}enosu p@evod odli&n`ch kd+ konce @*dku a tabul*toru. Po zp%tn[ konverzi by m%l b`t op%t schopn` kompilace na ST nebo i PC. Pf}rohl[dnout si jej m+(ete Hypertextem, kde bude tro&i'ku zlobit 'e&tina Kamenick`ch, nebo l[pe TEXTWRITEREM, kter` m* krom% Kaf}men)k+ i 80 znak+ na @*dek. Na za'*tku jsou provedeny deklarace glob*ln)ch prom%nn`ch, kter[ jsou vyu()v*ny r+zn`mi funkcemf}i. Jsou to dvojrozm%rn* pole na datov[ prom%nn[ a pointery na soubory. Tyto jsou p@ipraveny dva, jeden na soubor MATICE.DAT sf} m%&ci, druh` na CISLA.DAT s rodn`mi ')sly. Proto(e soubory uzav)r*m ihned po p@e'ten) z*pisu$, sta'il by vlastn% jen jeden.f} Glob*ln) jsou tak[ definovan[ textov[ konstanty slou()c) jako ti&t%n[ zpr*vy. P+vodn) v%t&) mno(stv) bylo zmen&eno na pouhf}[ dv%. D*le n*sleduj) vlastn) funkce programu poskl*dan[ opa'n%. Hlavn) funkce main$ je tedy a( na konci. Kompil*tor prepf}rocesor$ je toti( jednopr+chodov` a proto je dobr[, aby v okam(iku kdy naraz) na vol*n) n%jak[ funkce, ji( z p@edchoz)ho textf}u znal jej) definici, a tak mohl zkontrolovat spr*vnost p@ed*van`ch a p@eb)ran`ch parametr+. Prvn) a nejkrat&) funkce pauzf}a$ 'ek* prost% na stisk mezern)ku. P@ed vlastn) kontrolou stisknut[ kl*vesy prob%hne vy'i&t%n) z*sobn)ku kl*vesnice, kter` mf}+(e na ST b`t zna'n% protivn` ne(*douc)m obsahem. Pou(ita je funkce kbhit$ a getch$. Prvn) zji&uje, jestli je mo(n[ p@evf}z)t n%jak` znak, druh* jej p@evezme. Na rozd)l od ji( zn*m[ getchar$ nepot@ebuje ne(*douc) potvrzen) stiskem RETURN. Cel` prf}oces je uzav@en do nekone'n[ smy'ky while1$, u n)( v`raz 1 znamen* nep@etr(it% spln%nou podm)nku. K opu&t%n) funkce n*siln`mf} zp+sobem poslou() @)kaz break. Tento zp+sob 'ten) z kl*vesnice je vyu()v*n i v jin`ch funkc)ch. Vlastn) funkce main$ jef} tak[ velmi kr*tk*. Slou() vlastn% jen pro spu&t%n) programu a pro posledn) potvrzen) p@ed jeho opu&t%n)m. Funkce edit$ prf}ovede na sv[m za'*tku na'ten) dat ze soubor+ MATICE.DAT a CISLA.DAT, v p@)pad% n%jak[ho probl[mu je vyps*no varovn[ hl*&en). f}Ne]sp%ch nezp+sob) ukon'en) programu. Pokud p@)'inou byla chyb%j)c) disketa v mechanice, je mo(n[ vyvolat nov[ 'ten) n*vratemf} do main$ volba Q$ a op%tovn`m vol*n)m edit$. Pov&im%te si zp+sobu p@ed*v*n) zpr*vy o stavu 'ten) funkci edit$ z volan`chf} prov*d%c)ch funkc). Tyto jsou definov*ny jako funkce vracej)c) integer, vlastn) hodnota je p@ed*na p@)kazem return. D*le nf}*sleduje v`b%r z menu koncipovan[ho hodn% primitivn%. Je to z d+vodu rychl[ho vytvo@en) programu, kter` je vlastn% jen pomocnf}ou utilitou, a tak[ pro mo(nost p@enosu programu na jin[ syst[my. V nab)dce jsou 4 prov*d%c) mo(nosti a d*le n*vratu do maif}n$. Nejd+le(it%j&) je samoz@ejm% prvn) volba k v`po'tu v`sledku. Druh* volba slou() k vytvo@en) matice m%&c+, p@i'em( zp+sobf}) p@eps*n) ji( existuj)c)ho souboru. Samoz@ejm% p@ed touto destruktivn) akc) vyd* varovn[ hl*&en). M+(ete h*dat,co se stalo f}s moj) opsanou matic) v dob%, kdy varov*n) s mo(nost) n*vratu nebylo v programu je&t% zapracov*no.$ T@et) nab)dka nebude chf}t)t ')st z kl*vesnice 400 rodn`ch ')sel, n`br( vyp)&e zpr*vu, aby si u(ivatel poslou(il textov`m editorem. vtrt* volba vypf})&e obsah m%&c+ na obrazovku. Ne'ekejte ale, (e bude graficky m%&ce vykreslovat, jako origin*ln) pramen. V textu naleznete p@f})slu&nou volanou funkci pod n*zvem oprav$, kter` poch*z) z doby, kdy jsem si myslel, (e budu muset n%jakou mo(nost editace df}at do programu zapracovat. Kontroln) v`pis R zde chyb). Vzhledem k po'tu ')sel je to asi zbyte'n[. Mal* kontrola se prov*df}) hned po jejich na'ten) vyps*n)m posledn) polo(ky pro srovn*n) s origin*ln)m pramenem. Vstupn) data jsou organizov*na ve vf})cerozm%rn`ch pol)ch. Matice hodnot m%&c+ je dvojrozm%rn* integer, pole rodn`ch ')sel je t@)rozm%rn[ pole char+. Prvn) rozm%rf} ud*v* 200 ')sel, druh` rozm%r rozli&uje '*st dev)tim)stn`ch ')sel od desetim)stn`ch, 'ili m* hodnotu 2, t@et) rozm%r uskladf}uje vlastn) d[lku R a m* tedy rozm%r 11. To proto, (e se jedn* o maxim*ln% deseti prvkov[ @et%zce, k nim( je pot@eba p@idat f}jako jeden*ct` prvek nulov` bajt. J)m se p@i @et%zcov`ch operac)ch pozn*v* konec @et%zce$ Z hlediska na&eho ch*p*n) jsou ')sf}la p@eveden* na @et%zce$ ulo(ena ve dvojrozm%rn[m poli, z n%ho( si vyb)r*me pr*v% (*dan[ polo(ky. T@et) d[lkov` index je trvf}ale nastaven na nulu, ')m( ukazuje na prvn) nult`$ prvek @et%zce. Jeho konec si @et%zcov[ funkce ji( sami poznaj) podle nulof}v[ho bajtu. Ten je v textu reprezentov*n v`razem 0. K vlastn)mu v`b%ru prvk+ z matic nem*m mnoho co @)ci. Prohl[dnut)m vf}`pisu zjist)te, (e je pou(ita kombinace adresov[ho oper*toru a index+ v hranat`ch z*vork*ch. R*d bych problematiku jasn% vyf}sv%tlil, ale s*m to zat)m nech*pu. M+j funk'n) z*pis nen) v`sledkem studia u'ebnice, ale nes'etn`ch pokus+. Zm)n)m se alespf}o o pr*ci s vlastn)mi indexy. Je dobr[ si uv%domit, kter` je kter` a matice plnit stejnou konvenc), jako je ')st. Jinak je mf}o(n[ dosp%t p@i v`po'tech k pozoruhodn`m v`sledk+m. Pot[, co jsem se tvrd% do index+ zamotal, p@epsal jsem zau()van[ n*zvy f}i a y na matematick[ x a y. X p@edstavuje vodorovnou osu, 'ili index sloupce, Y svislou osu, nebo-li index @*dku. Takov[ sjedf}nocen) v`razn% uleh') pr*ci. Je tak[ dobr[ p@i pln%n) nebo 'ten) matice po @*dc)ch pou()t X-sovou prom%nnou do vnit@n) smy'kyf} for$, kter* je vlo(en* do smy'ky se sou@adnic) Y. P@i zcela bezmy&lenkovit[m postupu naps*n) nejprve x, a do druh[, tedy f}vno@en[ smy'ky y, jak se stalo m%, dojde k nesmysln[mu zp@eh*zen) hodnot v matici. Navenek se to neprojev), proto(e nedojde kf} opu&t%n) oblasti pam%ti vyhra(en[ pro matici. Hodn% by se toho dalo zm%nit na funkci kalk$, v n)( doch*z) k vlastn)mu v`pf}o'tu. Podle zadan`ch podm)nek jde z ka(d[ho dev)tim)stn[ho ')sla vytvo@it t@i desetim)stn*, a to jak z vlastn)ch, nebo doplkf}ov`ch. Tuto skute'nost @e&)m v programu dvoj)m z*pisem, mysl)m dosti k@e'ovit`m. Proto berte pros)m uveden` p@)klad jako u(itf}) p@)kaz+ jazyka C, nikoliv spr*vn[ algoritmizace probl[mu. Popis 8-mi bitov[ verze P@evod na mal` po')ta' m% stf}*l n%kolik dn) dal&) d@iny, ale to hlavn% pro moje dosavadn) mal[ zku&enosti s t)mto jazykem. Ostatn%, mysl)te si n%kdy tak[,f} (e C['ko vymyslel n%jak` zatrpkl` program*tor jako trest na sv[ kolegy ? Rozhodn% m+(u @)ci, (e prov*d%c) '*st funguje napf}rosto beze zm%ny. Hlavn% d)ky kompil*toru XCC, kter` umo(uje i v)cerozm%rn[ pole. Tyto by &lo zase p@epo')tat na jednorozm%rf}n[, ale to by bylo d%sn[! V z*sad% jsem musel n%kter[ funkce nahradit a n%kter[ p@ejmenovat. Pointery na soubory se zm%nilyf} na oby'ejn[ integer prom%nn[. U definic) funkc) bylo nutn[ vymazat slov)'ko void, kter[ znamen* pr*zdno, 'ili bez parametr+.f} U funkc) vracej)c)ch ')slo kopil*tor v`raz int uzn*val, ale nevy(adoval. Chyb%j)c) funkce kbhit$, getch$ a scanf$ jsem f}nahradil 'ten)m @et%zce gets$. V&echny vstupy z menu a n*vrat z funkce pauza$ se mus) sice nyn) potvrzovat stiskem RETURN, f}ale m*m alespo jistotu, (e buffer kl*vesnice je vypr*zdn%n` ]pln% do'ista. Zru&il jsem sled p@)kaz+ pro zji&ov*n) d[lky sf}ouboru. Mysl)m, (e n%co takov[ho nen) na mal[m syst[mu mo(n[, proto(e nejde nastavit ukazov*tko na konec souboru nebo kamkolf}iv jinam$ bez nutnosti postupn% na')tat v&echny p@edchoz) sektory. Adres*@ov* tabulka FAT$ vy&&)ch syst[m+ bude asi hodn% dof}konalej&). Form*tovan[ 'ten) @et%zce ze souboru jsem nahradil narychlo sp)chnutou funkc) int cgetspt,s$. P@ed*vaj) se j) df}va parametry. Prvn)m je ukazatel na soubor, prost% ')slo vr*cen[ funkc) copen$. Druh`m je pointer na adresu pole char+, @etf}%zce$ kter[ funkce napln) p@e'ten`m @et%zcem. Vlastn) 'ten) se prov*d) po jednotliv`ch bajtech, je tedy hrozn% pomal[. Nic lef}p&)ho ale nem*m moment*ln% po ruce. Konec 'ten[ho @et%zce se testuje p@e'ten)m znaku s nulovou ASCII hodnotou, m)sto n%j jef} ale nutn[ ulo(it jako posledn) prvek znak n, 'ili EOL. To byla jedna z m`ch v`razn`ch chyb p@i tvorb% t[to funkce. Po ]spf}%&n[m na'ten) @et%zce vrac) funkce pomoc) return jedni'ku, p@i chyb% nulu. Druh` kopanec jsem d%lal p@i vol*n) funkce. Z pof}maten) mysli jsem p@ipsal p@ed pointer na soubor adresov` oper*tor, tedy jsem psal cgetsmat,s$; m)sto cgetsmat,s$;, jak m%f}lo b`t spr*vn%. P@ed*val jsem tak adresu ukazatele a ne jeho hodnotu. Kupodivu matice m%&c+ &la z nezn*m`ch d+vod+ tak na')stf}, zat)mco soubor R spr*vn% odm)tal spolupr*ci. Inu, to jsou zvl*&tn) v%ci. Po ]prav% textu z+stal je&t% jeden probl[m, a tf}o v jeho nadm%rn[ d[lce. Nejsem u( na&t%st) tak hloup`, abych si myslel jako d@)v, (e del&) program nejde zkompilovat. Prost%f} se text mus) rozd%lit na v)ce '*st), samostatn% zkompilovat a pot[ slinkovat dohromady. Probl[mem z+staly glob*ln) prom%nnf}[. P@i nep@)tomnosti jejich deklarace v n%kter`ch modulech kompil*tor odm)tal spolupr*ci, p@i jejich uveden) ve v&ech se d%lyf} ](asn[ v%ci. Program z*ludn% 'ten* data zapisoval do oblast) vlastn)ho DOSu, tak(e tento se v lep&)m p@)pad% ]pln% zhroutil,f} nebo v hor&)m vykazoval necivilizovan[ chov*n). Z adres*@e vypisoval n*hodn% jen n%kter[ polo(ky, u soubor+ hl*sil chybu 164f}, p@i pokusu z*pisu matice m%&c+ tot*ln% zlikvidoval cel` disk s rozepsanou nez*lohovanou 8-mi bitovou verz) programu NERVY. f}p@)zna'n` n*zev$ Jako posledn) mo(nost z+stala u'ebnice a ejhle! Ke jm[n+m prom%nn`ch deklarovan`ch ve v)ce modulech se krf}om% prvn)ho v`skytu p@ip)&e slov)'ko extern. Chvilka nap%t) a na monitoru se objevuj) v`sledky podobn[ t%m z 16-ti bitov[ verf}ze. Jen co jsem p@estal @v*t:"U( to chod)!!", v%noval jsem se srovn*n) s MEGOU STE na 16 MHz. Mrousek p@)jemn% p@ekvapil. V`f}sledky sice z MEGy vypadnou hned po stisku RETURN, ale tisk alespo prvn)ho v`po'tu na mal[m ATARI dr() krok. Rozd%len) prof}gramu do jednotliv`ch '*st), kter[ mi nejprve @*dn% zkomplikovalo (ivot, jsem ocenil p@i dodate'n`ch ]prav*ch tisk+ na obrazof}vku. Sta'ilo toti( kompilovat jen pr*v% upravovanou '*st programu, ')m( se n%co uspo@ilo. Vlastn) v`sledek programu f} Tisk kone'n[ho v`sledku nen) dota(en` a( do konce. Program neprov*d) sou'et v`t%(ku ze sv[ho R a z doplkov[ho. V p@)pad% zf}ad*n) sv[ho dev)tim)stn[ho ')sla se vytisknou v&echny t@i mo(n[ v`po'ty a u(ivatel si s*m mus) vybrat ten nejv`hodn%j&). f} U(ite'nost programu V tomto p@)pad% se jedn* o pom%rn% diskutabiln) n*m%t. Jako p@)klad do kursu programov*n) se hod) df}ob@e, proto(e prov*d) jednoduch[ operace. S praktick`m vyu(it)m to bude hor&). Odhaduji, (e &ikovn` program*tor by napsal ff}unk'n) program mo(n* i za hodinu. nikoliv 2 t`dny$ Ops*n) dat se d* zvl*dnout za 2.5 hodiny. Vzhledem k velmi nejist[ v`h@e f}pr+m%rn% 2100 korun jde o dost velkou d@inu, alespo ve srovn*n) s jin`mi sout%(emi. Ov&em ve srovn*n) s bl*zny, kte@) ]lohu f}@e&) ru'n%, mus) j)t nutn% o velik[ plus. K zad*n) bylo poznamen*no, (e se ]loha bude opakovat s jin`mi vstupn)mi daty. Pokf}ud budou m)t stejn` tvar, bude mo(n[ pou()t shodn` program a t)m z+stane jen pr*ce s jejich opisov*n)m. Pozn*mka: P@i p@enf}osu datov`ch soubor+ z ST na 800XE se provedla pouze zn*m* konverze CRLF 13 a 10$ na RETURN 155$.m. Pozn*mka: P@i p@ende/*verze 3.1 - zrusen tisk adresreresen lohy NERVY z asopisu - vvojprogramu byl zpracovn od 12.12.1995 do 24.1.1996Pj}URE C - ATARI MEGA STE*/#include #include #include #define HEADER "\n\t*************** NEj}RVY *****************\n\n"#define OPENERR "Can't open '%s'!\n\n"void pauza(void);void edit(void);unsigned int mati[10j}][10];char cisla[200][2][11];FILE *mat,*cisl;/* ek na stisk mezernku - vyist buffer klvesnice */void pauza(void) j}{ int a; printf (" Mal pauza - stiskni mezernk\n"); while(1) { while(kbhit()) getch(); aj}=getch(); if(a==' '||a==' ') return; a=0; }}/* --------------------------------------------j}------------------ *//* MENU */char menu(void){ char c;printf("\n\tV - zadvn osobnch sel a vpoet vsledku\nj}");printf("\n\tM - zpis matice\n");printf("\n\tR - zpis zadanch konstant\n");printf("\n\tN - vpis obsahu tabulky mej}sc\n");printf("\n\n\tQ - nvrat\n"); while(kbhit()) getch(); c=getch(); return(c);} /* ................j}............................... *//* ------------ vlastn vpoetn operace ---------- */void kalk(void){ char a[40j}0],b[11]; unsigned int i,y,d,f,f1,z; while(kbhit()) getch(); printf("\n\tZadvn osobnch sel a vpoet vsledj}ku\n\t: "); gets(a); d=strlen(a); if(d>10||d<9) { printf("\n\tpatn dlka sla\n"); return; } if(d==j}9)/* mono napsat jako aritmetickou operaci*/ z=0; else z=1; for(y=0,f1=0;y<100;y++) { f=0; strj}cpy(b,&cisla[y][z][0]); if(d==10) { b[9] = '0'; b[10] = 0; } for(i=0;i<10;i++) { ij}f(a[i]==b[i]) { /*printf("\tSouhlasn slice ");*/ break; } else f=f+(mati[b[i]-'0'j}][i]); } if(i==10) if(f1 < f) { f1 = f; printf("\n\tCislo:%s\tSouet: %u\n",b,f1); j} } if(d==10) { for(i=8;i>5;i--) b[i+1] = b[i]; b[6] = '0'; f=0; for(i=0;i<10j};i++) {  if(a[i]==b[i]) { /*printf("\tSouhlasn slice ");*/ break; } elj}se f=f+(mati[b[i]-'0'][i]); } if(i==10) if(f1 < f) { f1 = f; printf("\n\tCisj}lo (nula na 7. pozici):%s\tSouet: %u\n",b,f1); } for(i=6;i>0;i--) b[i] = b[i-1]; b[0] = '0'j}; f=0; for(i=0;i<10;i++) {  if(a[i]==b[i]) { /*printf("\tSouhlasn slice ");*/ j} break; } else f=f+(mati[b[i]-'0'][i]); } if(i==10) if(f1 < f) j}{ f1 = f; printf("\n\tCislo (nula na 1. pozici):%s\tSouet: %u\n",b,f1); } } } if(d==j}9) { a[9] = '0'; a[10] = 0; } for(i=0,f=0;i<10;i++) { f=f+(mati[a[i]-'0'][i]); } printf("\nj} Zadno: %s\tvsledek: %u\n",a,f); if(d==9) { for(i=8;i>5;i--) a[i+1] = a[i]; a[6] = '0'; fj}or(i=0,f=0;i<10;i++) {  f=f+(mati[a[i]-'0'][i]); } printf(" Zadno (nula na 7. pozici): %s\tvsledek: %u\nj}",a,f); for(i=6;i>0;i--) a[i] = a[i-1]; a[0] = '0'; for(i=0,f=0;i<10;i++) {  f=f+(mati[a[j}i]-'0'][i]); } printf(" Zadno (nula na 1. pozici): %s\tvsledek: %u\n\n",a,f); } /*printf("\n%s\ts indexy:%sj}\tzadno:%s\n",b,&cisla[y][z][0],a);*/pauza();return;}/* vytvoren matice */int matice(void){ uj}nsigned int x,y,a;printf("\n\tZpis matice msc\n");printf("\n !! POZOR - pokraovn zni pvodn soubor !!\n");j}printf("\nStisk Y pro nov zpis (jinak nvrat)\n"); while(kbhit()) getch(); a=getch(); if(!(a==j}'y'||a=='Y')) return(0); if (!(mat = fopen("MATICE.DAT","wb") )) { printf(OPENERR,"MATICE.DAT"j});pauza(); return(-1); }printf("\n\tzadej matici po cislech (oddlen )\n"); for(y=0;y!!\n"); printf("\n k} Vznikne tak text, kter bude mt 400 odstavc. Nezapome"); printf("\n v prbhu prce ukldat zlon kopie na hardiskk} jako"); printf("\n prevenci pred vpadkem elektrick energie!\n");}/* .......................... */void oprav(void)k}{ unsigned int x,y,i;printf("\n\tVpis matice\n"); for(y=0;y<10;y++) { for(x=0;x<10;x++) { i = mati[x][y]; k} printf(" %u ",i); } printf("\n\n"); } pauza();}/* ----------------- inicializace matice ----k}------- */int int_mat(void){ unsigned int x,y,length,b; if ((mat = fopen("MATICE.DAT","rb")) == NULL) { pk }rintf(OPENERR,"MATICE.DAT");pauza(); return(-1); } fseek(mat,0L,SEEK_END); length=ftell(mat); printf ("k }\nDlka souboru matice : %u ",length); fseek(mat,0L,SEEK_SET); for(y=0;y<10;y++) { for(x=0;x<10;x++) { if(fscak }nf(mat,"%u",&b) != 1) { printf ("\nDlka souboru : %u je krtk ",length); return(0); } k } mati[x][y]=b;/* printf("\ntisk obsahu matice: %u %u\n",mati[x][y],b);*/ } } fclose(mat); return(1);}/k }*.....................*//* inicializace rodnch sel - naten ze souboru */ int int_rc(void){ unsigned ik}nt i,y,length; char b[11];printf("\n\tNatn souboru sel\n"); if (!(cisl = fopen("CISLA.DAT","rb"))) { k} printf(OPENERR,"CISLA.DAT");pauza(); return(-1); } fseek(cisl,0L,SEEK_END); length=ftek}ll(cisl); printf ("\nDka souboru matice : %u ",length); fseek(cisl,0L,SEEK_SET); for(y=0;y<2;y++) for(i=0;i<20k}0;i++)  { if(fscanf(cisl,"%s",&b) != 1) { printf ("\nDlka souboru : %u je krtk ",length); k}return(0); } strcpy(&cisla[i][y][0],b); } fclose(cisl); printf("\n%s\tdruh:%s\n",b,&cisk}la[i-1][y-1][0]); printf("\n%s\tbez &:%s\n",b,cisla[i-1][y-1][0]); return(1);}/* .......................... *//*k} ---------------- hlavn st programu ----------------- */void edit(void){ unsigned int mu; int a;printf(k}"\nVolna funkce inicializace matice\n");a = int_mat(); if(a<1) if(a == -1) printf("\nDatov soubor s k}matic nenalezen!\n");  else printf("\nDatov soubor s matic je njak krtk!\n");printf("\nVolna funkcek} inicializace rodnch sel\n");a = int_rc(); if(a<1) if(a == -1) printf("\nDatov soubor s sly nenak}lezen!\n");  else printf("\nDatov soubor s sly je njak krtk!\n"); do{switch(menu()) { case 'k}v': case 'V': kalk(); break; case 'm': case 'M': matice(); break; case 'r':k} case 'R': zad_cisla(); break; case 'n': case 'N': oprav(); break; case 'q':k} case 'Q': mu='Q'; printf ("\nNvrat na zatek\n"); break;default: printf ("\npatn volba k}- opakuj\n"); break;} }while(mu!='Q'); return; }/* --------------------------------------------------k}---------- */void main(void){ int a; do { printf(HEADER); printf("\nVolna funkce edit\n"); edit(); printk}f("\nNvrat z funkce edit\n"); pauza(); while(kbhit()) getch(); printf("\nOpustn programu - Q\n"); ak}=getch(); if(a=='Q') a='q'; }while(a!='q');}()) getch(); printf("\nOpustn programu - Q\n"); ah;/* NERVY - PART1.C */extern int mati[10][10];extern char cisla[200][2][11];extern int mat,cisl;/* pointery na soubory */o!}pauza(){ char a[200]; printf("\nMala pauza - stiskni RETURN\n"); gets(a);}menu(){ char s[100],c; printf("\n\tV - vlo"}astni vypocet\n"); printf("\n\tM - zapis matice\n"); printf("\n\tR - zapis RC\n"); printf("\n\tN - vypis tabulky mescu\o#}n"); printf("\n\n\tQ - navrat\n"); gets(s); c = s[0]; return(c);}/* - vlastni operace - */kalk(){char a[400],b[o$}11]; int i,y,d,f,f1,z; printf("\n\tZadej sve RC\n\t:"); gets(a); for(d=0;a[d] != '\0';d++) ; if(d>10||d<9) { prino%}tf("\n\tSpatna delka RC!\n"); return; } if(d==9)/* mozno napsat jako aritmetickou operaci*/ z=0; else z=1; for(o&}y=0,f1=0;y<100;y++) { f=0; strcpy(b,&cisla[y][z][0]); if(d==10) { b[9] = '0'; b[10] = 0; } for(i=0;i<10o'};i++) { if(a[i]==b[i]) break; else f=f+(mati[b[i]-'0'][i]); } if(i==10) if(f1 o(}< f) { f1 = f; printf("\n Cislo:%s\tSoucet: %d\n",b,f1); } if(d==10) { for(i=8;i>5;i--) b[io)}+1] = b[i]; b[6] = '0'; f=0; for(i=0;i<10;i++) { if(a[i]==b[i]) {/*printf("\tSouhlasna cislice\o*}n");*/ break; } else f=f+(mati[b[i]-'0'][i]); } if(i==10) if(f1 < f) { f1 =o+} f; printf("\nCislo (nula na 7. pozici):%s\n\tSoucet: %d\n",b,f1); } for(i=6;i>0;i--) b[i] = b[i-1];o,} b[0] = '0'; f=0; for(i=0;i<10;i++) { if(a[i]==b[i]) { /*printf("\tSouhlasna cislice ");*/ o-} break; } else f=f+(mati[b[i]-'0'][i]); } if(i==10) if(f1 < f) { f1 = f; o.}printf("\nCislo (nula na 1. pozici):%s\n\tSoucet: %d\n",b,f1); } } }/* printf("\n%s\ts indexy:%s\tzadano:%s\n",b,o/}&cisla[y-1][z][0],a);*/ printf("\n\n"); if(d==9) { a[9] = '0'; a[10] = 0; } for(i=0,f=0;i<10;i++) f=f+(mati[a[io0}]-'0'][i]); printf("Zadano: %s\tvysledek: %d\n",a,f); if(d==9) { for(i=8;i>5;i--) a[i+1] = a[i]; a[6] = '0';o1} for(i=0,f=0;i<10;i++) f=f+(mati[a[i]-'0'][i]); printf("\nZadano (nula na 7. pozici): %s\tvysledek: %d\n",a,f);o2} for(i=6;i>0;i--) a[i] = a[i-1]; a[0] = '0'; for(i=0,f=0;i<10;i++) f=f+(mati[a[i]-'0'][i]); printf(o3}"\nZadano (nula na 1. pozici): %s\tvysledek: %d\n",a,f); }pauza();return;}i++) f=f+(mati[a[i]-'0'][i]); printf(lO/* NERVY - soubor PART2.C */#define OPENERR "Can't open '%s'!\n\n"extern int mati[10][10];extern char cisla[200][2][11];s5}extern int mat,cisl;/* pointery na soubory *//* vytvoreni matice */int matice(){ int x,y,a; char s[200]; printf("s6}\n\tZapis matice mescu\n"); printf("\n !! POZOR - pokracovani znici puvodni soubor !!\n"); printf("\nStisk Y pro novy zapis (jinak navrat)\n"); gets(s); if(!(s[0] =='y'||s[0] =='Y')) return(0); if(!(mat = copen("D:MATICE.DATs8}",'w'))) { printf(OPENERR,"D:MATICE.DAT"); pauza(); return(-1); } printf("\n\tzadej matici po cislech (oddelenes9} RETURN)\n"); for(y=0;y<4;y++) for(x=0;x<4;x++) { gets(s); mati[x][y] = val(s); } for(y=0;y<10;y++) for(s:}x=0;x<10;x++) { a=mati[x][y]; fprintf(mat,"%d\n",a); } cclose(mat); return(1);}/* - tvorba rodnych cisel s;} -- */int zad_cisla(){ printf("\n\tpouzij textovy editor v rezimu ASCII\n"); printf("\tjednotlive polozky oddeluj jako os<}dstavce\n"); pauza();}/* - vypis obsahu mescu (matice) - */oprav(){ int x,y,i; printf("\n\tVypis matice\n"); for(ys=}=0;y<10;y++) { for(x=0;x<10;x++) { i = mati[x][y]; printf("%d ",i); } printf("\n\n"); } pauza();s>}}/* --- inicializace matice - */int int_mat(){ int x,y,b; char s[15]; if((mat=copen("D1:MATICE.DAT",'r'))<0) s?} { printf(OPENERR,"D:MATICE.DAT"); pauza(); return(-1); } for(y=0;y<10;y++) for(x=0;x<10;x++) { if(cgets@}s(mat,s) != 1) { printf ("\nDelka souboru je kratka "); return(0); } mati[x][y]=val(s); sA} } cclose(mat); return(1);}int cgets(pt,s)int pt;char s[];{ int i; char c; for(i=0;;i++) { if((c=cgetc(pt))\n"); gewS}ts(a); if(a[0]=='Q') a[0]='q'; }while(a[0]!='q');}pauza(); printf("\nOpusteni programu - Q \n"); get>part1part2part3aioprintfdbc.objrintf'strlen'find'cputs'ciov'fprintd'fprints'fprintc'fprintx'x%@@dbc3aNo OF {i: f8e mF {i F {i F {i F {i F {i f  F {i[ fV} [   %@@ "@@ ( @ &@ @ F {iY $@ @  W}  AA d&#DA "A  M     'i $oA  0  X}  &AA "wA[     $AAA  L    0    A Y} $B  &BBB   F   {i $ D  (gBJB #+B     Z}:B  0   &BB "B[     $BBB  L    0 [}   B $$CCC  &$C   G   {i  (hCKC #,C    \} ;C 0   &CC "C[     $CCC  L    ]} 0    C $ D DD & D   :G   {iA eG {i $QD[  0[  ^}   &DD "aD  L U   0    pD hG Y  {i $GF_}  (ED #D[  EE Y  D[  0   &{ELE "`}-E  L U   0     pro novy zapis (jinak navrat)KLD:MATICE.DATCan't open '%s'!Dn}:MATICE.DATzadej matici po cislech (oddelene RETURN)%dpouzij textovy editor v rezimu ASCIIjednotlive polozky oddeo}luj jako odstavceVypis matice%d D1:MATICE.DATCan't open '%s'!D:MATICE.DATDelka soLLuboru je kratka ^_p} a {i a r Te^ &#_ a a {i @   &_J_ "+_  &_q_ "q}R_^  J %_ a {i  M      'ia_:_^ f a  M     r} _`  {i b  M       {i  b {i J &k` $c` 3b {is}k` Wb {i b {i ^ &` $` b {i` b {i @`d@ aG ajI aI a Q b {i at} c {i a `aa.v`.V`.m`.M`.r`.R`.n`.N`.q`.Q`` Q%/a`f R  c {i @,`u} Ic {i @ Zc {i f Q$a q q%aGaNacitani souboru ciselD1:CISLA.DATCan't open '%s'!v}CISLA.DATDelka souboabru je kratka %sdruhy:%s%sbez &:%sVolana inicializace maticeDatovy soubor s matici nw}enalezen!Datovy soubor s matici je nejak kratky!Volana funkce nacteni rodnych ciselDatovy soubor s cisly nenalezen!x}Datovy soubor s cisly je nejak bzckratky!Navrat na zacatekSpatna volba - opakuj************ NERVY **********y}****Navrat do MAINOpusteni programu - Q {czd  c $  $  $c "z}ccc  +$  -$d -$c    "  0)  9'Ld    {}0  " d     d {dze$  $  $d "ddhd Le|} 0)  9'd  0(e a)  f'd  W(e A)  F'%e  7(eLe }}    "d   &e @ {ezf  li $ee "he $~}e     Zi  r$e f w$e f a$f f    }    g    &lf f   {fzg   Zi   g} f     g 00 f f   x   g &g }  H ri    Ng  Zig    {gzh gg }0    g  "#  hg # &g  $  $   :}%   :%   :%qh xi 'i   'i  'i    {hzi  . Wi } &h   .     'i a& % h z( %hh  A& % i} Z( %i&i  00      *i00 0u Wi000!0D:{izj} ri     ri li j ri     ri li  } ri j   ri Zi l   % Wi &sj  Ng }{jzk(j     g         ?k " #   } -$k