Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-24 - копия.doc
Скачиваний:
8
Добавлен:
22.04.2019
Размер:
276.99 Кб
Скачать

18. Команды ос по работе с объектами файловой системы.

Файл - это определённое количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.

Одной из наиболее часто повторяющихся задач при работе на компьютере является копирование и перемещение файлов из одного места в другое. Для копирования одного или нескольких файлов используется команда COPY.

Команда COPY может также объединять (склеивать) нескольких файлов в один.

Команда COPY имеет и свои недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.

DIR [диск:][путь][имя_файла] [ключи] – для вывода информации о содержимом дисков и каталогов.

Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] задает файл или группу файлов, которые нужно включить в список.

Для создания нового каталога и удаления уже существующего пустого каталога используются команды

MKDIR [диск:]путь

RMDIR [диск:]путь [ключи]

соответственно (или их короткие аналоги MD и RD).

MKDIR "C:\Примеры"

RMDIR "C:\Примеры"

Команда MKDIR не может быть выполнена, если каталог или файл с заданным именем уже существует. Команда RMDIR не будет выполнена, если удаляемый каталог не пустой.

Удалить один или несколько файлов можно с помощью команды

DEL [диск:][путь]имя_файла [ключи]

Для удаления сразу нескольких файлов используются групповые знаки ? и *. Ключ /S позволяет удалить указанные файлы из всех подкаталогов, ключ /F – принудительно удалить файлы, доступные только для чтения, ключ /A[[:]атрибуты] – отбирать файлы для удаления по атрибутам (аналогично ключу /A[[:]атрибуты] в команде DIR).

Переименовать файлы и каталоги можно с помощью команды RENAME (REN).

REN [диск:][путь][каталог1|файл1] [каталог2|файл2]

№19

Понятие уровня языка программирования. Понятие трансляции. Методы трансляции.

В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.

Любой алгоритм, как мы знаем, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.

По этому критерию можно выделить следующие уровни языков программирования:

машинные;

машинно-оpиентиpованные (ассемблеpы);

машинно-независимые (языки высокого уровня).

Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.

Языки высокого уровня делятся на:

процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;

логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежитпонятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.

Трансля́тор — программа или техническое средство, выполняющее трансляцию программы

Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д.

Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.

№20

Программирование на языках низкого, высокого уровня. Язык машинных команд.

Машинные языки сложны в изучении и код написаный на нём прочитать гораздо сложней чем если программа написана на языке высокого уровня. Чтоб написать програму на низкоуровневом языке придётся сначало понять алгоритмы работы компьютера (как хранятся данные в ОЗУ, какие регистры есть в процессоре и т.п.) в ЯВУ этого гемора как правило нет и выбирается компелятор под определёную архитектуру. (типа код для мак и пс будет одинаковый или очень похожий, но скомпилирован по разному). Делфи и С++ являются высокоуровневыми.

Языки программирования высокого уровня существенно отличаются от машинно-ориентированных (низкого уровня) языков. Во-первых, машинная программа в конечном счете записывается с помощью лишь двух символов 0 и 1. Во-вторых, каждая ЭВМ имеет ограниченный набор машинных операций, ориентированных на структуру процессора. Как правило, этот набор состоит из сравнительно небольшого числа простейших операций, типа: переслать число в ячейку; считать число их ячейки; увеличить содержимое ячейки на +1 и т.п. Команда на машинном языке содержит очень ограниченный объем информации, поэтому она обычно определяет простейший обмен содержимого ячеек памяти, элементарные арифметические и логические операции. Команда содержит код и адреса ячеек, с содержимым которых выполняется закодированное действие.

Языки программирования высокого уровня имеют следующие достоинства:

-aлфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

-набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;

-конструкции команд (операторов) отражают содержательные виды обработки данных и задаются в удобном для человека виде;

-используется аппарат переменных и действий с ними;

-поддерживается широкий набор типов данных.

Таким образом, языки программирования высокого уровня являются машинно-независимыми и требуют использования соответствующих программ-переводчиков (трансляторов) для представления программы на языке машины, на которой она будет исполняться.

Машинный язык

Язык программирования, содержание и правила которого реализованы аппаратными средствами ЦВМ. М. я. состоит из системы команд ЦВМ и метода кодирования информации (исходных данных, результатов вычислений), принятого в ЦВМ. Символами М. я. являются двоичные цифры; как правило, символы группируются в конструкции (морфемы) — адреса в командах, коды операций и признаки команд; из команд составляются программы, реализующие Алгоритмы задач. Эффективность решения различных задач на ЦВМ в значительной степени зависит от того, насколько М. я. приспособлен для реализации заданных алгоритмов. В программе, составленной на М. я., или, как иногда говорят, в машинном коде, должны быть заданы вполне определённые команды для выполнения каждой операции. При этом точно указывается, где должны храниться числа (ячейка запоминающего устройства), как пересылать и обрабатывать числа и где хранить результаты вычислений.

Программирование на М. я. ведётся в системе команд ЦВМ, поэтому М. я. рекомендуется использовать для создания программ (операционные системы, трансляторы алгоритмических языков, библиотеки стандартных программ), расширяющих логические возможности ЦВМ, и для создания программ, на которые наложены ограничения по времени выполнения и объёму памяти ЦВМ. Недостатки программирования на М. я.: программы, написанные для ЦВМ одного типа, не пригодны для ЦВМ другого типа; продолжительные сроки обучения программистов; программист, научившийся программировать на одной машине, должен фактически переучиваться при переходе к программированию на другой машине. Один из путей развития М. я. — приближение М. я. к языкам высшего уровня (тем самым упрощаются трансляторы с алгоритмических языков)

№21