
- •Содержание
- •1.Понятие информатики
- •1.1. История развития информатики
- •1.2. Мировоззренческие экономические и правовые аспекты информационных технологий
- •2.Понятие информации и ее измерение
- •2.1. Меры информации
- •2.2. Единицы измерения информации и примеры
- •2.2.1Синтаксическая мера информации
- •2.2.2Семантическая мера информации
- •2.2.3Прагматическая мера информации
- •2.2.4Алгоритмическая мера информации
- •2.3. Количество и качество информации
- •2.4. Единицы измерения информации
- •2.5. Информация и энтропия
- •2.5.1Сообщения и сигналы
- •2.5.2Схема передачи информации
- •2.5.3Энтропия
- •2.5.4Избыточность
- •2.5.5Сенсация
- •3.Понятие информационной технологии
- •3.1. Новая информационная технология
- •3.2. Инструментарий информационной технологии
- •3.3. Составляющие информационной технологии
- •3.4. Развитие информационных технологий
- •3.4.1Нулевое поколение ит
- •3.4.2Первое поколение ит
- •3.4.3Второе поколение ит
- •3.4.4Третье поколение ит
- •3.4.5Четвертое поколение ит
- •3.4.6Пятое поколение ит
- •3.5. Базовая информационная технология
- •3.6. Предметная информационная технология
- •3.7. Обеспечивающая информационная технология
- •3.8. Функциональная информационная технология
- •3.9. Виды пользовательского интерфейса информационных технологий
- •3.10. Свойства информационных технологий
- •4.Сообщения и сигналы
- •4.1. Кодирование и квантование сигналов
- •4.2. Виды и характеристики носителей и сигналов
- •4.2.1Характеристики сигналов, передаваемых по каналу
- •4.2.2Модуляция сигналов
- •4.2.3Виды и характеристики носителей
- •4.2.4Спектры сигналов
- •4.2.5Периодические сигналы
- •4.2.5.1Тригонометрическая форма
- •4.2.5.2Комплексная форма
- •4.2.5.3Определение погрешности
- •4.2.5.4Спектр
- •4.2.6Непериодические сигналы
- •5.Модуляция и кодирование
- •5.1. Коды: прямой, обратный, дополнительный, модифицированный
- •5.1.1Прямой код числа
- •5.1.2Обратный код числа
- •5.1.3Дополнительный код числа
- •5.1.4Модифицированный код числа
- •5.2. Систематические коды
- •5.3. Контроль по четности, нечетности, по Хеммингу
- •5.3.1Кодирование по методу четности-нечетности
- •5.3.2Коды Хэмминга
- •5.4. Сетевые технологии обработки данных
- •5.4.1Распределенная обработка данных
- •5.4.2Обобщенная структура компьютерной сети
- •5.4.3Классификация вычислительных сетей
- •5.5. Каналы передачи данных и их характеристики
- •5.5.1Обобщенные характеристики сигналов и каналов
- •5.5.2Характеристики канала передачи информации без помех
- •5.5.3Характеристики каналов передачи информации с помехами
- •5.6. Методы повышения помехоустойчивости передачи и приема
- •5.7. Современные технические средства обмена данных и каналообразующей аппаратуры
- •6.Представление информации в цифровых автоматах (ца).
- •6.1. Информационные основы контроля работы цифровых автоматов
- •6.2. Основные принципы помехоустойчивого кодирования
- •6.3. Помехоустойчивость кода
- •6.4. Методы помехоустойчивого кодирования
- •6.4.1Метод контроля четности
- •6.4.2Метод контрольных сумм
- •6.4.3Коды Хэмминга
- •6.4.4Контроль по модулю
- •6.4.5Числовой метод контроля
- •6.4.6Цифровой метод контроля
- •6.4.7Выбор модуля для контроля
- •6.5. Контроль логических операций
- •6.5.1Операции сдвига
- •6.5.2Операция сложения по модулю 2
- •6.5.3Операция логического умножения.
- •6.6. Контроль арифметических операций
- •6.7. Арифметические коды
- •7.1. Основные понятия относящиеся к преобразователям
- •7.2. Уровни цифровой логики
- •7.3. Управляющий выходной сигнал – выходной сигнал «состояние»
- •7.4. Управляющий выходной сигнал строб-импульс
- •7.5. Аналоговые сигналы
- •7.6. Цифроаналоговые преобразователи
- •7.6.1Цифроаналоговое преобразование
- •7.6.2Основные типы цап
- •7.6.2.1Цап со взвешенными резисторами
- •7.6.2.2Цап с цепочкой резисторов типа r—2r
- •7.6.3 Другие типы цап
- •7.7. Аналоговые преобразователи
- •7.7.1 Аналогоцифровое преобразование
- •7.7.2 Основные типы ацп
- •7.7.2.1Двухтактные интегрирующие ацп
- •7.7.2.2Ацп последовательного приближения
- •7.7.3 Другие типы ацп
- •7.7.3.1Преобразователи напряжения в частоту
- •7.7.3.2Параллельные ацп
- •7.8. Факторы применения
- •7.8.1 Характеристики цап
- •7.8.2 Характеристики ацп
- •7.9. Совместимость с системой
- •7.10. Совместимость преобразователей (взаимозаменяемость)
- •8.Позиционные системы счисления
- •8.1. Методы перевода чисел.
- •8.2. Форматы представления чисел с плавающей запятой.
- •8.3. Двоичная арифметика.
- •9.Понятие и свойства алгоритма
- •9.1. Определение алгоритма
- •9.2. Свойства алгоритма
- •9.3. Правила и требования, предъявляемые к построению алгоритма
- •9.4. Типы алгоритмических процессов
- •9.5. Принцип программного управления
- •9.5.1Принципы Джона фон Неймана
- •9.5.2Функциональная и структурная организация компьютера
- •9.6. Выполнение арифметических операций с числами с фиксированной и плавающей запятой
- •9.6.1Коды: прямой, обратный, дополнительный,
- •9.6.2Операция сложения
- •9.6.3Операция умножения
- •9.6.4Операция деления
- •10.Файлы данных
- •10.1. Файловые структуры
- •10.2. Носители информации и технические средства для хранения данных
- •10.3. Организация данных на устройствах с прямым и последовательным доступом
- •11. Вычислительная техника
- •11.1. Древнейшие счетные инструменты
- •11.2. Развитие абака
- •11.3. Логарифмы
- •11.4. Суммирующая машина Блеза Паскаля
- •11.5. Чарльз Бэббидж и его изобретение
- •11.6. Табулятор Холлерита
- •11.7. Машина ц3
- •11.8. Марк I
- •11.9. Эниак
- •11.10. Эдсак
- •11.11. Мэсм
- •11.12. Машина электронная вычислительная общего назначения бэсм-6
- •11.14. Альтаир 8800
- •11.15. Компьютеры Apple
- •12.Основы языка Object Pascal/Delphi
- •12.1. Описание структуры проекта
- •12.2. Описание структуры модуля
- •12.3. Описание элементов программ
- •12.3.1 Элементы языка программирования-алфавит
- •12.3.2 Элементы языка программирования-идентификаторы,константы, выражения
- •13.Выражения на Object Pascal
- •13.1. Целая и вещественная арифметика
- •13.2. Приоритет операций
- •13.3. Встроенные функции. Построение сложных выражений
- •14.Типы данных
- •14.1. Встроенные типы данных. Целые типы. Представление знака числа. Арифметическое переполнение
- •14.1.1Встроенные типы данных
- •14.1.2Целые типы
- •14.1.3Представление знака числа
- •14.1.4Арифметическое переполнение
- •14.2. Вещественные типы. Сопроцессор
- •14.3. Текстовые типы
- •14.4. Логический тип
- •14.5. Оператор присваивания. Совместимость типов по присваиванию
- •15.Ввод-вывод данных
- •15.1. Устройства вывода
- •15.2. Объекты, обеспечивающие вывод данных на экран
- •15.2.1Перечень компонентов ввода и отображения текстовой информации
- •15.2.2Отображение текста в надписях компонентов Label, StaticText и Panel
- •15.2.3Окна редактирования Edit и MaskEdit
- •15.2.4Многострочные окна редактирования Memo и RichEdit
- •15.2.5Группа радиокнопок – компонент RadioGroup
- •15.2.6Ввод и отображение целых чисел — компоненты UpDown и SpinEdit
- •15.2.7Компоненты выбора из списков — ListBox, CheckBox, CheckListBox и ComboBox
- •15.2.8 Таблица строк — компонент StringGrid
- •15.2.9Функция InputBox
- •15.2.10Процедура ShowMessage
- •15.3. Вывод в текстовый файл
- •15.3.1Объявление файла
- •15.3.2Назначение файла
- •15.3.3Вывод в файл
- •15.3.4Открытие файла для вывода
- •15.3.5Ошибки открытия файла
- •15.3.6Закрытие файла
- •15.4. Устройства ввода. Ввод с клавиатуры. Реакция на действия пользователя
- •15.4.1Устройства ввода
- •15.5. Ввод из файла
- •15.5.1Открытие файла
- •15.5.2Чтение данных из файла
- •15.5.3Чтение чисел
- •15.5.4Чтение строк
- •15.5.5Конец файла
- •16.Ветвление
- •16.1. Операции отношения
- •16.2. Логические (булевские) операции
- •16.3. Составной оператор
- •16.4. Оператор ветвления if
- •16.5. Оператор ветвления case
- •Исключительные ситуации
- •17.Циклы
- •17.1. Функции цикла в программе. Циклы с пред- и постусловием
- •17.2. Оператор While. Вечные циклы
- •17.3. Вечные циклы
- •17.4. Оператор repeat. Процедуры inc и dec
- •17.5. Цикл for
- •17.6. Команды break и continue
- •17.7. Вложенные циклы
- •17.8. Примеры задач с циклами
- •18.Массивы
- •18.1. Объявление массива
- •18.2. Операции с массивами
- •18.2.1Вывод массива
- •18.2.2Ввод массива
- •18.2.2.1Использование компонента StringGrid
- •18.2.2.2Использование компонента Memo
- •18.2.3Поиск минимального (максимального) элемента массива
- •18.2.4Поиск в массиве заданного элемента
- •18.2.4.1Алгоритм простого перебора
- •18.3. Ошибки при использовании массивов
- •19.Библиографический список
- •20.Предметный указатель
12.2. Описание структуры модуля
Структура модуля
Модули - это программные единицы, предназначенные для размещений фрагментов программ. С помощью содержащегося в них программного кода реализуется вся поведенческая сторона программы. Любой модуль имеет следующую структуру: заголовок, секция интерфейсных объявлений, секция реализации, терминатор. Заголовок открывается зарезервированным словом Unit, за которым следует имя модуля и точка с запятой. Секция интерфейсных объявлений открывается зарезервированным словом Interface, a секция реализации - словом implementation. Терминатором модуля, как и терминатором программы, является end с точкой. Следующий фрагмент программы является синтаксически правильным вариантом модуля:
unit Unit1;
interface
// Секция интерфейсных объявлений
implementation
// Секция реализации
end.
В секции интерфейсных объявлений описываются программные элементы (типы, классы, процедуры и функции), которые будут «видны» другим программным модулям, а в секции реализации раскрывается механизм работы этих элементов. Разделение модуля на две секции обеспечивает удобный механизм обмена алгоритмами между отдельными частями одной программы. Он также реализует средство обмена программными разработками между отдельными программистами. Получив откомпилированный «посторонний» модуль, программист получает доступ только к его интерфейсной части, в которой, как уже говорилось, содержатся объявления элементов. Детали реализации объявленных процедур, функций, классов скрыты в секции реализации и недоступны другим модулям.
Щелкните по закладке Unit1 окна кода, и вы увидите такой текст:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TfmExample = class (TForm)
Panel1: TPanel;
bbRun: TBitBtn;
bbClose: TBitBtn;
edinput: TEdit;
IbOutput: TLabel;
mmOutput: TMemo;
private
{ Private declarations }
public
{ Public declarations } end;
var
fmExample: TfmExample;
implementation
{$R *.DFM}
end.
Весь этот текст сформирован Delphi, но в отличие от файла проекта программист может его изменять, придавая программе нужную функциональность.
12.3. Описание элементов программ
Элементы программы
Элементы программы - это минимальные неделимые ее части, еще несущие в себе определенную значимость для компилятора. К элементам относятся:
зарезервированные слова;
идентификаторы;
типы;
константы;
переменные;
подпрограммы;
комментарии.
Зарезервированные слова - это английские слова, указывающие компилятору на необходимость выполнения определенных действий. Зарезервированные слова не могут использоваться в программе ни для каких иных целей кроме тех, для которых они предназначены. Например, зарезервированное слово begin означает для компилятора начало составного оператора. Программист не может создать в программе переменную с именем begin, константу begin, метку begin или вообще какой бы то ни было другой элемент программы с именем begin.
Идентификаторы - это слова, которыми программист обозначает любой другой элемент программы, кроме зарезервированного слова, идентификатора или комментария. Идентификаторы в Object Pascal могут состоять из латинских букв, арабских цифр и знака подчеркивания. Никакие другие символы или специальные знаки не могут входить в идентификатор. Из этого простого правила следует, что идентификаторы не могут состоять из нескольких слов (нельзя использовать пробел) или включать в себя символы кириллицы (русского алфавита).
Типы - это специальные конструкции языка, которые рассматриваются компилятором как образцы для создания других элементов программы, таких как переменные, константы и функции. Любой тип определяет две важные для компилятора вещи: объем памяти, выделяемый для размещения элемента (константы, переменной или результата, возвращаемого функцией), и набор допустимых действий, которые программист может совершать над элементами данного типа. Замечу, что любой определяемый программистом идентификатор должен быть описан в разделе описаний (перед началом исполняемых операторов). Это означает, что компилятор должен знать тот тип (образец), по которому создается определяемый идентификатором элемент.
Константы определяют области памяти, которые не могут изменять своего значения в ходе работы программы. Как и любые другие элементы программы, константы могут иметь свои собственные имена. Объявлению имен констант должно предшествовать зарезервированное слово const (от англ. constants - константы). Например, мы можем определить константы const:
Kbyte = 1024;
Mbyte = Kbyte*Kbyte;
Gbyte = 1024*Mbyte;
чтобы вместо длинных чисел:
1048576 (1024*1024) и 1073741824
(1024*1024*1024) писать, соответственно, Mbyte и Gbyte. Тип константы определяется способом ее записи и легко распознается компилятором в тексте программы, поэтому программист может не использовать именованные константы (т. е. не объявлять их в программе явно).
Переменные связаны с изменяемыми областями памяти, т. е. с такими ее участками, содержимое которых будет меняться в ходе работы программы. В отличие от констант переменные всегда объявляются в программе. Для этого после идентификатора переменной ставится двоеточие и имя типа, по образу которого должна строиться переменная. Разделу объявления переменной (переменных) должно предшествовать слово var. Например:
var
inValue: Integer;
byValue: Byte;
Здесь идентификатор inValue объявляется как переменная типа integer, а идентификатор byValue - как переменная типа Byte. Стандартный (т. е. заранее определенный в Object Pascal) тип integer определяет четырехбайтный участок памяти, содержимое которого рассматривается как целое число в диапазоне от -2 147 483 648 до+2 147 483 647, а стандартный тип Byte - участок памяти длиной 1 байт, в котором размещается беззнаковое целое число в диапазоне от 0 до 255 4 .< Все приводимые в книге сведения относительно диапазона возможных значений и объема памяти стандартных типов относятся к Delphi 32. Для 16-разрядной версии 1 эти величины имеют другие значения, например, тип Integer в версии 1 занимает 2 банта и имеет диапазон значении от -32 768 до+32 767. >