- произход
- характеристики
- Теория на структурираното програмиране
- Контролни структури
- Последователност или линейна структура
- Структура на решение или алтернативи
- Цикъл или повтаряща се структура с първоначален въпрос
- Независим от езика на програмиране
- Примери за структурирано програмиране
- последователност
- повторение
- селекция
- Структурирано програмиране в Visual Basic
- последователност
- повторение
- селекция
- предимство
- По-ясни програми
- Лесно разбиране
- Недостатъци
- Същият код се повтаря
- Промяната на типовете данни е тромава
- Приложения
- Работа с обекти
- Препратки
В структурно програмиране е разпоредба в проектирането и строителството на софтуер, за да се управляват по-добре сложност, като се вземат предвид особеностите на човешката мисъл. Всяка програма се основава на алгоритъм и може да бъде представена чрез логическа схема.
То възниква от нарастващата сложност на компютърните програми. Тя се превърна в нова програмна схема, която създаде нови техники, за да може да произвежда програми, които са безопасни за работа по-дълго.
Структура на решение и структура на последователността в структурирано програмиране. Източник: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
Благодарение на бързото развитие на компютъризирана обработка на данни, в края на 60-те години беше възможно да се решат все по-сложни проблеми. Разбирането, отстраняването на грешки и модифицирането на тези програми обаче създаваха трудности, които ги правеха ненадеждни.
Големите компютърни програми, създадени за тези проблеми, имат изходните кодове толкова дълги и неструктурирани, че са станали доста сложни за достъп и навигиране с някаква логика, дори за собствените им автори.
произход
Програмистите използваха командата "goto" в програмните езици, за да извършат условно разклоняване, което често водеше до четене и логически контекст не беше запазен.
В тази софтуерна криза започна да се разглежда дали общата и дисциплинирана методология може да бъде систематично разработвана, която да позволи по-усъвършенствани програми. Като отговор на този подход се роди методът на структурирано програмиране.
През 1968 г. Dijkstra публикува статията "Goto, командата счита за вредно", където посочва, че безразборното използване на тази команда има отрицателен ефект върху четливостта и разбирането на компютърните програми.
Niklaus Wirth проектира нов език за програмиране, наречен Pascal, издаден през 1970 г. Оттогава той се използва широко за преподаване на дизайна на структурирано програмиране.
характеристики
Този режим на програмиране се характеризира с факта, че програмистите могат да фрагментират изходния код на своите програми в логически структурирани блокове, състоящи се от бримки, логически блокове и условни команди.
Целта на структурираното програмиране е да се правят програми, които са лесни за писане, отстраняване на грешки и промяна. Получените програми са ясни, подредени, разбираеми, без скокове.
Теория на структурираното програмиране
Dijkstra разработи теория, свързана със структурирано програмиране, която посочи, че при проектирането на всяка програма е удобно да се вземат предвид следните основи:
- Структурната теорема, която гласи, че всяка програма може да бъде съставена, като се използват само три основни структури за управление: последователна структура, алтернативна структура и повтаряща се структура.
- При очертаване на програмите се увещава да се прилага техниката на спускане, наричана също отгоре надолу.
- Диапазоните на валидност и видимост на променливите и структурите на данните трябва да бъдат ограничени.
Контролни структури
Структурната теорема показва, че всеки алгоритъм с една начална и крайна точка може да бъде съставен като състав от три контролни структури.
Чрез логическото и ясно програмиране на тези поддържани контролни структури, структурираното програмиране позволява ефективен подход към функциите с всякаква степен на трудност.
Последователност или линейна структура
Тази структура е просто последователността или последователността на две или повече операции или команди.
Структура на решение или алтернативи
Това е избор на команда между две възможни алтернативи. Също така е позволено да избирате между повече от две алтернативи.
Цикъл или повтаряща се структура с първоначален въпрос
Определени команди се повтарят, докато се изпълни определено условие. Цикълът може да се извърши и с брояч.
Независим от езика на програмиране
Структурираното програмиране се основава на добре дефинирани функционални модули, подредени според спецификата на проблема. Това програмиране е независим метод на езика за програмиране, действа по-скоро като стил на програмиране.
Това е начин за разработване на програми, следвайки добре установени правила, като се използва определен набор от контролни структури за това.
Структурираното програмиране позволява програмите да се пишат в псевдокод, независимо от езика на машината, близък до естествен, конвертируем във всеки език за програмиране.
Примери за структурирано програмиране
Почти всеки фрагмент от примерен код във всеки съвременен език за програмиране ще бъде пример за структурирано програмиране.
Това програмиране използва контури, условни и подпрограми, за да контролира потока и модулността, за да улесни кода за четене и повторна употреба.
последователност
Списък с изявления може да бъде изпълнен в ред, отгоре надолу. В този случай като пример е дадена програма за естествен език за печене на хляб:
- Добавете брашното.
- Добавете мая.
- Добавете сол.
- Смесват.
- Добавете вода.
- Омесете.
- Оставете тестото да втаса.
- Да се пекат.
повторение
Блок изявления се повтаря, докато условието е вярно. Например: миене на чинии.
селекция
Най-много едно действие е избрано от няколко алтернативни условия. Например: поръчайте пощата.
Структурирано програмиране в Visual Basic
последователност
Линиите или блоковете от кода се записват и изпълняват в последователен ред. Например, имате:
x = 6
у = 12
z = x + y
WriteLine (z)
повторение
Кодов блок се повтаря, докато е изпълнено условието. Няма ограничение за броя на изпълненията на блока. Пример:
x = 2
Докато х <100
WriteLine (x)
x = x * x
Край
селекция
Блок код се изпълнява, ако условието е вярно. Кодовият блок работи най-много веднъж. Пример:
x = ReadLine ()
Ако x Mod 2 = 0
WriteLine ("Числото е четно")
Край на да
предимство
- Те са програми, които отговарят на нуждите на клиентите.
- Въпреки че първоначално се генерира код, той често води до код, който се изпълнява без грешки при първото му изпълнение.
- Подобно е на речника на думи и символи на английски.
- Лесно е да се справят промените в програмата с нови спецификации в бъдеще.
- Те са по-лесни за поддръжка.
- Лесен е за използване и разбиране. В крайна сметка е необходимо по-малко време за писане на кода. По-лесно е да се учи.
- Програмата, написана на език на високо ниво, може да бъде преведена на много машинни езици. Следователно той може да се стартира на всеки компютър, за който има подходящ преводач или компилатор.
- Те са предимно проблемно ориентирани, а не ориентирани към машината.
- Тя е независима от компютъра, на който се използва. С други думи, програми, разработени на езици на високо ниво, могат да се стартират на всеки компютър.
По-ясни програми
Структурираното програмиране намалява възможността една функция да повлияе на друга. Това прави програмите по-ясни, тъй като глобалните променливи са премахнати, за да бъдат заменени с локални променливи.
Поради тази промяна, пространството за разпределение на паметта, което заема глобалната променлива, може да бъде запазено.
Лесно разбиране
Организацията помага лесно да се разбере логиката на програмиране, за да се разбере логиката зад програмите.
Той също така помага на новодошлите от всяка технологична компания да разберат програми, създадени от други работници в бранша, като по този начин улесняват отстраняването на грешки в потенциалния код.
Недостатъци
- Преводачът или компилаторът трябва да преведе езика на високо ниво в машинен език. Следователно трябва да се плаща цена при използване на компютърно време.
- Обектният код, генериран от компилатора, може да бъде неефективен в сравнение с еквивалентна програма за език за сглобяване.
Същият код се повтаря
Кодът, който е написан, може да се появи в различни части на програмата. Той може да бъде уязвим за различни проблеми поради местоположението си. Програмите имат променливи, което означава, че те могат да приемат различни стойности в различни части на програмата.
Промяната на типовете данни е тромава
Типът на данните идва от много функции. Следователно, когато настъпят промени в този тип данни, съответната промяна трябва да се направи на всяко място, което действа върху този тип данни в рамките на програмата. Това е наистина отнемаща време задача, ако програмата е много голяма.
Може да се разглежда случаят с разработка на софтуер, при който няколко програмисти работят като екип в приложение. В структурирана програма всеки програмист ще бъде назначен да изгради определен набор от функции и типове данни.
Следователно различните програмисти отделно ще се справят с различни функции, които имат типове данни, споделени помежду си.
Останалите програмисти в екипа трябва да отразяват промените в типовете данни, направени от програмист, в типовете данни, които са обработвали. В противен случай ще трябва да се пренапишат няколко функции.
Приложения
Структурираното програмиране работи добре за милиони програми и милиарди редове код. Няма причина да го изхвърлите.
По-специално, той работи изключително добре за програми, които обработват данни и за обработка на номера, като и двете се стартират веднъж, за да се получи отговор.
Две характеристики обикновено определят добре проблемите, към които може да се подходи по чисто структуриран начин:
- Данните, които ще се обработват, съответстват точно на видовете данни, които са интегрирани в езика, като обикновено са числа и символни низове.
- Програмата следва добре дефиниран поток от контрол, за да генерира единичен резултат въз основа на някакъв вход.
Компютърните програми с тези характеристики включват много научни, инженерни и текстообработващи приложения, в допълнение към много от примерите за учебници от традиционните курсове по компютърни науки.
Не е изненадващо, че това са точно видовете програми, които първите хора, измислили езици за програмиране, искаха да решат.
Работа с обекти
Повечето съвременни езици за програмиране са структурирани по този начин: това, което имате в програмата си, са обекти и повечето код се състои от различни методи за използване на данните, съхранени в тези обекти.
Структурираната програма обикновено контролира какво се случва и кога се случва, докато програмата, базирана на събития, трябва да може да реагира на събития в непредвидими моменти.
Препратки
- MVPS (2020). Структурирано програмиране. Взета от: mvps.net.
- Алексей (2019). Парадигма за структурирано програмиране. Medium. Взета от: medium.com.
- Включете помощ (2020). Структурирано програмиране, неговите предимства и недостатъци. Взета от: includehelp.com.
- Тим Трот (2019). Структурирани езици за програмиране. Lonewolf Online. Взета от: lonewolfonline.net.
- Портал на OO (2020). Използване и предимства на традиционното, структурирано програмиране. Взета от: ooportal.com.
- Studeer Snel (2020). Заключителен преглед - Обобщени приложения за структурирано програмиране. Взето от: studeersnel.nl.