- •СОДЕРЖАНИЕ
- •Раздел 1. ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММНОМ ОБЕСПЕЧЕНИИ
- •1.1. Принцип программного управления
- •1.2. Автоматическое выполнение команд программы
- •1.3. Этапы постановки и решения задачи на компьютере
- •1.4. Назначение и классификация языков программирования
- •1.4.1. Машинно-ориентированные языки
- •1.4.2. Машинно-независимые языки
- •1.5. Структура программного обеспечения
- •1.5.1. Системы программирования
- •1.5.2. Операционные системы
- •Раздел 2. ОСНОВЫ АЛГОРИТМИЗАЦИИ
- •2.1. Алгоритм и его свойства
- •2.2. Способы описания алгоритмов
- •2.2.1. Словесное описание
- •2.2.2. Графическое описание
- •2.2.3. Запись на алгоритмическом языке
- •2.3. Разновидности структур алгоритмов
- •2.3.1. Линейный вычислительный процесс
- •2.3.2. Разветвляющийся вычислительный процесс
- •2.3.3. Циклический вычислительный процесс
- •Раздел 3. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
- •3.1. Теория структурного программирования
- •3.2. Реализация структурного проектирования в современных языках программирования
- •3.3. Преобразование неструктурированных программ в структурированные
- •3.3.2. Метод введения переменной состояния
- •3.3.3. Метод булевого признака
- •3.4. Способы графического представления структурированных схем алгоритмов
- •3.4.1. Метод Дамке
- •3.4.2. Схемы Насси-Шнейдермана
- •Раздел 4. АЛГОРИТМИЧЕСКИЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ
- •4.1. Общая характеристика языка Паскаль
- •4.2. Алфавит языка Паскаль
- •4.3. Основные понятия языка
- •4.3.1. Идентификаторы
- •4.3.2. Комментарии
- •4.4. Структура простейшей программы
- •4.5. Способы описания синтаксиса
- •4.5.2. Синтаксические диаграммы
- •Раздел 5. ОСНОВНЫЕ ТИПЫ ДАННЫХ
- •5.1. Классификация данных
- •5.2. Стандартные скалярные типы данных
- •5.2.1. Целочисленные типы
- •Формат
- •5.2.2. Вещественные типы
- •Функция
- •5.2.3. Символьный тип (тип Char)
- •5.2.4. Логический тип (тип Boolean)
- •Функция
- •5.3. Выражения
- •5.4. Оператор присваивания
- •Раздел 6. СТРУКТУРА ПРОГРАММЫ
- •6.1. Программный модуль
- •6.2. Раздел меток
- •6.3. Раздел констант
- •6.4. Раздел типов
- •6.5. Раздел переменных
- •6.6. Раздел операторов
- •Раздел 7. ОПЕРАТОРЫ
- •7.1. Составной оператор
- •7.2. Программирование линейных и разветвляющихся структур алгоритмов
- •7.2.1. Оператор перехода Goto
- •7.2.2. Условный оператор If
- •7.2.3. Оператор варианта (выбора) Case
- •7.2.4. Пустой оператор
- •7.3. Программирование циклических структур алгоритмов
- •7.3.1. Оператор цикла с параметром (оператор For)
- •7.3.2. Оператор цикла с постусловием
- •7.3.3. Оператор цикла с предусловием
- •7.3.4. Операторы Continue и Leave
- •Раздел 8. СТРУКТУРИРОВАНИЕ И ОФОРМЛЕНИЕ ПРОГРАММ
- •Раздел 9. ОПИСАННЫЕ СКАЛЯРНЫЕ ТИПЫ
- •9.1. Перечислимый скалярный тип
- •9.2. Тип диапазон
- •10.1. Массивы
- •10.1.1. Задание массивов
- •10.1.2. Действия над элементами массивов
- •10.1.3. Действия над массивами
- •10.1.4. Типизованные константы типа массив
- •10.2. Строковые данные
- •10.2.1. Строковые константы
- •10.2.2. Строковые переменные
- •10.2.3. Встроенные функции, определенные над данными типа String
- •ЛИТЕРАТУРА
Третья группа. Объектно-ориентированные языки.
Объектно-ориентированные языки являются развитием процедурноориентированных языков. Поэтому часто не выделяются в отдельную группу языков.
В объектно-ориентированных языках, при сохранении всех свойств процедурно-ориентированных языков дополнительно введено понятие объекта.
К данной группе языков относятся версии языка Турбо Паскаль 5.5 и выше, Си++ и ряд других.
Четвертая группа. Проблемно-ориентированные языки.
Ориентированы на узкий класс однотипных задач. Исключают работу программиста по разработке алгоритмов решаемых задач.
К данной группе относится, например, язык РПГ (Report Program Generator – генератор отчетов). Предназначен для печати отчетов. Программисту достаточно задать информацию о форме входных и выходных документов отчета, о носителях информации.
Пятая группа. Языки четвертого поколения.
Языки четвертого поколения (4GL) реализуют современные технологии визуального программирования. Автоматически генерируют исходный текст программ целиком или в виде отдельных фрагментов.
К данной группе языков можно отнести, например, визуальные среды программирования Delphi, Builder C++.
1.5.Структура программного обеспечения
Под системой программного обеспечения (СПО) подразумевают совокупность специальных программ, облегчающих процесс изготовления программ и обеспечивающих процесс их выполнения на компьютере, и связанную с ними документацию.
Программное обеспечение (ПО) по функциям и задачам, выполняемым его программами, можно разделить на две группы:
1)специализированное ПО;
2)стандартное ПО.
Специализированное ПО состоит из прикладных программ, предназначенных для решения некоторых самостоятельных задач, достаточно часто встречающихся (например, задачи начисления заработной платы, решения систем уравнений и т.п.).
11
К стандартному ПО относятся системы программирования и операционные системы.
Система программирования – совокупность программ, описаний и инструкций, предназначенных для автоматизации процесса разработки программ.
Операционная система – совокупность программ, описаний и инструкций, предназначенных для организации и контроля выполнения программ на компьютере.
Программы, входящие в стандартное программное обеспечение,
называются системными программами.
1.5.1. Системы программирования
Основное назначение систем программирования – максимально облегчить процесс общения программиста с компьютером, освободить его от необходимости описания алгоритма на машинном языке, предоставить возможность использования языка высокого уровня.
Состав системы программирования:
1)входной язык системы;
2)транслятор с входного языка на машинный язык;
3)редактор связей;
4)библиотеки программ;
5)средства отладки;
6)обслуживающие (сервисные) программы;
7)документация.
1) Входной язык системы.
Входной язык – это язык, на котором пишется исходный текст программы.
Входным языком системы программирования является один из рассмотренных выше языков программирования низкого или высокого уровня.
2) Транслятор.
Транслятор – это программа, предназначенная для преобразования исходной программы, написанной на входном языке программирования, в программу на машинном языке. Существует два вида трансляторов:
а) Компиляторы – трансляторы, в которых трансляция отделена от выполнения программы (транслятор компилирует рабочую программу, которая в дальнейшем может быть выполнена). К компиляторам относятся трансляторы, например, со входных языков Паскаль, Си.
12
б) Интерпретаторы – трансляторы, в которых трансляция совмещена с выполнением программы. Каждый оператор языка читается, расшифровывается и выполняется. Интерпретаторы отличаются малой скоростью работы, но являются более простыми по сравнению с компиляторами. К интерпретаторам относится, например, транслятор со входного языка Бейсик.
3) Редактор связей.
Современные системы программирования основаны на модульном принципе: программы оформляются в виде совокупности взаимосвязанных программ. Каждая такая программа называется модулем.
Исходный модуль – это модуль, записанный на входном языке программирования. Каждый исходный модуль транслируется независимо от других модулей.
Объектный модуль – это модуль, полученный в результате трансляции. Он содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую объединение этого модуля с другими независимо транслированными модулями и настройку модуля по месту его загрузки в память.
Редактор связей – это программа, предназначенная для сборки и установления связей между модулями. Результатом работы редактора связей является, в зависимости от операционной системы, загрузочный или абсолютный модуль.
Загрузочный модуль – это модуль, готовый к вводу в память для настройки по месту в памяти и выполнения (модуль, готовый к загрузке).
Абсолютный модуль – это модуль, полученный в результате загрузки.
4) Библиотека стандартных программ.
Библиотека стандартных программ (БСП) представляет собой готовые программы, предназначенные для решения распространенных задач. Программы, включенные в библиотеку, оформляются специальным образом, облегчающим их вызов, использование, передачу входных данных и результатов. Программы, включенные в БСП, автоматически вызываются для выполнения специальными командами вызова.
5) Средства отладки.
Основная цель этапа отладки – выявление и исправление ошибок в программе. Процесс отладки состоит из многократных попыток выполнения программы на компьютере и анализа получившихся результатов.
Собственно процессу выполнения на машине предшествует трансляция программы и ее редактирование.
Большинство синтаксических ошибок обнаруживается машиной автоматически на этапе трансляции. Современные трансляторы с языков
13
программирования выдают информацию о синтаксических ошибках (ошибках, допущенных при записи текста программы на алгоритмическом языке), указывают места ошибок и их характер.
На этапе редактирования обнаруживаются ошибки, связанные с неправильным оформлением подпрограмм, ошибки в командах вызова подпрограмм и стандартных программ из БСП.
На этапе выполнения обнаруживаются логические ошибки программы (например, деление на ноль, бесконечный цикл и т.п.).
В программное обеспечение современных компьютеров входят специальные средства отладки, позволяющие в пошаговом режиме обнаружить и локализовать ошибку.
После того, как программа становится работоспособной, проводится ее тестирование – проверка правильности ее функционирования на различных наборах исходных данных из диапазона их допустимых значений.
6) Системные сервисные программы.
Системные сервисные программы носят вспомогательный характер и упрощают работу с системой программирования.
1.5.2. Операционные системы
Под операционной системой (ОС) понимают набор программ, которые организуют и контролируют выполнение программы на компьютере без вмешательства оператора.
В настоящее время на персональных компьютерах наиболее распространены операционные системы типа MS-DOS (PC-DOS), UNIX, Windows.
Операционная система обеспечивает выполнение двух главных задач:
1)поддержку работы всех программ и обеспечение их взаимодействия с аппаратурой;
2)предоставление пользователям возможностей общего управления компьютером.
14