; TeX output 1999.09.09:103841PBBlXQ ff cmr12Das/߆Tff cmtt12brclcPaketqunddas/brclcProgramm#lύBXQ cmr12BerndRadgenύ10.09.1999(VVersion0.1.3))T$"V cmbx10Zusammenfassung@:K`y cmr10Das/%'ExX-Befehl\clc{?}.DasProgrammbrclc :wertetdasArgumentim\clc{arg}aus.EskoonnensomathematischeOpGeratio-:nenZ!ausgefGouhrtundinL5ffA͉TU>'ExXeingebundenwerdenohne,damandieexpliziten:Ergebnisseimvorhineinkennenmu.DiesentsprichtderImplementierungeiner:einfachenUUT*abGellenkqalkulationindenL5ffA͉TU>'ExX-File.&č:.Nff cmbx121SAEinleitung:DieKVIdeezudiesenPaketKVkqammirnachdemichesleidwarbGeimSchreibGenvon:RechnungenunterL5ffA͉TU>'ExXjedePositionvonHandauszurechnen.DasersteZielwar:somitreineT*abGelleunterAngabevonAnzahlundArtikelpreisauszuwertenund:dieEndsummezubGerechnen.DiefolgendeeinfacheT*abGellekqannmitHilfedes:\clc{}-BefehlsUUautomatischgeneriertwerden.MMó5ffAfd fffdAnzahl ff1&Bezeichnung2 ffEinzelpreis ffkZusammen ff ff*Z ff2 ff (DM) ff=/(DM) ff8(Euro) ffffA ff ꬟fd100 ff1&Noagel2 ffӳE0.06 ff h6.00 ff) 3.07 ffffA ffjfd10 ff1&Bretter2 ffӳE5.65 ff g56.50 ff$ 28.89 ffffA ffjfd12 ff1&Dachlatten2 ffӳE1.15 ff g13.80 ff) 7.06 ffffA ffꭟfd3 ff1&Winkeleisen2 ffӳE8.71 ff g26.13 ff$ 13.36 ffffAffffA fffdSumme: ff f102.43 ff$ 52.37 ffffA fffd15%UUMwSt.: ff g15.36 ff) 7.86 ffffAffffA ffXfdGesam9tsumme: ff117.79 ff!o60.23 ffffA:Nachdemzdiesgelungenist,wareseineKleinigkeitnoGchweiteremathematischeBe-:fehlezuimplementieren.F*olgendemathematischeOpGerationenkoonnenjetztdurch-:gefGouhrtUUwerden:@5+,?-,*,/,^,exp,ln,log,sin,cos,tan,asin,acos,atan.:Die/V*erarbGeitungerfolgtWLouber16bitZahlen(double).DieAusgabekqannmitbiszu :achtUUStellenhinterdemKommaerfolgen. K`y 3 cmr101*41PBB :2SAInstallation:DasCProgrammbrclcerhoaltmandurchcompilierendesQuellcoGdesbrclc.c.Der :QuellcoQde,Eso9wieallehierbesc9hriebenenProgrammeundProgramm9teile:un9terliegenLderGNU-GENERAL-PUPLIC-LICENSE.ZumCompilieren:bGenootigt*mandenGNU-C-Compiler,folgenderAufrufliefertdasbrclcProgramm:unterUULINUX::gcc?-O2-Wall-lm-sbrclc.c-obrclc:oGderroUUuberdenMakefileeinfach::make:unter8DOS/WIN95/WINNT8mGoutediesebGenfallsfunktionieren(brclcimMakefile:inUUbrclc.exeumbGennen).:DasUUProgrammbrclcmu/': cmti10vorhL5ffA͉TU>'ExXaufgerufenwerden::brclc?texfilename.:AmUUBestenmanschreibtsicheinShellskriptderF*orm::brclc?$1:latex?$1:undcoubGergibtdenT*ex lenamenandasSkript.DasProgrammbrclcmunatourlich:imUUP*ATHgefundenwerden(unterLINUXz.B.brclcnach\usr\binkopieren).:Bemerkung::DieUUZeileimQuellcoGde:#define?MAXOP400:gibt[diemaximalzurV*erfGougungstehendenSpGeicherploatze(double-Werte)fGourdie:Berechnungen'ExX-FilemudasPaketbrclc.styeingebundenwerden::\usepackage{brclc}.&č:3SABeschreibungffderBefehlssyntax:Der:vondemPaketbrclc.styzurV*erfGougunggestellteBefehl\clc{arg}bGesitzt:nurgeinArgument(arg),welcheseinereigenenSyntaxunterliegt,diedannvom:ProgrammUUbrclcausgewertetwird.:Im:dF*olgendemwirdaufdieSyntaxdesArguments(arg)von\clc{arg}eingegan-:gen.:ZunoachstmGoussendieW*erte,mitdenengerechnetwerdensoll,demjeweiligenSpGei-:cherplatzUUzugeordnetwerden.DieEingab}'eerfolgtroubGerdenBefehl::\clc{Speicherplatz:WertAusgabe?aus/ein[.StellenRundungan/aus]}:([UU] !", cmsy10!optionalerParameter).:MoochteichdenW*ert60.56416indenSpGeicherplatz1schreibGenunddieAusgabe:sollUUausgeschaltetseinlautetderBefehl::\clc{1:60.56416=},UUergibt:.:W*erteUUdieaufeinemSpGeicherplatzstehenkoonnenrouberdenBefehl::\clc{Speicherplatz:>}:auslesenUUwerden.DieAusgab}'edesW*ertesaufSpGeicherplatz1erfolgtroubGer::\clc{1:>},UUergibt:60.56. 2  41PBB :ErscheintTamEndedesEingabGebefehlsTauchdas'>'stattdem'='erfolgtdieEingabGe :mitUU"EchoL\8::\clc{1:60.56416>},UUergibt:60.56.:DieAusgabGeloatsichnochdieAngabedesF*ormatsmanipulieren.SokqanndieAn-:zahlderausgegebGenenKommastellen(default:2)unddieRundungabgeschaltet:werden.:F*olgtUUein'>.4'ergibtdieseinegerundeteAusgabGemit4Kommastellen::\clc{1:60.56416>.4},UUergibt:60.5642.:DieUUungerundeteAusgabGeerhoaltmanwenn'>,4'folgt::\clc{1:60.56416>,4},UUergibt:60.5641.:Die>verschiedenenAusgabGeMooglichkeitensindinderfolgendenT*abGelleaneinem:BeispielUUzusammengefat:HmWff!fd ff!᨟fdGerundet: ffvAusgabGe: ffff! ffgfd\clc{1:60.56416>.} ߡ ffv610% ff  fffd\clc{1:60.56416>.0} ffv610% ff fffd\clc{1:60.56416>.1} ffv60.6) ff fffd\clc{1:60.56416>.2} ffv60.56$ ff fffd\clc{1:60.56416>.3} ffv60.564 ff fffd\clc{1:60.56416>.4} ffv60.5642 ffԍfffd6|U.6|U.6|U.oDŽff...Sff fffd\clc{1:60.56416>.8} ffv60.56416000 ffff!y>ffTfd fffdUngerundet: ffvAusgabGe: ffffT fffd\clc{1:60.56416>,} 0 ffvDz600% ff  ff'fd\clc{1:60.56416>,0} ffvDz600% ff ff'fd\clc{1:60.56416>,1} ffvDz60.5) ff ff'fd\clc{1:60.56416>,2} ffvDz60.56$ ff ff'fd\clc{1:60.56416>,3} ffvDz60.564 ff ff'fd\clc{1:60.56416>,4} ffvDz60.5641 ffԍfffd6o.6o.6o.p ff...ff ff'fd\clc{1:60.56416>,8} ffvDz60.56416000 ffffTJ_J:Es\koonnenmaximal8-KommastellenausgegebGenwerden.DieF*olge'>.'bzw'>,':oGderUU'>.0'bzw.'>,0'ergebeneineAusgabeohneKommastellen.:EsUUfolgtdieSyntaxzurDurchfGouhrungderBerechnungen.:ZunoachstUUbGenootigenwirnocheinen2.W*ertaufeinerweiterenSpGeicherstelle::\clc{2:30.52>},UUergibt:30.52.:DieUUallgemeineR}'echeneingabehatUUdieF*orm::\clc{Speicherplatz:OperationSpeicherplatz2:=Speicherplatz3:[>.]}.:MoochtebichzudemW*ertvonSpGeicherplatz1denW*ertvonSpGeicherplatz2addieren:undUUinSpGeicherplatz3abspeichernlautetderBefehl::\clc{1:+2:=3:>},UUergibt:91.08. 3J41PBB :MoochtehichvondemW*ertvonSpGeicherplatz1denW*ertvonSpGeicherplatz2sub- :trahierenUUundinSpGeicherplatz2zurouckspeichernUU(still),lautetderBefehl::\clc{1:-2:=2:},UUergibt:.:AusgabGeUUdesErgebnisses::\clc{2:>},UUergibt:30.04.:Das"ErgebnisloatsichsomitauchdirektineinemderAusgangsspGeicherploatze:zurGouckUUspGeichern.:F*olgendeUURechenopGerationensindbisherimplementiert:qƍBBgffV@fd fffdBefehl:ɛ졄 ffMAusgabGeUUimdvi-File: ffffV@ fffdAddition:[顄 ffUړ ff  fffd$\clc{1:3>}+\clc{2:2>}=\clc{1:+2:=>.4}$ ffM3 b> cmmi10:008+2:00=5:00j ff fffdSubtraktion:t ffUړ ff fffd$\clc{1:3>}-\clc{2:2>}=\clc{1:-2:=>.4}$ ffM3:0082:00=1:00j ff fffdMultiplikqation:r ffUړ ff fffd$\clc{1:3>}*\clc{2:2>}=\clc{1:*2:=>.4}$ ffM3:0082:00=6:0000 1՟ ff fffdDivision:8\ ffUړ ff fffd$\clc{1:3>}/\clc{2:2>}=\clc{1:/2:=>.4}$ ffM3:00=2:00=1:5000 ffffV@fd fffdPotenz: ffUړ ff fffd$\clc{1:3>}^{\clc{2:2>}}=\clc{1:^2:=>.4}$ ffM3:00^2 0ercmmi7:00q=9:0000] ff fffdW*urzel^ O!cmsy7:& ffUړ ff fffd$\clc{1:3>}^{\clc{2:0.5>}}=\clc{1:^2:=>.4}$ ffM3:00^0:50q=1:7321] ff fffdExpGonent: ffUړ ff fffd$\exp\clc{1:3>}=\clc{1:exp=>.4}$?ߡ ffMexp~3:00=20:0855x ff fffdNatGourlicherUULogarithmus:y17 ffUړ ff fffd$\ln\clc{1:3>}=\clc{1:ln=>.4}$J?١ ffMlnL3:00=1:0986j ff fffdZehnerUULogarithmus: ffUړ ff fffd$\ln\clc{1:3>}=\clc{1:log=>.4}$Dܡ ffMlog!3:00=0:4771b ffffV@fd fffdSinus^Ȳ:*% ffUړ ff fffd$\sin\clc{1:3>}=\clc{1:sin=>.4}$?ߡ ffMsin~3:00=0:1411x ff fffdCosinus^Ȳ: ffUړ ff fffd$\cos\clc{1:3>}=\clc{1:cos=>.4}$?ߡ ffMcos3:00=0:9900a ff fffdT*angents^Ȳ:Ɩ ffUړ ff fffd$\tan\clc{1:3>}=\clc{1:tan=>.4}$?ߡ ffMtan3:00=0:1425& ff fffdArcussinus^Ȳ:j$ ffUړ ff fffd$\arcsin\clc{1:0.3>}=\clc{1:asin=>.4}$ ? ffMarcsinچ0:30=0:3047 } ff fffdArcuscosinus^Ȳ:\ ffUړ ff fffd$\arccos\clc{1:0.3>}=\clc{1:acos=>.4}$ ? ffMarccos0:30=1:2661  ff fffdArcustangents^Ȳ:! ffUړ ff fffd$\arctan\clc{1:0.3>}=\clc{1:atan=>.4}$ ? ffMarctan20:30=0:2915џ ffffV@:^C2W-W*urzelUUwirdroubGerdiePotenzfunktionrealisiert. :^C-T*rigonometrischeUUFunktionenimBogenma! 4'Ƞ41PBB :Als9 BeispielfGourdieArbGeitmit\clc{}nunnochderQuellcodefourdieT*abelleauf :SeiteUU1::\clc{6:1.95583=}?%EuroFaktor:\begin{center}:\label{tabelle1}:\begin{tabular}{|c|p{12em}|r|r|r|}:\hline:Anzahl?&Bezeichnung&Einzelpreis&\multicolumn{2}{c|}{Zusammen}\\:&&?(DM)&(DM)&(Euro)\\:\hline:\clc{1:100>.}?&Nagel&\clc{2:0.06>}:&\clc{1:*2:=3:>}?\clc{4:+3:=4:}&\clc{3:/6:=>} \\:\hline:\clc{1:10>.}?&Bretter &\clc{2:5.65>}:&\clc{1:*2:=3:>}?\clc{4:+3:=4:}&\clc{3:/6:=>}\\:\hline:\clc{1:12>.}?&Dachlatten &\clc{2:1.15>}:&\clc{1:*2:=3:>}?\clc{4:+3:=4:}&\clc{3:/6:=>} \\:\hline:\clc{1:3>.}?&Winkeleisen &\clc{2:8.71>}:&\clc{1:*2:=3:>}?\clc{4:+3:=4:}&\clc{3:/6:=>} \\:\hline:\hline:\multicolumn{3}{|r|}{Summe:}&\clc{4:>} &?\clc{4:/6:=>}\\:\hline:\multicolumn{3}{|r|}{15\%?MwSt.:}:&\clc{7:100=}\clc{4:/7:=5:}\clc{7:15=}\clc{5:*7:=5:>}:&?\clc{5:/6:=>}\\:\hline:\hline:\multicolumn{3}{|r|}{\textbf{Gesamtsumme:}}:&?\textbf{\clc{4:+5:=7:>}}&\textbf{\clc{7:/6:=>}}\\:\hline:\end{tabular}:\end{center}&č:4SABeschreibungffderArbs3eitsweisevonbrclc:ZunoachstsuchtbrclcimL5ffA͉TU>'ExX-FilenachdemPaketbrclc.sty.Beiderweite-:renBearbGeitungwirdnachdem\clc{}-Befehl,nachUmgebungen(insbGesondere:verbatim)EunddenBefehlen\verb,\input{},\include{}gesucht.EJederbGear-:bGeitete'WBefehl\clc{}ergibteinen'.'beiderBildschirmausgabe.Jedergefundene:Befehl!y\verbundjedeverbatim-Umgebungergibtein'*'.Ein\includeonly{}:oGderUUeinpassiver\include{}wirdmiteinem'#'quitiert. 5841PBB :DasUUProgrammbrclcerzeugtbGeimBearbeitendesT*ex leszweiAusgabe les: :Filename.clc6-Derclc-FileistderFile,derbGeiderfolgendenL5ffA͉TU>'ExX-Bearbeitung:eingebundentwird.Derclc-FileenthoaltdieDe nitionen,diejedem\clc{}-Befehl:zugeordnetUUwird.:Filename.clgdK-Derclg-FileistderLog-Filevonbrclc,inihmwirddieBearbGei-:tungprotokolliert.EswirdjedegefundeneUmgebungundjederbGearbeitet\clc{}-:BefehlUUsamtInterpretationaufgefGouhrt.:BeiP1F*ehlernstopptbrclcdieBearbGeitungundlieferteinenWertungleich0als :Statusvqariable.RBeimdarauffolgendenL5ffA͉TU>'ExX-LaufkommtResmeistzueinerF*eh-:lermeldungUUderF*orm::1ߤN cmtt9Package:brclc1999/09/10v0.1.3calculationswithbrclc:v0.1.31999-09-10:(brclc.clc):Runawaydefinition?:#1->\ifcase#1\def\@clc@tmp{}\or\def\@clc@tmp{100}\or\def\@clc@tmp\ETC.:!Fileendedwhilescanningdefinitionof\@clc@include.:{}:l.35\input{\jobname.clc}:?:F*alls einFehlerinderBearbGeitungvonbrclcauftritt,dernichtbGemerktworden :ist,kommtesmeistzueinemDurcheinanderinderAusgabGedereinzelnen\clc{}-:Befehle.UUAnhanddesclg-FilekqannmanversuchenUUdenF*ehlerzulokalisieren.&č:5SAEinschr3Uankungen/ProblemeJ:Wic9htig:&Der\clc{}-Befehlverhoaltsichnicht,wiediemeistenanderenL5ffA͉TU>'ExX-:Befehle.ErdarfaufkeinenF*allinweitereBefehlsDe nitioneneinbGezogenwerden,:dadasbrclc-Programmdiesenichtauswertenkqann.ErfunktioniertalsonurbGei:direktenUUAufrufundnichtUUbGeimindirektenAufrufrouberandereBefehle.:ProblemeergebGensichbeiderBenutzungdes\clc{}-BefehlesunterBefehlenund:Umgebungen{>indeneneinvirtuellerDruckzurErmittlungvonAbstoandendurch-:gefGouhrtwird.Dietabularx-Umgebung,bGeiderdiesderF*allist,sollteabder:V*ersionUU0.1.3indieserHinsichtUUkeineProblememehrmachen.:Zurverbatim-AusgabGeder\clc{}-Sequenzendourfennurder\verb||-Befehl(Be-:grenzerUUbGeliebig)unddieverbatim-Umgebungbenutztwerden.:DieBefehle\include{},\input{},\includeonly{}koonnenerstnachdemBefehl:\usepackage{brclc}2verwendetwerden.DerPaketaufrufmusomitimHaupt le:stehen!:Bei!derBenutzungdesbrclc-ProgrammsbleibtderOriginal-T*ex levoolligun-:bGerouhrt,ZsodakeineSchoadenamCoGdeentstehenkoonnen.T*rotzdem woubGernimmt:derbAutorkeineGewoahrleistungsansprGouchejeglicherArt,diemitdemBetriebdes:PaketesUUbrclc.styunddemProgrammbrclcimZusammenhangstehen.*:BeiweiterenProblemen,sowiefGourAnregungenundHilfestellungenbinicherreich- ㎍:barUUunter: N8:radgen@physik.uni-frankfurt.dejߞH3 cmsy9 r .Iq% cmsy6Bo{RfzAacmr609/1999brclc.tex 6@;41% 3 cmsy91ߤN cmtt9/': cmti10.Nff cmbx12% cmmi10 0ercmmi7K`y cmr10ٓRcmr7O]