- •Раздел 1. Технические средства информатики.
- •Тема 1. Аппаратные средства эвм.
- •Состав и особенности основных устройств.
- •1.2.Внутренняя память
- •1.3. Периферийные устройства
- •1.4. Внешняя память.
- •1.5. Принцип хранения информации на магнитных дисках
- •Тема 2. Представление данных в эвм.
- •2.1. Единицы измерения количества и объема информации.
- •2.1.1. Количество информации.
- •2.1.2. Объем информации.
- •2.2. Системы счисления.
- •2.3. Типы данных и их представление.
- •2.3.1. Целые типы данных.
- •2.3.2. Вещественные типы данных.
- •2.3.3. Текстовые типы данных.
- •2.3.4. Логический тип данны.
- •2.3.5. Кодирование графической информации.
- •2.3.5.1.Растровая графика
- •2.3.5.2.Векторная графика
- •2.3.5.3.Фрактальная графика
- •2.3.5.4.Форматы представления графических файлов
- •2.3.6.Кодирование звуковой информации.
- •2.4. Структуры данных. Файловая структура.
- •2.4.1. Структуры данных.
- •2.4.2. Файловая структура.
- •Тема 3. Компьютерные сети.
- •3.1. Основные особенности.
- •3.2. Основные концепции сетевого программного обеспечения.
- •3.3. Топология локальной сети.
- •3.4. Основные особенности глобальной сети интернет.
- •Раздел 2. Программные средства информатики.
- •Тема 1. Алгоритмы.
- •1.1.Основные понятия
- •1.2. Словесно-формульное описание алгоритма.
- •1.3. Структурное описание алгоритма.
- •1.4. Элементарные алгоритмические структуры.
- •1.5. Требования, предъявляемые к алгоритмам.
- •Тема 2. Виды и особенности программных средств.
- •Тема 3. Системное по.
- •3.1.Основные особенности ос.
- •3.1.3.Состав операционных систем
- •3.2. Вспомогательные (сервисные) программы.
- •3.2.1.Программы–упаковщики (архиваторы)
- •3.2.2.Вирусы и антивирусные программы
- •3.2.3.Программы обслуживания дисков
- •Тема 4. Языки и системы программирования.
- •4.1. Системы программирования.
- •4.2. Уровни языков программирования.
- •4.3. Принципы программирования.
- •4.3.1. Алгоритмическое программирование.
- •4.3.2. Структурное программирование.
- •4.3.3. Событийно-ориентированное программирование.
- •4.3.4. Объектно-ориентированное программирование.
3.2.3.Программы обслуживания дисков
Кроме рассмотренных выше, существует множество других сервисных утилит. Из них наи- более часто используются следующие.
1. Программы диагностики – проверяют работоспособность устройств.
2. Программы оптимизации (дефрагментации) – перемещают все части каждого файла друг к другу и собирают все файлы в начале диска. За счет этого уменьшается число перемеще- ний магнитных головок диска, в результате чего ускоряется доступ к информации и снижается износ дисковода.
3. Программы уничтожения остатков информации в областях, занимаемых ранее удален- ными файлами. Используются для надежности уничтожения секретной информации. Необхо- димость выполнения такой функции вызвана тем, что – при удалении файла уничтожается только его название в каталоге, а не сам файл; – обычно объем данных в файле меньше, чем отведенное для него пространство памяти, поэтому в кластере, занимаемом последней частью (“хвостом”) файла, могут сохраниться ос- татки информации от файла, который был там ранее.
4. Программы динамического сжатия – автоматически (динамически) сжимают информа- цию при записи на диск, а при считывании с диска восстанавливают ее в первоначальном виде. За счет этого увеличивается объем информации, которую можно хранить в памяти. Для про- грамм, например, объем файлов уменьшается в 1,5 раза, а для баз данных – в 4-5 раз.
Тема 4. Языки и системы программирования.
4.1. Системы программирования.
Основная цель любой программы – описание последовательностей команд (инструкций) для ЦП компьютера, который должен ее исполнить. Эти команды должны быть выражены в машинном коде в виде последовательности двоичных чисел, обозначающих эти команды, т.е. на языке, понятном ЦП. Человеку составлять программы на таком языке крайне сложно, поэтому для создания программ принят следующий подход. Программист пишет текст алгоритма на языке, который ему понятен и удобен, а затем с помощью специальных программ переводит его на машинный язык и превращает в удобный для ЦП и ОС вид. Для этой цели существуют специальные языки, которые называют алгоритмическими или языками программирования. Они обладают рядом следующих свойств:
специализация
Средства, предоставляемые языком, ориентированы на описание задач предметных областей определенного типа, например, одни языки разработаны главным образом для численных расчетов (например, Pascal), другие – для работы в основном с текстовой информацией (LISP), третьи – для написания главным образом системных программ (C). В основном наиболее распространенные языки позволяют описать решение разнообразных задач (поэтому называются универсальными), но наиболее удобны для решения тех задач, для которых они разработаны.
возможность написания легкочитаемого текста, имеющего ясную структуру
Во всех языках программирования имеются возможности указания пробелов между частями инструкций (операторов), пустых строк между частями программного текста, отступов от начала строки для операторов и т.п. Это существенно облегчает изменение текста программы и поиск в нем ошибок.
возможность независимого написания отдельных частей программы
Такой подход в программировании называется модульным (или структурным). Он предполагает написание отдельных программных модулей с последующей автоматизированной сборкой их в единую программу. Среди этих модулей должен быть один, который называется главной (головной) программой. В ней программист описывает последовательность выполнения других модулей, которые называются подпрограммами или функциями.
В связи с особенностями языков программирования существует четыре важных этапа запуска программы на выполнение:
трансляция, т.е. перевод текстов программных модулей с алгоритмического языка на машинный
сборка полученных после трансляции программных модулей в единую программу
отладка программы, т.е. процесс нахождения и устранение ошибок в тексте программы
исполнение программы
Для обеспечения этих этапов и предназначены системы программирования. Они включают в себя следующие компоненты:
специализированный текстовый редактор (обеспечивает помощь в процессе написания текста программных модулей)
транслятор
редактор связей
отладчик
Транслятор – это переводчик с языка, на котором написаны тексты программных модулей на машинный внутренний язык. Различают два вида трансляторов:
интерпретаторы
компиляторы
Интерпретатор обеспечивает построчный перевод текста программы на машинный язык и одновременное выполнение каждой команды программы. Другими словами он автоматизирует все этапы запуска программы на выполнение.
Компилятор переводит текст программного модуля на машинный язык без его выполнения. При этом выявляются синтаксические ошибки, допущенные в тексте. В результате для каждого модуля создается файл, который называется объектным модулем.
Редактор связей автоматизирует процесс сборки связанных друг с другом, но отдельно написанных и транслированных программных модулей. Он выявляет ошибки неверно указанных связей между модулями (например, наличие в тексте ссылки на несуществующий программный модуль) или их отсутствие. Кроме этого он добавляет служебную информацию, которая необходима ОС для последующего управления выполнением данной программы. В результате создается файл, который называется исполняемым (или загрузочным). Он может выполняться под управлением ОС без системы программирования.
Отладчик оказывает помощь в поиске ошибок в программе в процессе ее выполнения. К ним, например, относятся логические ошибки (например, попытки деления на ноль) а также ошибки, связанные с некорректностью входных данных.
Основные преимущества интерпретатора перед компилятором следующие:
исполнение программы может происходить сразу после ее написания, причем одновременно с этим выявляются ошибки в тексте программы, что ускоряет отладку
файлы с такими программами занимают небольшой объем памяти, поскольку содержит лишь тексты
Основные недостатки:
низкая скорость исполнения программы, поскольку во время ее выполнения проводится синтаксический анализ каждой строки, перевод ее на машинный язык и другие действия.
В связи с этими особенностями интерпретатор используется в специальных прикладных программных системах (в частности, экономических). В этом случае программа пишется на специальном языке и является заданием какой-либо задачи, которую способна решать данная прикладная программная система. В системах программирования для так называемых универсальных алгоритмических языков, как правило, имеются как интерпретаторы, так и компиляторы. Интерпретаторы используются для отладки и решения несложных задач, а компиляторы – для создания готовых программ, независимых от системы программирования.
