Algoritmide ja andmestruktuuride
Praktikum
Sügis 2009
Koostas: Elli Kopli
Juhendas: Ain Isotamm
Praktikum 2 (14.09.2009)
Ülesanne 1
Koosta programm, mis küsib kasutjalt lause ja siis pöörab selle ümber. Programmi ajaline
keeukus on O(n).
Lahendus
#include
2 ARUANNE Õppejõud : prof. Vello Kukk Tudeng : Anneli Kaldamäe Martr. nr : 991476 Rühm : LAP E-mail : [email protected] TALLINN 2000 ÜLESANDE TINGIMUSED 1. paigutada lauses olevad snad paisktabelisse (maht T=31 sõna); 1. aadressi leidmisel kasutada järgmist kodeerimist: 2. arvestatakse kahte esimest sümbolit, 3. sümbolid kodeeritakse järgnevalt: a 1, b 2, ..., z 26, tühik 0; suur- ja väiketähed on ekvivalentsed 4. paiskfunktsioon arvutatakse järgmiselt: h = 1.täht * 27 + 2.täht 5. primaaraadress arvutatakse järgmiselt: f = h mod T, kus T- tabeli maht;...
5. Mõistete moodustamine. Mõiste on asja või nähtuse oluliste tunnuste kogum. Mistahes abstraktsel mõistel on iga inimese jaoks isesugune meeleline sisu. Vastavalt isiklikele kogemustele ja väärtushinnagutele äratab mõiste inimestes eri tundeid. Pole võimatu, et mingi mõistega soetud ere isiklik läbielamine teeb selle sõna näiteks rikkaks. 6. Algoritmide ja heuristikate kasutamine mõtlemisel. Seeria küsimusi, millest teatavat osa võib korrata mõtlemisprotsessi käigus, sest need on üldisemad ja võivad olla kasulikud terve hulga ülesannete täitmisel, kaasa arvatud andmetest järelduste tegemine, argumentide analüüs jne. Kuigi kõigi nende ülesannete lahendamisel jääb algoritm samaks, muutuvad konkreetsed vahendid sõltuvad ülesande iseloomust. 7...
kuldloige). Lisaks on arvud ise seotud mõningate kombinatoorika ja paljude tõenäosusteooria probleemidega (ka praktilise tõenäosusteooria, nt ruletiteooria, börsi liikumise teooriatega), samuti on nad leidnud kasutust informaatikas (nt. Fibonacci otsing, kui parandatud versioon kahendotsingust, mõnede algoritmide keerukuse hindamine). -Nimetatud Leonardo Pisano Fibonacci, 13. saj. itaalia matemaatiku auks. 4 1.2 Üldistused Erinevaid üldistusi on Fibonacci arvudele päris mitu. Kuna nad pole nii põhjalikult läbiuuritud, kui seda on algne jada ise, on nende praktilised kasutusalad praeguse seisuga pisut piiratumad. Pea kõik neist sobivad aga sellegipoolest mingite...
3 Programmi disaini kirjeldus.........................................................9 Katsed: 1. katse listing........................................................................10 2. katse listing........................................................................11 3. katse listing........................................................................12 4. katse listing........................................................................13 Kommentaarid ja arvamused algoritmide omaduste kohta.....................14 2 ÜLESANDE TINGIMUSED 1) mälu maht 64 või rohkem ühikut; valida nii, et oleks võimalik printida iga olek ühte ritta (kasutada püsilaiusega fonti) 2) protseduurid: 1. mälu eraldamine (reserveerimine) get (maht, tunnus), 2. mälu vabastamine free (tunnus). 3) mudeleerimis- (test-)programm reserveerib-vabastab mälu vähemalt 60 korda;...
TALLINNA TEHNIKAÜLIKOOL Siduteooria ja disaini õppetool Kodutöö nr 3 aruanne aines LAC5700 OPERATSIOONISÜSTEEMID autor: Eero Ringmäe 010636LAP juhendaja: Vello Kukk Tallinn 2002 Üldine suunitlus Katsetamisel osutus, et otstarbekas oli jälgida algoritmide käitumist piisavalt erinevate taktide arvude korral. Haldusstrateegiate headus tuli paremini esile, kui võrdlesin neid vaid 100, 400 ja 800 taktiste simulatsioonide korral. Valisin kriteeriumiteks peale protsessori ning ressursside kasutamise oote- ja täiteaegade ka maksimaalsed ooteajad protsessori ning ressursside järjekorras, kuna kasutajaprogrammide juures on üheks põhikriteeriumiks protsesside täitmise sujuvus (näiteks meedia taasesitamine arvutis, kopeerimine, salvestamine)....
ai.fuzzy : ilma selga teemata..
'General Knowledge Machine' (Konstantin Mgolubev)
Autor annab viite uude põnevasse andmebaasi aadressil
http://gkm-ekp.sourceforge.net
· comp.ai.games : arvutimängud..
'Maximums and balance' (Jonathan Wooldridge)
Arutelu, kas arvutimängudes peaksid mängija virtuaalsete vastaste
võimed arenema ettemääratud piiritletud kirjelduste järgi või vabalt,
piiritlemata algoritmide järgi
· comp.ai.philosophy : filosoofia
'Americans Are Now Psycho-Brainwashing' (George ?)
Minu subjektiivse arvamuse kohaselt pisut kollektivistlik, hipi-ideoloogiline
või lausa vasakäärmuslilk käsitlus maailma naftapoliitikast ning
terrorismivastasest buumist.
5.2 Võrgulehekülgede külastamine
Käsk: lynx kuvab samanimelise tekstipõhise html-sirvija abimenüü
Käsk: lynx
Kaared vastavad tuletusreeglite rakendamisele. 5. Programmeerimiskeelte klassid. Arvuti töötleb fikseeritud märgisüsteemis esitatud infot. See märgisüsteem on keel. Enamus raalis kasutatavatest keeltest moodustavad programmeerimiskeeled. Programmeerimiskeel on tähistuste ja reeglite süsteem algoritmide esitamiseks arvutile. Inimesele sobiva kuju alusel jaotatakse progemiskeeled · masinkeeled (masinkood konkreetse raali 01010 jada, autokood konkreetse raali märgiline progemiskeel) · algoritmilised e kõrgtaseme keeled (raalist sõltumatute protsesside kirjeldamiseks) aritmeetilised arvutused algebraliselt peamiste algoritmiliste juhtstruktuuride jaoks oma laused IO kirjeldamise laused...
Selleks, et seletada arvutile, kuidas lahendada mingit ülesannet, tuleb meil algoritm arvutis kirja panna mõnda programmeerimiskeelt kasutades. Programmeerimiskeel Esimeses teemas sai antud põgus ülevaade enamlevinud programmeerimiskeeltest. Kõigi nende abiga on võimalik kirja panna algoritme meie ees seisvate infotöötlemise ülesannete lahendamiseks. Keele valik sõltub harilikult ülesande iseloomust. PROGRAMMEERIMISKEEL on tehiskeel algoritmide kirjapanekuks arvutitele "arusaadaval" kujul. Programmeerimiskeeles kirja pandud algoritmi nimetatakse PROGRAMMIKS või, kui veelgi täpsem olla, PROGRAMMI TEKSTIKS. Kui Teil tekkis küsimus, et miks ma kasutasin eelmises lõigus jutumärke, siis püüdke mõelda selle üle, kas arvuti on üldse võimeline millestki aru saama. Tegelikult töötab arvuti Teie programmi teksti lugemise ajal ühe teise programmi juhtimisel ja ainult sellest teisest...
meetod 5. Spetsiaal- või erieelarvete meetod 6. Kombineeritud Lk 15. teine pool Detailiseeritud meetod on mikroeelarvestamise tase. Detail eelarved kost. tööelementide struktuuri kõige täpsemal tasemel, põhinevad tööjõu ja materjalide ühikmaksumustel. Need saadakse, kas enda kogemuste alusel või käsiraamatutest. See eeldab iga väiksemagi ehitise detaili kokkulugemist ja hindamist. Parameetriline makroeelarvest tase. Teat. võrrandite või algoritmide kujundamine, kus ühikmaksumuste ja tööandmiste alusel kujundav eelarve kasut. üldisituim, kas varem teostatud eelarvetel põhinevalt viimastel andmetel. See meetod lükkab koost. eelarvet, ilma et iga detaili üksikasjalikult arvesse võetakse. Selle all mõeldakse sageli pindala- ja ruumala meetodeid (kr/m2 või kr/m3) Võib põhineda ka konkreetsematel võrranditel nt brutopindala kohta jne. Need tuleb hoida ajaga tasa, tavaliselt kasut...
PROGRAMMEERIMISE MÕISTED ALGORITM on täpne ja üheseltmõistetav eeskiri mingi ülesande lahendamiseks. Algoritmi esitusviisid: Pseudokoodis, kus kasutatakse programmeerimiskeele võtmesõnu, lauseid. Graafiliselt - blokk-skeemid. PROGRAMMEERIMISKEEL on tehiskeel algoritmide kirjapanekuks arvutitele "arusaadaval" kujul. Programmeerimiskeeles kirja pandud algoritmi nimetatakse PROGRAMMIKS või, kui veelgi täpsem olla, PROGRAMMI TEKSTIKS. Programmeerimiskeele süntaks on range eeskiri, mis sätestab väga üksikasjalikult, kuidas tohib programmi kirja panna nii, et see oleks arvuti poolt vastuvõetav. Vastasel juhul on tekstis süntaksivead. Programmi süntaks võib olla õige, kuid sellegipoolest see programm ei tööta arvutis nii, nagu soovisime. Siis on...
tähistus- kasutatakse alumise piiri korral
Etteantud funktsiooni g(n) korral tähistame f(n)= ( g( n )) , kui funktsioonid f ja g
täidavad tingimusi (s.t. leiduvad sellised C1 ning N)
C1 g ( n ) f ( n ) kõigi n>=N korral
Ül 419.
2.2. Mõnede lihtsate algoritmide koostamine
Otsingu algoritmid
Lineaarne otsing
Probleemi püstitus: Otsime massiivist etteantud arvuga võrdset elementi. Etteantud
elementi võrreldakse järjest kõigi massiivi elementidega kuni leitakse võrdsus.
Tagastatakse vastava massiivi elemendi indeks või siis 1, kui massiivis pole vastavat
elementi. Skeemprogramm tsükli realiseerimiseks (mitte kogu lahenduse) on:
* i=0,1..N-1
x=a[i]?
vastav C++ kood:
for (i=0; i
Soovitav tulemus: saab teha tarkvara, mille abil XML-datat saab ühest return sum; programmist teise saata, nii et info kaduma ei lähe. } Imperatiivsed keeled sobivad samm-sammult, kindlas järjekorras täidetavate algoritmide esitamiseks. Programmid kujutavad endast arvutile antavate käskude jada. Tuntumad imperatiivsed keeled on C, Basic, Pascal, Java, Modula-2 objektorienteeritud keeled ja assemblerkeeled. Imperatiivsete keelte peamiseks eeliseks on arvuti tegevuse täpse...
FUNKTSIONAALSED SIGNAALIPROTSESSORID Loengumaterjal 1 Toomas Ruuben Toomas Ruuben. TTÜ Raadio ja sidetehnika 1 instituut. Teemad Ülevaade DSP-dest, signaalitöötlusest, FPGA-dest Digitaalarvuti töö üldpõhimõtted Tehted kahendsüsteemis (+,-,*,/ jne) Erinevaid arvsüsteemid Peamisi loogikafunktsioonid (AND, OR jne) Loogikavõrrandid Trigerid, registrid, dekoodrid, multipleksorid, demultipleksorid, aritmeetika loogika seadmed jne) Toomas Ruuben. TTÜ Raadio ja sidetehnika 2 instituut. 1 Teemad Programmeeritavad loogikaseadmed CPLD, PLD FPGA FPGA (Field programmable gate array)arhidektuurid, tööpõhimõtted Arenduskeskkonnad (Verilog,...
Tamme, T.Tammeti ja R.Prangi loogikaõpikule "Mõtlemisest tõestamiseni" Tanel Tammet Department of Computer Sciences, University of Göteborg and Chalmers University of Technology, 41296 Göteborg, Sweden email: [email protected] Puhta loogika eesmärk on olla õige kõigis võimalikes maailmades, mitte ainult selles veider-segases vaevarikkas maailmas, kuhu juhus meid on heitnud. Loogik peab eneses alal hoidma teatud annuse jumalikkust: ta ei tohi alanduda selleni, et teha järeldusi...
ÜLDINE KOMMUNIKATSIOONI MUDEL Kommunikatsioonisüsteemi eesmärgiks on infovahetus kahe olemi vahel. Allikas saatja edastaja vastuvõtja sihtpunkt. Allikaks on olema, mis genereerib info, et see kuskile edastada. Saatja on seade, mis kodeerib allika poolt genereeritud signaali. Edastaja on meedia, mis võimaldab signaali transporti ühest punktist teise. Vastuvõtja on seade, mis dekodeerib saadud signaali sihtpunkti jaoks arusaadavaks. Sihtpunkt on olem, mis lõplikult kasutab infot. /////////// EHK Source (see, kes saadab) > transmitter (saatev seade) > transmissioon system (ülekande süsteem) > receiver (vastuvõttev seade) > destination (see, kes vastu võtab). // Nt: tööjaam, arvuti > modem > telefoni tavavõrk > modem > vastuvõtja, server. 2. KOMMUNIKATSIOONISÜSTEEMI ÜLESANDED ·· Ülekandesüsteemi mõistlik kasutamine/koormamine; ·· liidestus (kokku ühendamine. Ntx: võrk+võrk, arvuti+võrk); ·· Signaalide genereerimine(edastamine) (...
NR. 1 1. SISSEJUHATUS 1.1. Logistika määratlus Logistika on protsess, mis toimub organisatsiooni tarnijatest klientideni. See mõjutab vastastikku peaaegu iga üksuse tegevust organisatsioonis ja paljusid teisi organisatsioone väljaspool oma organisatsiooni, kaasa arvatud kliendid. Efektiivne logistika pöörleb ümber viie võtmeala toodete liikumine, informatsiooni Hikumine, aeg / teenindus, kulud ja integratsioon (süsteemsus). Igal neist on määrav mõju logistika edukusele, lisandväärtuse loomisele ja organisatsiooni konkurentsivõime parandamisele. Logistika on tooraine, pooltoodete ja lõpptoodete lähtepunktist tarbimispunkti liikumise, ladustamise ning sellega seotud informatsiooni planeerimine, teostamine ja kontrollimine, eesmärgiga rahuldada kliendi nõudmisi (U. S. Council of Logistics Management', (986 Logistika on inimeste ja/või kaupade ved...
pääsemata ligi kaitsmist vajavatele andmetele Praktikas tegelvad sellega küll kitsa eriharidusega inimesed-krüptoloogid-, kes on reeglina eriteadmistega matemaatikud Kaasaja krüptograafia kasutab eranditult matemaatikute (krüptograafide) poolt koostatud tüüpalgoritme,ise oma kasutamiseks välja töötatavad unikaalsed algoritmid on ajalugu Nende algoritmide koostamine krüptograafia (matemaatika) alaseid eriteadmisi Mida kauem on krüptoalgoritm avalikus kasutuses olnud, seda väiksem on tõenäosus, et tal leidub efektiivseid murdmisvõtteid. Kaasaja krüptograafia kasutab eranditult arvutustehnikat, käsitsi paberil arvutamine on jäädavalt ajalugu Krüptoanalüüil on oluline tehete kiirus: aruvit taktsagedus GHZ-des, käsitsi arvutamisel heal juhul mõni Hz...
Sardsüsteem: Piiratud väljendusvõime, mis põhineb hästi (suspended) kuni teise täitmine jõuab mingi Genereeritud C programmid ei ole alati valitud punktini efektiivsed arvutusmudelil: 38 Ei sobi hajusrakendustele · Peavad olema efektiivsed · Spetsifitseerida saab ainult valitud süsteeme Kontrolli-põhine sünkroniseerimine Ei ole programmilisi konstruktsioone Loodud mingi spetsiifilise ülesande jaoks. · Formaalne analüüs on võimalik Andmete põhine sünkroniseerimine Ei või...
automatiseeritud andmete sisestamiseks ja vigade leidmiseks, andmete arendustööks, andmete ühildamiseks, keerukateks analüüsideks ja keeruliste andmete kuvamiseks ning kaardi komponeerimiseks. Saadaval on ka programmeerimiskeeled koos programmeerimistööriistadega, mis võimaldavad spetsiifilisi laiendusi lisada ise tehtud programmidele, ning programmi teegid lubamaks GeoMedia algoritmide modifitseerimist eri- eesmärkidega tarkvara loomiseks. GeoMedia on eriti võimekas integreerimaks andmeid erinevatest allikatest, formaatidest ning platvormidelt. Tundub, et Integraph on suuresti pühendanud OpenGIS algatusele, komplekt standardeid hõlbustamaks platvormide- ja tarkvara vahelist andmete jagamist. Ükskõik millises tavalises kommerts andmebaasis olevat infot saab integreerida erineva vorminguga ruumiandmetega. Kombineerida võib ka pilt kujutisi, koordinaate ja tekst andmeid....