Ievads par algoritmiem Programmanas valodas Lekt M Lukjanska
- Slides: 31
Ievads par algoritmiem Programmēšanas valodas Lekt. M. Lukjanska 06. 09. 2011
Ievads par algoritmiem Kopsavilkums l l 2 Kas ir algoritms? Kas raksturo algoritmus? Kā algoritmus pieraksta? Kas algoritmus saista ar programmēšanas valodām? “Skaitļošanas algoritmi, iespējams, ir tikpat seni, cik civilizācija. ” Francis Sullivan Institute for Defense Analyses' Center for Computing Sciences in Bowie, Md 06. 09. 2011 Programmēšanas valodas
Kas ir algoritms? 1. Uzdevums 3 Iedomājieties, ka Jums ir. . . mazā māsa 06. 09. 2011 . . . vai mazais brālis Programmēšanas valodas
Kas ir algoritms? 1. Uzdevums (turpinājums) 4 . . . Jūs esat ļoti aizņemts un vēlaties, lai Jūsu mazā māsa vai brālis pagatavotu Jums kafiju, BET ir viena maza problēma. . . 06. 09. 2011 Programmēšanas valodas
Kas ir algoritms? 1. Uzdevums (turpinājums) 5 . . . viņi to neprot darīt! Kā Jūs viņiem paskaidrosiet, kā pagatavot kafiju? Pamēģiniet to uzrakstīt, lai viņi varētu apskatīties, ja aizmirsīs! ? ? ? 06. 09. 2011 Programmēšanas valodas
Kas ir algoritms? 1. Uzdevums (turpinājums) 6 Vai Jūs atcerējāties pateikt. . . cik daudz cukura? cik daudz kafijas? 06. 09. 2011 varbūt vēl kaut kas? cik daudz ūdens? vai vajag pienu? Programmēšanas valodas
Kas ir algoritms? 1. Uzdevums (turpinājums) 7 Tagad iedomājieties. . . ciemos atnāk Jūsu paziņa. . . Bet viņš nedzer kafiju. . . Viņš dzer tikai tēju! ciemos atnāk Jūsu otra paziņa. . . Bet viņa nelieto cukuru. . . 06. 09. 2011 Programmēšanas valodas
Kas ir algoritms? 1. Uzdevums (turpinājums) 8 Rezultāta mēs uzrakstījām ALGORITMU karstā dzēriena pagatavošanai! 06. 09. 2011 Programmēšanas valodas
Kas ir algoritms? Definīcijas l 06. 09. 2011 9 Algoritms: l darbību izpildes priekšraksts, ar kuru no dotajiem datiem pēc noteiktu darbību virknes var iegūt uzdevumā prasīto rezultātu [1] l efektīva metode, kas ir izteikta galīga labi definētu instrukciju saraksta veidā kādas funkcijas aprēķināšanai [2] l viennozīmīgs priekšrakts elementāru (atsevišķu, diskrētu) un efektīvu (izpildāmu) instrukciju secīgai izpildei [4] Programmēšanas valodas
Kas ir algoritms? Vēl daži piemēri. . . 10 Mūzikas notis Vai varat nosaukt vēl kādus algoritma piemērus? Receptes Rubika kuba salikšana 06. 09. 2011 Programmēšanas valodas
Kas ir algoritms? Viens no senākajiem algoritmiem. . . l Eiklīda algoritms l l l Lielākā kopīgā dalītāja atrašana diviem veseliem skaitļiem vairāk nekā 2000 gadu vecs Piemērs: l 1071 un 462 l l l 1071 = 2 × 462 + 147 462 = 3 × 147 + 21 147 = 7 × 21 + 0 462 06. 09. 2011 11 Eiklīds, sengrieķu matemātiķis 1071 Programmēšanas valodas
Ievads par algoritmiem Kopsavilkums l l 06. 09. 2011 12 Kas ir algoritms? Kas raksturo algoritmus? Kā algoritmus pieraksta? Kas algoritmus saista ar programmēšanas valodām? Programmēšanas valodas
Kas raksturo algoritmus? 13 “Man - izcili algoritmi ir skaitļošanas dzeja. Gluži kā dzejolis tie var būt kodolīgi, dot mājienus, var būt koncentrēti un pat noslēpumaini. Bet tiklīdz ‘atkosti’, tie apstaro ar spožu, jaunu gaismu kādu no skaitļošanas aspektiem. ” Francis Sullivan Institute for Defense Analyses' Center for Computing Sciences in Bowie, Md 06. 09. 2011 Programmēšanas valodas
Kas raksturo algoritmus? Algoritmu iezīmes l Viennozīmīgs l l algoritms ir paredzēts nevis vienam atsevišķam uzdevumam, bet gan veselai radniecīgu uzdevumu klasei Galīgs un efektīvs l 06. 09. 2011 algoritms sastāv no atsevišķām elementārām pabeigtām darbībām (komandām) Vispārīgs l l katrā momentā ir skaidrs, kāda darbība jāizpilda un kas jādara nākošajā solī Diskrēts l l dažādi izpildītāji saprot un izpilda algoritmu vienādi, rezultāts nav atkarīgs no izpildītāja Noteikts l l formulējums nepieļauj dažādas interpretācijas un pārpratumus Formāls l l 14 algoritms nodrošina mērķa sasniegšanu galīgā soļu skaitā Programmēšanas valodas
Ievads par algoritmiem Kopsavilkums l l 06. 09. 2011 15 Kas ir algoritms? Kas raksturo algoritmus? Kā algoritmus pieraksta? Kas algoritmus saista ar programmēšanas valodām? Programmēšanas valodas
Kā algoritmus pieraksta? Algoritma izpildītaji l Katrs algoritms ir paredzēts kādam noteiktam izpildītājam: l l l cilvēkam robotam datoram kādai citai tehniskai ierīcei Svarīgi: l 06. 09. 2011 16 algoritms ir jāraksta izpildītājam saprotamā valodā Programmēšanas valodas
Kā algoritmus pieraksta? Vēl pirms sākt algoritmu pierakstīt l 17 Jāzina: l l l ievades dati izvades dati (iegūstamais rezultāts) precīzs un konkrēts uzdevuma risinājums l l l jo rakstītais kopumā netiek analizēts ka algoritms ir pabeigts ka algoritms ir efektīvs l uzdevuma veikšanai tiek izmantoti iespējami maz resursu “Ja man būtu tikai viena stunda, lai glābtu pasauli, tad 55 minūtes es veltītu problēmas definēšanai un tikai 5 minūtes risinājuma meklēšanai. ” A. Einšteins 06. 09. 2011 Programmēšanas valodas
Kā algoritmus pieraksta? Algoritmu pieraksta veidi 18 Pastāv vairāki veidi, kā pierakstīt algoritmus: ar strukturēto tekstu ar blokshēmu ar programmēšanas valodu Saprot un var izpildīt dators Saprot un var izpildīt cilvēks Adaptēts no [3] 06. 09. 2011 Programmēšanas valodas
Kā algoritmus pieraksta? Strukturētais teskts l 19 Pieraksta uzbūve: algoritms <nosaukums> sākums <algoritma darbības jeb komandas> beigas 06. 09. 2011 Programmēšanas valodas
Kā algoritmus pieraksta? Algoritmu pieraksta veidi 20 Pastāv vairāki veidi, kā pierakstīt algoritmus: ar strukturēto tekstu ar blokshēmu ar programmēšanas valodu Saprot un var izpildīt dators Saprot un var izpildīt cilvēks Adaptēts no [3] 06. 09. 2011 Programmēšanas valodas
Kā algoritmus pieraksta? Blokshēma l l l 06. 09. 2011 21 Shēma, ar kuras palīdzību grafiski attēlo sakarus (parasti funkcionāla rakstura) starp datu apstrādes sistēmas elementiem, izmantojot šo elementu attēlošanai dažādas ģeometriskas figūras ar atbilstošiem uzrakstiem Sistēmas elementi var būt kā vienkāršas shēmas, tā arī sarežģīti funkcionāli bloki Ar blokshēmu palīdzību var izveidot dažādas detalizācijas pakāpes aprakstus Programmēšanas valodas
Kā algoritmus pieraksta? Blokshēmas elementi 22 Elements Apraksts Sākums Kādi ir ievades dati? Datu ievade Jebkādas datu apstrādes darbības (iekšā raksta pašas darbības) Datu apstrāde Jā Sazarojums Datu izvade Beigas Nē Nosacījums/Sazarojums ar vienu iespējamu rezultātu: ‘jā’ vai ‘nē’ Izvades dati (iegūtā rezultāta izvade) Beigas Piemērs: The Friendship algorithm [The Big Bang Theory] 06. 09. 2011 Programmēšanas valodas
Kā algoritmus pieraksta? Blokshēmas veidošanas pārbaudes saraksts (checklist) l Vai katrā elementā ieiet tikai viena bultiņa? l Izņemot: l l sākuma elementu, kurā neieiet neviena bultiņa Vai no katra elementa iziet tikai viena bultiņa? l Izņemot: l l 06. 09. 2011 23 beigu elementu, no kura neiziet neviena bultiņa sazarojuma elementu, no kura iziet tieši 2 bultiņas Programmēšanas valodas
Kā algoritmus pieraksta? 2. Uzdevums l 24 Iedomājieties, ka Jūsu mazākais brālis/māsa ir jau paaugušies. . . un atnāk pie Jums ar jautājumu: Kā aprēķināt kvadrātvienādojumu (tā saknes)? 06. 09. 2011 Programmēšanas valodas
Kā algoritmus pieraksta? 2. Uzdevums (turpinājums) 25 l Pamēģiniet uzrakstīt algoritmu kvadrātvienādojuma atrisināšanai blokshēmas veidā! l Netiešās norādes: l l l 06. 09. 2011 kvadrātvienādojuma vispārīgā forma: ax 2 + bx + c = 0 diskriminanta formula: D = b 2 – 4 ac kvadrātvienādojumam ir saknes, ja D >= 0 Programmēšanas valodas
Kā algoritmus pieraksta? 3. Uzdevums l 26 Jūsu mazajam brālim/māsai ir apnicis mācīties matemātiku, tagad viņi vēlas paspēlēt skaitļu minēšanas spēli: l l l Jūs iedomājaties skaitli robežās no 0. . 50 tad Jūsu māsa/brālis sāk minēt par viņu minējumiem Jūs varat teikt tikai: l l l ‘pārāk liels skaitlis’ ‘pārāk mazs skaitlis’ un, protams, ‘skaitlis ir uzminēts!’ . . . bet Jums ir jāgatavojas lekcijām un Jūs labprātāk uzrakstītu kādu datorprogrammu, kur Jūsu māsa/brālis varētu savus minējumus ievadīt. . . Vai Jūs varētu uzrakstīt algoritmu blokshēmas veidā šādai spēlei? 06. 09. 2011 Programmēšanas valodas
Ievads par algoritmiem Kopsavilkums l l 06. 09. 2011 27 Kas ir algoritms? Kas raksturo algoritmus? Kā algoritmus pieraksta? Kas algoritmus saista ar programmēšanas valodām? Programmēšanas valodas
Kas algoritmus saista ar programmēšanas valodām? 28 l Programma: l l Programmēšanas valoda: l l līdzekļu, konstrukciju sistēma programmu uzdošanai Programmēšana: l 06. 09. 2011 ir algoritms, kurš pierakstīts datoram “saprotamā” formā [1] programmas izveidošana [1] Programmēšanas valodas
Ievads par algoritmiem Neobligāts mājas darbs l Mēģiniet uzrakstīt algoritmu blokshēmas veidā: l l l 06. 09. 2011 29 šī kursa “Programmēšanas valodas” nokārtošanai programmai, kas uz ekrāna izvada visus tos skaitļus intervālā no 0 līdz 50, kuri dalās ar 5 programmai, kas ievadītajam skaitlim (jābūt <11) pieskaita skaitli 5, līdz summa kļūst lielāka par 50 Programmēšanas valodas
Ievads par algoritmiem 30 l l l 06. 09. 2011 Tālāk – Ievads par programmēšanas valodām Paldies par uzmanību! Jautājumi? Programmēšanas valodas
Ievads par algoritmiem Izmantotie resursi 31 1. A. Balode, Programmēšanas pamati. Valoda Turbo Pascal, Zvaigzne ABC, 2009, p. 232. 2. H. Rogers Jr, Theory of Recursive Functions and Effective Computbility, The MIT Press, 1987. 3. Algoritmi, prezentācija. [Tiešsaiste] – [atsauce 31. 08. 2011. ] Pieejams: saite 4. K. Čerāns, Datorzinātnes pamati, kursa atbalsta materiāli, LU, 2005. [Tiešsaiste] – [atsauce 04. 09. 2011. ] Pieejams: saite 5. Programmēšanas pamati Pascal vidē, RTU Būvmehānikas katedra, Rīga, RTU, 2005 06. 09. 2011 Programmēšanas valodas
- Absolūtais biežums excel
- Knosas pils leģendārais valdnieks bija
- Publicistikas valodas stils piemēri
- Morfoloģiskais valodas līdzeklis
- Uzdevumi
- Literārās valodas stili
- Eiropas savienības valodas
- Valodas funkcionālie stili
- Vision par ordinateur cours
- Moodle par
- Recherche par image
- Ecris l'adjectif possessif convenable
- Mon dieu tu es grand tu es beau
- Division par infini
- Reproduction par tige rampante
- Ille mi par esse deo videtur metrica
- Scoring a hole in the prescribed set of shots is called
- Código de colores rj45 directo y cruzado
- Interrogation par intonation
- L'amour vu par les enfants
- Dita e par ne shkoll
- Liaison encastrement par pincement
- Linen management in hotels
- Exemple appréciation stagiaire
- Je moi tu toi
- Coledi
- Origen tercer par craneal
- What is par 3
- Exposé présenté par
- Conception et fabrication assistées par ordinateur
- Atomu grupu sauc par peptīdsaiti
- S a b c d