Принципы модульного программирования

Принципы модульного программирования

Большая Энциклопедия Нефти и Газа

Принцип — модульное программирование

Принцип модульного программирования заключается в том, что исходную задачу разбивают на более простые подзадачи. Это разбиение по возможности стараются выполнить так, чтобы в качестве отдельных подзадач фигурировали задачи, для решения которых уже имеются готовые ( разработанные ранее) программы. Разработку новых программ при этом необходимо выполнять так, чтобы при необходимости их можно было также ипользовать в качестве составных частей для решения других задач. [1]

Принцип модульного программирования заключается в том, что исходную задачу разбивают на более простые подзадачи. Это разбиение по возможности стараются выполнить так, чтобы в качестве отдельных подзадач фигурировали задачи, для решения которых уже имеются готовые ( разработанные ранее) программы г Разработку новых программ при этом необходимо выполнять так, чтобы при необходимости их можно было также ипользовать в качестве составных частей для решения других задач. [2]

Принцип модульного программирования состоит в разбиении вычислительного процесса на ряд независимых элементарных процессов, которые реализуются в виде программных модулей. [3]

В структуре всех программ последовательно реализуется принцип модульного программирования , который требует, чтобы функционально независимые части программ и все замкнутые подпрограммы общего пользования оформлялись в виде стандартных модулей загрузки ( в ДОС / ЕС — объектные модули), допускающих объединение с другими модулями и загрузку в любое место памяти. Отметим, что это требование относится не только к стандартным библиотечным подпрограммам, но и ко всем без исключения системным и прикладным программам. [4]

Программное обеспечение АСНИ Надежность основано на принципе модульного программирования . Оно представляет собой четырехуровневый комплекс программных модулей, позволяющий формировать из них программы для решения задач ( транзакций), в том числе и вновь возникающих. [5]

Дальнейшее изложение ( глава 15) отражает принципы модульного программирования . Читатель узнает, как разбить программу на программные модули и как организовать связь между ними. Здесь же программист знакомится с основными атрибутами модуля, которые необходимы для редактирования связей при объединении программ. [6]

Если отдельные блоки будут разрабатываться различными программистами ( принцип модульного программирования рассматривается в § 14.8), то программисты сразу же должны установить связи между блоками. После этого содержимое крупных блоков детализируется до уровня, определяемого входным языком ( Ассемблера, PL / 1, КОБОЛ, ФОРТРАН), который предполагается использовать для составления программы. В случае когда отдельная программа входит в комплекс программ, реализующий какой-то проект, ориентация делается на язык, который был выбран общим для всей разработки. Если задача носит вычислительный характер, программист должен обратить внимание на выбор численного метода ее решения, режим выполнения арифметики ( с фиксированной или плавающей точкой) и при необходимости принять меры к тому, чтобы получить максимальную точность вычислений. При описании данных необходимо быть внимательным к формату данных и их масштабированию. [8]

При создании хорошо структурированных программ особые удобства представляются с использованием принципов модульного программирования . [9]

На основе идей метода расщепления и принципов модульного программирования для каждого класса задач выбирается некоторое базисное множество алгоритмов универсального назначения, которые реализуются на ЭВМ в виде библиотеки программ-модулей, составляющих ядро функционального наполнения ППП. При наличии такой библиотеки упрощается процесс конструирования численных моделей. Если структура моделей задана, этот процесс во многих случаях сводится к объединению библиотечных программ в единый комплекс. Таким образом, численная модель, построенная на принципах метода расщепления и модульного программирования, имеет блочную структуру. Учет в модели новых факторов может осуществляться посредством введения новых этапов в схему расщепления и новых модулей в библиотеку. [10]

Влияние языков программирования на возможность декомпозиции большого программного комплекса на отдельные программные единицы проявляется в двух аспектах. Во-первых, необходимо понимать, насколько языки программирования поддерживают принцип модульного программирования . А для этого необходимо предварительно проанализировать имеющиеся в языках программирования механизмы абстракции. Во-вторых, необходимо понимать степень независимости модулей друг от друга, обеспечиваемую языками программирования. [11]

ОС должна обладать свойством адаптируемости, структурной гибкости, способностью изменяться и пополняться новыми программными компонентами. Обеспечение адаптируемости, расширения функций и возможностей операционной системы с целью использования ее с новой аппаратурой, для новых областей применения и с новыми программными компонентами по мере их появления достигается с наименьшими затратами при использовании принципа модульного программирования . Модульное программирование состоит в разбиении всего процесса обработки информации на ряд элементарных процессов или модулей. В применении к операционной системе модульное программирование сводится к разбиению ее программ на модули, каждый из которых специализирован на управлении определенной совокупности операций, выполняемых в вычислительной системе. При этом один и тот же модуль может использоваться для нескольких программ. Модули могут формироваться и отлаживаться независимо друг от друга. [12]

Первый принцип контроля — принцип сегментации — основан на классическом подходе разделения сложной задачи на ряд небольших подзадач, которые в последующем рассматриваются как самостоятельные. Аргументы в пользу контроля программ по небольшим частям точно такие же, как и при кодировании модулей. При применении принципов модульного программирования модули кодируются и контролируются в отдельности, а затем выполняется интеграция модулей в систему. [13]

Показатели, приведенные в таблице 1, дают общее представление о качестве кода проекта. Во-первых: проект состоит из 2 файлов и 4 функций, это свидетельствует о том, что принцип модульного программирования , скорее всего, соблюдается. Это, скорее всего, признак удобочитаемости кода, т.е. признак того, что логические блоки отделены пустыми строками. [15]

Принципы модульного программирования

Модульное проектирование – наиболее очевидная вещь в технологии программирования. Тем более, что любая промышленная технология производства рано или поздно приходит к сборке сложных изделий из набора совместимых и взаимозаменяемых деталей. Никому не надо объяснять термин «интерфейс». Тем не менее, наиболее сложно соблюдать эту заповедь: разрабатывать модульные программы. Отчасти это происходит потому, что взаимодействие модулей в программе несколько отличается от взаимодействия между модулями в другой технической системе.

Особенности функции как модуля

Итак, формальные и фактические параметры имеют принципиально разный синтаксис: описания переменных (определения) и использования их (выражения). Связь между ними также устанавливается в момент вызова динамически.

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

Рассмотренная модель может быть применима сама к себе: реальная программа представляет собой иерархию вызовов функции, а формальные параметры функции верхнего уровня могут быть фактическими параметрами в следующем (вложенном) вызове.

Итак, главное необходимое условие модульного программирования – научиться абстрагироваться от конкретных обрабатываемых данных и выносить их «за пределы» проектируемого алгоритма.

По отношению к результату функции можно сформулировать те же самые принципы: результат – это обобщенное значение, которое возвращается после вызова функции в конкретное выражение, где расположен вызов.

Второй случай появления модулей связан с эффектом «де жа вю»: если в процессе разработки алгоритма возникает непреодолимое желание повторить уже выполненную последовательность действий, возможны следующие варианты:

· выполнить goto к имеющемуся фрагменту (категорически не рекомендуется);

· повторить текст фрагмента в новом месте (не эффективно);

· оформить повторяющийся фрагмент в виде модуля с вызовом в двух точках программы (лучше всего).

Примеры модульного проектирования

Поскольку проверка, является ли число простым, будет применяться многократно по отношению как к самому числу, так и к его частям, функцию проверки, является ли заданное число простым, оформим в виде функции, применив тем самым принцип модульного программирования.

//—— Функция проверки, является ли число простым

if (a==0) return 0; // 0 это не простое число

< if ( a % n ==0) return 0 ; >// Если делится, можно выйти сразу

return 1;> // Дошли до конца — простое

Дополнительная проверка «крайностей»: 1 является простым числом, но для нее цикл не выполнится ни разу и будет возвращена «истина». 0, вообще говоря, простым числом не является, поэтому должен быть «отсечен».

1. Сам алгоритм представляет собой полный перебор n —значных чисел. Прежде всего, необходимо получить сам диапазон. Для этого 1 умножается в цикле n раз на 10. Верхняя граница – в 10 раз больше нижней. Полученные числа сохранять не будем, будем просто выводить.

Читать еще:  Программирование ассемблер онлайн

void super(int n)<

If ( PR ( a )==0) continue ;

for ( long ll =10; ll

//——- Супер-простое число с n значащими цифрами

void super(int n)<

if (PR(a)==0) continue;

for (long ll=10; ll

if ( PR ( a / ll )==0) // Проверка старшей части

break ; // Не простое досрочный выход

if ( PR ( a % ll )==0) // Проверка младшей части

break ; // Не простое досрочный выход

if ( ll == v ) // Достигли конца все простые

Возможны различные варианты решения этой задачи, в частности, можно попытаться по максимуму свести эту задачу к стандартным. Например, запомнить в массиве пары характеристик каждого слова: начало и длина. Затем отсортировать массив по длинам любым известным способом. После чего переписать слова в выходную строку, зная их начала в исходной.

Мы рассмотрим более компактный вариант, использующий естественное представление и преобразование данных. Если найти в строке слово с минимальной характеристикой (минимальной длины или первое по алфавиту), то после переписывания в выходную строку его можно удалить, заменив пробелами. Последовательное применение этого действия к исходной строке даст нам сортировку выбором. Программу в такой постановке можно разбить на три модуля :

· поиск слова с минимальной характеристикой;

· основная функция – выбор и переписывание слов;

· функция сравнения двух слов в одной строке по алфавиту.

При помощи функции поиска можно выполнить упорядочение слов по длине. Данный пример является хорошей иллюстрацией сущности сортировки выбором, приведенной в 2.6 для обычных массивов: из входного множества объектов (последовательности) выбирается минимальный (максимальный) и переносится в выходное. Наглядность программы состоит в том, что найденное слово удаляется из входной строки путем его «забивания» пробелами.

Выделение отдельного модуля и его проектирование начинается с определения интерфейсов – заголовков функций. Если функция поиска слова с минимальной характеристикой возвращает индекс его в строке (или -1 при отсутствии слов), то основная функция сортировки записывается в виде двойного цикла.

///—- Сортировка слов в строке в порядке возрастания (выбором)

void sort(char in[], char out[])<

out[i]=in[k]; in[k]=’ ‘; // Переписать с затиранием

out[i++]=’ ‘; // После слова добавить пробел

out[i]=0;> // В конце – конец строки

Используется присваивание результата вызываемой функции «на лету» k=find1(in), т.к. он проверяется на -1, а затем используется в теле цикла. В теле цикла происходит простое копирование символов, во входной строке используется индекс k – возвращенный функцией поиска, в выходной строке – собственный линейно изменяющийся индекс записи – i . Одновременно после копирования символ заменяется на пробел.

//—- Поиск слова с минимальной характеристикой

// «грязная программа» — пословная обработка

void find0(char in[])<

while (in[i]==’ ‘) i++; // Пропуск пробелов перед словом

if ( in [ i ]==0) return ; // После пробелов нет слова — выход

> // Цикл просмотра слова

Для варианта с выбором слова минимальной длины можно просто доработать эту функцию: внести в цикл, движущийся по символам слова, счетчик длины и добавить контекст сравнения на минимум.

//—- Поиск слова максимальной длины пословная обработка

int find1(char in[])<

int i =0, k , m =0, b =-1;

while (in[i]==’ ‘) i++; // Пропуск пробелов перед словом

if (in[i]==0) return b;

for (k=0;in[i]!=’ ‘ && in[i]!=0; i++,k++); // Подсчет длины слова

Для варианта сортировки по алфавиту удобнее вынести сравнение двух слов в строке в отдельную функцию, хотя она и будет вызываться один раз. Это нужно, чтобы изменения, вносимые в «грязную» программу, были минимальными и обозримыми. Сама функция представляет собой простой цикл попарного сравнения с обнаружением первого расхождения.

# define CMP ( i ) ( c [ i ]==0 || c [ i ]==’ ‘) // Определение подстановки — проверка

//—- Сравнение слов в строке // символа на конец слова

int my_cmp(char c[], int i1, int i2)<

if (CMP(i1) && CMP(i2)) // первого расхождения

return 0; // Кончились одновременно — равны

if (CMP(i1)) return -1; // Одно кончилось раньше другого

if (CMP(i2)) return 1;

if (c[i1]!=c[i2]) return c[i1]-c[i2]; // Обнаружено расхождение

i1++; i2++; // Иначе – к следующей паре

В функцию поиска минимального слова по алфавиту в точке обнаружения начала слова нужно вставить стандартный контекст запоминания минимального, в котором вызывается функция сравнения для текущего слова (индекс i ) и слова, которое считается минимальным (индекс b ). Для первого сравнения устанавливается и проверяется «защелка» b=-1 .

//—- Поиск слова минимального по алфавиту

int find2(char in[])<

while (in[i]==’ ‘) i++; // Пропуск пробелов перед словом

Модульный принцип программирования

Часто в разных программах приходится многократно выполнять одни и те же действия. Например, выводить окно с предупреждением о невозможности отмены какого-либо действия. Естественным в таких случаях является использование библиотек, содержащих подпрограммы (процедуры) для выполнения стандартных действий. Такие «заготовки» можно использовать в качестве строительных «кубиков» при создании программы.

Эта идея была реализована в виде возможности подключения к программе модулей – библиотек готовых подпрограмм. Программист может не только использовать стандартные библиотеки процедур, но и создавать свои собственные модули.

При использовании библиотечных модулей всегда возникает проблема их состыковки с программой. Для облегчения этой работы, были разработаны стандарты, которые позволяют записывать библиотечные подпрограммы в форме, максимально облегчающей такую состыковку.

При программировании сверху вниз алгоритмы и данные делятся на относительно независимые части, называемые модулями. Некоторые из модулей являются стандартными и поставляются в составе языков программирования, например, вычисление элементарных математических функций квадратный корень, логарифм, синус и т. д. Но главные модули все равно приходится проектировать программистам.

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

Модульность — в языках программирования — принцип, согласно которому программное средство (программа, библиотека, web-приложение и др.) разделяется на отдельные именованные сущности, называемые модулями.

§ один вход и один выход – на входе программный модуль получает определенный набор исходных данных, выполняет содержательную обработку и возвращает один набор результатных данных, т.е. реализуется стандартный принцип IPO (Input — Process — Output) – вход-процесс-выход;

§ функциональная завершенность – модуль выполняет перечень регламентированных операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки;

§ логическая независимость – результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей;

§ слабые информационные связи с другими программными модулями – обмен информацией между модулями должен быть по возможности минимизирован;

§ обозримый по размеру и сложности программный элемент.

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

Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело – способ реализации процесса обработки.

Модульный принцип написания программ самый старый по возрасту принцип программирования. Модульным он назван потому, что каждая задача для предстоящего программирования разбивается на какие-то цельные завершенные части. И программирование ведется исключительно по этим частям – написали часть номер 1, протестировали ее, написали часть номер 2, протестировали ее – потом все вместе собрали и получили программный продукт. То есть программу в конечном итоге можно представить в виде мозаики, которую сначала рисует, а потом и собирает вместе программист. Большим плюсом данного подхода (и, собственно, причиной, по которой он появился) является возможность работы над программой не одного программиста, а нескольких или даже нескольких групп программистов. Простые и близкие языки модульного принципа – Pascal, и C, Phyton и даже Perl.

Модульное программирование – это организация программы как совокупности небольших независимых блоков (модулей), структура и поведение которых подчиняется определенным заранее правилам.

Модульное программирование предназначено для разработки больших программ.

Разработкой больших программ занимается коллектив программистов. Каждому программисту поручается разработка некоторой самостоятельной части программы. И он в таком случае отвечает за конструирование всех необходимых процедур и данных для этих процедур. Сокрытие данных (запрет доступа к данным из-за пределов модуля) предотвращает их случайное изменение и соответственно нарушение работы программы. Для взаимодействия отдельных частей (модулей) программы коллективу программистов необходимо продумать только интерфейс (взаимодействие) сконструированных модулей в основной программе.

Читать еще:  Последовательность этапов программирования

Принципы модульного программированияпрограммных продуктов во многом сходны с принципами нисходящего проектирования. Сначала определяются состав и подчиненность функций, а затем – набор программных модулей, реализующих эти функции.

Однотипные функции реализуются одними и теми же модулями. Функция верхнего уровня обеспечивается главным модулем; он управляет выполнением нижестоящих функций, которым соответствуют подчиненные модули.

При определении набора модулей, реализующих функции конкретного алгоритма, необходимо учитывать следующее:

§ каждый модуль вызывается на выполнение вышестоящим модулем и, закончив работу, возвращает управление вызвавшему его модулю;

§ принятие основных решений в алгоритме выносится на максимально «высокий» по иерархии уровень;

§ для использования одной и той же функции в разных местах алгоритма создается один модуль, который вызывается на выполнение по мере необходимости. В результате дальнейшей детализации алгоритма создается функционально-модульная схема алгоритма, которая является основой для программирования.

Модульный принцип программирования.

Суть модульного программирования состоит в разбиении сложной задачи на некоторое число более простых подзадач и составлении программ для решения достаточно независимо друг от друга. Модульность является одним из основных принципов построения программных проектов. В общем случае модуль — отдельная функционально законченная программная единица, некоторым образом идентифицируемая и объединяемая с другими, средство определения логически связанной совокупности объектов, средство их выделения и изоляции. Модуль является средством декомпозиции не только структур управления, но и структур данных. Этому в значительной мере способствовало развитие понятия «тип данных».

Модуль является единицей компиляции, хранения, а также единицей проектирования и раздельной разработки программного проекта коллективом разработчиков. Таким образом, модуль понимается как средство определения логически связанной совокупности объектов, средство их выделения и изоляции.

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

Во-первых, в модуле обычно определяются объекты, являющиеся носителями базовых понятий некоторой «предметной» области, так что модуль задает контекст этой предметной области. Поэтому программы, которые будут выполнять различные алгоритмы обработки в этой области, смогут воспользоваться готовыми и, что важно, одинаковыми определениями базовых объектов.

Во-вторых, и модули, и использующие их программы компилируются независимо (модуль должен быть откомпилирован раньше использующей его программы). Благодаря этому время компиляции большой программы использующей готовые модули, существенно сокращается, что важно при отладке программ, когда приходится их компилировать многократно.

Третьим важным свойством модуля является то, что он скрывает, «инкапсулирует» представление и реализацию экспортируемых им объектов, так что их возможные изменения в модуле (при его настройке или адаптации к новым аппаратным возможностям) не требуют никаких переделок пользовательских программ.

Все модули используют мнемонические имена для определяемых ими объектов (констант, переменных, типов и подпрограмм), что облегчает понимание их назначения и запоминание, удовлетворяет требованию наглядности текста программ.

Языки программирования, поддерживающие модульный подход, описывают модуль как программную единицу, состоящую из двух основных частей — спецификации (интерфейса) и реализации. В спецификации приводятся такие характеристики объектов модуля, которые необходимы и достаточны для использования этих объектов в других модулях и программах. Это позволяет использовать объекты модулей только на основе информации об их интерфейсе (не ожидая их полного описания). В реализационной части модуля описывается представление и алгоритмы обработки, связанные с теми или иными объектами модуля.

Модуль является одним из средств, облегчающих верификацию программ. Модуль, как средство создания абстракции, выделяет спецификацию и локализует сведения о реализации.

Модули служат также целям создания проблемно-ориентированного контекста и локализации машинной зависимости.

26. Объектно-ориентированное программирование.

27. Интегрированные среды программирования.

28. Этапы решения задач на компьютере.

29. Понятие об объектах, их свойствах и методах.

30. Синтаксис языка VBA.

31. Константы и переменные.

32. Область видимости переменной.

33. Объявление переменной.

34. Операторы VBA.

35. Структура программы.

36. Функции, процедуры, макросы, модули VBA.

37. Реализация основных алгоритмических конструкций.

38. Среда программирования VBA.

39. Панели инструментов.

Окно Properties.

Понятие свойства (properties) в Visual Basic связано с механизмом формального описания атрибутов объекта. Каждый объект обладает специфическими свойствами, которые определяют внешний вид и поведение объекта в приложении. Некоторые свойства имеют фиксированный набор значений (их можно узнать, нажав первую из кнопок в поле параметров). Если же кнопка справа в этом поле имеет вид с тремя точками, то это означает, что нажатие на кнопку инициирует вывод диалогового окна с выбором необходимого значения. Примерами могут служить выбор цветов, а также выбор файлов для загрузки картинок. Другие свойства могут иметь практически неограниченный набор значений. Это, например, задание имени или названия формы.

С помощью команды properties мы можем получить доступ к любым свойствам и геометрическим характеристикам объектов. При этом открывается специальное немодальное окно со свойствами. Если выделить несколько объектов окно будет показывать их общие свойства. Чтобы посмотреть свойство отдельного объекта необходимо выбрать его в раскрывающемся списке в правом верхнем углу окна. Также на панели свойств находятся некоторые команды связанные с выделением.

Окно Project.

В окне проект отображается элементы вашего проекта которые будут включены в ваш DVD-диск при компиляции. Проект представлен в виде окна, которое может быть открыто в рабочей области программы. В этом окне показаны элементы проекта — фильм, меню, слайд-шоу и связи между ними. В это окно вы можете добавить несколько фильмов, меню и слайд-шоу, но только один элемент связей(Connection) используется в любом проекте.

42. Редактор кода.

43. Знакомство с основными объектами, их свойствами на примере приложений Excel и Word.

44. Создание и выполнение макросов в приложениях MS Office.

45. Использование при программировании средств макрорекодера.

46. Работа с объектом UserForm и элементами управления.

47. Свойства, методы и события элементов управления.

Компьютерные сети.

Компьютерные сети передачи данных являются результатом информационной революции и в будущем смогут образовать основное средство коммуникации. Всемирная тенденция к объединению компьютеров в сети обусловлена рядом важных причин, таких, как ускорение передачи информационных сообщений, возможность быстрого обмена информацией между пользователями, получение и передача сообщений (факсов, E-mail писем, электронных конференций и т.д.) не отходя от рабочего места, возможность мгновенного получения любой информации из любой точки земного шара, а также обмен информацией между компьютерами разных фирм производителей, работающих под разным программным обеспечением.

Преимущества, получаемые при сетевом объединении персональных компьютеров, перечислены ниже.

· Разделение ресурсов позволяет экономно использовать ресурсы, например, управлять периферийными устройствами, такими, как печатающие устройства, внешние устройства хранения информации, модемы и т.д. со всех подключенных рабочих станций.

· Разделение данных предоставляет возможность доступа и управления базами данных с периферийных рабочих мест, нуждающихся в информации.

· Разделение программных средств предоставляет возможность одновременного использования централизованных, ранее установленных программных средств.

· Разделение ресурсов процессора, обеспечивающее использование вычислительных мощностей для обработки данных другими системами, входящими в сеть. Предоставляемая возможность заключается в том, что на имеющиеся ресурсы не «набрасываются» моментально, а только лишь через специальный процессор, доступный каждой рабочей станции.

· Многопользовательский режим — одновременное использование централизованных прикладных программных средств, обычно заранее установленных на сервере приложения.

Практически все услуги сети построены на принципе клиент-сервер. Сервером в сети называется компьютер, способный предоставлять клиентам (по мере прихода от них запросов) некоторые сетевые услуги. Взаимодействие клиент-сервер строится обычно следующим образом. По приходу запросов от клиентов сервер запускает различные программы предоставления сетевых услуг. По мере выполнения запущенных программ сервер отвечает на запросы клиентов. Все программное обеспечение сети также можно поделить на клиентское и серверное. При этом программное обеспечение сервера занимается предоставлением сетевых услуг, а клиентское программное обеспечение обеспечивает передачу запросов серверу и получение ответов от него.

Классификация сетей.

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

1. Локальные сети (LAN — Locate Area Network). Такая сеть охватывает небольшую территорию с расстоянием между отдельными компьютерами до 10 км. Обычно такая сеть действует в пределах одного учреждения.

2. Глобальные сети (WAN — Wide Area Network). Такая сеть охватывает, как правило, большие территории (территорию страны или нескольких стран). Компьютеры располагаются друг от друга на расстоянии десятков тысяч километров.

3. Региональные сети. Подобные сети существуют в пределах города, района. В настоящее время каждая такая сеть является частью некоторой глобальной сети и особой спецификой по отношению к глобальной сети не отличается.

Читать еще:  Nc 201m программирование

50 Понятие локальной, региональной, корпоративной, глобальной сети.

Локальная сеть – это компьютерная сеть небольшой протяженности: в пределах комнаты, этажа, здания. Обычно такие сети действуют в пределах одного учреждения и имеют небольшой радиус действия: 1-10 км. Она сеть всегда является ведомственной. В настоящее время не существует четких ограничений на территориальный разброс абонентов локальной вычислительной сети. Обычно такая сеть привязана к конкретному месту. Локальная сеть обеспечивает высокие скорости передачи данных. В локальных сетях обычно не используются средства коммуникации общего назначения (телефонные линии) для организации обмена информацией. Дополнительное преимущество такой сети заключается в значительной экономии ресурсов. Так, вместо того, чтобы иметь принтер для каждого компьютера, можно иметь только один принтер. Любой компьютер в сети мог послать информацию для печати на этот принтер. Существует два типа локальных сетей: одноранговые и сети с выделенным сервером.

Одноранговые не предусматривают выделение специальных компьютеров, организующих работу сети. Сети с выделенным сервером предлагают централизованный доступ к серверу, приложениям, устройствам одного компьютера-сервера. Что же дают локальные сети? экономию места в памяти, т.к. многие пользователи применяют одни и те же программные продукты; хорошую систему защиты при записи информации; обеспечение связи между отдельными пользователями через компьютерную почту.

Региональные сети – это сети, существующие обычно в пределах города, района, области, страны. Они связывают абонентов, расположенных на значительном расстоянии друг от друга. Обычно расстояние между абонентами региональной вычислительной сети составляет десятки-сотни километров. Они являются объединением нескольких локальных сетей и частью некоторой глобальной. Особой спецификой по отношению к глобальной не отличаются. Региональные вычислительные сети имеют много общего с локальными, но они, по многим параметрам, сложнее их. Например, помимо обмена данными и голосового обмена, региональные вычислительные сети могут передавать видео- и аудиоинформацию. В последнее время стали еще выделять класс корпоративных сетей. Они охватывают обычно крупные корпорации. Их масштаб и структура определяются потребностями предприятий – владельцев.

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

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.

Большая Энциклопедия Нефти и Газа

Принцип — модульное программирование

Принцип модульного программирования заключается в том, что исходную задачу разбивают на более простые подзадачи. Это разбиение по возможности стараются выполнить так, чтобы в качестве отдельных подзадач фигурировали задачи, для решения которых уже имеются готовые ( разработанные ранее) программы. Разработку новых программ при этом необходимо выполнять так, чтобы при необходимости их можно было также ипользовать в качестве составных частей для решения других задач. [1]

Принцип модульного программирования заключается в том, что исходную задачу разбивают на более простые подзадачи. Это разбиение по возможности стараются выполнить так, чтобы в качестве отдельных подзадач фигурировали задачи, для решения которых уже имеются готовые ( разработанные ранее) программы г Разработку новых программ при этом необходимо выполнять так, чтобы при необходимости их можно было также ипользовать в качестве составных частей для решения других задач. [2]

Принцип модульного программирования состоит в разбиении вычислительного процесса на ряд независимых элементарных процессов, которые реализуются в виде программных модулей. [3]

В структуре всех программ последовательно реализуется принцип модульного программирования , который требует, чтобы функционально независимые части программ и все замкнутые подпрограммы общего пользования оформлялись в виде стандартных модулей загрузки ( в ДОС / ЕС — объектные модули), допускающих объединение с другими модулями и загрузку в любое место памяти. Отметим, что это требование относится не только к стандартным библиотечным подпрограммам, но и ко всем без исключения системным и прикладным программам. [4]

Программное обеспечение АСНИ Надежность основано на принципе модульного программирования . Оно представляет собой четырехуровневый комплекс программных модулей, позволяющий формировать из них программы для решения задач ( транзакций), в том числе и вновь возникающих. [5]

Дальнейшее изложение ( глава 15) отражает принципы модульного программирования . Читатель узнает, как разбить программу на программные модули и как организовать связь между ними. Здесь же программист знакомится с основными атрибутами модуля, которые необходимы для редактирования связей при объединении программ. [6]

Если отдельные блоки будут разрабатываться различными программистами ( принцип модульного программирования рассматривается в § 14.8), то программисты сразу же должны установить связи между блоками. После этого содержимое крупных блоков детализируется до уровня, определяемого входным языком ( Ассемблера, PL / 1, КОБОЛ, ФОРТРАН), который предполагается использовать для составления программы. В случае когда отдельная программа входит в комплекс программ, реализующий какой-то проект, ориентация делается на язык, который был выбран общим для всей разработки. Если задача носит вычислительный характер, программист должен обратить внимание на выбор численного метода ее решения, режим выполнения арифметики ( с фиксированной или плавающей точкой) и при необходимости принять меры к тому, чтобы получить максимальную точность вычислений. При описании данных необходимо быть внимательным к формату данных и их масштабированию. [8]

При создании хорошо структурированных программ особые удобства представляются с использованием принципов модульного программирования . [9]

На основе идей метода расщепления и принципов модульного программирования для каждого класса задач выбирается некоторое базисное множество алгоритмов универсального назначения, которые реализуются на ЭВМ в виде библиотеки программ-модулей, составляющих ядро функционального наполнения ППП. При наличии такой библиотеки упрощается процесс конструирования численных моделей. Если структура моделей задана, этот процесс во многих случаях сводится к объединению библиотечных программ в единый комплекс. Таким образом, численная модель, построенная на принципах метода расщепления и модульного программирования, имеет блочную структуру. Учет в модели новых факторов может осуществляться посредством введения новых этапов в схему расщепления и новых модулей в библиотеку. [10]

Влияние языков программирования на возможность декомпозиции большого программного комплекса на отдельные программные единицы проявляется в двух аспектах. Во-первых, необходимо понимать, насколько языки программирования поддерживают принцип модульного программирования . А для этого необходимо предварительно проанализировать имеющиеся в языках программирования механизмы абстракции. Во-вторых, необходимо понимать степень независимости модулей друг от друга, обеспечиваемую языками программирования. [11]

ОС должна обладать свойством адаптируемости, структурной гибкости, способностью изменяться и пополняться новыми программными компонентами. Обеспечение адаптируемости, расширения функций и возможностей операционной системы с целью использования ее с новой аппаратурой, для новых областей применения и с новыми программными компонентами по мере их появления достигается с наименьшими затратами при использовании принципа модульного программирования . Модульное программирование состоит в разбиении всего процесса обработки информации на ряд элементарных процессов или модулей. В применении к операционной системе модульное программирование сводится к разбиению ее программ на модули, каждый из которых специализирован на управлении определенной совокупности операций, выполняемых в вычислительной системе. При этом один и тот же модуль может использоваться для нескольких программ. Модули могут формироваться и отлаживаться независимо друг от друга. [12]

Первый принцип контроля — принцип сегментации — основан на классическом подходе разделения сложной задачи на ряд небольших подзадач, которые в последующем рассматриваются как самостоятельные. Аргументы в пользу контроля программ по небольшим частям точно такие же, как и при кодировании модулей. При применении принципов модульного программирования модули кодируются и контролируются в отдельности, а затем выполняется интеграция модулей в систему. [13]

Показатели, приведенные в таблице 1, дают общее представление о качестве кода проекта. Во-первых: проект состоит из 2 файлов и 4 функций, это свидетельствует о том, что принцип модульного программирования , скорее всего, соблюдается. Это, скорее всего, признак удобочитаемости кода, т.е. признак того, что логические блоки отделены пустыми строками. [15]

IT Новости из мира ПК
Добавить комментарий