Решение задач на пк сообщение

Обновлено: 02.07.2024

В курсовой работе использовались программы TurboPascal, MicrosoftPowerPoint, MathCAD, MicrosoftExcel; ,были применены макросы; решены уравнения, система уравнений.

В результате разработаны книга Excel и программа на языке TurboPascal.

Содержание.

Часть 1. Программа на языке TurboPascal. . . . . . . . . . . . . . . . . . 5

Часть 2. Рабочая книга Excel. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1 Лист презентации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Лист меню. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 Решение нелинейного уравнения. . . . . . . . . . . . . . . . . . . 7

2.4 Решение системы линейных уравнений. . . . . . . . . . . . . . . .8

2.4.1 Решение системы в Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4.2 Решение системы в MathCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..9

2.5 Решение задачи оптимизации. . .. . . . . . . . . . . . . . . . . . . . 10

2.6 Решение экономической задачи . . . . . . . . . . . . . . . . . . . . 11

Список используемой литературы. . . . . . .. . . . . . . . . . . . . . . . . 13

Приложение 1. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Приложение 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

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

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

Современные бухгалтера, программисты, менеджеры, работники сферы сервиса и экономики часто используют текстовые редакторы MicrosoftWord, электронные редакторы таблиц MicrosoftExcel, математические редакторы MathCAD и различные системы программирования (TurboPascal).

В данном курсовом проекте представлено решение различных типов математических и экономических задач с использованием таких программных средств, как язык программирования TurboPascal 7.0. и редактор электронных таблиц MicrosoftExcel 2000, а также математический редактор формул (MathCAD).

1.Программа на языке Turbo Pascal .

“Дана целочисленная матрица А размером M*2N, где M,N – заданные натуральные числа. Поменять местами 1-ый и 2N-ый столбцы, 2-ой и 2N-1 столбцы, …, N-ый столбцы ”.

Программа реализована с помощью стандартной библиотеки system и библиотеки crt .

Блок-схема алгоритма представлена на рисунке 1.1, а программа и результаты ее работы в приложении №1.

Вставим презентацию в Excel: Вставка- объект - из файла. (Рисунок №2.3 в Приложении №2).

Лист меню - второй лист Рабочей книги Excel. В нем создана пользовательская форма с управляющими кнопками с подключенными к ним макросами. С помощью кнопок выполняется вызов различных листов Рабочей книги. На каждом листе располагаются кнопки для возврата в основное меню.

Существует несколько вариантов создания кнопок, создадим кнопки для макросов с помощью программы VisioDrawing.

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 15.04.2015
Размер файла 248,0 K

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

Исходя из условия задачи, пользователь решает для себя вопрос о том, каким программным средством он воспользуется. Если в составе доступного прикладного программного обеспечения имеется программа, подходящая для решения данной задачи, то пользователь выбирает ее в качестве инструмента (СУБД, табличный процессор, математический пакет и др.). В том случае, когда готовым прикладным ПО воспользоваться нельзя, приходится прибегать к программированию на универсальных языках, т. е. выступать в роли программиста.

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

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

Работа по решению прикладной задачи на компьютере проходит через следующие этапы:

· составление программы на языке программирования;

· отладка и тестирование программы;

· проведение расчетов и анализ полученных результатов.

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

Дадим описание каждого из перечисленных этапов.

Постановка задачи

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

Моделирование

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

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

Итак, создавая математическую модель для решения задачи, нужно: выделить предположения, на которых будет основываться математическая модель; определить, что считать исходными данными и результатами; записать математические соотношения, связывающие результаты с исходными данными.

Построение алгоритма

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

Программирование

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

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

Отладка и тестирование программы.

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

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

Анализ результатов. Уточнение модели

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

2. Свойства алгоритмов. Способы записи алгоритмов. Структура алгоритмов

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

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

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

2. Понятность. Составим полный список команд, которые умеет делать исполнитель алгоритма. Тогда понятными будут являться только те команды, которые попадают в этот список. Именно из такой формулировки становится ясно, почему компьютер такой '"привередливый" при приеме введенных в него команд: даже если неверно написана всего одна буква, команда уже не может быть обнаружена в СКИ.

3. Определенность. Команды, образующие алгоритм (или, можно сказать, входящие в СКИ), должны быть предельно четкими и однозначными.

4. Детерминированность. Последовательность выполнения команд при одних и тех же исходных должна быть одна и та же, всегда будет получаться один и тот же результат.

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

6. Корректность. Решение должно быть правильным для любых допустимых исходных данных. Данное свойство объясняет, почему большое значение имеет тщательное тестирование алгоритма перед его использованием.

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

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

На практике наиболее распространены следующие формы представления алгоритмов: моделирование задача компьютер алгоритм

Словесная (запись на естественном языке)

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке. Словесный способ не имеет широкого распространения, так как такие описания:

· строго не формализуемы;

· страдают многословностью записей;

· допускают неоднозначность толкования отдельных предписаний.

графическая (изображения из графических символов)

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

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

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

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

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

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

Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон -- телом алгоритма.

Программная (тексты на языках программирования)

язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке -- программой для компьютера.

Базовые структуры алгоритмов -- это определенный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.

К основным структурам относятся следующие:

Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Стандартная блок-схема линейного алгоритма приводится ниже:

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

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

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

Стандартные блок-схемы разветвляющегося алгоритма приведены ниже:

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

Существуют три типа циклов:

· Цикл с предусловием

· Цикл с постусловием

· Цикл с параметром (разновидность цикла с предусловием)

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

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

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

Стандартные блок-схемы циклических алгоритмов приведены ниже:

Подобные документы

Этапы математического моделирования на компьютере. Выделение количественных характеристик моделируемой системы. Определение способа решения полученной математической задачи и реализация ее на компьютере с помощью прикладных программных средств.

презентация [1,2 M], добавлен 21.02.2012

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

методичка [366,8 K], добавлен 16.01.2010

Анализ метода линейного программирования для решения оптимизационных управленческих задач. Графический метод решения задачи линейного программирования. Проверка оптимального решения в среде MS Excel с использованием программной надстройки "Поиск решения".

курсовая работа [2,2 M], добавлен 29.05.2015

Этапы подготовки и решения задач на компьютере. Способы предоставления алгоритмов. Простые типы данных и их обработка. Основы работы с графикой и графическими операторами в Visual Basic. Организация линейной программы. Процедуры и функции в языке Паскаль.

дипломная работа [1,9 M], добавлен 25.10.2015

Характеристика этапов решения задач на электронных вычислительных системах. Разработка алгоритма и основы программирования. Язык Ассемблера, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке.


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


В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобретя в каталоге.

Получите невероятные возможности




Конспект урока "Решение задач на компьютере. Этапы решения задачи на компьютере"

Решение любой задачи с помощью компьютера можно разделить на пять основных этапов:

1. Постановка задачи.

2. Формализация задачи.

3. Создание алгоритма.

5. Тестирование и отладка.

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

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

При создании алгоритма должны быть соблюдены два условия:

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

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

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



Пример блок-схемы

На этапе программирования алгоритм записывается с помощью какого-нибудь языка программирования. То есть результатом работы на данном этапе должна быть программа. Мы будем писать программы на языке Pascal.


Пример программы на языке Pascal

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

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

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

Этапы создания алгоритма и программирования требуют наличия знаний по программированию. Так как на третьем этапе определяется каким образом будет решаться та или иная подзадача. А от этого зависит скорость работы программы, и количество потребляемых ею ресурсов системы, например оперативной памяти. На четвёртом этапе записать алгоритм тоже можно различными способами.

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

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

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

Принципы программирования

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

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

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

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

4. Выбор и обоснование метода решения — модель решения задачи реализуется на основе конкретных приемов и методов решения. В большинстве случаев математическое описание задачи трудно перевести на машинный язык. Выбор и использование метода решения позволяет свести решение задачи к конкретному набору машинных команд. При обосновании метода решения рассматриваются вопросы влияния различных факторов и условий на конечный результат, в том числе на точность вычислений, время решения задачи на компьютере, требуемый объем памяти и др.

5. Построение алгоритма — на данном этапе составляется алгоритм решения задачи, в соответствии с выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, определяется последовательность выполнения этих блоков.

6. Составление программы — алгоритм решения переводится на конкретный язык программирования.

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

Например, проектирование программного обеспечения не требует построения математической модели.

Программирование это процесс подготовки задач для решения их на ЭВМ, состоящий из следующих этапов:

­ алгоритмическое описание задачи;

­ запись алгоритма на языке программирования (составление программы);

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

Основными технологиями разработки программного обеспечения являются:

Структурное программирование. Сутью структурного программирования является возможность разбиения программы на составляющие элементы.

Идеи структурного программирования появились в начале 70-годов в компании IBM, в их разработке участвовали известные ученые Э. Дейкстра, Х. Милс, Э. Кнут, С. Хоор.

Распространены две методики (стратегии) разработки программ, относящиеся к структурному программированию: программирование "сверху вниз" и программирование "снизу вверх".

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

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

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

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

Достоинства структурного программирования:

­ повышается надежность программ (благодаря хорошему структурированию при проектировании, программа легко поддается тестированию и не создает проблем при отладке);

­ повышается эффективность программ (структурирование программы позволяет легко находить и корректировать ошибки, а отдельные подпрограммы можно переделывать (модифицировать) независимо от других);

­ уменьшается время и стоимость программной разработки;

­ улучшается читабельность программ.

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

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

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

Отладка большой программы может оказаться практически невыполнимой задачей.

Большое преимущество модульного подхода заключается в том, что задача отладки большой программы сводится к отладке множества маленьких подпрограмм. Начиная кодировать модуль, вы должны быть уверены, что все остальные модули закодированы правильно. Следовательно, закончив программирование модуля, вы должны внимательно проверить его, как отдельно, так и вместе с другими модулями, вызывая его с фактическими аргументами, тщательно подобранными для выявления всех возможных недостатков. Если это тестирование проведено подобающим образом, можно быть уверенным, что любая обнаруженная ошибка содержится только в модуле, который кодировался последним. Модульность позволяет изолировать ошибки.

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

Модифицируемость программы тесно связана с модульностью программы. Небольшое изменение в требованиях, предъявляемых к программе, должно приводить к небольшому изменению ее кода. Если это не так, значит, программа плохо написана и, в частности, не обладает свойством модульности. Чтобы учесть небольшие изменения в исходных требованиях, в модульной программе обычно достаточно изменить лишь несколько модулей, особенно если модули не зависят друг от друга и каждый модуль выполняет отдельную точно поставленную задачу.

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

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

Читайте также: