- •2.2. Представлений данных.
- •2.2.1. Виды знаний и моделей их представления.
- •2.2.1.1. Логическая модель
- •2.2.1.1.1 Основные особенности.
- •2.2.1.1.2. Синтаксис и семантика языка предикатов
- •2.2.1.1.3 Правила вывода.
- •2.2.1.2. Продукционная модель
- •2.2.1.3. Семантическая сеть
- •Бинарная семантическая сеть
- •2.2.4.1. Фреймовая модель.
- •Алгоритмы
- •Основные понятия
- •2.2.5.3. Словесно-формульное описание алгоритмов
- •Структурное описание алгоритма
- •2.2.5.5. Требования к алгоритмам
- •3. Программные средства информатики
- •3.1. Виды и особенности программных средств
- •3.2. Системное по
- •3.2.1. Операционные системы.
- •3.2.1.1. Поколения ос
- •3.2.1.2. Основные особенности ос
- •3.2.1.3. Основные особенности операционной системы.
- •3.2.1.4. Состав операционных систем
- •2.2. Вспомогательные (сервисные) программы (утилиты)
- •2.2.1. Программы-упаковщики (архиваторы).
- •2.2.2. Вирусы и антивирусные программы
- •Системы программирования
- •3.1 Основные особенности языков программирования
- •Состав системы программирования
- •Уровни языков программирования
- •Принципы программирования.
- •Алгоритмическое программирование.
- •Структурное программирование.
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование.
- •Специализированные языки программирования
- •4 Прикладное программное обеспечение (ппо)
- •Текстовые процессоры.
- •4.3 Табличные процессоры
- •4.4. Графические редакторы
- •4.4 Системы создания презентаций.
- •4.5 Системы мультимедиа.
- •4.6 Системы управления бд (субд)
Уровни языков программирования
Первый текст языка программирования Short Code и интерпретатор для этого языка был создан в конце 40-х XX века Джоном Маучли. В 1951г. Трейс Холлер создала первую в мире систему программирования с компилятором и редактором связи для этого языка. Ею были введены термины: компилятор, подпрограмма, отладка. Обычно языки делят на языки низкого и высокого уровня.
Языки программирования низкого уровня ориентированы на определенный тип процесса и учитывают его особенность. Языком самого низкого уровня является Ассемблер, который просто представляет каждую машинную команду с помощью условных обозначений. Для некоторых типов процессоров кроме Ассемблера существуют языки, у которых некоторые операторы соответствуют не одной, а короткой последовательности машинных команд. Такие языки низкого уровня называются макроассемблерами. Языки низкого уровня позволяют создавать наиболее эффективные и компактные программы, т.к. разработчик получает доступ ко всем возможным процессам. Однако при этом затрудняется отладка больших программ и получается программа не может быть перенесена на компьютер с другим типом процессора.
Языки высокого уровня ближе и понятнее человеку, чем компьютеру. Особенности попарных аппаратных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для 2-х создан транслятор этого языка. Такие языки – это языки описания алгоритмов решения задач, удобные для человека. Разрабатывать программы на них значительно проще, а ошибок допускается гораздо меньше.
Принципы программирования.
В настоящее время существует большое количество языков программирования высокого уровня, ориентированных на разные особенности решаемых задач. В основе этих ящыков лежат различные принципы:
Алгоритмический;
Структурный;
Событийно-ориентированный;
Объектно-ориентированный.
Алгоритмическое программирование.
Основная идея алгоритмического программирование – составление текста программ из частей (блоков), каждый и з которых представляет собой элементарную алгоритмическую структуру. Единственное требование к блоку – его выполнение всегда начинается с первой операции (команды, оператора) и всегда заканчивается самой последней операцией. Алгоритм записывается с помощью операторов описания данных, вычисления различных значений и управления последнего выполнения операторов, с помощью операторов ветвления и цикла В настоящее время этот принцип используется во всех языках программирования высокого уровня.
Структурное программирование.
Идея структурного программирования заключается в разбиении всей программы на множество частей, которые называются процедурами.
Процедура – последовательность операторов, выполняющих какие-либо действия и независящих от операторов других процедур. Языки программирования, основанные на этом принципе, называются процедурно-ориентированными (процедурными). Процедуры могут быть 3-х видов:
Программа
Подпрограмма
Функция
В программе описывается кроме необходимых действий последовательность выполнения каких-либо других процедур (подпрограмм и функций). Такая программа должна быть одна. В каждой подпрограмме или функции описываются решение каких-либо конкретных проблем. Для указания в исходном тексте выполнения такой процедуры следует написать специальный оператор, который называется оператором вызова подпрограммы (или функции). В этом операторе после имени подпрограммы, функции указывается список так называемых входных данных, необходимых для выполнения процедуры ( константы или переменных и массивов). В каждой подпрограмме или функции, которые в этом случае называются вложенными. Подпрограмма и функция отличается способом возвращения полученных резервов. Функция обязательно возвращает результат, причем указывает своё имя, поэтому должна быть использована в операторах, в арифметических, как это принято в алгебраических выражениях.
Подпрограмма не возвращает полученный результат или возвращает результаты (необязательно один) через имена переменных или массивов, указываемых в том же списке, что и входные данные.
Структурное программирование предполагает предварительное структурное проектирование, которое может выполняться на основе 2-х принципов:
Нисходящее проектирование ( подход сверху-вниз);
Восходящее проектирование ( подход снизу-вверх).
Оба принципа предназначены для построения иерархической структуры описания решаемых задач и следовательно соответствующих программных модулей.
Нисходящее проектирование (подход сверху-вниз) заключается в реализации принципа « от общего к частному», «от цели к задачам» и т.п. Этот метод предусматривает вначале определение цели в общих чертах, а затем постепенное уточнение её структуры путём описания все более мелких деталей. Данный метод представляет собой последовательность шагов такого уточнения. Разработку начинают с определения цели и основных задач, ведущих к достижению этой цели. Затем задачи разбиваются на подзадачи, которые в свою очередь разбиваются на подзадачи следующего уровня иерархии и т.д. до тех пор, пока эти подзадачи не станут достаточно простыми. В результате создаются иерархические структуры, начиная от самого верхнего уровня до самого низкого.
Восходящее проектирование – реализация принципа «от частного к общему», в процессе которого иерархическая структура решаемых задач строится, начиная с самого низкого уровня (уровня элементарных задач) до самого высокого уровня формулирования основной цели всего проектирования. Принципы структурного программирования используются в событийно и объектно-ориентированном программировании.
Примерами языков структурного программирования являются FORTRAN,Basic, Pascal, C, ADA.