- •Содержание
- •Информатика. Предмет и задачи
- •Структура информатики
- •Задачи информатики:
- •Измерение и представление информации
- •Сигналы ДанныеМетодыИнформация
- •Методы воспроизведения и обработки данных
- •Информационный процесс
- •Меры информации
- •Единицы измерения информации
- •Качественные свойства информации
- •Классификация информации
- •Хранение информации
- •Кодирование данных двоичным кодом
- •Системы счисления
- •Двоичная система счисления
- •Перевод из десятичной системы в двоичную
- •Арифметические операции с двоичными числами
- •Восьмеричная и шестнадцатеричная системы счисления
- •Кодирование числовых данных
- •Кодирование текстовых данных
- •Кодирование графических данных
- •Кодирование звуковых данных
- •Послесловие к лекции о кодировании данных в компьютере
- •Хранение данных в компьютере
- •Представление и обработка числовой информации в компьютере
- •История развития вычислительной техники
- •Классификация эвм по принципу действия
- •Поколения цифровых эвм
- •Архитектура эвм
- •Архитектура эвм, построенная на принципах фон Неймана
- •Структура современных эвм
- •Тенденции в развитии структуры современных эвм
- •Упрощенная структурная схема ibm pc совместимого компьютера
- •Структура и виды команд
- •Состав машинных команд
- •Основной цикл работы компьютера
- •Обработка прерываний
- •Состав вычислительной системы
- •Аппаратное обеспечение
- •Программное обеспечение
- •Классификация программных продуктов по сфере использования
- •Системное программное обеспечение
- •Операционная система
- •Ос как расширенная машина
- •Ос как система управления ресурсами
- •Функции ос
- •Понятие многозадачности
- •Установка приложений
- •Удаление приложений
- •Обеспечение взаимодействия с аппаратным обеспечением
- •Обслуживание компьютера
- •Прочие функции операционных систем
- •Особенности файловых систем
- •Файловые системы fat и fat32
- •Файловая система ntfs
- •Физическая структура ntfs
- •Mft и его структура.
- •Основные понятия ос Windows
- •Моделирование как метод решения прикладных задач
- •Моделирование как метод познания
- •Материальные и информационные модели
- •Формализация модели
- •Математическое моделирование
- •Классификация математических моделей по цели моделирования
- •Компьютерное моделирование
- •Этапы и цели компьютерного математического моделирования
- •Понятие алгоритма и его свойства
- •Определение алгоритма на основе рекурсивных функций
- •Определение алгоритма на основе абстрактных автоматов (машины Тьюринга)
- •Способы записи алгоритмов
- •Линейный алгоритм
- •Разветвляющийся алгоритм
- •Циклический алгоритм
- •Объекты алгоритма
- •Языки и системы программирования
- •Классификация языков программирования, их эволюция
- •Алгоритмические (процедурные) языки программирования
- •Декларативные (описательные) языки программирования
- •Объектно-ориентированные языки программирования
- •Языки создания сценариев (программирование для Интернета)
- •Языки программирования баз данных
- •Языки моделирования
- •Поколения языков программирования
- •Системы программирования и их компоненты
- •Архитектура программных систем
- •Технологии программирования
- •Основные этапы развития технологии программирования
- •Модули и их свойства
- •Нисходящая и восходящая разработка программного обеспечения
- •Структурное и «неструктурное» программирование
Алгоритмические (процедурные) языки программирования
Старейшим языком высокого уровня, не утратившим своей актуальности и сегодня, является ФОРТРАН(FORTRAN), хотя от исходной версии в нем мало что сохранилось. Название ФОРТРАН составлено из словосочетания «FORmula TRANslation» (трансляция формул), поэтому его принято писать прописными буквами (это касается многих языков программирования). ФОРТРАН разработан в IBM в середине 1950-х для компьютеров серии 704 и долгое время интенсивно использовался в научном и инженерном программировании. Он особенно удобен для математических расчетов благодаря обширнейшей поддержке операций с плавающей точкой, включая возможность работы с комплексными числами. Для него было создано огромное количество библиотек, начиная от статистических комплексов и, кончая пакетами управления спутниками. Все это позволяет активно использовать его и сейчас.
АЛГОЛ(ALGOL). Его имя – тоже сокращение, составленное из «ALGOrithmic Language» (алгоритмический язык). Он во многих отношениях – прямой предок многих распространенных языков, созданных позднее. Даже в наши дни иногда приходится слышать о «языках программирования типа АЛГОЛа». Первую версию – АЛГОЛ 58 – разработал в 1957-58 гг. международный комитет программистов. Два года спустя был выпущен усовершенствованный вариант – АЛГОЛ 60, а затем и АЛГОЛ 68.
Первыми программистами были в основном ученые и инженеры, которые умели формулировать свои задачи на языке математики, положенном в основу ФОРТРАНа и АЛГОЛа. Однако на протяжении всей истории языков программирования неоднократно предпринимались попытки разработать язык, который могли бы использовать и люди, не столь близко знакомые с математикой.
Одним из первых языков, специально предназначенных для бизнеса, был КОБОЛ(COBOL), созданный в конце 1950-х комитетом из представителей промышленности и Министерства обороны США. КОБОЛ широко применяется и сегодня. Его название расшифровывается как «COmmon Business Oriented Language» (язык, ориентированный на общие коммерческие задачи). Одно из основных требований, предъявлявшихся к КОБОЛу, заключалось в том, чтобы менеджеры, сами не занимавшиеся программированием, могли хотя бы читать программы и убеждаться, что они делают именно то, что должны делать. В КОБОЛе имеются обширные возможности по чтению записей (records) и созданию отчетов (reports).
В середине 1960-х в IBM разработали для компьютеров System/360 язык PL/I(Programming Language I, язык программирования №1). Предполагалось, что в PL/I будут объединены модульная структура программ на АЛГОЛе, обширный математический аппарат ФОРТРАНа и средства КОБОЛа для работы с записями. Но уровня популярности ФОРТРАНа или КОБОЛа этот язык так и не достиг.
Язык БЕЙСИК(BASIC, Beginner™s All-purpose Symbolic Instruction Code, универсальный символьный программный код для начинающих) разработан в 1964 г. Джоном Кемени (John Kemeny) и Томасом Курцем (Thomas Kurtz) из Дартмутского университета для студентов, которые не были ни математиками, ни инженерами, поэтому их не стоило заставлять возиться с перфокартами или сложными языками программирования. Вместо этого студент, сидя перед терминалом, набирал простую программу прямо на экране. Если строка начиналась с номера, она считалась строкой программы на БЕЙСИКе. Строка без номера считалась командой для системы. В отличие от АЛГОЛа в БЕЙСИКе программист не должен был указывать тип переменной. Большинство переменных по умолчанию считались вещественными. Во многих последующих реализациях БЕЙСИКа использовались не компиляторы, а интерпретаторы. На домашних компьютерах дебют БЕЙСИКа состоялся в 1975 г., когда Билл Гейтс (Bill Gates) и Пол Аллен (Paul Allen) написали интерпретатор БЕЙСИКа для компьютера «Альтаир 8800». Этот интерпретатор стал первым продуктом основанной ими корпорации Microsoft.
Язык программирования Паскаль(Pascal) унаследовал структуру АЛГОЛа и средства КОБОЛа для работы с записями. Он разработан в конце 1960-х швейцарским профессором информатики Николасом Виртом (Niklaus Wirth). Среди программистов компьютеров IBM PC Паскаль был очень популярен, правда, только в одной специфической реализации – Turbo Pascal фирмы Borland. Эта программа, написанная Андерсом Хейлсбергом (Anders Hejlsberg) из Дании, поступила в продажу в 1983 г. Она представляла собой интегрированную среду разработки (Integrated Development Environment, IDE) – текстовый редактор и компилятор были объединены в единую программу, что существенно облегчало разработку кодов.
На Паскале частично основан язык программирования Ада, разработанный для Минобороны США. Он назван в честь Августы Ады Байрон, первой женщины программиста.
С (Си). Этот чрезвычайно популярный язык был создан в 1969-1973 гг. в основном усилиями Денниса Ритчи (Dennis Ritchie) из Bell Telephone Laboratories. Его предшественником был язык В, который в свою очередь был упрощенным вариантом BCPL (Basic CPL), основанного на CPL (Combined Programming Language, комбинированный язык программирования). Первоначально планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессор. До его появления ОС, как правило, писались на языке ассемблера для конкретного процессора. В 1973 г. ОС UNIX была написана (точнее, переписана) на С, и с тех пор язык и система идут по жизни рука об руку.
Все перечисленные языки относятся к алгоритмическим процедурнымязыкам, предназначенным для компьютеров с архитектурой Неймана.