Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Языки и среды программирования.Стр 1 из 4Следующая ⇒
Языки и среды программирования.
АЛГОРИТМЫ. Алгоритм должен быть понятен (доступен) пользователю или машине. Доступность пользователю означает, что он обязан отображаться посредством конкретных формализованных изобразительных средств, понятных пользователю. Способы записи алгоритмов:
Базовые структуры алгоритмов:
ЯЗЫКИ И СИСТЕМЫ ПРОГРАММРОВАНИЯ.
Способы описания ЯП. Для описания ЯП используются две системы описания:
Обе нотации используют следующее обозначение: < > - угловые скобки (или двойные кавычки) обозначают элемент программы, определяемый пользователем (< Идентификатор>, < Список параметров>, “Условие” и пр.). В соответствующих местах реальной программы будет находится идентификатор переменной, список параметров и прочее.
Нотация Бэкуса содержит конструкцию следующего вида: < Оператор присваивания> : = < Переменная> : = < Выражение> < Идентификатор> :: = < Буква> | < Идентификатор> < Буква> | < Идентификатор> < Цифра>
17.01.14 Левая часть определения конструкций языка содержит наименование определяемого элемента, взятого в угловые скобки. Правая часть включает совокупность элементов, соединённых знаком |, которая трактуется как «или» и объединяет альтернативы – различные варианты значения, определяемого элемента. Части соединяются оператором:: =, который может трактоваться, как является по определению.
Нотация IBM включает следующие элементы:
означает обязательное присутствие одного из < выражений>
{< выражение> } [, < выражение> ]…} обозначает, что одно или более < выражений>, разделённых запятыми, может появиться между фигурными скобками.
Рекурсивное определение в IBM-нотации не используются.
СИСТЕМЫ ПРОГРАММИРОВАНИЯ.
Система программирования (СП) является инструментальным средством программиста – разработка системных или прикладных программ. Первоначально, в ранних ОС, системы программирования входили в состав ОС и были доступны только «избранным».
Широкое распространение ПЭВМ и доступность СП привели к приобщению широких кругов пользователей к увлекательному занятию – написанию собственных программ в самых различных средах. Современные СП обычно предоставляют пользователям такие средства разработки программ, как: · Создание и редактирование текстов программ; · Компилятор или интерпретатор; · Библиотеки стандартных процедур и функций; · Утилиты (вспомогательные рабочие программы); · Отладчик (средство, помогающее находить и устранять ошибки в программе); · Редактор связи; · Встроенная справочная служба. Эти инструменты взаимодействуют между собой через обычные файлы с помощью стандартных возможностей файловой системы.
Классификации СП
Различают системы общего назначения и языково-ориентированные системы. Системы общего назначения содержат набор программных инструментов (например, текстовый редактор, редактор связей и т.п.), позволяющих выполнять разработку программ на разных языках программирования. Для программирования на конкретном языке программирования требуются дополнительные инструменты, ориентированные на этот язык. Языково-ориентированные системы предназначены для поддержки разработки программ на каком-либо языке программирования, причем построение такой среды базируется на знаниях об этом языке.
Отличительной особенностью многоязыковых систем программирования являет то, что отдельные части (секции, модули или сегменты) программы могут быть подготовлены на различных языках и объединены во время или перед выполнением в единый модуль.
Каждый конкретный язык программирования ориентирован либо на компиляцию, либо на интерпретацию – в зависимости от того, для каких целей он создавался. Например, Pascal обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данных язык обычно реализуется с помощью компилятора. С другой стороны, Basic создавался как язык для обучения алгоритмизации и программированию, в этом случае построчное выполнение программы делает процесс обучения более наглядным. Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость её выполнения.
СП обеспечивают весь спектр задач по обработке информации. С их помощью можно решать вычислительные задачи, обрабатывать тексты и графические изображения, осуществлять хранение и поиск данных и т.д. Кроме того, сами СП представляют собой программы, написанные на ЯП, т.е. созданные с помощью систем программирования. Популярные системы программирования: Turbo Basic, Quick Basic. Turbo Pascal, Turbo C.
Структура абстрактной многоязыковой, открытой, компилирующей СП и процесс разработки приложений: · Ввод. Программа на исходном языке (исходный модуль) готовится с помощью текстовых редакторов и в виде текстового файла или раздела библиотеки поступает на вход компилятора. · Трансляция. Трансляция исходной программы есть процедура преобразования исходного модуля в промежуточную, так называемую объектную форму. Трансляция в общем случае включает в себя препроцессинг (предобработку) и компиляцию. Препроцессинг – необязательная фаза, состоящая в анализе исходного текста, извлечения из него директив препроцессора и их выполнения. Директивы предпроцессора представляют собой помеченные спецсимволы (обычно %, #, & ) строки, содержащие аббревиатуры, символические обозначения и т.д., конструкций, включаемых в состав исходной программы перед её обработкой компилятором. Данные для расширения исходного текста могут быть стандартными, определяться пользователем либо содержаться в системных библиотеках ОС. В качестве примера рассмотрим директивы, определяющие функционирование компилятора в СП Pascal.
Каждая директива компилятор заключается в фигурные скобки, и начинаются с символа «$», после которого без пробела должно быть указано имя директивы: ($I+), ($IFDEF), (@ELSE).
Различают 3 вида директив препроцессора: · Ключевые директивы; · Директивы параметров; · Директивы условной компиляции.
Ключевая директива включает или отключает определённые директивой возможности компилятора. Ключевые директивы могут носить глобальный или локальный характер. Глобальные директивы определяют весь процесс компиляции и должны размещаться в тексте программы до начала всех объявлений. Локальные директивы определяют компиляцию только части кода, могут многократно включать или отключать заданные режимы компиляции и располагаться в любых местах текста программы. Примеры ключевых директив: · { $I+ } или { $I - } – соответственно включает или отключает контроль ошибок файлового ввода-вывода; · { $R + } или {$R - } – директивы компилятора, включающие и отключающие проверку диапазона целочисленных значений и индексов.
Директивы параметров задают значения различных параметров, например имена файлов, размеры отводимой памяти. Ключевые директивы и директивы параметров обычно имеют установки по умолчанию.
Директивы условной компиляции позволяют в зависимости от задания тех или иных условий компилировать или исключать из программы на стали компиляции отдельные фрагменты кода. Условная компиляция даёт возможность программисту управлять компиляцией программного кода, например, использование во фрагменте кода директив: { $iFOPT Q+ } … { $ENDIF } позволит компилировать заключённый между директивами текст программы только в том случае, если включена опция Q проверки переполнения при целочисленных операциях.
Компиляция – в общем случае многоступенчатый процесс, включающий следующие фазы: · Лексический и морфологический анализ – проверка лексического состава входного текста и перевод составных символов (операторов, скобок, идентификаторов и пр.) в некоторую промежуточную внутреннюю форму (таблицы, графы, стеки, гиперссылки), удобную для дальнейшей обработки · Синтаксический анализ – проверка правильности конструкций, использованных программистом при подготовке текста; · Семантический анализ – выявление несоответствий типов и структур переменных, функций и процедур; · Генерация объектного кода – завершающая фаза трансляции.
Выполнение трансляции (компиляции) может осуществляться в различных режимах, установка которых производится с помощью ключей, параметров или опций. Может быть, например, потребовано только выполнение фазы синтаксического анализа и т.п.
Объектный модуль представляет собой текст программы на машинном языке, включающий машинные инструкции, словари, служебную информацию. Объектный модель не работоспособен, поскольку библиотеки транслятора, реализующие функции ввода-вывода, обработки числовых и строчных переменных, а также на другие программы пользователей или средства пакетов прикладных программ.
Загрузка программы. Загрузочный модуль после сборки либо помещается в пользовательскую библиотеку программ, либо непосредственно направляется на исполнение. Выполнение модуля состоит в загрузке его в оперативную память, настройке по месту в памяти и передаче ему управления. Образ загрузочного модуля в памяти называется абсолютным модулем, поскольку все команды ЭВМ здесь приобретают окончательную форму и получают абсолютные адреса в памяти. Формирование абсолютного модуля может осуществляться как программно путем обработки командных кодов модуля программой-загрузчиком, так и аппаратно путем применения индексирования и базирования команд загрузочного модуля и приведения указанных в них относительных адресов к абсолютной форме.
17.02.2014 РАЗРАБОТКА И РАЗВИТИЕ ПО.
Работа по решению прикладной задачи на компьютере происходит через следующие этапы: 1. постановка задачи; 2. математическая формализация; 3. алгоритмизация; 4. составление программы на языке программирования; 5. отладка и тестирование программы; 6. анализ полученных результатов.
Технологическая цепочка решения задачи на ЭВМ предусматривает возможность возвратов на предыдущие этапы после анализа полученных результатов. Часто в эту цепочку включают ещё один пункт: составление сценария интерфейса (т.е. взаимодействие между пользователем и компьютером во время исполнения программы).
Постановка задачи: 1. формулировку условия задачи; 2. определение конечных целей решения задачи; 3. описание исходных данных (их типов, диапазонов возможных значений, структуры и т.п.); 4. определение формы выдачи результатов.
На этом этапе необходимо чётко определить, что именно известно и что требуется получить в результате.
Построение алгоритма. Этап построения алгоритма предполагает формирование строгой и чёткой системы правил, определяющий последовательность действий, которая за конечное число шагов должна привести к результату. В этот этап входит:
Отладка и тестирование. Отладка программы предполагает следующие действия:
Под отладкой программы понимается процесс испытания работы программы и исправление обнаруженных при этом ошибок. Обнаружить ошибки, связанные с нарушением правил записи программы на ЯП (синтаксические и семантические ошибки). Пользователь получает сообщение об ошибке, исправляет её и снова повторяет попытку выполнить программу.
Проверка на компьютере правильности алгоритма производится с помощью тестов. Тестом, например, можно назвать конкретный вариант значений исходных данных, для которого известен ожидаемый результат. Например, для программы решения системы линейных уравнений необходимо построить тесты, позволяющие проверить работоспособность как для варианта, когда определитель матрицы равен нулю, так и для варианта, когда решение системы существует и единственно.
Частотный принцип. Основан на выделении в алгоритмах и в обрабатываемых структурах групп действий и данных по частоте использования. Для действий, которые часто встречаются при разработке ПО, обеспечиваются условия их наиболее быстрого выполнения. К данным, к которым происходит частое обращение, обеспечивается наиболее быстрый доступ. «Частые» операции стараются делать более короткими.
Принцип модульности. Под модулем, в общем случае, понимают функциональный элемент рассматриваемой системы, имеющий оформление, законченное и выполненное в пределах требований системы, и средства сопряжения с подобными элементами или элементами более высокого уровня данной или другой системы.
Способы обособления составных частей ПО в отдельные модули могут быть существенно различными. Чаще всего разделение происходит по функциональному признаку. В значительной степени разделение системы на модули определяется используемым методом проектирования ПО.
Принцип генерируемости. Основное положение этого принципа определяет такой способ исходного представления ПО, который бы позволял осуществлять настройку на конкретную конфигурацию ТС, круг решаемых проблем, условия работы пользователя.
Принцип «умолчания». Применяется для облегчения организации связей с системой как на стадии генерации, так и при работе с уже готовым ПО. Принцип основан на хранении в системе некоторых базовых описаний структур, модулей, конфигураций, заранее определяющих условия работы с ПО. Эту информацию ПО использует в качестве заданной, если пользователь забудет или сознательно не конкретизирует её.
Общие системные принципы. При создании и развитии ПО рекомендуется применять:
03.03.2014 Типы пользователей. Можно выделить три квалификационные категории пользователей, которые занимаются разработкой и использованием ПО:
Способность к обучению. Человек обучается постепенно. Степень (образованности) ЭВМ определяется её ПО. Желательно, чтобы содержание информации, получаемой на запросе пользователя, могло изменяться по требованию пользователя. Обращение с информацией. Ёмкость мозга человека для сохранения детализированной информации невелика, но обладает интуитивной неформальной возможностью её организации. Эффективность вторичного обращения к памяти зависит от времени. В ЭВМ ёмкость памяти большая, организация – формальное и детализированное, вторичное обращение не зависит от времени. Поэтому целесообразно накапливать и организовывать информацию автоматическим путём и осуществлять её быстрый вызов по удобным для человека критериям. Оценка информации. Человек умеет хорошо разделять значимую и несущественную информацию, а ЭВМ таким свойством не обладает, поэтому должна существовать возможность макро просмотра информации большого объёма, что позволяет человеку выбрать интересующую его часть, не изучая всю накопленную информацию. Отношение к ошибкам. Человек часто допускает существенные ошибки, исправляя их интуитивно. При этом метод обнаружения ошибок чаще всего такой же интуитивный. ЭВМ наоборот не проявляет никакой терпимости к ошибкам и метод обнаружения ошибок строго систематичен. Однако, в области формальных ошибок возможности ЭВМ значительно больше, чем при обнаружении неформальных. Поэтому нужно обеспечить возможность пользователю вводить в ЭВМ исходную информацию в свободной форме. ЭВМ выполняет контроль и преобразование информации к стандартному виду, удобному в процедурах обработки и формального устранения ошибок. Затем желательно обратное преобразование этой информации для показа пользователю в наглядной, например, в графической форме для обнаружения ошибок. Терпение. При многократном повторении одних и тех же действий, человек может испытывать чувство досады. Поэтому предусматривается, например, ввод исходных данных одним массивом при многократном анализе этих данных. К этому же относится включение в систему макро команд или гибкие сценарии. Самочувствие. ЭВМ должна беречь самочувствие пользователя, его чувство собственного достоинства и показывать ему, что именно машина его обслуживает, а не наоборот. Вопросы, ответы и замечания должны соответствовать между подчинённым и его руководителем, определяющим ход процесса проектирования. Эмоциональность. Это чувство свойственно человеку и чуждо ЭВМ. ПО должно возбуждать у пользователя положительные эмоции и не допускать отрицательных
Языки и среды программирования.
АЛГОРИТМЫ. Алгоритм должен быть понятен (доступен) пользователю или машине. Доступность пользователю означает, что он обязан отображаться посредством конкретных формализованных изобразительных средств, понятных пользователю. Способы записи алгоритмов:
Базовые структуры алгоритмов:
Популярное:
|
Последнее изменение этой страницы: 2016-04-10; Просмотров: 4677; Нарушение авторского права страницы