Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Примечание. Появление и интенсивное использование условных операторов и оператора безусловного перехода стало предметом острых дискуссий среди специалистов по
Появление и интенсивное использование условных операторов и оператора безусловного перехода стало предметом острых дискуссий среди специалистов по программированию. Дело в том, что бесконтрольное применение в программе оператора безусловного перехода goto способно серьезно осложнить понимание кода. Соответствующие программы стали сравнивать со спагетти, называя их bowl of spaghetti, имея в виду многочисленные переходы от одного фрагмента программы к другому, или, что еще хуже, возврат от конечных операторов программы к ее начальным операторам. Ситуация казалась настолько драматичной, что в литературе зазвучали призывы исключить оператор goto из языков программирования. Именно с этого времени принято считать хорошим стилем программирования – программирование без goto. Рассмотренные идеи способствовали становлению некоторой системы взглядов на процесс разработки программ и написания программных кодов, которая Получила название методологии структурного программирования. Основой данной методологии является процедурная декомпозиция программной системы и организация отдельных модулей в виде совокупности выполняемых процедур. В рамках данной методологии получило развитие нисходящее проектирование программ или программирование «сверху‑вниз». Период наибольшей популярности идей структурного программирования приходится на конец 70‑х‑начало 80‑х годов. Как вспомогательное средство структуризации программного кода было рекомендовано использование отступов в начале каждой строки, которые должны выделять вложенные циклы и условные операторы. Все это призвано способствовать пониманию или читабельности самой программы. Данное правило со временем было реализовано в современных инструментариях разработки программ. Ниже приводится пример листинга программы на языке Pascal, который иллюстрирует эту особенность написания программ. Листинг 1.1. Пример фрагмента программы на Pascal, разработанной с использованием правил структурного программирования
Procedure FirstOpt; Begin FuncRaz(Free, Rn); for i:=1 to N do RvarRec[i]:=Rn[i]; FvarRec:=Freс; NumIt:=0; Repeat NumIt:=NumIt+1; V:=Freс; for j:=1 to К do for 1:=1 to M do begin S:=0.0; T:=0.0; for i:=1 to N do begin T:=T+sqr(W1[i,j])*Xpr[i,1]; S:=S+sqr(W1[i,j]); end; Zentr[j,1]:=T/S; end; for j:=1 to К do for i:=1 to N do begin S:=0.0; P:=0.0; Q:=0.0; for l:=1 to M do S:=S+sqr(Xpr[i,l]‑Zentr[j,l]); P:=1.0/S; end; Q:=0.0; D:=0; for i:=1 to N do for j:=1 to К do if Abs(W1[i,j]‑W2[i,j])›= Eps then D:=1; for i:=l to N do for j:=1 to К do W1[i,j]:=W2[i,j]; Until (D=0) or (NumIt=NumMax); End; В этот период основным показателем сложности разработки программ считали ее размер. Вполне серьезно обсуждались такие оценки сложности программ, как количество строк программного кода. Правда, при этом делались некоторые предположения относительно синтаксиса самих строк, которые должны были удовлетворять определенным правилам. Общая трудоемкость разработки программ оценивалась специальной единицей измерения – «человеко‑месяц» или «человеко‑год». А профессионализм программиста напрямую связывался с количеством строк программного кода, который он мог написать и отладить в течение, скажем, месяца.
Date: 2015-09-17; view: 374; Нарушение авторских прав |