
- •Оглавление
- •19.0. Введение 249
- •38.0. Введение 447
- •39.0. Введение 459
- •1.1. Информатика как наука и учебная дисциплина
- •1.2. Понятие информации
- •1.3. Сигналы и данные
- •1.4. Информатизация общества
- •1.5. Контрольные вопросы и задания
- •2.1. Формулы Хартли и Шеннона
- •2.2. Меры информации
- •Навигация по разделу:
- •2.2.1. Синтаксическая мера информации
- •2.2.2. Семантическая мера информации
- •2.2.3. Прагматическая мера информации
- •2.2.1. Синтаксическая мера информации
- •2.2.2. Семантическая мера информации
- •2.2.3. Прагматическая мера информации
- •2.3. Бит, байт и производные от них единицы
- •2.4. Контрольные вопросы и задания
- •3.1. Позиционные системы счисления
- •3.2. Двоичная, восьмеричная и шестнадцатеричная системы счисления
- •3.3. Перевод чисел из десятичной системы в другую позиционную систему счисления и обратно
- •Навигация по разделу:
- •3.3.1. Перевод целого десятичного числа в другую позиционную систему счисления
- •3.3.2. Перевод правильной десятичной дроби в другую позиционную систему счисления
- •3.3.3. Перевод числа в десятичную систему счисления
- •3.3.1. Перевод целого десятичного числа в другую позиционную систему счисления
- •3.3.2. Перевод правильной десятичной дроби в другую позиционную систему счисления
- •3.3.3. Перевод числа в десятичную систему счисления
- •3.4. Арифметические операции в позиционных системах счисления
- •3.4.1. Сложение
- •3.4.2. Вычитание
- •3.5. Контрольные вопросы и задания
- •4.0. Введение
- •4.1. Представление целых чисел в компьютере
- •Навигация по разделу:
- •4.1.1. Форматы хранения целых чисел без знака
- •4.1.2. Форматы хранения целых чисел со знаком
- •4.1.1. Форматы хранения целых чисел без знака
- •4.1.2. Форматы хранения целых чисел со знаком
- •4.2. Представление в компьютере вещественных чисел
- •Форматы хранения вещественных чисел
- •4.3. Представление в компьютере текстовой информации
- •4.4. Кодирование графической информации
- •4.5. Контрольные вопросы и задания
- •5.1. Логические величины: истина (логическая единица) и ложь (логический ноль)
- •5.2. Логические операции: инверсия, дизъюнкция и конъюнкция
- •5.2. Логические операции: инверсия, дизъюнкция и конъюнкция
- •5.4. Контрольные вопросы и задания
- •6.0. Введение
- •6.1. Бистабильная ячейка – триггер
- •6.2. Регистры
- •6.3. Сумматор
- •6.4. Выполнение операций сложения, вычитания и умножения целых чисел
- •Навигация по разделу:
- •6.4.1. Сложение и вычитание
- •6.4.2. Умножение и деление
- •6.4.1. Сложение и вычитание
- •6.4.2. Умножение и деление
- •6.5. Контрольные вопросы и задания
- •7.1. Основные этапы развития вычислительной техники
- •7.2. Архитектура эвм
- •7.3. Принцип работы вычислительной системы
- •8.1. Классификация эвм. Основные элементы пк и их назначение
- •8.2. Центральный процессор
- •Навигация по разделу:
- •8.2.1. История развития процессоров.
- •8.2.2. Назначение и структура простейшего процессора.
- •8.2.3. Принцип действия процессора
- •8.2.4. Арифметико-логическое устройство.
- •8.3. Системные шины и слоты расширения
- •Навигация по разделу
- •8.3.1. Шина расширения isa
- •8.3.2. Шина расширения pci
- •8.3.3. Шина расширения agp
- •8.3.4. Шина расширения pci Express
- •Описание протокола
- •Пропускная способность шины pci Express
- •9.1. Классификация и основные параметры зу. Память
- •9.2. Оперативная память
- •9.3. Внешнее запоминающее устройство
- •10.1. Устройства ввода информации
- •10.2. Устройства вывода информации
- •11.0. Введение
- •11.1. Классификация программного обеспечения
- •Базовый уровень
- •Системный уровень
- •Служебный уровень
- •Классификация служебных программных средств
- •Прикладной уровень
- •Классификация прикладного программного обеспечения
- •Программы автоматического перевода целесообразно использовать:
- •Трансляторы бывают двух типов:
- •Системы автоматизированного проектирования
- •12.1. Понятие и назначение операционной системы
- •12.2. Классификация программного обеспечения
- •12.3. Виды программного обеспечения и их характеристики
- •12.4. Контрольные вопросы и задания
- •13.Введение
- •14.1. Что такое машинная графика?
- •14.2. Представление графической информации
- •14.2.1. Растровые изображения
- •14.2.2. Векторные изображения
- •14.2.3. Трехмерная графика
- •14.4. Основные этапы графического конвейера
- •14.3. Форматы графических файлов
- •14.4. Цветовые модели
- •14.5. Графическое представление модели
- •14.6. Графическое представление модели cmyk
- •14.7. Цветовой график мко. Длины волн выражены в нанометрах
- •15.1. Основные понятия текста и текстовых данных
- •15.2. Программы для создания и редактирования текстовых данных
- •15.3. Основные приемы работы с текстовым процессором на примере ms Word 2003
- •Панели инструментов Word
- •Открытие и сохранение документа
- •Шаблоны документов
- •Установка параметров страницы
- •Настройка шрифта и параметров абзаца
- •Создание списков
- •Вставка объектов
- •Гиперссылки
- •Вставка формул
- •Создание таблиц
- •Выбор параметров проверки правописания
- •Проверка орфографии
- •16.1. Назначение электронных таблиц
- •16.2. Использование Формул на примере ms Excel 2003
- •17.1. Формулы в ms Excel
- •Создание формулы
- •Консолидация данных
- •Сводная таблица
- •17.3. Создание диаграммы
- •18.0. Введение
- •Настройка анимации слайда
- •Сохранение презентаций в различных форматах
- •19.0. Введение
- •19.1. Моделирование как метод познания
- •20.1. Формы представления моделей
- •20.2. Классификация математических моделей
- •21.1. Математическая модель системы (объекта)
- •21.2. Методы математического моделирования
- •21.3. Технология математического моделирования системы (объекта)
- •1 Этап. Формулирование целей и задач моделирования, выявление проблем, описание объекта исследования.
- •2 Этап. Изучение априорной информации об объекте исследования.
- •3 Этап. Формализация постановки задачи: формальное описание целей и задач моделирования, формулировка требований.
- •4 Этап. Стратегическое и тактическое планирование эксперимента с объектом.
- •5 Этап. Экспериментирование с объектом.
- •6 Этап. Идентификация объекта.
- •7 Этап. Оценка адекватности модели, ее свойств, устойчивости, областей применения.
- •8 Этап. Решение задач моделирования, подведение итогов.
- •21.4. Контрольные вопросы и задания
- •22.1. Понятие информационной модели
- •22.2. Этапы моделирования
- •22.3. Типовые информационные модели
- •Графы, сети, деревья
- •23.1. Понятие алгоритма
- •23.2. Свойства алгоритма
- •23.3. Данные алгоритмов
- •23.4. Элементарные алгоритмические действия
- •23.5. Способы записи алгоритмов
- •24.0. Введение
- •25.0. Введение
- •26.0. Введение
- •27.0. Введение
- •28.1. Вычисление конечных и бесконечных сумм и произведений
- •28.2. Решение уравнений итерационными методами
- •28.3. Расчет таблиц функциональных зависимостей
- •28.4. Подсчет числа положительных, отрицательных и нулевых элементов массивов
- •28.5. Расчет модуля вектора и нормы матрицы
- •28.6. Расчет среднего и дисперсии элементов в массивах
- •28.7. Поиск минимальных или максимальных значений в массивах
- •28.8. Алгоритмы упорядочивания элементов в массивах
- •28.9. Умножение матрицы на вектор и матрицы на матрицу
- •28.10. Возведение квадратной матрицы в целую степень
- •28.11. Исключение элементов массивов
- •28.12. Расчет определителя квадратной матрицы
- •28.13. Транспонирование матриц
- •29.1. Что такое язык программирования?
- •29.2. Низкоуровневые языки программирования
- •29.3. Языки высокого уровня
- •Навигация по разделам:
- •29.3.1. Процедурные языки программирования
- •29.3.2. Функциональные языки программирования
- •29.3.3. Логические языки программирования
- •29.3.1. Процедурные языки программирования
- •29.3.2. Функциональные языки программирования
- •29.3.3. Логические языки программирования
- •30.0. Введение
- •31.0. Введение
- •31.1. Постановка и формализация задачи
- •31.2. Разработка алгоритмов решения задачи
- •31.2. Разработка алгоритмов решения задачи
- •31.4. Анализ результатов
- •31.5. Сопровождение программ
- •32.0. Введение
- •33.1. Технология структурного программирования
- •33.2. Структурные методы анализа и проектирования по
- •33.3. Модульное программирование
- •Навигация по разделу
- •33.3.1. Hipo - диаграмма
- •33.3.2. Метод нисходящего проектирования
- •33.3.3. Метод расширения ядра
- •33.3.4. Метод восходящего проектирования
- •33.4. Базовые управляющие структуры структурного программирования
- •33.5. Проектирование и тестирование программы
- •33.6. Подпрограммы, процедуры и функции
- •Навигация по разделу:
- •33.6.1. Основные понятия и терминология
- •33.6.2. Локальность
- •33.6.3. Параметры процедуры
- •33.6.1. Основные понятия и терминология
- •33.6.2. Локальность
- •33.6.3. Параметры процедуры
- •34.1. Методология объектно-ориентированного программирования
- •34.2. Объектно-ориентированные методы анализа и проектирования по
- •34.3. Основные принципы построения объектной модели
- •34.4. Основные элементы объектной модели
- •34.5. Пример разработки консольного приложения в технологии объектно-ориентированного подхода
- •Навигация по разделу:
- •34.5.1. Диаграмма прецендентов uml
- •34.5.2. Диаграмма последовательности uml для прецедента
- •34.5.3. Диаграмма классов uml для прецендента «перевести р-ичную строку в число»
- •34.5.4. Текст приложения на языке Object Pascal
- •35.0. Введение
- •35.1. История развития бд
- •35.2. Классификация бд
- •Навигация по разделу:
- •35.2.1. Основные функции субд
- •36.1. Основные понятия бд
- •36.2. Основные понятия реляционной модели бд
- •36.3. Предпроектное обследование предметной области. Связи таблиц
- •36.4. Нормализация отношений
- •36.5. Общие сведения о ms Access
- •36.6. Приложение
- •36.6. Приложение
- •37.2. Связь между таблицами и целостность данных
- •37.3. Создание запросов в ms access
- •Навигация по разделу:
- •37.3.1. Запросы на выборку
- •37.3.2. Запросы с параметрами
- •37.2.3. Запросы с вычислениями
- •37.2.4. Итоговые запросы
- •37.2.5. Перекрестные запросы
- •37.4. Формы
- •37.5. Отчеты
- •38.0. Введение
- •38.1. Различные подходы к построению систем ии
- •38.2. Экспертные системы
- •Методы, основанные на правилах.
- •Методы, основанные на фреймах.
- •39.0. Введение
- •39.1. Локальные и глобальные сети
- •Навигация по разделу:
- •39.1.1. История развития компьютерных сетей
- •39.1.2. Назначение компьютерных сетей
- •39.2. Серверы и рабочие станции
- •39.3. Ресурсы сети
- •Навигация по разделу:
- •39.3.1. Сетевые ресурсы
- •39.3.2. Основные сетевые приложения
- •39.3.3. Влияние сетевых приложений на работу сети
- •39.3.4. Характеристики сети
- •40.1. Основы построения сетей
- •Навигация по разделу:
- •40.1.1. Механизм взаимодействия компьютеров в сети
- •40.1.2. Физическая передача данных по линии связи
- •Проводные
- •40.1.3. Топология сетей
- •Шина (bus)
- •Кольцо (ring)
- •Звезда (топология компьютерной сети)
- •40.2. Сетевые устройства
- •Навигация по разделу:
- •40.2.1. Пассивное сетевое оборудование
- •40.2.2. Активное сетевое оборудование
- •Коммутатор (switch)
- •Маршрутизатор (router)
- •40.3. Сетевые протоколы
- •Навигация по разделу:
- •40.4.1. Модель osi (взаимодействие открытых систем)
- •40.4.2. Семейство tcp/ip
- •40.4. Беспроводные сети
- •41.1. Глобальная сеть Интернет
- •Навигация по разделу:
- •41.1.1 Краткая история Интернета
- •41.1.2. Основы функционирования Интернета
- •41.1.3. Сервисы (службы) Интернета
- •Терминальный режим
- •Электронная почта (e-Mail)
- •Служба передачи файлов (ftp)
- •Группы новостей. Форумы
- •Служба World Wide Web (www)
- •Служба имен доменов (dns)
- •Обмен сообщениями, чат (Chat)
- •Социальные сети
- •Навигация по разделу:
- •41.2.1. IPv4. Классы ip адресов
- •41.2.2. Переход на iPv6
- •41.3. Протокол http
- •Современные стандарты языка разметки.
- •41.4. Адрес url
- •42.1. Браузеры
- •Понятие браузера
- •История развития браузеров
- •Использование фреймов
- •Протокол безопасного соединения
- •Использование технологии css
- •Использование JavaScript
- •Форматы синдикации
- •Поддержка операционных систем
- •Функциональность
- •Поддержка веб-технологий и протоколов
- •42.2. Почтовые программы
- •Электронная почта
- •История
- •Протоколы доступа к почтовым серверам
- •Маршрутизация почты
- •Структура письма
- •Заголовок smtp
- •Заголовок письма
- •Часто используемые поля
- •Тело письма
- •Цепочки писем
- •Почтовые рассылки
- •Шифрование почты
- •MxA классификация
- •43.1. Понятие компьютерного преступления и защиты информации
- •44.1. Общие сведения
- •44.2. Шифрование заменой (подстановка)
- •44.3. Шифрование методом перестановки
- •44.4. Системы с открытым ключом
- •44.6. Электронная цифровая подпись
29.2. Низкоуровневые языки программирования
← 29.1. Что такое язык программирования? |
29.3. Языки высокого уровня → |
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Такие языки являются более удобными для человека.
При программировании на машинном языке программист может держать под своим контролем каждую команду и каждую ячейку памяти и использовать все возможности имеющихся в компьютере операций. Текст программы получается громоздкий, труднообозримый, программу трудно отлаживать, изменять и развивать. Поэтому, в случае, когда нужно иметь эффективную программу, в максимальной степени учитывающую специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (ассемблеры).
Язык ассемблера — это машинно-зависимый язык низкого уровня, в котором короткие мнемонические имена соответствуют отдельным машинным командам. Используется для представления в удобочитаемой форме программ, записанных в машинном коде.
Язык ассемблера позволяет программисту пользоваться текстовыми мнемоническими (то есть легко запоминаемыми человеком) кодами, по своему усмотрению присваивать символические имена регистрам компьютера и памяти, а также задавать удобные для себя способы адресации. Кроме того, он позволяет использовать различные системы счисления (например, десятичную или шестнадцатеричную) для представления числовых констант, использовать в программе комментарии и др. Программы, написанные на языке ассемблера, требуют значительно меньшего объема памяти и времени выполнения. Знание программистом языка ассемблера и машинного кода дает ему понимание архитектуры машины.
Для того, чтобы написать программу на языке ассемблера для конкретного компьютера, необходимо знать его архитектуру.
Самыми рутинными операциями при программировании в кодах были:
-
формирование кода команды;
-
вычисление физических адресов ячеек с данными;
-
вычисление смещений для команд условного и безусловного ветвлений.
Для первой проблемы было найдено следующее решение: для каждой машинной команды были подобраны краткие мнемоники, отражающие ее суть. Например, для команды пересылки данных - MOV, для команды сложения - ADD и т.п. Такие мнемоники намного легче запомнить, чем двоичные, восьмеричные или шестнадцатеричные коды команды; кроме того, их не в пример легче читать, а это тоже немаловажно при отладке программы или ее изменении. Вторая и третья проблемы также были решены без особых усилий: вместо использования реальных адресов в тексте программы располагались символические метки, а программа, генерирующая машинный код, вычисляла фактическое расположение ячеек в оперативной памяти и поставляла его в код.
В качестве примера приведем программу на языке ассемблера для IBM PC. Программа вычисляет значение a = b + c для целых a, b и c:
|
.MODEL |
SMALL |
Директива .MODEL задает механизм распределения памяти под данные и команды. |
|
.DATA |
|
Директива .DATA определяет начало участка программы с данными. |
b |
DW |
5 |
Директивы DW задают типы переменных и их значения. |
c |
DW |
3 |
|
a |
DW |
? |
|
|
.CODE |
|
Директива .CODE определяет начало участка программы с командами. |
begin |
MOV |
AX,@DATA |
Команды MOV AX,@DATA и MOV DS,AX записывают адрес сегмента данных в регистр DS (Data Segment) |
|
MOV |
DS,AX |
|
|
MOV |
AX,B |
Для вычисления a используются команды MOV AX, B, ADD AX,C и MOV A,AX. |
|
ADD |
AX,C |
|
|
MOV |
A,AX |
|
|
MOV |
AH,4CH |
|
|
INT |
21H |
|
|
END |
begin |
В директиве END задана метка первой выполняемой инструкции программы - begin. |
Перевод программы с языка ассемблера на машинный язык осуществляется специальной программой, которая называется ассемблером и является, по сути, простейшим транслятором.
← 29.1. Что такое язык программирования? |
29.3. Языки высокого уровня → |