- •Содержание
- •Информатика. Предмет и задачи
- •Структура информатики
- •Задачи информатики:
- •Измерение и представление информации
- •Сигналы Данные Методы Информация
- •Методы воспроизведения и обработки данных
- •Информационный процесс
- •Меры информации
- •Единицы измерения информации
- •Качественные свойства информации
- •Классификация информации
- •Хранение информации
- •Кодирование данных двоичным кодом
- •Системы счисления
- •Двоичная система счисления
- •Перевод из десятичной системы в двоичную
- •Арифметические операции с двоичными числами
- •Восьмеричная и шестнадцатеричная системы счисления
- •Кодирование числовых данных
- •Кодирование текстовых данных
- •Кодирование графических данных
- •Кодирование звуковых данных
- •Послесловие к лекции о кодировании данных в компьютере
- •Хранение данных в компьютере
- •Представление и обработка числовой информации в компьютере
- •История развития вычислительной техники
- •Классификация эвм по принципу действия
- •Поколения цифровых эвм
- •Архитектура эвм
- •Архитектура эвм, построенная на принципах фон Неймана
- •Структура современных эвм
- •Тенденции в развитии структуры современных эвм
- •Упрощенная структурная схема ibm pc совместимого компьютера
- •Структура и виды команд
- •Состав машинных команд
- •Основной цикл работы компьютера
- •Обработка прерываний
- •Состав вычислительной системы
- •Аппаратное обеспечение
- •Программное обеспечение
- •Классификация программных продуктов по сфере использования
- •Системное программное обеспечение
- •Операционная система
- •Ос как расширенная машина
- •Ос как система управления ресурсами
- •Функции ос
- •Понятие многозадачности
- •Установка приложений
- •Удаление приложений
- •Обеспечение взаимодействия с аппаратным обеспечением
- •Обслуживание компьютера
- •Прочие функции операционных систем
- •Особенности файловых систем
- •Файловые системы fat и fat32
- •Файловая система ntfs
- •Физическая структура ntfs
- •Mft и его структура.
- •Основные понятия ос Windows
- •Моделирование как метод решения прикладных задач
- •Моделирование как метод познания
- •Материальные и информационные модели
- •Формализация модели
- •Математическое моделирование
- •Классификация математических моделей по цели моделирования
- •Компьютерное моделирование
- •Этапы и цели компьютерного математического моделирования
- •Понятие алгоритма и его свойства
- •Определение алгоритма на основе рекурсивных функций
- •Определение алгоритма на основе абстрактных автоматов (машины Тьюринга)
- •Способы записи алгоритмов
- •Линейный алгоритм
- •Разветвляющийся алгоритм
- •Циклический алгоритм
- •Объекты алгоритма
- •Алгоритмические языки и системы программирования
- •Машинный код процессора
- •Что такое язык программирования
- •Компиляторы и интерпретаторы
- •Уровни языков программирования
- •Поколения языков программирования
- •Обзор языков программирования высокого уровня
- •Языки программирования баз данных
- •Языки программирования для Интернета
- •Языки моделирования
- •Прочие языки программирования
- •Средства создания программ
- •Интегрированные системы программирования
- •Среды быстрого проектирования
- •Архитектура программных систем
- •Основные системы программирования
Алгоритмические языки и системы программирования
Программа – это логически упорядоченная последовательность команд, необходимых для управления компьютером (выполнения им конкретных операций), поэтому программирование сводится к созданию последовательности команд, необходимой для решения определенной задачи.
Машинный код процессора
Процессор компьютера – это большая интегральная микросхема. Все команды и данные он получает в виде электрических сигналов, которые можно представить как совокупность нулей и единиц, то есть числами. Разным командам соответствуют разные числа. Поэтому реально программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом.
Фактически процессор можно рассматривать как огромную совокупность достаточно простых электронных элементов – транзисторов. Транзистор имеет три вывода. На два крайних подается напряжение, необходимое для создания в транзисторе электрического тока, а на средний вывод – напряжение, с помощью которого можно управлять внутренним сопротивлением транзистора, а значит, управлять и током, и напряжением на его выводах.
В электронике транзисторы имеют три применения: для создания усилителей, в электронных схемах, обладающих автоколебательными свойствами, и в электронных переключателях. Последний способ и применяется в цифровой вычислительной технике. В процессоре компьютера транзисторы сгруппированы в микроэлементы, называемые триггерами и вентилями. Триггеры имеют два устойчивых состояния (открыт — закрыт) и переключаются из одного состояния в другое электрическими сигналами. Этим устойчивым состояниям соответствуют математические понятия 0 или 1. Вентили немного сложнее — они могут иметь несколько входов (напряжение на выходе зависит от комбинаций напряжений на входах) и служат для простейших арифметических и логических операций.
Что такое язык программирования
Управлять компьютером нужно по определенному алгоритму. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, который затем записывается на одном из таких языков. В итоге получается текст программы – полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется.
Самому написать программу в машинном коде весьма сложно, причем эта сложность резко возрастает с увеличением размера программы и трудоемкости решения нужной задачи. Условно можно считать, что машинный код приемлем, если размер программы не превышает нескольких десятков байтов и нет потребности ручного ввода/вывода данных.
Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного, человеческого (естественного) языка – это называется программированием на метаязыке (подобный подход обычно используется на этапе составления алгоритма), но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка.
Языки программирования — искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов). Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка – его семантику. Нарушение формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке, а правильно написанное, но не отвечающее алгоритму использование команд языка, приводит к семантическим ошибкам, называемым еще логическими ошибками или ошибками времени выполнения.
Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок — отладкой.