Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Этапы разработки программы для компьютера (решения задачи на ЭВМ)




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

2. формализация (математическая постановка задачи);

3. выбор метода решения и разработка алгоритма;

4. программирование;

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

6. вычисление и обработка результата (анализ результатов решения задачи и уточнение математической модели с повторным выполнением этапов 2 - 5 при необходимости);

7. сопровождение программы.


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

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


2. Формализация (Анализ и исследование задачи, модели):
- анализ существующих аналогов задачи;
- анализ технических и программных средств;
- разработка математической модели;
- разработка структур данных.

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

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

3. Разработка алгоритма:
- выбор метода проектирования алгоритма;
- выбор формы записи алгоритма (блок-схемы, псевдокод и др.);
- выбор тестов и метода тестирования;
- проектирование алгоритма.

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

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

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

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

Следует подчеркнуть значение стандартизации.

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

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

Концепция языка программирования неотрывно связана с его реализацией. Для того чтобы компиляция одной и той же программы различными компиляторами всегда давала одинаковый результат, разрабатываются стандарты языков программирования. Существует ряд организаций, целенаправленно занимающихся вопросами стандартизации. Это Американский национальный институт стандартов ANSI (American National Standards Institute), Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers), Организация международных стандартов ISO (International Organization for Standardization).

Как правило, при создании языка выпускается частный стандарт, определяемый разработчиками языка. Если язык получает широкое распространение, то со временем появляются различные версии компиляторов, которые не точно следуют частному стандарту. В большинстве случаев идет расширение зафиксированных первоначально возможностей языка. Для приведения наиболее популярных реализаций языка в соответствие друг с другом разрабатывается согласительный стандарт. Очень важным фактором стандартизации языка программирования является своевременность появления стандарта – до широкого распространения языка и создания множества несовместимых реализаций. В процессе развития языка могут появляться новые стандарты, отражающие современные нововведения. Так, язык FORTRAN первоначально был стандартизирован в 1966 году. В результате был издан стандарт FORTRAN 66. Далее этот стандарт несколько раз пересматривался (в 1977 году был выпущен FORTRAN 77, затем появился и FORTRAN 90).

Язык Java, ставший в последнее время весьма распространенным, постепенно был значительно расширен и модифицирован: новая спецификация получила название Java 2.

5. Тестирование и отладка:
- синтаксическая отладка;
- отладка семантики и логической структуры;
- тестовые расчёты и анализ результатов тестирования;
- совершенствование программы.

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

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

6. Анализ результатов решения задачи и уточнение математической модели с повторным выполнением этапов 2 - 5 (при необходимости).

 

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

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

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

7. Сопровождение программы:
- доработка программы для решения конкретных задач;
- составление документации к решённой задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию программы.
Сопровождение программы предполагает консультации заказчику по работе программы, устранение замеченных в процессе ее эксплуатации недостатков (а возможно, и ошибок), обучение пользователей работе с программой. Этот, заключительный этап имеет особое значение для больших и сложных программ.

Качество программы и ее разработка

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

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

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

Правила хорошего стиля программирования

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

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

Н-р, так как в ЭВМ не существует никакого другого внутреннего способа представления комплексного числа, кроме представления в виде пары вещественных чисел, то попытка вычислить на ЭВМ корень четной степени из вещественного отрицательного числа вызывает прекращение вычислений и сообщение об ошибке. Алгоритм в подобных случаях должен предусматривать анализ знака значения подкоренного выражения и содержать две возможных ветви вычислений – для вещественного и мнимого значений корня.

Другой пример связан с приближенным представлением вещественных чисел в ЭВМ. Нецелесообразно сравнивать (А=В) значения двух вещественных выражений. Сравнение следует заменить проверкой соотношения |A – B| < e, где e – малое число; если это неравенство выполняется, то следует считать, что A = B.

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

Например, при вычислении с семью значащими цифрами для A = 199 и B = 0.0001 полученное значение (A + B)3 – A3 = 0.1 * 102 вместо числа 0.1188 * 102; более точный результат получен по другой формуле: B3 + 3B2A + 3A2B.

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

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

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

Тестирование и отладка программ

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

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

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

Учитывая разнообразие источников ошибок, при составлении плана тестирования классифицируют ошибки на два типа: 1 – синтаксические; 2 – семантические (смысловые).

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

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

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

В план тестирования обычно входят следующие этапы:

1. Сравнение программы со схемой алгоритма.

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

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

4. Редактирование внешних связей и компоновка программы. На этапе редактирования внешних связей программных модуле программа-редактор внешних связей, или компоновщик задач, обнаруживает такие синтаксические ошибки, как несоответствие числа параметров в описании подпрограммы и обращении к ней, вызов несуществующей стандартной программы. например, 51 H вместо 51 N, различные длины общего блока памяти в вызывающем и вызываемом модуле и ряд других ошибок.

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

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

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

Наиболее простые способы получения тестов:

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

· Использование результатов, полученных на других ЭВМ или по другим программам.

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

Проектирование программ

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

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

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

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

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

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

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

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

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

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

Основные достоинства нисходящего проектирования:

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

2. возможность контроля хода работы над программой в процессе последовательной детализации программы обеспечивает ее непрерывную корректировку; отсутствие комплексной отладки благодаря сквозному контролю позволяет сэкономить до 30 % общего времени разработки программ;

3. одновременная параллельная работа нескольких программистов может оказаться эффективной.

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

6. Система программирования

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

Следует отличать язык программирования (Basic, Pascal) от его реализации, которая обычно представлена в составе среды программирования (Quick Basic, Virtual Pascal) - набора средств для редактирования исходных текстов, генерации исполняемого кода, отладки, управления проектами и т.д.

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

Система программирования включает:

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

+ библиотека подпрограмм, + Help

Выделяют два вида трансляторов: интерпретатор и компилятор.

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

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

В некоторых языках, вместо машинного кода генерируется интерпретируемый двоичный код "виртуальной машины", также называемыйбайт-кодом (byte-code). Такой подход применяется в Forth, Lisp, Java, Perl, Python, а также в языках платформы Microsoft .NET.

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

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

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

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

Компилятор языка программирования выступает как составная часть среды проектирования. Сама программа наряду с конструкциями, предусмотренными стандартом, как правило, использует библиотечные функции и классы, предоставляемые средой проектирования. Так, интегрированная среда разработки VisualStudio.NET содержит библиотеку классов MFC (Microsoft Foundation Classes), значительно упрощающую процесс разработки приложений, использующих оконный интерфейс.

Интегрированная среда проектирования VisualStudio.NET позволяет создавать и компилировать приложения на языках C++, C#, Visual Basic и VisualJ. Для разработки приложений на языке С++ предназначается также среда CBuilder.

Для проектирования приложений на языке Object Pascal используется интегрированная среда проектирования Delphi.

Наиболее удобной средой разработки программ на языке Java является интегрированная среда проектирования JBuilder.

Паскаль - язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623-1662) и разработан в 1968-1971 гг. Никлаусом Виртом. Первоначально был разработан для обучения, но вскоре стал использоваться для разработки программных средств в профессиональном программировании. Сейчас поддержка языка приостановлена, но до сих пор на нём пишутся программы и производится обучение в школах и высших учебных заведениях.

Pascal Разработанный известным теоретиком Н.Виртом на основе идей Алгола-68, Паскаль предназначался прежде всего для обучения программированию. Построенный по принципу "необходимо и достаточно", он располагает строгим контролем типов, конструкциями для описания произвольных структур данных, небольшим, но достаточным набором операторов структурного программирования. К сожалению, обратной стороной простоты и строгости является громоздкость описаний конструкций языка. Наиболее известная реализация - Turbo/Borland Pascal - несмотря на отличия от стандарта Паскаля, представляет из себя среду и набор библиотек, сделавшие из учебного языка промышленную систему для разработки программ в среде MS-DOS.

 

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

Delphi - это не продолжатель дела Borland Pascal / Borland C, его ниша - т.е. быстрое создание приложений (Rapid Application Developing, RAD). Подобные средства позволяют в кратчайшие сроки создать рабочую программу из готовых компонентов, не растрачивая массу усилий на мелочи. Особое место в таких системах занимают возможности работы с базами данных.

Турбо Паскаль - это система программирования, созданная для повышения качества и скорости разработки программ (80-е гг.), это интегрированная среда разработки, предназначенная для создания приложений под DOS системы. Слово Турбо в названии системы программирования - это отражение торговой марки фирмы-разработчика Borland International (США).

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

Основные файлы Турбо Паскаля:

Turbo.exe - исполняемый файл интегрированной среды программирования;

Turbo.hlp - файл, содержащий данные для помощи;

Turbo.tp - файл конфигурации системы;

Turbo.tpl - библиотека стандартных модулей, в которых содержатся встроенные процедуры и функции (SYSTEM, CRT, DOS, PRINTER, GRAPH, TURBO3, GRAPH3).

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

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

Основные достоинства языка:

1. Удобная среда разработки и многофункциональный отладчик;

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

3. Относительно высокая скорость компиляции;

4. Быстрый запуск готовых программ;

5. Возможность использовать некоторые вставки на ассемблере.










Последнее изменение этой страницы: 2018-04-12; просмотров: 826.

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