Лекции по информатике учебно методическое пособие
Скачать 0.99 Mb.
|
NTFS (New Technolo- gy File System) – используется, начиная с ОС Windows NT для 32-х и 64-х разрядных процессоров). В них пользователю предоставляются следующие возможности: – создание папок; – копирование, перемещение, переименование и удаление файлов и папок; – навигация по файловой структуре – запуск программ и открытие документов; – создание ярлыков; – стандарты для обозначения пути к файлу: абсолютный и от- носительный адрес файла. Абсолютный адрес начинается указанием диска, на котором расположен файл, и далее последовательно через символ «\» (обратный слеш) перечисляются все папки, которые сле- дует открыть, чтобы найти нужный файл. В относительном адресе через символ «\» перечисление папок ведется, начиная от той, кото- рая активна в данный момент. Для перехода в папку нижнего уровня следует указать имя этой папки. Переход в папку верхнего уровня вне зависимости от ее реального названия обозначается символом «..» (две точки). Файл характеризуется свойствами и атрибутами. Их значения указываются в диалоговом окне «Свойства», которое открывается по команде «Свойства» в меню «Файл» и в контекстном меню. Основ- ные из них: – имя файла может содержать до 256 символов и состоит из двух частей, которые разделяются точкой. Первая часть – имя, кото- рое назначает пользователь для того, чтобы в дальнейшем было по- 45 нятно, что за информация хранится в этом файле. Обычно имя поль- зователя состоит из букв русского и латинского алфавита, цифр, про- белов, дефиса. Остальные символы использовать не рекомендуется, хотя некоторые – допускается. Вторая часть – расширение. Оно ука- зывает на тип файла или программу, которая в дальнейшем должна работать с ним. В нем разрешается использовать не более 4-х симво- лов. Пояснения к стандартным расширениям, с которыми часто встречаются пользователи, приведены в табл.4.1. – длина файла в байтах (длина занимаемого участка на диске); – время и дата создания файла (для опознания последних по времени вариантов файла). Кроме перечисленных выше атрибутов каждому файлу сопос- тавляются атрибуты, определяющие допустимые действия с ним. На- пример: – только для чтения (исправления, сделанные во время про- смотра, не будут сохраняться после закрытия файла; – скрытый (не будет высвечиваться в каталоге), но открыть его можно, введя имя вручную; – архивный (для автоматического обновления изменѐнных вер- сий в архивах); – системный. 46 Таблица 4.1. Основные стандартные расширения файлов: Расширение Формат/назначение программы Системные программы/программы в машинных кодах *.com *.pcx системные программы в машинных кодах *.sys программа драйвера *.bak автоматически создаваемая резервная копия файла *.tmp временная копия с промежуточной информацией, автоматически уничтожаемая после закрытия программы *.hlp файл встроенной справочной системы *.exe прикладная программа в машинных кодах Графические форматы *.bmp формат растровой графики, в котором задан цвет каждого пиксе- ля * .jpg форматы сжатой растровой графики, удобный для хранения от- сканированных фотографий и иллюстраций. Используется в Ин- тернете *.gif *.tif *.png Формат для диаграмм, создаваемых программным путѐм, рисун- ков типа аппликации с ограниченным набором цветов, неслож- ной анимации. Используется в Интернете *.psd, *.pdd формат растровых графических файлов в PhotoShop *.cdr формат векторных графических файлов в CorelDRow *.eps формат векторных графических файлов для подготовки афиш, объявлений, плакатов, который рекомендуется для создания ил- люстраций в настольных издательских системах. Текстовые форматы *.txt формат текстовых файлов без форматирования *.doc, *.docх формат текстовых файлов программ Word до 2003 и после 2003 года *.rtf универсальный формат форматированных текстовых файлов, понятный всем версиям программы Word Комбинация текста с растровой графикой. Используется в Ин- тернете для публикации документов. Расширения основных программ Microsoft office *.xls, *.xlsx форматы файлов программы Excel до 2003 и после 2003 года *.ppt, *.pptx формат файлов электронных презентаций программы PowerPoint до 2003 и после 2003 года *.mdb, *.mdbx формат файлов программы Access до 2003 и после 2003 года *.htm, *.html формат файлов для Web-страниц 47 Для того, чтобы применить нужную команду не к одному фай- лу, а к нескольким, в именах которых есть общие для них фрагменты, вводится понятие групповое имя файла (маска имени). В маске в яв- ном виде указываются символы, которые обязательно должны при- сутствовать в нужных файлах, остальные символы заменяются шаб- лонными: – * означает, что на этом месте может оказаться любое количе- ство любых символов, в частности, ничего; – ? означает, что на этом обязательно должен быть какой- нибудь символ, но только один; – | означает, что требуется обработать одной командой все файлы, указанные в предыдущей маске, кроме файлов, подходящих под маску, указанную после него. Примеры: *.* – под эту маску подходят все файлы (любое имя и любое расширение); *.jpg – маска указывает на все файлы рисунков с расширением ―jpg‖; *экзам*.* – маска указывает на файлы с любым расширением, у которых в имени пользователя есть указанный фрагмент текста; *.*|*.bak‖ – означает, что требуется обработать одной коман- дой все файлы, кроме файлов с расширением . ―bak‖, какими бы ни были их имена. 4.3. Инструментальное программное обеспечение ЭВМ Инструментальное ПО служит для разработки программ, применяемых в самых разных областях деятельности человека. В истории программирования можно выделить следующие этапы по способам написания программ: – программирование в машинных кодах; – использование машинно-ориентированных языков низкого уровня; – использование алгоритмических языков высокого уровня. Для того чтобы ЭВМ могла выполнять программу, она должна быть записана по строгим правилам в виде, доступном процессору, т. е. представлять собой последовательность двоичных чисел и кодов. Такие коды называются машинными кодами, машинными коман- дами. Программа, написанная таким образом, – программой на ма- 48 шинном языке или исполняемым модулем. Первоначально, когда появились ЭВМ, программисты для раз- работки программ использовали машинный язык. Это было очень трудно и неудобно, так как приходилось самому распределять память под команды программы и данные, держать в памяти массу абстракт- ных двоичных кодов, обозначающих адреса данных и команд, кото- рые их обрабатывают. На втором этапе для облегчения программирования была соз- дана программа, которая автоматически заменяла в программах удобные человеку названия переменных и операций на машинные команды. Эта процедура была обозначена термином трансляция, а программа, выполняющая ее, транслятором. На этом этапе транс- ляторы могли переводить в машинные коды конструкции, которые заменялись одной или несколькими (условно не больше пяти) ма- шинными командами. Для совокупности правил, по которым следует записывать программу, чтобы ее мог обработать такой транслятор, используют термины ассемблер, макроассемблер. Ассемблер – это машинно-ориентированный язык низкого уровня. Алгоритм, по которому строится программа, приходится дробить на очень мелкие шаги, которые умеет выполнять процессор. При появлении новых моделей процессоров с иной структурой ко- манд и встроенных операций приходится создавать новые версии ас- семблера, трансляторов с него и переписывать под них пользователь- ские программы. Следующий этап развития инструментального ПО связан с по- явлением алгоритмических языков, каждый из которых содержит конструкции, удобные для записи алгоритмов в той или иной сфере человеческой деятельности. Алгоритмические языки относятся к классу языков высокого уровня. Они позволяют при составлении программы дробить алгоритм на более крупные смысловые блоки, не связанные со структурой и типом команд ЭВМ, на которой будет ра- ботать программа. При изменении модели процессора переписывает- ся только транслятор с алгоритмического языка, а пользовательские программы остаются прежними. 4.4. Основные понятия алгоритмических языков. Алфавит. Синтаксис. Семантика Обычный разговорный язык состоит из четырех основных 49 элементов: символов, слов, словосочетаний и предложений. Алго- ритмический язык содержит подобные элементы, только слова назы- вают элементарными конструкциями, словосочетания – выражения- ми, предложения – операторами. Алгоритмический язык (как и лю- бой другой язык), образуют три его составляющие: алфавит, синтак- сис и семантика. Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т.д.), которые могут быть исполь- зованы при написании программы. Синтаксис – правила использования символов алфавита в специальных конструкциях, с помощью которых составляется алго- ритм. Семантика – система правил толкования конструкций языка. Таким образом, программа составляется с помощью соедине- ния символов алфавита в соответствии с синтаксическими правилами и с учетом правил семантики. Программа, написанная на алгоритмическом языке, называется исходным модулем. Для ее трансляции можно использовать два типа технологий: интерпретацию или компиляцию. Трансляторы, реализующие эти технологии, называются соответственно интерпретаторами и ком- пиляторами. При интерпретации транслятор переводит в машинные коды очередную строку исходного модуля, сразу же выполняет еѐ и пере- ходит к обработке следующей строки, не создавая законченного ис- полняемого модуля всей программы в целом. Такой тип трансляции удобен на этапе отладки или тестирования программы. При компиляции трансляция разбивается на два этапа (рис. 4.1). На первом компилятор создает объектный модуль – про- межуточную программу, в которой конструкции исходного модуля переведены в машинные коды, но вместо реальных адресов данных и работающих с нею подпрограмм, используются относительные адре- са и не добавлены служебные подпрограммы, необходимые для еѐ работы. На втором этапе программа-сборщик заменяет в объектном модуле относительные адреса на абсолютные и подключает к нему необходимые для работы стандартные программы. 50 В результате получается исполняемый модуль – программа, написанная в машинных кодах и полностью готовая к работе. Этот режим трансляции удобен для расчѐтов по уже отлажен- ной и протестированной программе, так как исполняемый модуль можно сохранить в памяти и при необходимости провести расчеты с другим набором исходных данных, не повторяя трансляцию. В настоящее время для большинства алгоритмических языков разработаны интегрированные системы программирования (Бей- сик, Паскаль, Си и т. п.). Они включают в себя следующие компонен- ты: – текстовый редактор для написания программы; – библиотеки стандартных программ; – средства отладки; – справочную службу; –компилятор и/или интерпретатор; – диалоговый интерфейс. 4.5. Основные алгоритмические языки высокого уровня Один из первых языков программирования высокого уровня, Фортран(Formula Translation), был создан в середине 50-х годов. Он используется для инженерных и научных расчетов, для реше- ния задач физики и других наук с развитым математическим аппара- том. Благодаря своей простоте и тому, что на этом языке накоплены Исходный модуль Объектный модуль Исполняемый модуль Перевод кон- струкций языка в ма- шинные ко- ды с исполь- зованием от- носительных адресов Добавление необходимых стандартных программ, замена отно- сительных адресов ре- альными Компиляция Компоновка Рис. 4.1. Схема трансляции в режиме компиляции 51 большие библиотеки программ, Фортран и в наши дни остается од- ним из самых распространенных алгоритмических языков. Для решения экономических задач был создан язык програм- мирования Кобол. Расширение областей применения ЭВМ влечет за собой созда- ние языков, ориентированных на новые сферы применения: Снобол– алгоритмический язык для обработки текстовой информации. Лисп– алгоритмический язык для обработки символов. Он находит широкое применение в исследованиях по созданию искусственного интеллекта. В 1968 г. был объявлен конкурс на лучший язык программиро- вания для обучения студентов. Для этого конкурса Никлаус Вирт создал язык Паскаль, достаточно простой, удобный, с наличием мощных средств структурирования данных. Хотя Паскаль был разра- ботан как язык для обучения программированию, он впоследствии получил широкое развитие и в настоящее время считается одним из самых используемых языков. Для обучения младших школьников Самуэлем Пайпертом был разработан язык Лого. Он отличается простотой и богатыми возможностями. Широкое распространение в школах в качестве обучающего языка получил язык Бейсик, позволяющий взаимодействовать с ЭВМ в режиме непосредственного диалога. Спустя много лет после изо- бретения Бейсика, он и сегодня самый простой для освоения из де- сятков языков общецелевого программирования. Необходимость разработки больших программ, управляющих работой ЭВМ, потребовала создания специального языка программи- рования. В начале 70-х г. был разработан язык СИ, который широко используется как инструментальный язык для разработки опера- ционных систем, трансляторов, баз данных и других системных и прикладных программ. Это язык программирования общего назна- чения. Во многих случаях программы, написанные на Си, сравнимы по скорости с программами, написанными на языке Ассемблера. При этом они имеют лучшую наглядность и их более просто сопровож- дать. В отличие от Паскаля, в нем заложены возможности непосред- ственного обращения к некоторым машинным командам и к опреде- ленным участкам памяти компьютера. Появление функционального программирования привело к 52 созданию языка Пролог (ПРОграммы ЛОГические). Этот язык про- граммирования разрабатывался для задач анализа и понимания ес- тественных языков на основе языка формальной логики и мето- дов автоматического доказательства теорем. В 80-х г. 20 века был создан язык Ада. В дополнение к класси- ческим свойствам,он обеспечивает программирование задач ре- ального времени и моделирования параллельного решения задач. К языкам сверхвысокого уровня можно отнести Алгол-68 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов. В современной информатике можно выделить два основных направления развития языков программирования: процедурное и не- процедурное. В процедурных языках программа явно описывает определен- ную последовательность действий, которые необходимо выполнить, чтобы получить результат. Среди процедурных языков выделяют в свою очередь струк- турные и операционные языки. В структурных языках одним опера- тором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются не- сколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал. Непроцедурное (декларативное) программирование появи- лось в начале 70-х годов 20 века, но стремительное его развитие на- чалось в 80-е годы, когда был разработан японский проект создания ЭВМ пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин. К непроцедурному програм- мированию относятся функциональные и логические языки. В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь разлагаются на еще более простые и т.д. Один из основных элементов в функциональных язы- ках – рекурсия, то есть вычисление значения функции через значение этой же функции от других элементов. Присваивания и циклов в классических функциональных языках нет. В логических языках программа вообще не описывает дейст- вий. Она задает данные и соотношения между ними. После этого сис- 53 теме можно задавать вопросы. Машина перебирает известные и за- данные в программе данные и находит ответ на вопрос. Порядок пе- ребора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Построение логической программы вообще не требует алго- ритмического мышления, программа описывает статические отноше- ния объектов, а динамика находится в механизме перебора и скрыта от программиста. Можно выделить еще один класс языков программирования – |