Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Algoritmas ir programa

No description
by

Dovydas Šnipaitis

on 24 May 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Algoritmas ir programa

Algoritmas ir programa
Algoritmo sąvoka. Ir pavyzdžiai.
Algoritmas - tai tam tikra veiksmu seka, kuria reikia
atlikti norint pasiekti tam tikrą rezultatą.

Algoritmo savybės
Algoritmo vaizdavimo būdai.
Programos naudojamos programuojant algoritmą.
Programavimo kalbų įvairovė
Programavimo kalba – dirbtinė kalba, skirta programoms. Programavimo kalbų, pagalba, sukurtos programos valdo, elektroninių įrenginių, o ypač, kompiuterių veikimą.
Programavimo kalbos aprašymas susideda iš sintaksinių bei semantinių taisyklių, kurios, atitinkamai, nusako jos struktūrą ir prasmę. Daugumos programavimo kalbų sintaksinės ir semantinės taisyklės yra tam tikra forma aprašomos jų specifikacijose, kai kurių iš jų yra oficialiai paskelbtos - įgyvendintos (pvz., priimtais ISO standartais), kai tuo tarpu kitos yra įgyvendintos dominuojančiais sertifikatais (pvz., Perl).

Kompiuteris ir jo programinė įranga
Programinė įranga - tai informacijos, taisyklių, procedūrų apdorojimo visuma. Ši įranga naudojama programavimo kalboms, o vėliau tvarkant parašytiems kodams. Programinė įranga skirstoma pagal įvairius požymius:
a) licencijavimą;
b) imontuojamaja programinė įranga;
c) sisteminė programinė įranga;
d) taikomąją programinę įranga.
Programų licencijų įvairovė.
Viktorija
Vasiliauskaitė
Freeware arba Nemokama programine iranga
Tai yra programines irangos licenzijos tipas, kuris leidžia neribotai ir nemokamai naudotis programine iranga, taciau, skirtingai nei laisvosios (atvirojo kodo) programines irangos, neatveria programinio kodo ir/arba neleidžia laisvai modifikuoti bei platinti programa bet kam.
Algoritmo pavyzdys
Crippleware
1. Sucype žadintuvas
2. Keliames
3. Darome mankštą
4. Prausiames
5. Rengiames
6. Valgome pusrycius
7. Išsivalome dantis
8. Einame i mokyklą
Programinė įranga panaši į nemokamą programinę įrangą, tačiau turi labai ribotas galimybes
Petras Stadulis
Donationware
Tai programinė įranga, vartotojui leidžianti nevaržomai koreguoti programą ir už ją prašoma neprivaloma auka programuotojui ar trečiajai šaliai.
Tai programinė įranga, kurios naudotojai turi keturias laisvės rūšis:
laisvė paleisti programą bet kuriam tikslui
laisvė analizuoti kaip veikia programa ir pritaikyti ją savo reikmėms (būtina sąlyga – atviras kodas)
laisvė platinti programos kopijas (kad galėtume padėti draugui ar kaimynui)
laisvė tobulinti programą ir viešai platinti nuosavus pataisymus, kad kiekvienas galėtų jais pasinaudoti (būtina sąlyga – atviras kodas).


Free software
Spyware
Nagware


Malware
Paprastai vadinama "Kenkėjiška programinė įranga", Malware yra kokia nors programa su blogais ketinimais ir kuri eksploatuoja duomenis iš kompiuterio be jo vartotojo sutikimo. Budama ompiuterio kietajame diske, ji gali pagrobti naršyklę ir sekti aplankytus tinklalapius - ir sukelti dar didesnės žalos.





Tai programine iranga kuri visada yra keliais žingsniais prieš ir slapta idiegia kitą savo programą kompiuterineje irangoje. Tokioje programineje sudetyje gali buti kodas, kuris siuncia informaciją apie vartotojo kompiuteri programos kurejui, arba i kitą vietą, kai vartotojas yra prisijungtas prie interneto. Tai daroma tam, kad butu rodomi skelbimai žiniatinklio naršykleje.



Tai programa, kuri nuolat išleidžia priminimą vartotojui isigyti paraišką arba gamini iki jos bandomasis laikotarpis baigesi. Terminas savo pavadinimą kildina iš idejos, kad priminimai, paprastai vadinama "NAGS" Keep On rodomi vartotojo kompiuterio ekrane tol, kol jis aktyvuoja norimą programą ar nustoja ja naudoti.





Rokas Žilinskas
Open source arba atvirojo kodo programa

Atvirojo kodo programų programinis tekstas yra visiems prieinamas. Kiekvienam leidžiama jį keisti bei platinti savo pakeistas versijas.

Shareware -
mokamos programos, dažniausiai siūlomos su nemokamu bandymo laikotarpiu (dažniausiai – 30 dienų). Po to, kai bandymo laikotarpis pasibaigia, vartotojas negali naudotis programa. Tik jei jus domina naudoti šią programą toliau, teikėjas gali reikalauti įsigyti licenciją už programinę įrangą.
Shareware
Adware, geriau žinomas kaip reklamos programinės įrangos programa, kuri automatiškai tampa reklama. Adware prieinama kompiuterių vartotojams be papildomų išlaidų.
Adware
Jokubas Ainis Daukšas
Algoritmų yra daug ir jie labai įvairūs. Kas gi tarp jų bendra? Yra kelios kiekvienam algoritmui būdingos savybės
Diskretumas
Bet kuriame algoritmo užrašo pavyzdyje pirmiausia krinta į akis veiksmų suskaidymas į dalis – žingsnius. Prisiminkite kad ir galvosūkio “Vilkas, ožka ir kopūstas” algoritmą - jį sudarė septyni žingsniai. Kuo išsamiau norime nurodyti (aprašyti) veiksmus, tuo daugiau turi būti žingsnių.
Aiškumas
Sudarant algoritmą, visuomet turi būti atsižvelgiama į tai, kas jį vykdys. Nuo to, kiek žino vykdytojas, kokius veiksmus jis supranta ir gali atlikti, priklauso algoritmo užrašymo būdas.
Baigtumas
Norint gauti rezultatą, atliekamų veiksmų skaičius visuomet turi būti baigtinis. Ši algoritmo savybė vadinama baigtinumu.
Universalumas
Jeigu atidžiai įsigilintume į šaknies traukimo algoritmą, tai galėtume pasakyti, kad jis tinka šakniai traukti iš bet kurio neneigiamo skaičiaus. Taigi algoritmą galime kartoti su vis kitais pradiniais duomenimis.
Rezultatyvumas
Paminėsime dar vieną gana akivaizdžią algoritmų savybę, kuri reiškia, kad atlikę kurį nors algoritmą, turime gauti kokį nors rezultatą.
Galimybė išskaidyti algoritmo veiksmus žingsniais vadinama algoritmo diskretumu.
Taigi bet kuris algoritmas pasižymi diskretumo savybe – jis išskaidomas į atskirus žingsnius, kuriuos atlieka vykdytojas.
Algoritmo aiškumas - tai jo pateikimas vykdytojui suprantama ir aiškia kalba.
Taigi algoritmo veiksmai turi būti užrašomi aiškiai, griežtai, vienareikšmiai, - taip, kad būtų suprantami tiems, kuriems atliks algoritmą.
PAVYZDYS
Susipažinkime su šaknies traukimo algoritmu, kurį aprašė senovės graikų mokslininkas Peronas maždaug prieš 2000 metų.

1. Pasirenkame “iš akies” pirmąją apytikslę šaknies reikšmę.

2. Pašaknio skaičių dalijame iš pirmosios apytikslės šaknies reikšmės.

3. Jeigu gautojo dalmens ir pasirinktos apytikslės reikšmės skirtumas neviršija sutartos paklaidos, tai sakome, kad šaknis ištraukta. Priešingu atveju apskaičiuojame dalinio ir dalmens aritmetinį vidurkį. Šis vidurkis bus tikslesnė šaknies reikšmė - antroji apytikslė reikšmė.

4. Antrąją apytikslę reikšmę patikriname taip pat kaip ir pirmąją, t.y. pašaknio skaičių dalijame iš antrosios reikšmės. Jeigu rezultato tikslumas nepakankamas, ieškome trečiosios apytikslės reikšmės tokiu pat būdu kaip ir skaičiuodami antrąją. Ir taip toliau.

Šaknies traukimo algoritmas gana sudėtingas. Atliekantį jį gali tekti daug kartų kartoti analogiškus veiksmus (2-ąjį ir 3-iąjį žingsnius). Tačiau vis dėlto kada nors gausime tokią šaknies reikšmę, kurios tikslumas mus tenkins, ir algoritmo veiksmai bus užbaigti.


Algoritmo tinkamumas įvairioms pradinių duomenų reikšmėms vadinamas universalumu (masiškumu).
Tai viena svarbiausių algoritmo savybių, ir nuo jos priklauso algoritmų praktinė vertė. Pavyzdžiui, sudaryti atskirą šaknies traukimo algoritmą kiekvienam skaičiui nebūtų prasmės. Tačiau yra ir tokių algoritmų, kurie skirti vienam duomeniui, pavyzdžiui, taksofonai, kurie priima tik vienos rūšies monetas. Argi šie algoritmai neturės universalumo savybės? Pamastykime.
Jeigu tartume, kad neturės, tuomet iškiltų klausimas - kaipgi bus su algoritmais, kurie skirti tik dviems konkretiems duomenims ir pan. Patektume į aklavietę. Todėl universalumo sąvoką reikia patikslinti. Reikia laikyti, kad kiekvienas algoritmas yra skirtas kuriai nors pradinių duomenų klasei. Pavyzdžiui, šaknies traukimo algoritmui tokią klasę sudaro visi neneigiami skaičiai, taksofonui - nurodytos rūšies monetos. Algoritmo universalumas - tai algoritmo tinkamumas nurodytai pradinių duomenų klasei.
Algoritmo rezultatyvumas: algoritmas turi duoti kokį nors konkretų rezultatą.
Rezultatas suprantamas plačiąja prasme. Tai gali būti, pavyzdžiui, ne tik duotos lygties sprendiniai, bet ir pranešimas, kad duotoji lygtis sprendinių neturi arba kad blogai parinkti pradiniai duomenys (pavyzdžiui, šaknies traukimo algoritmo atveju - neigiamas skaičius), todėl šio uždavinio sprendimas netenka prasmės.
Taikomoji programinė įranga
Taikomoji programinė įranga skirta specifinių užduočių sprendimui naudojant kompiuterinius. Tai gali būti viena programa ar susijusių programų paketas, pavyzdziui:

- tekstų apdorojimo programinė įranga;
- tekstų rengyklės;
- stalinė leidybos sistema;
- elektroninės lentelės;
- duomenų bazių valdymo sistemos;
- grafinė programinė įranga;
- hipertekstinė programinė įranga;
- daugialypė terpė;
- interneto pokalbių programos;
- pateikčių rengyklės;
- integruota programinė įranga;
- monitoringo (stebėjimo) programos;
- paslaugų programos;
- dokumentų valdymo (ir raštvedybos) programos;
- turinio valdymo programos;
- verslo sistemos;
- virusai.
Gediminas Grigaliunas
Programinė įranga
Kompiuteris
Sisteminė programinė įranga
Sisteminė programinė įranga atsakinga už atskirų techninės įrangos komponentų kontrolę, integravimą ir valdymą tam, kad taikomoji programinė įranga galėtų naudoti šią įranga nežinant žemo lygio detalių.

Galima išskirti kelias sisteminės įrangos kategorijas:

- operacinės sistemos;
- tvarkyklės;
- vartotojų identifikavimo sistemos.
Darba atliko:
Vadovas - Dovydas
Temos
1. Algoritmo sąvoka. Ir pavyzdžiai. - Klaidas
2. Algoritmo savybės. - Modestas
3. Algoritmo vaizdavimo būdai - Aidas, Lukas
4. Algoritmas ir programa - Mantas, Povilas
5. Programavimo kalbų įvairovė - Vytenis, Martynas, Elvis
6. Kompiuteris ir jo programinė įranga - Gediminas, Rytis, Viktorija
7. Programų licencijų įvairovė - Petras, Rokas, Jokūbas
Kompiuteris – skaičiavimo mašina. Kompiuteris neturi intelekto, negali priimti savarankiškų sprendimų ir negali daryti klaidų. Įrenginys kiekvieną savo veikimo sekundę atlieka skaičiavimus, kurie pasireiškia darbo atlikimu. Kompiuterių galimybės bei įvairovė priklauso nuo programinės įrangos, kuri gali atlikti daug operacijų.
Rytis
Kazakevičius

Aciu uz demesi!
Įmontuojamoji programinė įranga
Tai tokia programinė įranga, kuri paprastai yra neatsiejama nuo techninės įrangos, į kurią ji yra įdiegta. Tai gali būti visa ar dalis sisteminės programinės įrangos, o taip pat ir tam tikra taikomoji programinė įranga.
Žemo lygio kalbos (pvz., Asembleris)
Sisteminės kalbos (pvz., C)
Objektinės kalbos (pvz., SmallTalk)
Pagal vyraujančia paradigmą
Funkcinės kalbos (pvz., Lisp, ML)
Procedūrinės kalbos (pvz., C, Pascal)
Objektinės kalbos (pvz., SmallTalk, Java, Ruby)
Loginės kalbos (pvz., Prolog)
Daugaparadigmės kalbos (pvz., , Python (nors dažniausiai naudojama objektinė paradigma)
Klaidas Vysniauskas
Modestas Petkus
Superkompiuteris – kompiuteris, sukurtas atlikti skaičiavimus taip greitai, kaip tik leidžia tuo metu esančios technologijos.

Superkompiuteriai naudojami kuriant automobilius, lėktuvus, taip pat vaistų gamyboje, meteorologijoje (numatant orų pasikeitimus) ir kitose sferose. Bioinformatikoje jie taikomi nustatant trimates baltymų struktūras iš aminorūgščių sekos.
Superkompiuteris
Universalusis kompiuteris

Centriniai (universalieji) kompiuteriai (angl. mainframes) – tai labai spartūs kompiuteriai,
galintys vienu metu aptarnauti daug terminalų. Terminalas būna sudarytas iš vaizduoklio ir klaviatūros, skirtas valdyti, apdoroti ir keistis informaciją. Centriniai kompiuteriai dažniausiai naudojami stambiose organizacijose administracinio pobūdžio darbams ar savitiems uždaviniams spręsti.

Centriniu kompiuteriu vienu metu gali naudotis labai daug naudotojų, o asmeniu kompiuteriu ar darbo stotimi vienu metu naudojasi vienas naudotojas.


Delninis kompiuteris
Delninis kompiuteris – nedidelis mobilus įrenginys, galintis atlikti daugelį asmeninio kompiuterio atliekamų funkcijų.
Labiausiai paplitę Pocket PC ir Palm delniniai kompiuteriai. Tokiame įrenginyje paprastai būna laikrodis, skaičiuotuvas, kalendorius, priminimų bei adresų sąrašai, o taip pat yra galimybė įdiegti įvairių taikomųjų programų – pašto programų, dokumentų redaktorių, žaidimų. Viena svarbiausių delninukų savybių – galimybė sinchronizuoti duomenis su asmeniniu ar nešiojamu kompiuteriu.
Sumanusis telefonas
Išmanusis telefonas – mobilusis telefonas su operacine sistema, turintis pažangių kompiuterinių gebėjimų apdoroti duomenis ir prisijungti prie įvairių ryšių tinklų.
Populiariausios kalbos
1.C
2.Java
3.PHP
4.JavaScript
5.C++
6.Python
7.Shell
8.Ruby
9.Objective C
10.C
#
C
C# (tariama sy šarp) – objektiškai orientuota programavimo kalba, sukurta Microsoft kompanijoje kaip dalis .NET iniciatyvos. Kalba paremta C++ bei Java kalbomis. Kalba kurta balansuojant tarp galingumo (C++ įtaka) bei greito programavimo (Java, Visual Basic įtaka).
Kalbos kūrėjai – Anders Hejlsberg ir Scott Wiltamuth (abu iš Microsoft).
Programavimo kalba C – gana žemo lygio programavimo kalba, sukurta XX a. aštuntojo dešimtmečio pradžioje. Jos kūrėjai – Kenas Tomsonas (Ken Thompson) ir Denisas Ričis (Dennis Ritchie), o kalbos pagrindinis tikslas buvo – naudojimas UNIX operacinėje sistemoje.

Kalba sparčiai paplito ir dėl ypatingai didelio efektyvumo plačiai naudota operacinių sistemų, kompiliatorių, kitų sisteminių programų kūrimui. Taip pat kalba dažnai naudojama švietimo įstaigose programavimo mokymui.
C#
Java
Java – objektiškai orientuota programavimo kalba, 1991 metais sukurta Džeimso Goslingo ir kitų Sun Microsystems inžinierių. Apie ją oficialiai paskelbta 1995 metų gegužės 23 d., o išleista tų pačių metų lapkritį. Java (pradžioje vadinta Oak) kalbos pirminis tikslas buvo pakeisti C++ kalbą.
PHP
Objective-C buvo sukurta tais pačiais metais, kaip ir C++. Per visą tą laiką paskutinioji iš jų dažniausiai buvo naudojama didelės spartos sistemose. Objective-C, savo ruožtu, gavo „nišinės kalbos“ statusą, tačiau vėliau tapo žymiai populiaresnė todėl, jog Steve Jobs ją licencijavo naudojimui operacinėje sistemoje NeXTSTEP. Beje, iki to laiko, kai programavimo kalba buvo pradėta naudoti iOS skirtų aplikacijų kūrimui, ji užėmė tik vieną procentą programavimo kalbų rinkos.
PHP – plačiai paplitusi dinaminė interpretuojama programavimo kalba (en: Hypertext Preprocessor), sukurta 1995 m. ir specialiai pritaikyta interneto svetainių kūrimui.

PHP sintaksė panaši į daugelį struktūrinių kalbų, ypač į C bei Perl.

PHP kalba yra atviro kodo ir tai yra viena priežasčių, dėl ko kalba yra nors ir nesudėtinga, bet gana lanksti – veikia daugumoje operacinių sistemų, palaiko nemažai reliacinių duomenų bazių bei veikia su dauguma interneto serverių – CGI, FastCGI, ISAPI ir kitais protokolais.

Nors PHP yra dažniausiai naudojama interneto puslapių kūrimui, bet yra labai galingas įrankis atlikti kitas funkcijas komandinėje eilutėje.
Objective-C
JavaScript
Ruby
Ruby – interpretuojama programavimo kalba greitam ir lengvam objektiškai orientuotam programavimui. Ruby ypač gerai tinka tekstiniams failams apdoroti. Tai paprasta, mobili ir lengvai plečiama kalba. Dažnai painiojama su Ruby On Rails programavimo terpe, kuri iš tikro pati naudoja Ruby.
JavaScript – objektiškai orientuota skriptų programavimo kalba, besiremianti prototipų principu. Dažniausiai kalba naudojama internetinių puslapių interaktyvumo realizacijai, bet taip pat naudojama ir kaip galimybė skriptais manipuliuoti tam tikromis programomis. Kalba sukurta Brendano Eicho Netscape kompanijoje ir pavadinta Mocha, vėliau pervadinta į LiveScript, ir galiausiai tapo JavaScript. Vienas iš argumentų pervadinant kalbą buvo sintaksinis panašumas su Java kalba. Paskutinė JavaScript versija – 1.8
Sukūrus algoritmą, jį reikia pateikti taip, kad jis būtų suprantamas ne tik rašiusiam algoritmą, bet ir kitiems, kurie norėtų jį vykdyti. Algoritmai rašomi ta kalba, kuri geriausiai tinka konkrečiai problemai dažniausiai algoritmai užrašomi tokiais būdais:
1. Grafiškai
2. Specialiomis žymenymis
3. Blokinėmis schemomis
Grafinis būdas
Šis būdas gana vaizdus, daugeliui suprantamas. Paprastiems, buitiškiems algoritmams vaizduoti pasirenkami įprastiniai paveikslėliai. Paveikslėlių kalba ypač mėgstama pateikiant įvairias populiarias intrukcijas, pavyzdžiui, ant maisto produktų, buitinės chemijos priemonių įpakavimo. Paveikslėliai nepamainomi aiškinant lankstinių meną.
Pavyzdys. Lankstinys "Gervė"
Blokinės schemos
Norint aprašyti algoritmus griežčiau, tiksliau, vienareikšmiškiau, sukuriami sutartiniai ženklai - schemos. Blokinėms schemoms pakanka keturių rūšių grafinių simbolių.
Specialūs žymenys
Jūs žinote įvairias žymenų sistemas. Pavyzdžiui matematikoje vartojate daug ženklų išreiškiančių algebros veiksmus:
+, -, *, :
ir t.t.
Trigonometrines funkcijas žymite sutartiniais žodžiais:
sin
, cos, tg, ctg, arcsin
ir t.t.
Net muzikos garsams užrašyti vartojate penklinę ir natas. Yra ženklų, žyminčių pauzes, atlikimo tempą, kartojimo skaičių ir kt.
Aidas Bušmanas
Lukas Vainauskas
C++ – bendros paskirties programavimo kalba, viena populiariausių programavimo kalbų.
Kalbą sukūrė Bjarne Stroustrup XX a. devintajame dešimtmetyje, kaip C kalbos išplėtimą, apibrėžiantį (include failų – bibliotekų) rinkinį bei specialų pre - procesorių, suteikiantį C kalbai objektinio programavimo galimybes. Vėliau atsirado virtualios funkcijos, šablonai, operatorių perrašymas, daugiaprotėviškumas. C++ kalbos standartas patvirtintas 1998 m.

C++
Python yra interpretuojama, interaktyvi programavimo kalba sukurta Guido van Rossumo 1990 metais. Pirmiausiai ji buvo scenarijų kalba AmoebaOS operacinei sistemai. Python dažniausiai lyginama su Tcl, Perl, Scheme, Java ir Ruby. Python kuriama kaip atviro kodo projektas.

Python yra daugiaparadigmė programavimo kalba – ji leidžia naudoti keletą programavimo stilių: objektinį, struktūrinį, funkcinį, aspektinį. Python naudoja dinaminį tipų tikrinimą.

Python kūrėjų tikslai buvo sukurti kalbą, kuri yra lengvai skaitoma, išraiškinga, išreikštinė, paprasta (tinkama neprofesionaliems programuotojams). Nors pradžioje ji buvo kuriama kaip scenarijų kalba, dabar ji naudojama ir dideliems programiniams projektams, tokiems kaip Zope. Taip pat labai paplitusi Linux sistemose.

Python
Ruby – interpretuojama programavimo kalba greitam ir lengvam objektiškai orientuotam programavimui. Ruby ypač gerai tinka tekstiniams failams apdoroti. Tai paprasta, mobili ir lengvai plečiama kalba. Dažnai painiojama su Ruby On Rails programavimo terpe, kuri iš tikro pati naudoja Ruby.
Ruby
Martynas Žiūrys
Vytenis Kunickas
Elvis Lukošius
10c klasė
Programos su kuriomis programuojama:
Codeblocks(kompiuterinė programa) - tai yra nemokama programa kur naudojama C ir C++ kalba.

Ruby(kompiuterinė programa) - interpretuojama programavimo programa greitam ir lengvam objektiškai orientuotam progrmavimui.
Eclipse (kompiuterinė programa) – IBM sukurta Java atviro kodo integruota kūrimo aplinka.
Pascal (Paskalis)(kompiuterinė programa) – kalba, daugiausiai naudojama švietimo įstaigose programavimo kalbų pagrindų mokymui.
Povilas Vileišis
Mantas Jagelavičius
Full transcript