Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Programmeerimine (0)

1 Hindamata
Punktid

SISUKORD



SISUKORD 1
SISSEJUHATUS 2
1. Tarkvara arendusmeetodid ja tehnikad 3
2. Andmestruktuurid ja algoritmid 4
2.1 ALGORITMI MÕISTE, STRUKTUUR JA ESITAMINE 4
2.2 Erinevad andmestruktuurid ja nende omadused 5
Programmeerimiskeelte tüübid 8
3.1 PROGRAMMEERIMISE AJALUGU 8
3.2 PROGRAMMEERIMISKEELTE PÕHITÜÜBID 9
3.3 PROGRAMMEERIMSKEELE SEMANTIKA JA SÜNTAKS 11

SISSEJUHATUS


Programmeerimine on lihtsalt arvutiga teostatavad spetsiifilised (erilised) tegevused. Näiteks, kui Te sisestate taskukalkulaatoril kaks korda seitse , annate te kalkulaatorile komplekti juhiseid. Te nagu ütleks: "Korruta arv kaks arvuga seitse, ja teata mulle mis vastuse sa saad."
Pole palju juhtimiskorraldusi, mida kalkulaator oskaks täita, kalkulaator tunneb ainult mõningaid juhised, milliseid kasutaja võib anda. ARVUTI, teiselt poolt on võimeline tegema palju rohkem ja seetõttu võime anda arvutile palju keerulisemaid juhised. Ei saa vestelda arvutiga otse inglise keeles (arvuti on loodud inglise keelt rääkival maal), nii peab kasutama suhtlemiseks erikeelt. Need keeled koosnevad segase koodi kogudest kuni inglise keele alamhulkadeni, millistest arvuti peaks aru saama (tõlgendama).


1. Tarkvara arendusmeetodid ja tehnikad


1.1 TARKVARA - Arvutile antavad käsud. Mingi tegumi sooritamiseks vajalikku käsujada nimetatakse programmiks. Tarkvara jaguneb kahte suurde kategaooriasse - süsteemitarkvaraks ja rakendustarkvaraks. Süsteemitarkvara koosneb juhtprogrammidest nagu operatsioonisüsteem ja andmebaasihaldurid (DBMS), rakendustarkvara hulka kuuluvad kõik programmid , mis töötlevad kasutaja poolt ette nähtud andmeid ( tekstitöötlus , tabelarvutus, raamatupidamine jne).
1.2 TARKVARATEHNIKA - Tarkvara projekteerimist, teostust, testimist ja dokumenteerimist hõlmav tehnikaharu.
1.3 TARKVARATEHNIKA RAAMISTIK - Raamistiku moodustavad (vt pikemalt jutust):
Eesmärgid – milline peab tarkvara olema – Laitmatus; kasutatavus ; majanduslik tasuvus .
Protsess – sammud, mida tegemisel läbida – Nõuded (requirements); kavandamine (design); teostamine (implementation); valideerimine (validation); tugi (support).
Põhimõtted – millega arvestatakse – Süsteemi kavandamine; tarkvara kavandamine; protsessi tugi; protsessi juhtimine.

2. Andmestruktuurid ja algoritmid

2.1 ALGORITMI MÕISTE, STRUKTUUR JA ESITAMINE

Algoritm on täpne (üheselt mõistetav) juhis antud ülesande lahendamiseks. Algoritm koosneb lõplikust arvust sammudest, millest igaüks on täidetav lõpliku aja jooksul lõplikke ressursse kasutades. Algoritmi rakendatakse teatavale lähteandmete komplektile ( sisend ) ning ta annab teatava resultaadi (väljund). Kui algoritm lõpetab töö (peatub) mistahes sisendi korral, siis nim. seda kõikjal määratud algoritmiks, vastasel juhul osaliseks algoritmiks. Kui algoritmi mistahes sammu täitmise järel on üheselt määratud, milline on järgmine samm, siis nim. algoritmi determineeritud algoritmiks. Algoritmi iseloomustamiseks kasutatakse järgmisi mõisteid:
Määratletus (sammud on lõplikud ja üheselt määratud).
 Kirjelduse lõplikkus (algoritm on kirjeldatav lõpliku arvu sammudega).
Universaalsus (lahendab probleemide klassi: sisend -> väljund ).
Keerukus (efektiivsus, kas lõpetamise aeg ja/või mälumaht on praktilised).
Algoritmi formaalsed ( matemaatilised ) esitused (samaväärsed):
Turingi masin, 1936-37
 lambda-arvutus (Church), 1941
 Posti süsteemid, 1943
Markovi algoritmid, 1951
Chomsky 0-tüüpi grammatikad , 1959
 programmeerimiskeeled, Sammet, 1969

2.2 Erinevad andmestruktuurid ja nende omadused


Abstraktne andmestruktuu- on abstraktne andmetüüp koos keerukushinnanguga
vajalik algoritmide loomisel ja keerukuse hindamisel.
Massiiv - Massiivi kui andmestruktuuri iseloomustavad järgmised omadused:
 Massiivi suurus on tavaliselt fikseeritud. Keeltes, kus massiivi suurust pärast massiivi loomist üldse muuta saab, on see üsna ajamahukas operatsioon (oluliselt ei peta ettekujutus, et selleks tehakse uus massiiv, kopeeritakse vana massiivi kõik elemendid uude ümber ja kustutatakse vana massiiv mälust ära). Paljudes keeltes pole massiivi suuruse muutmine pärast selle loomist enam võimalik. Kui on siiski vaja massiivi omadustega andmestruktuuri, mille elementide arv pole kohe teada, on üks võimalus luua maksimaalse vaja minna võiva suurusega massiiv ja pidada eraldi muutuja abil arvet selle üle, kui suur osa massiivist tegelikult kasutusel on.
 Massiivi elemendi leidmine tema indeksi järgi on kiire operatsioon ja selleks tehtava töö maht ei sõltu massiivi suurusest. Selle operatsiooni ajakulu sõltub tavaliselt massiivi mõõtmete arvust, aga on igal juhul tühine võrreldes kõigi keerulisemate struktuuridega.
 Massiivi elemendi väärtuse väljavahetamine (massiivi elemendile uue väärtuse omistamine) on tavaline omistamistehe ja selleks tehtava töö maht (kui element on indeksi järgi juba leitud) ei sõltu massiivi suurusest ega selle mõõtmete arvust.
Lihtahel (ingl singly linked list) koosneb elementidest, millest igaühes on lisaks rakenduse seisukohalt vajalikele andmetele ka järgmise elemendi aadress. Nii on ahela töötlemisel võimalik liikuda esimeselt elemendilt teisele, teiselt kolmandale ja nii edasi kuni ahela lõpuni. Ahela viimases elemendis on tühiviit, mis annabki märku ahela lõpust . Tavaliselt kasutatakse ahela hoidmiseks viita selle esimesele elemendile. Rohkem pole vaja, sest esimeselt elemendilt saame liikuda kõigi teisteni. Ahelat kui andmestruktuuri iseloomustavad järgmised omadused:
 Ahela pikkus ei ole fikseeritud. See võimaldab ahela abil realiseerida muutuva suurusega andmestruktuure ka keeltes, kus massiivi pikkus tuleb määrata juba programmi kirjutamise ajal.
 Ahela elemendi leidmine tema indeksi järgi on üsna kulukas . Üldjuhul tuleb selleks alustada ahela algusest ja liikuda vastav arv kordi ühelt elemendilt teisele. Seega on i. elemendi leidmise ajakulu Q(i).
 Ahela elemendi väärtuse väljavahetamine (ahela elemendi andmeväljale uue väärtuse omistamine) on tavaline omistamistehe ja selleks tehtava töö maht (kui element on juba leitud) ei sõltu ei ahela pikkusest ega elemendi positsioonist ahelas.
 Uue elemendi lisamine ahelasse on üldiselt efektiivne operatsioon. Kui meil on olemas lisamispositsioonile eelneva elemendi aadress, kulub lisamiseks ainult kaks viitmuutuja omistamist.

Programmeerimiskeelte tüübid

3.1 PROGRAMMEERIMISE AJALUGU

1945 avaldas John von Neumann kaks olulist ideed, mis aitasid kaasa programmeerimiskeelte tekkele:
 arvuti riistvara peab olema lihtne; tarkvara peab juhtima riistvara tööd, võimaldades arvutit kiiremini programmeerida
conditional control transfer pani aluse alamprogrammidele – koodilõikudele, millele programm saab mistahes sammul juhtimise üle anda, ning programmiteekidele; programmi hargnemise võimaldamiseks peab programmitekst sisaldama tingimuslauseid (näiteks tingimussiirdelauseid või korduslauseid).
1949 loodi programmeerimiskeel Short Code , mille kasutamiseks tuli programmeerijal endal esitada programmitekst nullide ja ühtede jadana. Seda nimetatakse masinakoodiks ehk masinakeeleks. 1957 kirjutati esimene kompilaator , mis muutis programmeerimise palju lihtsamaks, sest programmeerija ei pidanud programmi enam ise masinakeelde transleerima. 1957 ilmus ka esimene laiemat kasutust leidnud programmeerimiskeel FORTRAN ( FORmula TRANslating system). See keel oli lihtne ja tänapäeva standardite järgi piiratud: sisaldas ainult IF-, DO- ja GOTO-lauset, kuigi seegi oli väga suur samm edasi. FORTRANist said alguse ka praegu kasutatavad andmetüübid: täis-, naturaal- ja ujukomaarvud. FORTRAN oli küll hea numbritega töötamiseks, aga mitte andmete sisestamiseks ja väljastamiseks, mida oli vaja äritarkvara loomiseks. Sellepärast hakati arendama COBOLit. See keel oli mõeldud ärimeestele, keele ehitus pidas silmas lihtsust ja arusaadavust , sisaldades ainult andmetüüpe numbrite ja teksti jaoks. Lisaks oli võimalus rühmitada muutujaid jadadesse (array) ja kirjetesse ( record ). 1958 loodi Massachusettsi Tehnoloogiainstituudis keel LISP (LISt Processing). See oli mõeldud tehisintellekti uurimiseks ja arendamiseks .

3.2 PROGRAMMEERIMISKEELTE PÕHITÜÜBID

Peamised põhitüübid on: protseduurilised, funktsionaalsed ja objektorienteeritud programmeerimiskeeled.
Protseduurilistes programmeerimiskeeltes kirjeldatakse programmeerimiskeeltes tegevused ja nende täitmise kord ja jagatakse need tegevused gruppidesse (alamprogrammideks). Protseduuridest kujunevad omamoodi koodi struktuurid, mida on võimalik korduvalt kasutada.
Funktsionaalsetes programmeerimiskeeltes kirjeldatakse kogu lahendus funktsioonide abil.
Objektorienteeritud programmeerimiskeeltes teostatakse lahendus klassides (class) kirjeldatud funktsioonide ja andmestruktuuride abil. Igast klassist on võimalik moodustada objekte, millel on mingi hulk omadusi ja/või meetodeid .
Omadused on väärtused, mida objekt suudab hoida ja mis võivad mõjutada objekti käitumist. Näiteks klassi „konsooliaken” põhjal saab moodustada objekti „konsool1” mis kasutajale paistab lihtsalt ühe konsooliaknana. Sellel objektil on mitmeid omadusi (nähtav, mittenähtav, laius, kõrgus, teksti värv konsooliaknas, taustavärv jne), neid omadusi muutes muutub konkreetsel juhul objekti välimus.
Sama näite puhul on sellel objektil ka mitmeid meetodeid, nii saab vastava meetodi poole pöördudes kirjutada konsooliaknasse mingi teksti, lugeda muutujasse kasutaja poolt sisestatud teksti jne.
Teiseks näiteks võib tuua tekstimuutuja, luues tekstimuutuja klassi baasil objekti „MingiTekst”, loome ühe tekstimuutuja, mille peamine omadus on hoitav tekstiline väärtus, kuid tegelikult on omadusi sellisel objektil rohkem (näiteks hoitava testilise väärtuse pikkus). Ning samuti on tekstimuutjas ilmselt kirjeldatud mingi hulk meetodeid (muuda hoitav väärtus väiketähtedeks, suurtähtedeks, eemalda teatud sümbolid jne).
Selliselt klasse kirjeldades ning objektidega manipuleerides on võimalik koostada väga keerulisi programme ja täita mitmesuguseid tegevusi.

3.3 PROGRAMMEERIMSKEELE SEMANTIKA JA SÜNTAKS

Süntax - süntaks on reeglite hulk, mille abil määratakse grammatiliselt õiged keele vormid.
Süntaktiliselt õigel lausel on kaks tähendust:
• mida pidas silmas lause autor (semantika)
• kuidas sai aru lause vastuvõtja ( pragmaatika ).
Semantika - lõplik hulk reegeleid, mis peab ära kirjeldama lõpmatu hulga
erinevate programmide tähenduse.
Kompileerimine - Kõrgkeelse programmi transleerimine vahe- või masinakeelde.
Interpreteerimine - lähtekoodi tõlkimine ja täitmine korraga.
Page 11
Vasakule Paremale
Programmeerimine #1 Programmeerimine #2 Programmeerimine #3 Programmeerimine #4 Programmeerimine #5 Programmeerimine #6 Programmeerimine #7 Programmeerimine #8 Programmeerimine #9 Programmeerimine #10 Programmeerimine #11
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 11 lehte Lehekülgede arv dokumendis
Aeg2015-01-26 Kuupäev, millal dokument üles laeti
Allalaadimisi 36 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor kennutz Õppematerjali autor

Sarnased õppematerjalid

Referaat-Programmeerimine
9
pdf

Referaat: Programmeerimine

PÄRNUMAA KUTSEHARIDUSKESKUS AA-09 Ermo Mägi PROGRAMMEERIMINE Referaat Juhendaja: Kristi Lorents Pärnu 2010 SISUKORD 1. Tarkvara arendusmeetodid ja tehnikad 3 1.1. Tarkvara 3 1.2. Tarkvaratehnika 3 1.3. Tarkvaratehnika raamistik 3 2. Andmebaaside struktuur ja algotrim 4 2.1. Algoritmi mõiste, struktuur ja esitamine 4 2.2

Arvutiõpetus
Programmeerimine-Referaat
9
pdf

Programmeerimine [Referaat]

PÄRNUMAA KUTSEHARIDUSKESKUS AA-09 Ermo Mägi PROGRAMMEERIMINE Referaat Juhendaja: Kristi Lorents Pärnu 2010 SISUKORD 1. Tarkvara arendusmeetodid ja tehnikad 3 1.1. Tarkvara 3 1.2. Tarkvaratehnika 3 1.3. Tarkvaratehnika raamistik 3 2. Andmebaaside struktuur ja algotrim 4 2.1. Algoritmi mõiste, struktuur ja esitamine 4 2.2

Informaatika
Algoritmid ja andmestruktuurid eksamiks kordamine
80
pdf

Algoritmid ja andmestruktuurid eksamiks kordamine

1. Algoritm. Algoritmi keerukus. Ajalise keerukuse asümptootiline hinnang. Erinevad keerukusklassid: kirjeldus, näited. 1.1 Algoritm • Mingi meetod probleemi lahendamiseks, mida saab realiseerida arvutiprogrogrammi abil. • Algoritm on õige, kui kõigi sisendite korral, mis vastavalt algoritmi kirjeldusele on lubatud, lõpetab ta töö ja annab tulemuse, mis rahuldab ülesande tingimusi. Öeldakse, et algoritm lahendab arvutusülesande. • Selline programm, mis annab probleemile õige vastuse piiratud aja jooksul. • Kindlalt piiritletud sisendi korral vastab ta järgmistele kriteeriumitele: o lõpetab töö piiratud aja jooksul; o kasutab piiratud hulka mälu; o annab probleemile õige vastuse. • Parameetrid, mille järgi hinnata algoritmide headust: o vastava mälu hulk; o töötamise kiirus ehk vajatava aja hulk. Omadused: 1. Lõpplikkus – töö peab lõppema peale lõ

Informaatika
Loogika ja programmeerimine
89
doc

Loogika ja programmeerimine

................................................................... 76 ÜLESANDED........................................................................................................................... 77 Sissejuhatus................................................................................................................................85 Struktuurprogrammeerimine......................................................................................................85 Objektorienteeritud programmeerimine.................................................................................... 86 Objekt, atribuut, meetod........................................................................................................ 86 Klass.......................................................................................................................................87 Kapseldumine.....................................................................................................................

Arvutiõpetus
Programeerimise algkursus 2005-2006
230
pdf

Programeerimise algkursus 2005-2006

.....8 ESIMENE TEEMA: sissejuhatav sõnavõtt ehk 'milleks on vaja programmeerimist?'..........................................................................................10 Programmeerimise koht muude maailma asjade seas...............................10 Masinad ja nende juhtimine...................................................................10 Masin arvutamise jaoks - arvuti .............................................................10 Kaudne juhtimine ehk programmeerimine ............................................11 Arvutite rakendusala laienemine ...........................................................11 Programmeerimine tänapäeval..............................................................12 Programmeerimiskeelte üldine jaotus .......................................................13 Imperatiivsed ehk käskivad keeled........................................................14 Funktsionaalsed keeled .................

Programmeerimine
Programmeerimise algkursus
6
docx

Programmeerimise algkursus

silumiseks ja testimiseks (tavaliselt graafiline, näiteks eclipse - www.eclipse org). API - Applications Programmer Interface. Programmeerijatele mõeldud kirjeldus mingi süsteemi funktsioonide kasutamiseks programmis, näiteks Java API kirjeldab keeles Java olemasolevaid funktsioone (konkreetselt Java puhul on need jagatud pakettidesse ja klassidesse, aga sellest hiljem...). Programmeerimiskeeltest Eesmärk: mitte töötada riistvara terminites, muuta programmeerimine universaalseks (sõltumatuks konkreetsest arvutitüübist). · masinkood - konkreetse protsessori käsud kahendkujul, elektroonika tase · assembler - madaltaseme programmeerimiskeel, käskude koodid on mnemoonilised (näit. ADD, DIV, MOV, ...), operandide ja aadresside jaoks saab kasutada nimesid, saab deklareerida andmeid, programmi võib varustada kommentaaridega, ... · universaalsed programmeerimiskeeled (ei sõltu protsessori käsustikust) e. kõrgtaseme

Programeerimise põhikursus(java)
Algoritmid ICD0001 - kordamisküsimused
22
docx

Algoritmid ICD0001 - kordamisküsimused

Kordamisküsimused aines "Algoritmid ja andmestruktuurid" Eksamil 1 komplekt katseid Moodles. Enne enesetesti õpi ära asümptootiliste relatsioonide (hinnangute?) definitsioonid. Lõppeksam koosneb teooriaküsimustest ning programmeerimisülesannetest. Eksam toimub arvutiklassi arvutitel e-õppe keskkonnas ning kestab 150 minutit. Meetod Keskmine Halvim Insertion sort, О(n2) O(n2) Stabiilne pistemeetod Binary search, O(log n) O(log n) kahendotsimine Kahendpistemeetod, Stabiilne. binary insertion sort Quicksort, O(n logn) O(n2) Ei ole stabiilne. kiirmeetod Radix sort, O(n) O(n) Stabiilne. positsioonimeetod Merge sort, O(n logn) O(n logn) On enamasti ühildusmeetod

Algoritmid ja andmestruktuurid
Programmeerimine PHP
134
pdf

Programmeerimine PHP

$a; ?> Näide 1.3.4 PHP käsurealt Mõnikord võib tekkida vajadus PHP koodi käivitada masinas, kus veebiserverit pole. Siis PHP koodi võib käivitada ka käsurealt (ilma veebiserverita ja brauserita). Selleks ava Windows opsüsteemis käsurea paneel (fail C:Windowssystem32cmd.exe). Paneeli võib käivitada ka järgmiselt: Start → Run → cmd. Käsurea paneelis mine EasyPHP www kausta (käsk: cd), siis lisa tee php5 kaustani (käsk: set path). Nüüd võid käivitada php programme lihtsalt kirjutades: php sinu_programm.php: Lipp -r võimaldab kirjutada koodi otse käsureal: Lisalugemist Echo (www) - inglise keeles PHP Märgendid (www) - inglise keeles Eraldajad (www) - inglise keeles Kommentaarid (www) - inglise keeles PHP käsurealt (www) - inglise keeles Video Esimene PHP skript (www) - inglise keeles 2.1 Muutujad Koodi täitmise ajal paiknevad kõik koodis kasutatavad väärused operatiivmälus

Allika?petus




Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun