- •1 Информация. Понятие информации. Концепции информации
- •2 Информация. Свойства информации
- •3 Информация. Дополнительные свойства информации
- •4 Информация. Формы сигналов
- •5 Информация. Количество информации, равновероятностные события. Энтропия
- •6 Информация. Количество информации, неравновероятностные события. Энтропия
- •7 Информация. Количество информации, Алфавитный подход к измерению информации
- •8 Кодирование числовой и графической информации
- •10 Информатика. Меры количества информации
- •11 Основные функции компьютера. Схема работы компьютера
- •9 Кодирование текстовой информации и звука
- •12 Команда, схема взаимодействия. Выполнение команды
- •13 Системы счисления (основание, полином, понятие разряда, длина числа)
- •14 Перевод чисел из одной системы счисления в другую
- •15 Перевод чисел из любой системы счисления в десятичную и наоборот
- •16 Перевод чисел из двоичной системы счисления в шестнадцатеричную и наоборот
- •17 Выполнение арифметических операций в различных системах счисления (сдвиг в право, сдвиг влево)
- •18 Прямой код. Обратный код. Назначение и свойства обратного кода
- •19 Дополнительный код. Назначение и свойства дополнительного кода
- •20 Арифметические операции над числами с фиксированной точкой в двоичном коде
- •21 Арифметические операции над числами с плавающей точкой в двоичном коде
- •22 История развития вычислительной техники
- •23 Представление информации в памяти эвм. Представление целых чисел
- •24 Представление информации в памяти эвм. Числа с плавающей точкой
- •25 Основные блоки пк
- •26 Основные функциональные характеристики пк
- •27 Монитор, его характеристики, виды мониторов
- •28 Системный блок, его устройство
- •29 Процессор, устройства, основные параметры
- •30 Клавиатура, принципы работы
- •31 Память компьютера, внутренняя память
- •32 Память компьютера, внешняя память
- •33 Мышь, принцип действия
- •34 Сканеры, основные характеристики, классификация
- •Основные характеристики сканеров.
- •Классификация сканеров.
- •35 Принтеры, основные характеристики, классификация
- •36 Плоттер
- •37 Архитектура эвм, схема устройств
- •38 Архитектура эвм, многопроцессорная архитектура
- •39 Поколения эвм
- •40 Основные понятия программного обеспечения. Классификация программных продуктов по сфере использования
- •41 Категории специалистов, занятых разработкой и эксплуатацией программ
- •42 Классификация программных продуктов по сфере использования. Системное по
- •43 Классификация программных продуктов по сфере использования. Прикладные программы
- •44 Инструментарий технологии программирования. Процесс разработки программ
- •2. Этап проектирования:
- •3. Этап кодирования:
- •4. Этап отладки и тестирования:
- •5. Этап эксплуатации и сопровождения:
- •45 Схема процесса создания загрузочного модуля
- •46 Классификация инструментария технологии программирования
- •47 Локальные средства разработки программ
- •48 Основные принципы построения эвм (по фон Нейману)
- •49 Операционная система. Функции ос
- •50 Организация файловой структуры
- •Fat – таблица размещения файлов.
- •51 Размещение информации на диске (создание файла, каталога) Создание и именование файлов
- •Создание каталогов (папок)
- •52 Fat– таблица размещения файлов fat – таблица размещения файлов.
- •Размещение fat таблицы на гибком диске
- •53 Структура каталога, структура fat- таблицы
- •54 Особенности ос Windows
- •55 Программы оболочки. Назначение и основные возможности
- •56 Основные типы окон ocWindows, их особенности
- •57 Текстовый процессор, его возможности
- •58 Процессор электронных таблиц, его возможности
- •59 Компьютерные вирусы, их характеристика и виды вирусов, основные меры по защите от компьютерных вирусов
- •60 Программы защиты от компьютерных вирусов, виды программ и их характеристики. Основные меры по защите от компьютерных вирусов
45 Схема процесса создания загрузочного модуля
Программа, подготовленная на языке высокого уровня, проходит несколько этапов:
1. этап. В текстовом редакторе пишетсяисходный код программы на алгоритмическом языке (source code) и сохраняется в файле с расширением *.pas.
2 этап. Трансляция, происходит преобразованиеисходного кода программы (source code) вобъектный код (object code), т.е. происходит проверка синтаксиса написания операторов, и если ошибок в написании нет, осуществляется перевод на язык машинных кодов. Файл объектного кода имеет расширение *.obj;
Трансляторыпредназначены для проверки правильности написания операторов и преобразования программ, написанных на языках программирования, в программы на машинном языке. Программа, подготовленная на каком-либо языке программирования, называетсяисходным модулем. В качестве входной информации трансляторы применяют исходные модули и формируют в результате своей работыобъектные модули, являющиеся входной информацией для редактора связей. Объектный модуль содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую настройку модуля по месту его загрузки и объединение этого модуля с другими независимо оттранслированными модулями в единую программу.
Трансляторыделятся на два класса:компиляторы (compiler) иинтерпретаторы (interpreter). Компиляторы транслируют всюпрограмму, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняютпооператорный перевод на машинный язык и выполнение всей программы.
3. этап.Компоновка, когда происходит обработка объектного кодаредактором связей, специальной программой осуществляющей построениезагрузочного модуля (load module), пригодного к выполнению (рис 16.).
Компоновщик, или редактор связей - системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.
Получив исполняемый модуль, не спешите радоваться. К сожалению, устранение синтаксических ошибок еще не гарантирует того, что программа будет хотя бы запускаться, не говоря уже о правильности работы. Поэтому обязательным этапом процесса разработки является отладка. На этапеотладки, используя описание алгоритма, выполняется контроль правильности функционирования, как отдельных участков кода, так и всей программы в целом.
46 Классификация инструментария технологии программирования
Инструментарий технологии программирования— совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.
Состав и назначение инструментария технологии программирования
.

Рис. 17 Классификация инструментария технологии программиррования.
В настоящее время бурно развивается направление, связанное с технологией создания программных продуктов. Это обусловлено переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатацию программ, обеспечению гарантированного уровня их качества. Это направление часто называют программотехникой. Программотехника— технология разработки, отладки, верификации и внедрения программного обеспечения. Инструментарий технологии программирования — программные продукты поддержки (обеспечения) технологии программирования.
В рамках этих направлений сформировались следующие группы программных продуктов (рис.17):
Средства для создания приложений, включающие:
локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
интегрированные средыразработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
САSE-технология (Computer-Aided System Engineering), представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем.
Локальные средства разработки программ. Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя.
Язык программирования — формализованный язык для описания алгоритма решения задачи на компьютере. Средства для создания приложений — совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ. Языки программирования, если в качестве признака классификации взять синтаксис образования его конструкций, можно условно разделить на классы:
Низкоуровневые языки, близкие к программированию непосредственно в машинных кодах используемого процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение. К таким языкам относятся:
машинные языки (computerlanguage) — языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
машинно-ориентированные языки (computer-orientedlanguage) — языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры, этот язык в настоящее время в основном используется для написания драйверов- программ управления устройствами);
Высокоуровневые языки программирования, разработанные для быстроты и удобства использования программистом. Основная черта высокоуровневых языков — это ведение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.
алгоритмические языки (algorithmiclanguage) — не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);
процедурно-ориентированные языки (procedure-orientedlanguage) — языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);
проблемно-ориентированные языки (universalprogramminglanguage) — языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);
Языки высокого уровня, т.е. все компьютерные языки, отличающиеся от языка машинных кодов и ассемблера, предназначены для того, чтобы устранить громоздкость и подверженность ошибкам языка ассемблера, возлагая на сам компьютер большую часть работы по образованию подробных машинных команд. Языки высокого уровня опираются на две идеи. Одна из них заключается в объединении многих машинных команд в одну команду (оператор) программы. Вторая идея состоит в устранении тех тонких деталей, которые учитывают действия компьютера, но не относятся к требуемой программисту работе (например, какие регистры и для чего использовать).
Системы программирования (programming system) включают:
компилятор;
интегрированную среду разработчика программ;
отладчик;
средства оптимизации кода программ;
набор библиотек (возможно с исходными текстами программ);
редактор связей;
сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;
справочные системы;
документатор исходного кода программы;
Примером такой системы программирования может служить система Турбо - Паскаль.
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими как:
библиотека функций, процедур, объектов и методов обработки;
макрокоманды;
языковые макросы;
программные модули-вставки;
генераторы приложений;
языки запросов высокого уровня и т.п.
Интегрированные среды разработки программ являются дальнейшим развитием средств разработки программ и объединяют комплекс технологических этапов создания программы. Основное их назначение – повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих графический интерфейс пользователя, разработка приложения для архитектуры клиент - сервер, запросов и отчетов.
Примером такой среды является система Delphi. Разработчику программ с использованием Delphi предоставлены:
объектно-ориентированный язык программирования;
высокопроизводительный компилятор;
средства наглядного (визуального) создания программ (для создания системы меню, экранных форм, отчетных форм и т.п.);
специальная технология работы с базами данных;
принцип “открытой” системы: возможность добавления новых средств и перенос на другие платформы.
CASE-технология — программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем.
Средства CASE-технологий делятся на две группы:
встроенные в систему реализации— все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);
независимые от системы реализации- все решения по проектированию ориентированы на унификацию начальных этапов жизненного цикла и средств их документирования, обеспечивают большую гибкость в выборе средств реализации.
Основное достоинство CASE-технологии — поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта/импорта любых фрагментов проекта, организационного управления проектом.
Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляют специальные графические средства для изображения различного вида моделей:
диаграмму потоков данных (DFD—dataflowdiagrams) совместно со словарями данных и спецификациями процессов;
диаграмму "сущность-связь" (ERD—entityrelationshipdiagrams), являющуюся инфологической моделью предметной области.
