ПредишенСледващото

Структуриран програмиране - техника, програмиране, който се основава на идеята на програмата като набор от блокове. Unit - част от текста на програмата, която се групират и се възприема като едно цяло. Блоковете могат да се състоят от един или повече оператори са празни или вложени.

Всяка програма е структура, изградена от три вида основни проекти:

- последователно изпълнение - да се извършва веднъж на операциите в реда, в който са записани в програмата;

- разклонения - единично изпълнение на един от два или повече етапи, в зависимост от прилагането на предварително определено състояние;

- цикъл - многократно изпълнение на същите операции, стига да отговарят на предварително зададено условие (Условие за продължаване на цикъла).

основната програма структура могат да бъдат вложени един в друг по произволен начин. Блок започна в друг блок, в една и съща външното тяло, и трябва да приключи. Пресечни блокове не е позволено.

Повтарящи програма (или не се дублират, но е логично холистични изчислителни единици) може да приеме формата на рутинни процедури (процедури или функции). В този случай, в текста на основната програма, вместо да се поставят в рутината на фрагмент, се вмъква оператор подпрограма разговор. При извършване на такъв оператор, наречен подпрограма се изпълнява, а след изпълнението на програмата продължава в изявлението следната команда на подпрограма разговор.

Алгоритъм - последователност от действия, извършвани в програмата. Съставяне на всяко приложение започва с разработването на алгоритъм. Първо, алгоритъмът трябва да бъде разделена на големи блокове и след това да ги усъвършенства последователно, т.е. запълване на "запълване". Някои от тези блокове трябва да отстраняване на грешки отделно писмено особено на основната програма и извършване на различни набори от входни данни. Отстранени грешки блокове могат лесно да бъдат вкарани в основното приложение.

Добре структурирана програма с ясна логика на тяхната работа лесно се развива, отстраняване на грешки, поддържа; значително опростява извършване на промени в тези програми.

Блокова схема - графично представяне на алгоритъм на програмата, или част от него, той помага да поставите изпълними отчети в съответствие с алгоритъма. Графичните изображения значително улесняват възприемането на сложни структури. Ако започнете да се разработи програма, като умишлено блок-схеми, писането на текста на програмата и нейното отстраняване на грешки много по-лесно.

Блоковата схема е изработена от ограничен набор от блокове. както и стрели ги свързва за извършване на процедурата. опростена използват компютърни средства, по-специално изготвянето техника е, пакет MS VISIO или SMART DRAW 5. Тези пакети позволяват създаването на графики на сглобяеми блокове. Блокове лесно мащабирани допълнени надписи са свързани с линии. При преместване блок линия следват блоковете.

До момента имаме предвид и отчетени програми, които имат линейна структура, това е, което са първият вид базови модели. се използват Такива програми:

1) блокира началото и края на всяка програма единица.

2) блок, състоящ се от прости оператори имат един вход и един изход,

програма блокова схема на линейна структура има следната форма:

Блок "действия" могат да включват някои прости оператори.

В по-сложни програми за контрол на реда на изпълнение на операторите са отчети за контрол. Те позволяват да се повтаря една група от изявленията на няколко пъти да пропуснем някои група от оператори и т.н.

Операторите, състоящи се от един ред, наречени прости оператори. Операторите, включително блокове, наречени съставни оператори

Име по избор, могат да бъдат причислени към всяко изявление съединение и трябва да бъде валиден уникално име Fortran, съставен от неговите правила. Ако името на оператора, се определя, то ще трябва да бъде посочено в окончателния си линия. Примери за използване на имена ще бъдат дадени при описанието оператори.

Основните видове контролни отчети - отчети на преход и цикли оператори.

преход оператор променя реда на операциите в сравнение с процедурата, установена в текста на програмата. Условните оператори ви позволяват да изберете един от няколко възможни продължаване на процеса на програмата. Те прилагат втори тип на основни проекти - разклоняване.

Най-широко използваните за условия е изявлението Ако и нейните варианти. В Ако условието за подбор се определя като логически израз. Това е логически израз трябва да бъде затворен в скоби.

Ако операторът - просто твърдение, е писано в един ред, ако няма връщане. Ако операторът е разклонение простия случай - извършване на едно действие на състоянието. Това твърдение е, както следва:

Тук действието - изпълним просто изявление, че ще бъде изпълнено на състоянието на логическия израз е вярно.

Блокова схема на оператора Ако.

Операторът прилага, ако условието е необходимо да се извърши на няколко оператори.

След ключовата дума е написана на същия ред като логическият израз.

Образът на оператора в блок-схемата:

Действие блок може да съдържа произволен брой изпълними отчети (прости и сложни), с изключение на края оператор. Този блок ще бъде изпълнена, ако логическият израз е истина, и няма да се изпълнява, ако е невярно.

Exchange променливите х и у в х

Обърнете внимание на използването на името на оператора.

Ако алтернативните действия, ако дизайн трябва да се извърши. След това тя може да бъде разширена blokomelse:

Предупреждение. След ключовата дума е написана на същия ред като логическият израз, ключова дума друго - на отделен ред. Ако няма "блок невярно», нещо друго, и то е по-добре да не пиша.

Образът на оператора в блок-схемата:

В такава конструкция, при условие определя от логически израз. Това важи и единица. ако условието не е изпълнено - Блокиране на неверни.

Ако операторът с три или повече блокчета

В най-пълната форма Ако операторът. след това. друг може да съдържа няколко блока на алтернативни действия, добавя строителство ElseIf. след това:

единица по подразбиране. извършва при неизпълнение на всички условия

Ключова дума ElseIf, логически израз и slovothen са написани на един ред. Той е един от компонентите на оператора и крайния Endif също само един.

Клонове ElseIf. след това в декларацията може да бъде повече, Else клон може да липсват.

Образът на този дизайн в блок-схемата:

Операторът е както следва: последователно тествани логически изрази в скоби, докато там е вярно. След това проверете спре и съответния блок се изпълнява, а след това се предава контрола operatoruEndif. Ако сред всички условия, не са истински, направете единица по подразбиране. Ако в тази ситуация Else клон липсва, не се предприемат действия, ще бъде изпълнено.

Това е най-честата форма на структурна оператор Ако. Очевидно е, че операторът Ако. след това. друг с две пресечки е специален случай и може да бъде получена чрез премахване на ElseIf клонове. Ако, в допълнение, за да се отстранят клона друго. в отчета Ако ще бъде само една единица.

Нека се опитаме да прилагат един и същ дизайн, използвайки вградения operatoryIf

Лесно е да се провери краткостта и яснотата на мулти operatoraIf.

В пример 2 ясно показва защо всяка единица, вградена в определен проект, се препоръчва да се премине към правото с няколко позиции. Това е добър програмен стил. Текст визуално става по-лесно да се чете.

Ако програмата няколко operatorovIf. можете да дадете име на всеки от тях. Името на агента не е задължително, но ако тя се посочва в заглавието си, тя става задължителна за довършителни оператор линия. Прилагането имена оператора А1, А2, A3, както е показано в Пример 2.

изберете изявление е предназначен за изпълнение на клона, като изберете една от възможностите само един израз се проверява няколко vozmozhnyh.V този проект; стойността му може да бъде цяло число или символ.

Като цяло, един дизайн е както следва:

Блокова схема на оператора да изберете:

В скоби след делото ключовата дума поставени несвързани списъци на ценности и интервали, така че твърдението е - е изпълнението на не повече от един блок дело. Ако стойността на израза не принадлежи към един от тези комплекти, след което устройството по подразбиране

Пример (обхват променлива се определя стойност в зависимост от абсолютната стойност на променливата номер):

Цяло число. Брой, Range

Изберете дело (ABS (номер))

GoTo Безусловно скок

безусловен оператор трансфер вече не се използва. Злоупотреба с объркваща структура на програмата и води до трудно да се открие грешки. Съвременните програмни езици (включително и Fortran) позволява в повечето случаи може да разчита на него.

Операторът има следния вид:

Има маркирате - положително цяло, състоящо се от не повече от пет цифри.

Предупреждение. Ако все пак решите да използвате operatorGoTo. имайте предвид, че на оператора, без етикет, който следва Гото, никога няма да се контрол.

В някои случаи, трябва да попълните заявлението, без да чака физическото края на програмата, например, в случай на явна грешка.

изявление Stop е както следва:

Когато това се изпълнява оператор изпълнение на заявлението се прекратява, мониторът показва поредица от букви записано в изявлението. Стоп линия в декларацията може да се пропусне.

Пример. Спрете използването на оператора, за да се избегне разделянето от 0 или много малък брой.

Деленето на 0 не се случи, тъй като не се приключи преди.

изявление Stop винаги прекъсва прилагането на работа, независимо от това дали тя се използва в основната програма или в подпрограма.

Край оператор се използва за подписване на приключването на програмата за компилатор или подпрограма текста. Край Затова, операторът трябва винаги да бъде последното изявление в програмата или подпрограма.

Върни оператор, за разлика от спирка, тя се използва само в подпрограми. Неговото изпълнение напуска подпрограмата и предава управлението на програмата за разговори.

Един цикъл е кратно изпълнение на същата последователност от операции, стига да отговарят на предварително определено състояние (състояние на продължаване на цикъла). Едно преминаване през цикъла се нарича итерация.

Цикъл на изображението в блок-схемата:

За организиране на цикли, използвани в Fortran цикъл оператор Do.

Преглед на всички сортове konstruktsiiDo:

[Име:] глава цикъл

Има три вида линии в Fortran:

- Loop променлива (с определен брой повторения).

- цикъл ли време (от хипотеза цикъл).

- безкраен цикъл.

Общи правила за всички видове изявление линия:

2) Тялото на цикъла може да съдържа вложени прости и сложни отчети, отчети контур може да бъде вложени в други блокове. блокове на кръстовището не може да бъде: блок, който започна в друг блок, в една и съща външното тяло, и трябва да приключи. Спазването на това правило е опростена, ако програмата е написан на "стълба".

Пример. Тялото на цикъла съдържа Ако операторът.

Смятате К = 1,10 Ако (к<5) then Write(*,*) ‘<5’ Else Enddo Write(*,*) ‘>= 5 "endif

Смятате К = 1,10 Ако (к<5) then Write(*,*) ‘<5’ Else Write(*,*) ‘>= 5 "endif Enddo

3) В цикъла, и само тях. Можете да използвате Exit цикъл и оператори. промяна на реда на операторите.

4) Както и да е съставен израз, цикълът може да се даде име. Името не е задължително, но ако е посочено в цикъла с глава, тя става задължителна за крайния Енд направи.

Exit прекратява извършването на цикъла. Контрол се предава на първия изпълним изявление веднага след цикъла.

Като цяло, излезте от оператор да има име на атрибут на цикъла:

Присъства показва името, от което tsiklanuzhno изход. Ако няма име, на изхода се извършва от текущия цикъл (най-вътрешната или сингъл. Ако няма гнездене).

трансфери Cycle операторски контрол в началото на цикъла. Операторите, намиращи се между Cycle иятел се, не са изпълнени.

Ефектът от тази декларация е еквивалентна на прехода към следващата итерация в течение с посоченото име. Ако цикълът не е завършен, изпълнението му ще продължи със следващата стойност на променливата.

Ако името не е цикъл, операторът на цикъл осигурява прехода към следващата итерация на текущия цикъл.

Примери за използване и operatorovExit цикъла ще бъдат взети предвид при разглеждане на операторите цикъл.

Цикълът на променливата

Цикълът на променливата осигурява число промяна променлива стойност в рамките на предварително определен обхват и предварително определена стъпка. За се изпълнява всяка стойност на променливата блок цикъл на отчети, наречена тялото на цикъла.

Преглед на оператора на цикъл в променливата:

[Име:] Doperemennaya = започне стойност, крайна стойност, стъпка

Ние пренапише това твърдение, въвеждане на система за означаване, използвана за стойностите:

X - число или реална променлива, наречена променливата на цикъла.

хп, XK - числов израз определяне обхвата на х.

стъпка - числов израз, който определя увеличение х. Ако стъпката не е налице, то се приема за 1.

цикъл в променливата изображението в блок-схемата:

Броят повторения на променливата на цикъла

Цикълът на променлив цикъл се нарича още фиксиран брой повторения. Броят на повторенията се изчислява от компилатора съгласно формулата:

Внимание! Формулата показва, че стъпката за качествена промяна на променливата на цикъла може да бъде равен на 0. Възможно е да се получи изпълнение грешка съобщение "дивизия от 0", дори и ако програмата не разполага с никаква операции дивизия.

формула използва функции:

- Int - функция, която определя цялата част от неговата единна аргумент. В тази формула, функцията аргумент Int е аритметичен израз във вътрешните скоби.

- Макс - функция, която избира максималната стойност на своите аргументи. В тази формула, функцията Max два аргумента: 0 (нула), и в резултат на Int на изчисление функция. Ако вторият аргумент - да, това е броя на повторенията, ако е отрицателно, тогава кр = 0. и цикълът няма да бъде проверено, дори веднъж.

Примери за изчисляване на броя на цикъл повторения променливи.

(Xk - Xn + стъпка) / стъпка = (8.7 - 1,25 + 1,1) / 1,1 = 8,55 / 1,1 = 7,77

Int (7.77) = 7; Max (0, 7) = 7; Отговор: кр = 7

(Xk - Xn + стъпка) / стъпка = (4 - 2 + 0,33) / 0,33 = -5,67 / 0,33 = -17,2

Int (-17,2) = -17; Max (0, -17) = 0; Отговор: кр = 0

(Xk - Xn + стъпка) / стъпка = (3 - 1 - 0,33) / (-0,33) = -0,67 / 0,33 = -2,0

Int (-2.0) = -2; Max (0, -2) = 0; Отговор: кр = 0

Примерът показва, че цикълът няма да бъде изпълнен, дори веднъж, това е, KP = 0. когато

Свързани статии

Подкрепете проекта - споделете линка, благодаря!