Share to: share facebook share twitter share wa share telegram print page
Available for Advertising

Strukturirano programiranje

Strukturirano programiranje je programska paradigma usmerena na poboljšanje jasnoće, kvaliteta i vremena razvoja računarskog programa putem ekstenzivne upotrebe selekcije strukturiranih konstrukata toka kontrole (if/then/else) i ponavljanja (while i for), blokovskih struktura i podrutina. Edsger Dajkstra je 1968. godine skovao termin „strukturirano programiranje”.

Strukturirano programiranje je nastalo 70-ih godina, a njemu je prethodilo kompozitno programiranje.[1] Činjenica da nije postojao softver, koji bi mogao da iskoristi novonastale velike mogućnosti hardvera dovela je do prve softverske krize. Godine 1968. holandski informatičar Edsher Dajkstra napisao je članak „Go to naredba se smatra štetnom”, gde izlaže rezultate svog istraživanja, na osnovu kojih je zaključio da je broj grešaka u softveru proporcionalan broju upotreba goto naredbe. Godine 1969, konačno je stvoren programski jezik koji je omogućio pisanje programa bez upotrebe goto naredbe. To je bio Paskal, koji je stvorio Niklaus Virt. Faktori koji su doprineli popularnosti i širokom prihvaćanju ovog pristupa, prvo u akademskim krugovima i kasnije među praktičarima, uključuju otkriće onoga što je sada poznato kao teorema strukturiranog programa iz 1966. godine.[2] Dajkstra, Hoare i Dahl su napisali knjigu „Strukturirano programiranje”, u kojoj se nalaze i članci koji se bave rešavanjem problema eliminisanja upotrebe goto naredbe.

Danas, pod stukturiranim programiranjem podrazumeva skup tehnika za razvijanje programskih modela koji koriste strogo definisane upravljačke strukture i strukture podataka. Strukturirano programiranje se najčešće koristi sa odstupanjima koja omogućavaju jasnije programe u nekim posebnim slučajevima, kao što je obrada izuzetaka.

Pravilni programi

Ciljna klasa programa naziva se pravilni program. Pod ovim podrazumevamo program koji zadovoljava sledeća tri uslova:

  • ima tačno jednu ulaznu granu
  • ima jednu izlaznu granu
  • kroz svaki čvor prolazi se bar jednom od ulaza do izlaza

Funkcija prva dva uslova jeste da se ceo pravilni program može zameniti tačno jednim čvorom, a funkcija trećeg jeste da eliminiše mogućnost beskonačnih ciklusa izolovanih delova programa.

Strukturna teorema i programiranje bez goto

Posebna baza strukturnih programa, koju čine sekvenca, iteracija tipa "while-do" i selekcija tipa "if-then-else" jeste baza pomoću koje se može izvesti svaki program i na osnovu koje možemo napraviti neke druge baze koje su nam potrebne.

1966. godine C. Boehm i G. Jacopini su izveli strukturnu teoremu koja pokazuje da se sveki pravilan program može ostvariti superpozicijom ove tri strukture (može se ostvariti bez upotrebe skokova), što je bilo ključno za rešavanje problema, koji su tražili uvođenje strukturiranih programa.

Elementi

Kontrolne strukture

Prema teoremi strukturiranog programa, smatra se da se svi programi sastoje od kontrolnih struktura:

  • „Sekvenca”; uređeni izjave ili potprogrami izvršeni u nizu.
  • „Selekcija”; jedna ili više izjava se izvršava zavisno od stanja programa. Ovo se obično izražava sa rezervisanim rečima kao što su if..then..else..endif.
  • Iteracija”; izraz ili blok se izvršava dok program ne dosegne određeno stanje, ili su operacije primenjene na svaki element kolekcije. Ovo se obično izražava sa rezervisanim rečima kao što su while, repeat, for ili do..until. Često se preporučuje da svaka petlja ima samo jednu ulaznu tačku (u izvornom strukturalnom programiranju takođe samo jednu izlaznu tačku, a nekoliko jezika to nameće).
  • Rekurzija”; izjava se izvršava ponovljenim pozivanjem dok se ne ispune uslovi raskida. Iako su u praksi slične iterativnim petljama, rekurzivne petlje mogu biti računski delotvornije i različito se implementiraju kao kaskadni stek.

Podrutine

Podrutine su jedinice koje se mogu pozvati, kao što su procedure, funkcije, metode ili potprogrami. Podrutine omogućavaju pozivanje sekvence programskih linija pojedinačnom izjavom.

Blokovi

Blokovi se koriste kako bi se omogućilo da se grupe izjava tretiraju kao da su jedna izjava. Blokovno strukturirani jezici imaju sintaksu za ograđujuće strukture na neki formalan način, kao što je if izjava ograđena sa if..fi u jeziku ALGOL 68, ili sekcija koda ograđena sa BEGIN..END u PL/I i Paskalu, uvlačenje znakom razmaka kao u Pajtonu - ili vitičaste zagrade {...} u C jeziku i mnogim kasnijim jezicima.

Istorija

Teorijska osnova

Teorema strukturiranog programa pruža teorijsku osnovu strukturiranog programiranja. U njemu se navodi da su tri načina kombinovanja programa — sekvenciranje, selekcija i iteracija — dovoljna za izražavanje bilo koje izračunljive funkcije.[3][4] Ovo zapažanje nije poteklo od pokreta strukturiranog programiranja; ove strukture su dovoljne da opišu ciklus instrukcija centralne procesorske jedinice, kao i rad Turingove mašine.[5][6][7][8] Stoga, procesor uvek izvršava „strukturirani program“ u ovom smislu, čak i ako instrukcije koje čita iz memorije nisu deo strukturiranog programa. Međutim, autori obično pripisuju rezultat radu iz 1966. Bema i Jakopinija, verovatno zato što je Dijkstra sam citirao ovaj rad.[9] Teorema strukturiranog programa ne govori o tome kako napisati i analizirati korisno strukturiran program. Ove teme su razmatrane tokom kasnih 1960-ih i ranih 1970-ih, uz velike doprinose Dijkstre, Roberta V. Flojda, Tonija Hora, Ole-Johana Dala i Dejvida Grisa.

Debata

P. Dž. Ploger, rani usvojilac strukturiranog programiranja, opisao je svoju reakciju na teoremu strukturiranog programa:

Mi, preobraćenici, mahali smo ovom zanimljivom vesti pred nosom nerekonstruisanih programera na asemblerskom jeziku koji su neprestano izvlačili uvrnute delove logike i govorili, 'Kladim se da ne mogu da strukturišem ovo.' Ni dokazi Bema i Jakopinija, niti naši ponovljeni uspesi u pisanju strukturiranog koda nisu ih pridobili ni jedan dan ranije nego što su oni sami bili spremni da se uvere.[10]

Donald Knut je prihvatio princip da programi moraju biti napisani imajući na umu dokazljivost, ali se nije složio sa ukidanjem izjave GOTO, i od 2018. je nastavio da je koristi u svojim programima.[11] U svom radu iz 1974. godine, „Strukturirano programiranje sa Goto izjavama“,[12] dao je primere u kojima je verovao da direktan skok vodi ka jasnijem i efikasnijem kodu bez žrtvovanja dokazivosti. Knut je predložio labavije strukturno ograničenje: trebalo bi da bude moguće nacrtati dijagram toka programa sa svim granama napred na levoj strani, sa svim granama unazad na desnoj strani i nijednim granama koje se međusobno ukrštaju. Mnogi od onih koji poznaju kompajlere i teoriju grafova zagovarali su dozvoljavanje samo reducibilnih grafova toka.[13]

Teoretičari strukturiranog programiranja stekli su glavnog saveznika 1970-ih nakon što je istraživač IBM-a Harlan Mils primenio svoje tumačenje teorije strukturiranog programiranja na razvoj sistema indeksiranja za istraživački fajl Njujork Tajmsa. Taj projekat je bio veliki inženjerski uspeh, a menadžeri drugih kompanija su ga citirali u prilog usvajanju strukturiranog programiranja, iako je Dijkstra kritikovao načine na koje se Milsova interpretacija razlikuje od objavljenog rada.[14]

Godine 1987, još uvek je bilo moguće pokrenuti pitanje strukturiranog programiranja u časopisu o računarskim naukama. Frenk Rubin je to učinio te godine sa otvorenim pismom pod naslovom „'GOTO smatrano štetnim' smatra se štetnim“.[15] Usledile su brojne primedbe, uključujući odgovor Dijkstre koji je oštro kritikovao Rubina i ustupke koje su drugi pisci činili kada su mu odgovarali.

Reference

  1. ^ Clark, Leslie B. Wilson, Robert G.; Robert, Clark (2000). Comparative programming languages (3rd изд.). Harlow, England: Addison-Wesley. стр. 20. ISBN 9780201710120. Приступљено 25. 11. 2015. 
  2. ^ Bohm, Corrado; Giuseppe Jacopini (maj 1966). „Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules” (PDF). Communications of the ACM. 9 (5): 366—371. CiteSeerX 10.1.1.119.9119Слободан приступ. S2CID 10236439. doi:10.1145/355592.365646. Архивирано из оригинала (PDF) 23. 09. 2015. г. Приступљено 11. 04. 2019. 
  3. ^ Enderton, Herbert (2002). A Mathematical Introduction to Logic (Second изд.). USA: Elsevier. стр. 209. ISBN 0-12-238452-0. 
  4. ^ Enderton, Herbert (2002). A Mathematical Introduction to Logic (Second изд.). USA: Elsevier. стр. 208,262. ISBN 0-12-238452-0. 
  5. ^ B. Jack Copeland ed. , The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma, Clarendon Press (Oxford University Press), Oxford UK. Turing, Alan Mathison (2004). The Essential Turing. Oxford University Press. ISBN 978-0-19-825079-1. . Contains the Turing papers plus a draft letter to Emil Post re his criticism of "Turing's convention", and Donald W. Davies' Corrections to Turing's Universal Computing Machine
  6. ^ Martin Davis (ed.). (1965), The Undecidable, Raven Press, Hewlett, NY.
  7. ^ Emil Post (1936), "Finite Combinatory Processes—Formulation 1", Journal of Symbolic Logic, 1, 103–105, 1936. Reprinted in The Undecidable pp. 289ff.
  8. ^ Emil Post. „Recursive Unsolvability of a Problem of Thue”. Journal of Symbolic Logic. 12: 1—11. 1947. JSTOR 2267170. S2CID 30320278. doi:10.2307/2267170. . Reprinted in The Undecidable pp. 293ff. In the Appendix of this paper Post comments on and gives corrections to Turing's paper of 1936–1937. In particular see the footnotes 11 with corrections to the universal computing machine coding and footnote 14 with comments on Turing's first and second proofs.
  9. ^ Dijkstra 1968.
  10. ^ Plauger, P. J. (12. 2. 1993). Programming on Purpose, Essays on Software DesignНеопходна слободна регистрација (1st изд.). Prentice-Hall. стр. 25. ISBN 978-0-13-721374-0. 
  11. ^ DLS • Donald Knuth • All Questions Answered. YouTube (на језику: енглески). University of Waterloo. 15. 11. 2018. 48 мин. Приступљено 24. 7. 2022. 
  12. ^ Donald E. Knuth (децембар 1974). „Structured programming with go to statements” (PDF). Computing Surveys. 6 (4): 261—301. S2CID 207630080. doi:10.1145/356635.356640. Архивирано из оригинала (PDF) 2013-10-23. г. 
  13. ^ „Archived copy” (PDF). Архивирано из оригинала (PDF) 2020-08-01. г. Приступљено 2018-03-24. 
  14. ^ In EWD1308, „What led to "Notes on Structured Programming". , dated 10 June 2001, Dijkstra writes, "Apparently, IBM did not like the popularity of my text; it stole the term "Structured Programming" and under its auspices Harlan D. Mills trivialized the original concept to the abolishment of the goto statement."
  15. ^ Frank Rubin (март 1987). „"GOTO Considered Harmful" Considered Harmful” (PDF). Communications of the ACM. 30 (3): 195—196. S2CID 6853038. doi:10.1145/214748.315722. Архивирано из оригинала (PDF) 2009-03-20. г. 

Literatura

Spoljašnje veze

  • BPStruct - A tool to structure concurrent systems (programs, process models)

Read other articles:

Per Juli 2020, Jeff Bezos merupakan orang terkaya di dunia. Miliarder, di negara-negara yang menggunakan sistem penamaan bilangan skala pendek, atau milyuner adalah seseorang yang memiliki kekayaan bersih setidaknya satu miliar (1.000.000.000 atau seribu juta) unit mata uang tertentu, biasanya mata uang utama seperti Dolar Amerika Serikat, Euro atau Pound sterling. Selain itu, seorang senti-miliarder adalah seorang miliarder seratus miliar dolar (100.000.000.000), yang pertama kali dicapai pa...

Brazilian guitarist This biography of a living person relies too much on references to primary sources. Please help by adding secondary or tertiary sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately, especially if potentially libelous or harmful.Find sources: Heraldo do Monte – news · newspapers · books · scholar · JSTOR (April 2009) (Learn how and when to remove this template message) Her...

Overview of science and technology in France Science and technology in France has a long history dating back to the Académie des Sciences, founded by Louis XIV in 1666, at the suggestion of Jean-Baptiste Colbert, to encourage and protect the spirit of French scientific research. France's achievements in science and technology have been significant throughout the past centuries as France's economic growth and industrialisation process was slow and steady along the 18th and 19th centuries. Res...

Pour les articles homonymes, voir HIM. HIM HIM en concert à Varsovie, en Pologne, en 2013.Informations générales Autre nom His Infernal Majesty (1991–1992), HER Pays d'origine Finlande Genre musical Love metal, Rock gothique[1],[2],metal gothique[3],[4], dark rock[5], metal alternatif[6] Années actives 1991–1993, 1995–2017 Labels BMG Entertainment, Sire Records Site officiel www.heartagram.com Composition du groupe Membres Ville ValoMigeLinde LindströmBurton Anciens membres Sami «...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Diadelioides ghesquierei Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Insecta Ordo: Coleoptera Famili: Cerambycidae Genus: Diadelioides Spesies: Diadelioides ghesquierei Diadelioides ghesquierei adalah spesies kumbang tanduk panjang y...

Коломб-ле-ВезульColombe-lès-Vesoul Країна  Франція Регіон Бургундія-Франш-Конте  Департамент Верхня Сона  Округ Везуль Кантон Норуа-ле-Бур Код INSEE 70162 Поштові індекси 70000 Координати 47°36′52″ пн. ш. 6°12′47″ сх. д.H G O Висота 223 - 351 м.н.р.м. Площа 7,94 км² Населення 464 (01-2020&#...

Liu

LiuLiú, nama marga (aksara Han tradisional)PengucapanLiú (Pinyin)Lâu (Pe̍h-ōe-jī)BahasaTionghoa, Vietnam, Korea, JepangAsalBahasaTiongkok KunoAsalNama marga keluarga Dinasti HanNama LainVarianLiú (Mandarin)Liew (Hakka)Lau, Lauw, Lao, Low (Kanton, Hokkien, Teochew)Lieu, Lieh (Shanghainese)Liew, Lieu (Gan)Lưu (Vietnamese)Yoo (Korean)Lihat pulaYoo (nama Korea) 劉 / 刘 (Liu, Lao, Lau, Leo, Low, Lauw, Lieu, Liew, Liw, Loo, Lew, Liou or Yu) adalah nama marga Tionghoa. Liu (/ljuː/)[1&...

ميناء بنغازي   المكان البلد  ليبيا المكان بنغازي التفاصيل المساحة 4,400,000 متر مربع أرصفة الميناء 18 الإحصائيات حمولة سفن الشحن السنوية 4,000,000 طن للوردية الواحدة تعديل مصدري - تعديل   32°6′33″N 20°2′51″E / 32.10917°N 20.04750°E / 32.10917; 20.04750 ميناء بنغازي في مدينة بنغازي اللي

Sosok berjubah simbolis yang menggambarkan algojo abad pertengahan di Benteng Peter dan Paul, Saint Petersburg, Rusia Algojo ialah orang yang memiliki tanggung jawab langsung untuk menjalankan hukuman mati atas terdakwa. Dalam bahasa Indonesia, kata algojo berasal dari bahasa Portugis, algoz. Banyak algojo yang dilakukan secara profesional, yang mengkhususkan diri di bidang tertentu, karena eksekusi jarang terjadi.[1] Istilah algojo juga meluas pada pelaksana Hukuman berat yang tidak ...

ميشال سيريس معلومات شخصية اسم الولادة (بالفرنسية: Michel François Marie Serres)‏  الميلاد 1 سبتمبر 1930[1][2][3][4][5]  آجن  الوفاة 1 يونيو 2019 (88 سنة) [1][3][5]  الدائرة الرابعة عشرة في باريس،  وباريس  مكان الدفن آجن  الإقامة فانسن  مواطنة فرنسا...

2008 American filmAt the Death House DoorDirected bySteve JamesPeter GilbertProduced byPeter GilbertSteve JamesStarringCarroll PickettCinematographyPeter GilbertEdited bySteve JamesAaron WickendenMusic byLeo SidranDistributed byIFCRelease date May 2008 (2008-05) Running time98 minutesCountryUnited StatesLanguageEnglish At the Death House Door is a 2008 documentary film about Carroll Pickett, who served as the death house chaplain to the infamous Walls prison unit in Huntsville, Texa...

Philippine television show Born to Be WildTitle card since 2022GenreTravel documentaryPresented by Ferdinand Recio Nielsen Donato Country of originPhilippinesOriginal languageTagalogProductionCamera setupMultiple-camera setupRunning time35 minutesProduction companyGMA Public AffairsOriginal releaseNetworkGMA NetworkReleaseNovember 28, 2007 (2007-11-28)[1] –present Born to Be Wild is a Philippine television travel documentary show broadcast by GMA Network. Originally hosted...

American federal open data platform data.govType of siteGovernment Web siteAvailable inEnglishOwnerGovernment of the United StatesURLdata.govCommercialNoRegistrationOptionalLaunchedMay 30, 2009; 14 years ago (2009-05-30)Current statusActiveData.gov is a U.S. Government website launched in late May 2009 by the Federal Chief Information Officer (CIO) of the United States, Vivek Kundra. Data.gov aims to improve public access to high value, machine-readable datasets ge...

District in Kosovo District in KosovoDistrict of Pristina Rajoni i Prishtinës (Albanian)Приштински округ / Prištinski okrug (Serbian)DistrictMap of Kosovo with Pristina highlightedCountry KosovoMunicipalities 8 Drenas Kosovo Polje Gračanica Lipjan Novo Brdo Obiliq Podujevo Pristina CapitalPristinaArea • Total2,470 km2 (950 sq mi)Population (2011) • Total477,312 • Density190/km2 (500/sq mi)Time zoneUT...

American cable television network Television channel Hallmark DramaCountryUnited StatesBroadcast areaNationwideHeadquartersStudio City, CaliforniaProgrammingLanguage(s)EnglishOwnershipOwnerHallmark MediaSister channels Hallmark Channel Hallmark Movies & Mysteries HistoryLaunchedOctober 1, 2017; 6 years ago (2017-10-01)LinksWebsitewww.hallmarkdrama.comAvailabilityStreaming mediaService(s)Frndly TV, fuboTV, Philo, Sling TV, Hulu + Live TV, Vidgo TV, YouTube TV Hallmark Dra...

Grays Lake National Wildlife RefugeIUCN category IV (habitat/species management area)Map of the United StatesLocationBonneville County, Caribou County, Idaho, United StatesNearest citySoda Springs, IdahoCoordinates43°03′47″N 111°25′37″W / 43.06297°N 111.42689°W / 43.06297; -111.42689[1]Area19,400 acres (79 km2)Established1965Governing bodyU.S. Fish and Wildlife ServiceWebsiteGrays Lake National Wildlife Refuge Grays Lake National Wild...

Nigerian literary magazine Isele MagazineEditorUkamaka OlisakweCategoriesLiterary MagazinePublisherUkamaka OlisakweFirst issueJuly 30, 2020LanguageEnglishWebsitewww.iselemagazine.comISSN2766-2470 Isele Magazine is a literary magazine that publishes fiction, poetry, essays, interviews, and book reviews.[1][2] History Isele Magazine was founded in July 2020 by Nigerian novelist Ukamaka Olisakwe.[3] In an interview with Open Country Mag, she explained that the magazine is...

SMA Alfa Centauri Bandung merupakan salah satu sekolah menengah atas swasta terbaik di Bandung yang didirikan oleh pendiri Sony Sugema College atau SSC yaitu H. Sony Sugema, M.BA.. Dibuka pada tahun 2003, sekolah ini terkenal dengan sistem belajar yang berfokus terhadap teknologi, karena memakai tablet dan laptop sebagai alat pembelajarannya. Akademik Kegiatan belajar berlangsung selama 9 jam 45 menit, dimulai dari pukul 06.30 pagi sampai pukul 14.30 siang. Ekstrakurikuler CDC (Centaurian Dra...

2000 soundtrack album by various artistsO Brother, Where Art Thou?Soundtrack album by various artistsReleasedDecember 5, 2000 (2000-12-05)Recorded(modern tracks) Spring 1999StudioSound Emporium, NashvilleGenre Country folk bluegrass blues gospel Americana soundtrack Length61:24LabelLost Highway/MercuryProducerT Bone Burnett O Brother, Where Art Thou? is the soundtrack album of music from the 2000 American film of the same name, written, directed and produced by the Coen...

Neighborhood in Cook, Illinois, United StatesTechny, IllinoisNeighborhoodTechny, IllinoisCoordinates: 42°06′58″N 87°49′20″W / 42.11611°N 87.82222°W / 42.11611; -87.82222CountryUnited StatesStateIllinoisCountyCookCityNorthbrookElevation643 ft (196 m)Time zoneUTC-6 (Central (CST)) • Summer (DST)UTC-5 (CDT)ZIP code60082Area code(s)847 & 224GNIS feature ID1781997[1] Techny is a neighborhood of Northbrook, Illinois, United State...

Kembali kehalaman sebelumnya