Языки программирования и их классификация
Языки программирования – формальные языки, созданные для общения человека с компьютером. Язык программирования включает:
· Алфавит – набор символов, фиксированный для конкретного языка.
· Синтаксис – систему правил образования допустимых конструкций из символов алфавита.
· Семантику – систему правил однозначного толкования языковых конструкций.
Наиболее общая классификация языков программирования основывается на степени их зависимости от компьютера.Различают машинно-зависимые и машинно-независимые языки программирования.
Машинно-зависимые языки программирования делят на:
· Машинные – внутренние языки машин, воспринимаемые аппаратной частью конкретного компьютера. Их называют машинными кодами.
· Машинно-ориентированные – отражают структуру определенного типа компьютера.
Достоинство машинно-зависимых языков – высокая эффективность вычислений.
Недостатки:
· программы оптимизированы под аппаратную архитектуру конкретного компьютера;
· отсутствие стандартизации.
Машинно-независимые языки позволяют описывать процесс решения задачи без использования специальных знаний обособенностях конкретного компьютера. Машинно-независимые языки называют алгоритмическими языками. Под алгоритмическим языком понимается связанная синтаксической структурой система обозначений и терминов, содержащая сведения: какие действия, над какими данными, в какой последовательности надо выполнить, чтобы решить поставленную задачу. Например: Fortran, Basic, Cи.
Достоинства этих языков:
· уменьшение зависимости от аппаратуры;
· высокая эффективность труда разработчиков за счет того, что 1 команда алгоритмического языка – это несколько машинных кодов;
· операторы стали осмысленными.
Недостаток – необходимость использования трансляторов.
Машинно-независимые языки делят на:
· процедурно-ориентированные;
· проблемно-ориентированные;
· объектно-ориентированные.
Процедурно-ориентированные языки предназначены для описания различных классов алгоритмов с помощью стандартного набора процедур. Например: Бейсик, Си, Паскаль.
Проблемно-ориентированные языки предназначены для описания не алгоритмов, а задач в терминах их предметной области. Например: RPG, STRESS.
Объектно-ориентированные языки предназначены для работы с объектами в зависимости от происходящих событий. Они позволяют описывать объекты, их свойства и обработку. Например: Delphi, Java, VBA и др.
Программы, написанные на алгоритмических языках, не могут непосредственно исполняться на ЭВМ. Они нуждаются в предварительном переводе на машинный язык. Этот перевод происходит автоматически с помощью программы-транслятора. В зависимости от функционального назначения транслятор может быть: компилятором и интерпретатором.
Компилятор – обеспечивает перевод с языка программирования на машинный язык без одновременного выполнения получаемой программы.
Если трансляция исходной программы совмещена с ее выполнением, такая транслирующая система называется интерпретатором.
После написания программы необходимо провести ее отладку. Работу по отладке полностью автоматизировать пока не возможно. Однако частично автоматизировать можно, выдавая на печать информацию о работе программы. Выдачу нужной для обнаружения ошибок информации можно организовать при помощи программ-отладчиков.
Методология программирования совершенствуется: происходит переход от разработки языков системного уровня: Бейсик, Паскаль и др., – к языкам описания сценариев: Perry Tel и др. Языки системного программирования позволяют разрабатывать программы «с нуля». Языки описания сценариев позволяют связывать готовые программы (модули).
Язык программирования имеет иерархическую структуру. Обычно в нем выделяют четыре уровня:
1. Основные символы (алфавит).
2. Слова.
3. Выражения.
4. Оператор (предложение).
Основные символы – неделимые знаки, с помощью которых создаются сложные образования.
Слова – сочетания символов алфавита, имеющие в языке определенный смысл.
Выражения – сочетания групп слов.
Для обозначения переменных используются идентификаторы – слова, состоящие из последовательности букв и цифр.
Оператор (предложение) задает описание некоторой части вычислительного процесса. К числу наиболее используемых операторов относятся: оператор присваивания, условные операторы, операторы циклов.
4.ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
Технология (от греческого: techne – искусство, + logos мастерство, учение) – совокупность знаний о методах обработки, изготовления, изменения состояния, свойств, формы сырья, материала или полуфабриката – в процессе производства.
Начало технологии программирования положено в середине ХХ-го века. Возникновение этого направления обусловлено рядом причин:
· увеличение парка компьютеров и объема ПО;
· программы большого объема и сложной структуры трудно читаемы и понимаемы;
· рост стоимости разработки ПО;
· специфические особенности процесса программирования.
Технология программирования преследует несколько целей:
· увеличение скорости составления и отладки программ;
· сведение к минимуму количества ошибок;
· обеспечение условий для легкого изменения структуры программ;
· содержание программ должно быть доступно программистам, как чертежи инженерам.
Этих целей можно достичь при индустриальном подходе к программированию:
· расчленение процесса на стандартные элементы и выявление взаимосвязей между ними;
· специализация исполнителей по определенным процедурам;
· применение приемов и методов программирования с использованием стандартных и унифицированных решений;
· тщательное планирование процесса и управление им.
Организация программирования в соответствии с принципами индустриальных методов получила название структурного подхода. Структурный подход нацелен на:
1. Упрощение и унификацию структуры ПО – структуризация ПО.
2. Унификацию и стандартизацию технической документации на ПО.
3. Организацию в соответствии со стандартными правилами процессов разработки ПО.
Важным в процессе упрощения и унификации структуры ПО является упорядочение сверху вниз, что предполагает начинать разработку с верхнего уровня иерархии – нисходящая обработка.
Унификация внутренней структуры блоков (узлов) предполагает стандартное построение тела каждого узла. Рекомендуется использовать три структуры:
· линейную– простую последовательность (рис.11.4,а);
· распределительную– выбор, или ветвление (рис.11.4,б);
· циклическую– повторение (рис.11.4,в,г).
Рис. 11.4. Унифицированные структуры
Унификация и стандартизация технической документации на ПО достигаются внедрением стандартной формы спецификации ПО – единой системы документов, ведущихся в процессе разработки, эксплуатации и модификации ПО.
Организация процесса разработки и внедрения ПО предполагает соблюдение основных правил:
· разработку ПО и его элементов осуществлять в последовательности сверху вниз;
· для выполнения работ создавать специализированные группы стандартного составас распределением функций между членами группы;
· техническая документация должна разрабатываться и корректироваться параллельно с разработкой и корректировкой элементов ПО.
Структурное программирование – методология и технология разработки программных комплексов, основанная на принципах: программирования «сверху-вниз» и модульного программирования.
Программирование «сверху вниз» (нисходящее программирование) – методика разработки программ, при которой разработка начинается с определения целей решения проблемы, после чего идет последовательная детализация, заканчивающаяся детальной программой.
Модульное программирование – метод разработки программ, предполагающий разбиение программы на независимые модули. Оптимальный по размерам модуль должен помещаться на экране дисплея. Разделение программы на модули облегчает ее разработку, отладку и сопровождение.
В целом сегодня можно назвать следующие технологии программирования.
1. Метод восходящего проектирования – вначале определяются вспомогательные модули, которые потребуются для проектируемой программы.
2. Восходящее программирование (Программирование «снизу вверх») – методика разработки программ, когда крупные блоки собираются из ранее созданных мелких блоков. Восходящее программирование начинается с разработки ключевых процедур и подпрограмм, которые постоянно модифицируются.
3. Метод расширения ядра – метод восходящего программирования, при котором внимание уделяется выявлению множества вспомогательных модулей, а не определению функции всей программы.
4. Компьютерный дарвинизм – подход, основанный на принципе восходящей разработки при интенсивном тестироваИИ. Подход состоит из трех основных процессов: макетирования, тестирования и отладки.
5. Объектно-ориентированное программирование – программа рассматривается как набор дискретных объектов, содержащих наборы структур данных и процедур, взаимодействующих с другими объектами.
6. Сборочное программирование – программа собирается посредством повторного использования известных фрагментов программ.
7. Императивное программирование – характеризуется принципом последовательного изменения состояния вычислителя пошаговым образом.
8. Модульное сборочное программирование – разновидность сборочного программирования, основанная на процедурах и функциях методологии структурного императивного программирования.
9. Аспектно-ориентированное сборочное программирование – разновидность сборочного программирования, основанная на сборке полнофункциональных приложений из многоаспектных компонентов, инкапсулирующих различные варианты реализации.
10. Объектно-ориентированное сборочное программирование – разновидность сборочного программирования основанная на методологии объектно-ориентированного программирования и предполагающая распространение библиотек классов в виде исходного кода или упаковку классов в динамически компонуемую библиотеку.
11. Компонентное сборочное программирование – объектно-ориентированное сборочное программирование, основанное на распространении классов в бинарном виде и предоставление доступа к методам класса через строго определенные интерфейсы. Компонентное сборочное программирование поддерживают технологические подходы COM, CORBA, Net.
12. Логическое программирование – программирование в терминах фактов и правил вывода, с использованием языка, основанного на формальных исчислениях.
13. Синтезирующее программирование – программирование, предполагающее синтез программы по ее спецификации.
14. Диаграмма функционального моделирования (Structured analysis and design technique) – инструмент разработки функциональных спецификаций в виде диаграмм, фрагментов текста, глоссария – связанных перекрестными ссылками.
Технологии разработки программных комплексов включают:
1. Императивный подход. Программа – неструктурныйнабор команд.
Например: Fortran, С
2. Модульный (структурный) подход. Программа – описание действий, которые надо осуществить. При этом:
· задача разбивается на подзадачи;
· составляется структурная схема задач;
· осуществляется реализация.
Например: SML, Haskell, Prolog, LISP.
3. Функциональный подход. Программа – функция с одним или несколькими аргументами.
Достоинства:
· программа моделируется путем агрегирования математических функций;
· память компьютера распределяется автоматически.
Недостатки:
· структура программ нелинейная;
· эффективность реализации невысокая.
Например: LISP, SML.
4. Логический подход. Программа – совокупность правил, или логических высказываний.
Достоинства:
· высокий уровень машинной независимости;
· возможность откатов.
Недостатки:
· специфичность класса решаемых задач;
· сложность реализации для систем реального времени.
Например: Prolog, Mercury.
5. Объектно-ориентированный подход. Программа – описание объектов, их свойств и методов их обработки.
Достоинства:
· близость к предметной области;
· поддержка механизмов изменения объектов;
· использование библиотек объектов и методов.
Недостатки:
· трудности формализации объектов;
· трудности тестирования программы.
Например: С++, С#; Visual Basic, Eiffel, Oberon.
6. Подход сценариев (скриптов). Программа – совокупность возможных сценариев обработки данных.
Достоинства:
· интуитивная ясность описаний;
· близость к предметной области;
· высокая степень абстракции.
Недостаток – сложность тестирования и верификации программ.
Например: MS Visual Studio.NET, VBScript, PowerScript, LotusScript, JavaScript.
7. Подход поддержки параллельных вычислений. Программа – совокупность описаний процессов, которые могут выполняться в действительности псевдопараллельно.
Достоинства:
· применяются в системах реального времени;
· обрабатывают большие массивы информации, поступающей от одновременно работающих пользователей.
Недостаток – высокая стоимость разработки ПО.
Например: Ada, Modula-2, Oz.
Контрольные вопросы
1. Этапы решения задач на компьютере
2. Алгоритм. Типы алгоритмов
3. Инструментальные средства программирования
4. Языки программирования и их классификация
5. Технологии программирования
ЛИТЕРАТУРА
1. Информатика для юристов и экономистов: Учебник для вузов / Под ред. С.В.Симоновича. – СПб: Питер, 2006.
2. Основы информатики: Учеб. пособие / А.Н.Морозевич [и др.]; Под ред. А.Н.Морозевича. – Минск: Новое знание, 2003.
3. Веретенникова, Е.Г. Информатика: Учеб. пособ. / Е.Г.Веретенникова. – Ростов на Дону, 2002.
4. Информатика: Учебник для вузов. / Н.В.Макарова [и др.]; Под ред. Н.В.Макаровой. – М.: Финансы и статистика, 2002.
5. Информатика. Базовый курс: учеб. пособ. для втузов / С.В.Симонович [и др.]; Под ред. С.В.Симоновича. – СПб: Питер, 2004.
6. Карпович, С.Е. Прикладная информатика: Учеб. пособ. / С.Е.Карпович, И.В.Дайняк. – Минск: Вышэйшая школа, 2003.
7. Боев В.Д. Справочная правовая система КонсультантПлюс. Самоучитель. /В.Д.Боев –Спб: БХВ-Петербург, 2006.
8. Microsoft Windows XP Professional/ Учебный курс Microsoft-Спб.:Питер,2008
9. Козлов, Д.А. Энциклопедия компьютерных вирусов / Д.А.Козлов, А.А.Парандовский, А.К.Парандовский. – М.: Солон-Р, 2001.
10. Холмогоров В. Поиск в Интернете и сервисы Яндекс/ В.Холмогоров –Спб, Питер, 2006
11. Гусев В.С. Google: эффективный поиск. Краткое руководство/В.С.Гусев-М.:Вильямс,2006
12. Морозов Н.П. Справочные правовые системы/Н.П.Морозо, С.Б.Чернокнижный-Спб:ИД «Весь»,2003
13. Крошинская, Л.И. Основы информатики и вычислительной техники: ДО. / Л.И.Крошинская, А.И.Бородина, О.Л.Сапун. – Минск: БИП-С, 2003.
14. Национальная Программа ускоренного развития услуг в сфере информационно-коммуникационных технологий на 2011-2015 годы. [Электронный ресурс]. – Режим доступа: www.it-strana.by/
15. Об информации, информатизации и защите информации: Закон Республики Беларусь от 10.11.2008 г., № 455_3. [Электронный ресурс]. – Режим доступа: www.tamby.info/zakon-455_2008.htm
16. Указ Президента Республики Беларусь «О национальном правовом интернет-портале Республики Беларусь» от 16.12.2002 г. № 609.
17. Анисимова Ж.М. Технология баз данных и знаний: учеб.пособие. – Минск: МГЭИ, 2008. – 142 c.
18. Введение в базы данных [Электронный ресурс]. – Режим доступа: http://www.mstu.edu.ru/study/materials/zelenkov/toc.html
19. Диго, С. М. Базы данных: проектирование и использование: учебник для высших учебных заведений по специальности "Прикладная информатика (по областям)" / С.М.Диго. - Москва: Финансы и статистика, 2005. - 590 с.
20. Защита баз данных в Access 2007 [Электронный ресурс]. – Режим доступа: http://office.microsoft.com/ru-ru/access-help
21. Рудикова, Л.В. Проектирование баз данных. – Гродно: ГрГУ, 2007. – 318 с.
22. Вишняков, В.А. Информационный менеджмент: В 8 ч.Ч.6: Распределенные БД в экономике и управлении. Мн.: Изд-во МИУ, 2006. – 208 с.
23. Системы баз данных / [Н.И. Белодед и др.]. – Минск: Академия управления при Президенте Республики Беларусь, 2007. – 183 с.
24. Системы управления базами данных: учебное пособие для студентов и курсантов учреждений, обеспечивающих получение высшего образования / Министерство обороны Республики Беларусь, Учреждение образования "Военная академия Республики Беларусь". - Минск : Военная академия Республики Беларусь, 2006. - 163 с.
25. Хранилища данных и OLAP [Электронный ресурс]. – Режим доступа: http://www.basegroup.ru/library/dw_olap/
26. Фуфаев, Э. В. Базы данных: учебное пособие / Э.В.Фуфаев, Д.Э.Фуфаев. - Москва : Академия, 2005. – 319 с.
27. Корпоративные информационные системы: Учеб. Пособие/ Голенда Л.К., Говядинова Н.Н., Седун А.М. [и др.].; Мн.: БГЭУ, 2011 г., 291 с.
28. Челноков, М.А.Современные информационные технологии: Учеб. Пособие.2-е изд. – Мн.: БГЭУ, 2001. – 88 с.
29. Автоматизированные системы обработки экономической информации. Под ред. Титоренко В.С. М: Финансы и статистика, 1998 г.
30. Землянский А.А. Информационные технологии в экономике. М.: Колосс, 2004 г.
31. Основы экономической информатики: Учеб. Пособие/ А.Н. Морозевич, Н.Н. Говядина, Б.А. Железко и др.; Под общ. Ред. А.Н. Морозевича Мн.: БГЭУ, 2003 г.
32. Т.А. Гаврилова, В.Ф. Хорошевский. Базы знаний интеллектуальных систем. Спб.: Питер, 2001 г.
33. О.А. Сосновский, Д.А.Василевский, Н.В. Левкович Компьютерные сети и сетевые технологии. Лабораторный практикум. Мн: БГЭУ 2003 г.
34. В.С. Барсуков, В.В. Водолазский Современные технологии безопасности. М.: Нолидж, 2000 г.
35. Говядинова Н.Н., Голенда Л.К., Железко Б.А. Введение в реинжениринг бизнес- процессов. Мн: БГЭУ 2001 г.
36. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер.- Спб: Издательство «Питер», 2004 г.
СОДЕРЖАНИЕ
Введение. 3
Раздел 1. Техническое и программное обеспечение информационных технологий 5
Тема 1. Предмет и основные понятия компьютерных информационных технологий 5
Тема 2. Техническое обеспечение компьютерных информационных технологий. 21
Тема 3. Сетевые информационные технологии. 43
Тема 4. Системное программное обеспечение компьютерных информационных технологий. 62
Тема 5. Сервисные программы.. 83
Тема 6. Прикладное программное обеспечение кит. Системы обработки текстовых документов. 89
Тема 7. Системы обработки табличной информации. 97
Тема 8. Системы обработки графической информации. 106
Тема 9. Пакеты для математической обработки данных. 118
Тема 10. Программы-органайзеры.. 124
Тема 11. Системы программирования. 137
Литература. 148
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|