- Порекло
- карактеристике
- Теорија структурираног програмирања
- Контролне структуре
- Секвенца или линеарна структура
- Структура одлуке или алтернативе
- Петља или понављајућа структура с почетним питањем
- Независно од програмског језика
- Примјери структурираног програмирања
- Низ
- Понављање
- Избор
- Структурирано програмирање у Висуал Басиц-у
- Низ
- Понављање
- Избор
- Предност
- Јаснији програми
- Лако разумевање
- Недостаци
- Исти код се понавља
- Променити врсте података је незгодно
- Апликације
- Руковање објектима
- Референце
Структурисана програмирање је одредба у пројектовању и изградњи софтвера, како би се боље управљају комплексност, узимајући у обзир специфичности људске мисли. Сваки програм заснован је на алгоритму и може се представити логичком схемом.
Настала је из све веће сложености рачунарских програма. Постала је нова програмска шема која је створила нове технике како би се могли производити програми који су безбедни за рад дуже.
Структура одлуке и структура секвенци у структурираном програмирању. Извор: И.хидеказу ЦЦ БИ-СА (хттпсцреативецоммонс.орглиценсесби-са4.0)
Захваљујући брзом развоју компјутеризоване обраде података, крајем шездесетих година прошлог века било је могуће решити све сложеније проблеме. Међутим, разумевање, уклањање погрешака и модификација ових програма представљали су потешкоће због којих су постали непоуздани.
Велики рачунарски програми направљени за ове проблеме имали су изворне кодове толико дугачке и неструктуриране да су постали прилично компликовани за приступ и кретање по некој логици, чак и за властите ауторе.
Порекло
Програмери су користили наредбу "гото" у програмским језицима да би извршили условно гранање, што је често доводило до читљивости и логички контекст није сачуван.
У тој софтверској кризи почело се разматрати може ли се систематски развити општа и дисциплинована методологија која би омогућила више рафинираних програма. Као одговор на овај приступ настао је метод структурираног програмирања.
Дијкстра је 1968. објавио чланак „Гото, команда се сматра штетним“, где је истакао да би неселективна употреба ове наредбе негативно утицала на читљивост и разумевање рачунарских програма.
Никлаус Виртх дизајнирао је нови програмски језик под називом Пасцал, објављен 1970. Од тада се интензивно користи за подучавање дизајна структурног програмирања.
карактеристике
Овај начин програмирања карактерише чињеница да програмери могу фрагментирати изворни код својих програма у логички структуриране блокове, који се састоје од петљи, логичких блокова и условних наредби.
Циљ структурираног програмирања је направити програме који се лако пишу, отклањају грешке и мењају. Добивени програми су јасни, наручени, разумљиви, без скокова.
Теорија структурираног програмирања
Дијкстра је развио теорију повезану са структуираним програмирањем, која је указивала да је при дизајнирању било којег програма прикладно узети у обзир следеће основе:
- Структурна теорема која каже да се било који програм може саставити користећи само три суштинске управљачке структуре: секвенцијалну структуру, алтернативну структуру и понављајућу структуру.
- Када се наводе програми, препоручује се примена силазне технике, која се такође назива одозго према доле.
- Распони валидности и видљивости променљивих и структура података морају бити ограничени.
Контролне структуре
Структурна теорема указује да сваки алгоритам с једном почетном и завршном тачком може бити састављен као састав три контролне структуре.
Логично и јасно програмирањем ових подржаних управљачких структура, структурирано програмирање омогућава ефикасан приступ функцијама са било којим степеном потешкоће.
Секвенца или линеарна структура
Ова структура је једноставно редослед или сукцесија две или више операција или наредби.
Структура одлуке или алтернативе
То је избор наредбе између две могуће алтернативе. Такође је дозвољено бирати између више од две алтернативе.
Петља или понављајућа структура с почетним питањем
Одређене команде се понављају све док је испуњен одређени услов. Циклус се такође може извести бројилом.
Независно од програмског језика
Структурирано програмирање темељи се на добро дефинисаним функционалним модулима, рангираним према специфичној природи проблема. Ово програмирање је независна метода програмског језика, делује више као стил програмирања.
То је начин осмишљавања програма пратећи добро утврђена правила, користећи одређени скуп контролних структура за то.
Структурирано програмирање омогућава да се програми пишу у псеудо-коду, независно од машинског језика, блиског природном, конвертирајућег у било који програмски језик.
Примјери структурираног програмирања
Готово сваки исјечак узорка кода у било којем савременом програмском језику биће пример структурираног програмирања.
Ово програмирање користи петље, условљавање и подпрограме за контролу протока и модуларности како би се код лакше читао и поново користио.
Низ
Листа изјава може се извршити редом, од врха до дна. У овом случају, као пример је дат програм природног језика за печење хлеба:
- Додајте брашно.
- Додајте квас.
- Додајте со.
- Мик.
- Додајте воду.
- Месити.
- Пустите да се тесто дигне.
- Испећи.
Понављање
Блок изјава понавља се све док је услов тачан. На пример: прање посуђа.
Избор
Највише се једна радња бира између неколико алтернативних услова. На пример: наручите пошту.
Структурирано програмирање у Висуал Басиц-у
Низ
Линије или блокови кода пишу се и извршавају редоследом. На пример, имате:
к = 6
и = 12
з = к + и
ВритеЛине (з)
Понављање
Блок кода се понавља док је испуњен услов. Не постоји ограничење броја извршења блока. Пример:
к = 2
Све док је к <100
ВритеЛине (к)
к = к * к
Крај
Избор
Блок кода се извршава ако је услов тачан. Блок кода ради највише одједном. Пример:
к = РеадЛине ()
Ако је к Мод 2 = 0
ВритеЛине ("Број је паран")
Крај да
Предност
- То су програми који задовољавају потребе купаца.
- Иако је почетно генерирање кода дуже времена, оно често резултира кодом који се покреће без грешака при првом покретању.
- Сличан је речнику речи и симбола на енглеском језику.
- У будућности је лако управљати променама програма са новим спецификацијама.
- Лакше су за одржавање.
- Лако је за употребу и разумевање. На крају је потребно мање времена за писање кода. Лакше је научити.
- Програм написан на језику високог нивоа може се превести на више машинских језика. Због тога се може покренути на било ком рачунару за који постоји одговарајући преводилац или преводилац.
- Пре свега су оријентисани на проблем пре него на машину.
- Независно је од рачунара на којем се користи. Другим речима, програми развијени на језицима високог нивоа могу се покретати на било ком рачунару.
Јаснији програми
Структурирано програмирање смањује могућност да ће једна функција утицати на другу. Ово чини програме јаснијим, пошто се глобалне променљиве уклањају и замењују их локалним променљивим.
Због ове промене може се сачувати простор за доделу меморије који глобална променљива заузима.
Лако разумевање
Организација помаже да се лакше разуме логика програмирања, како би се разумела логика програма.
Такође помаже придошлицама било које технолошке компаније да разумију програме које су креирали други радници у индустрији и на тај начин олакшава уклањање погрешака кодова.
Недостаци
- Преводилац или преводилац мора превести језик високог нивоа у машински језик. Стога се мора платити цена током коришћења рачунарског времена.
- Објектни код генерисан од стране преводиоца може бити неефикасан у поређењу са еквивалентним програмом језика монтаже.
Исти код се понавља
Код који је написан може се појавити у различитим деловима програма. Због своје локације може бити рањив на разне проблеме. Програми имају варијабле, што значи да могу примити различите вредности у различитим деловима програма.
Променити врсте података је незгодно
Врста података долази из многих функција. Стога, када се промене у тој врсти података, одговарајуће промене морају се извршити на свакој локацији која делује на ту врсту података у програму. Ово је заиста дуготрајан задатак ако је програм веома велики.
Може се размотрити случај развоја софтвера, где неколико програмера ради као тим у апликацији. У структурираном програму, сваком програмеру ће бити додељено да изгради одређени скуп функција и типова података.
Због тога ће различити програмери одвојено управљати различитим функцијама које имају заједничке типове података.
Остали програмери у тиму требало би да одражавају промене у типовима података које је направио програмер, у врстама података којима су обрађивани. У супротном ће се морати прерадити више функција.
Апликације
Структурирано програмирање добро је функционирало за милионе програма и милијарде линија кода. Нема разлога да га одбаците.
Конкретно, изузетно је добро радио за програме који обрађују податке и за обраду бројева, а оба се покрећу једном да би произвели одговор.
Две карактеристике имају тенденцију да добро дефинишу проблеме којима се може приступити на потпуно структуриран начин:
- Подаци којима се рукује уско одговарају типовима података који су интегрисани у језик, обично су бројеви и низови знакова.
- Програм прати добро дефинисан ток контроле како би створио јединствен резултат на основу неких података.
Рачунарски програми са овим карактеристикама укључују бројне научне, инжењерске и апликације за обраду текста, поред многих примера из уџбеника традиционалних курсева рачунарске науке.
Није изненађујуће што су управо те врсте програма желели да реше први људи који су измислили програмске језике.
Руковање објектима
Већина модерних програмских језика је структуирана на овај начин: оно што имате у свом програму су објекти, а већина кода састоји се од различитих метода употребе података похрањених у тим објектима.
Структурирани програм генерално има контролу над оним што се догађа и када се догађа, док програм заснован на догађајима мора бити у стању да одговори на догађаје у непредвидивим временима.
Референце
- МВПС (2020). Структурирано програмирање. Преузето са: мвпс.нет.
- Алекеи (2019). Парадигма структурираног програмирања. Средња. Преузето са: медиум.цом.
- Укључи помоћ (2020). Структурирано програмирање, његове предности и недостаци. Преузето са: инцлудехелп.цом.
- Тим Тротт (2019). Структурни језици програмирања. Лоневолф Онлине. Преузето са: лоневолфонлине.нет.
- ОО Портал (2020). Употреба и предности традиционалног, структурираног програмирања. Преузето са: оопортал.цом.
- Студеер Снел (2020). Завршни преглед - Сажетак апликација структурираног програмирања. Преузето са: студеерснел.нл.