Informatikax

advertisement
1
В ПК можно выделить центральный (системный) блок и периферию.
Центральный блок: системная (материнская) плата, системная шина (магистраль данных),
ЦП, внутренняя память.
Мат.плата – основная плата ПК, обеспечивает подключение и согласование всех компонент
компьютера. Платы представляют собой различные комбинации микросхем (звуковая, видео плата).
Компоненты компьютера подключаются к мат.плате посредством интерфейсов - программных или
аппаратных средств связи между устройствами или программами, т.е. непосредственно через разъёмы
(внутренняя память, процессор) либо через спец. устройства сопряжения-адаптеры, контроллеры.
Контроллер это специализированный процессор, управляющий работой соответствующего
внешнего устройства, например, принтера.
ЦП при необходимости произвести обмен данными выдаёт задание на его осуществление
контроллеру. Обмен происходит под управлением контроллера, без участия ЦП.
Системная шина предназначена для передачи данных, адресов, команд м/у различными
компонентами компьютера. Она представляет собой группу электропроводников. Состоит из трёх частей
- шины данных, по кот. передаётся обрабатываемая информация, шины адреса, кот. определяет, куда
передаются данные и шины команд (управления), по которой передаются команды.
ЦП совершает все арифметические и логические операции. Современные процессоры могут
состоять из нескольких частей (ядер), каждое из которых может работать как отдельный процессор.
Также ЦП включает в себя спец. электронный блок управления, который включает в работу другие
устройства.
Через ЦП проходит вся обрабатываемая информация.
Основные параметры ЦП:
1) Рабочее напряжение, кот. обеспечивает мат. плата.
2) Рабочая тактовая частота, характеризующая скорость выполнения элементарных операций.
Исполнение каждой команды занимает определённое кол-во тактов. Тактовые импульсы создаёт одна из
микросхем мат.платы. Чем выше частота тактов, тем больше команд процессор может выполнить за
единицу времени, и, следовательно, тем выше его производительность (Производительность
процессора это скорость выполнения операций)
3) Коэффициент внутреннего умножения тактовой частоты. Тактовые сигналы процессор
получает от мат.платы, которая по физическим причинам не может работать со столь высокими
частотами, как процессор. Для получения более высокой частоты в процессоре происходит внутреннее
умножение частоты на коэффициент. В разных компьютерах он может быть 3; 3,5; 4… и более.
4) Разрядность - показывает, ск-ко бит данных может принять и обработать процессор за 1 такт.
Определяется разрядностью шины команд.
5) Размер КЭШа. КЭШ память содержит информацию, которая может быть запрошена с наибольшей
вероятностью. Предназначена для сглаживания высокой скорости работы с данными внутри процессора
и низкой скоростью обмена данными м/у ЦП и ОП. КЭШ бывает трёх уровней:
1. внутри процессора объёмом в десятки кбайт
2. объёмом >=512 кбайт, внутри процессора либо вне его, но в том же узле и
3. на мат.плате, объёмом несколько Мбайт.
Первые 2 работают на частоте процессора, а третья на частоте мат.платы. Наличие КЭШа
увеличивает производительность процессора и компьютера в целом.
6) Процессорная архитектура. Под этим понятием подразумевается способность процессора
исполнять определенный набор машинных кодов, система исполняемых команд. В настоящее время
наиболее распространены такие архитектуры, как RISC и CISC.
CISC-процессоры (Complex Instruction Set Computing)-с расширенным набором команд,
используются в универсальных компьютерах.
RISC (Reduced Instruction Set Computing)-с сокращённой системой команд, используется в основном
в специализированных компьютерах.
Чем шире набор команд, тем длиннее их формальная запись, а значит и больше средняя
продолжительность исполнения каждой команды, измеренная в тактах работы процессора. В RISCпроцессорах команд меньше, выполняются они быстрее. Но при выполнении сложных операций
приходится опираться на программные средства, что приводит к снижению общей производительности
компьютера. Кроме того, RISC-процессоры отличаются меньшим энергопотреблением и
тепловыделением.
Для измерения производительности используют различные методы и единицы измерения. Чаще
всего используется FLOPS-кол-во операций с дробными числами в секунду, вычисляемое с помощью
2
специальных тестов, а также MIPS-миллион операций в секунду, вычисляемое с помощью специальных
тестов и MTOPS-миллион операций в секунду, вычисляется теоретически.
Внутренняя память состоит из нескольких устройств, каждое из которых представляет собой одну
или несколько микросхем (чипов), а комплект чипов, спроектированных для совместной работы
называют чипсетом(chip-set). Элементарной единицей памяти является ячейка (регистр). Каждая ячейка
состоит из последовательности элементов, каждый из которых может находится в одном из двух
состояний. Одно из них условно сопоставляют с 0, а другое с 1.
Размещение информации в ячейке называется записью информации в память. Передача информации
из ячейки в какое-либо устройство либо другую ячейку-считывание информации из памяти.
Основные виды внутренней памяти:
1. ПЗУ - только для чтения
2. ОЗУ-с произвольным доступом. Используется для записи и чтения
3. CMOS-память
ПЗУ(ROM) представляет собой флеш-память, допускающую перезапись информации. В ПЗУ
находятся программы, которые обеспечивают начало работы компьютера, связь процессора с другими
устройствами и проверку работоспособности основных частей ЭВМ. Эти программы не уничтожаются
при отключении компьютера от сети. Предназначены только для чтения. Объединены в комплекс BIOSбазовую систему ввода/вывода. Другие программы работают на основе программ BIOS. Основа BIOSдрайверы, т.е. программы, в каждой из которых описаны особенности управления компонентами и
ресурсами системной платы.
ОЗУ(RAM) для хранения оперативной, часто изменяющейся информации. Используется
процессором. ОП место всей деятельность компьютера. Её объём имеет существенное значение. Чем
больше объём, тем выше производительность компьютера.
CMOS-память для постоянного хранения сведений об аппаратной конфигурации компьютера
(состав, настройки внутренних и внешних устройств). Эта информация может быть отредактирована
автоматически (операционкой) или пользователем при помощи программы setup из BIOS. Эта память
совмещена с часами реального времени (таймером) и питается от батарейки, поэтому находящаяся в ней
информация не уничтожается при отключении питания компьютера.
Периферийные устройства подключаются к компьютеру через специальные интерфейсные
устройства-порты. Устройства ввода - клавиатура, сканер, и пр.; вывода - принтер, монитор, … . Также
периферийным устройством является внешняя память, на которую можно записать информацию и
впоследствии прочитать её. При отключении информация сохраняется, поэтому устройства внешней
памяти называют долговременными запоминающими устройствами.
ВНЕШНЯЯ ПАМЯТЬ
Место хранения неиспользуемой в данный момент информации. В ПК в качестве устройств внешней
памяти используются накопители на дисках (дисковая память) и т.н. флэш-память. Дисковая память
состоит из устройств считывания/записи (дисковод) и носителя информации (диски).
Дисковая память бывает нескольких видов. Чаще всего используются накопители на жёстких
несменных магнитных дисках (НЖМД, винчестер, HDD) и накопители на оптических дисках. Размер
дисков, как правило, 3,5 дюйма(HDD) либо 5,25 (опт. диски)
HDD представляет собой единое устройство, в котором находится дисковод и несколько дисков,
установленных на одной оси. Диски изготавливают из жёстких сплавов с магниточувствительным
покрытием. Объём памяти и скорость чтения/записи таких накопителей значительно превосходит другие
устройства, поэтому используются в текущей работе.
Память на оптических дисках. В настоящее время наиболее распространены накопители на
сменных оптических дисках CD и DVD. Используется для длительного хранения информации большого
объёма (СD-700 Мб, DVD-до десятков Гб, обычно 4,5 Гб). Накопители на оптических дисках на основе
CD и DVD отличаются технологией записи и считывания информации.
Различают оптические диски read only memory (ROM), recordable (R) и reWritable (RW).
Чаще всего используются ROM. Они предназначены только для чтения. На их поверхности
информация представляется чередованием углублений(лунок) и их отсутствием вдоль траектории и
наносится механическим путём с использованием матрицы. Считывание осуществляется оптическим
способом с помощью лазерного луча, кот.по разному отражается от лунок и других участков.
Диски R допускают однократную запись, при этом вместо углублений с помощью
высокотемпературного воздействия необратимо изменяются оптические свойства соответствующих мест.
3
Диски RW позволяют производить многократную запись. При этом используется магнитооптический
принцип, т.е. запись - магнитная, а считывание оптическое. Считывание основано на различии в
коэффициентах отражения намагниченных и ненамагниченных областей.
Флэш-память представляет собой электронное устройство на основе микросхемы. Первый образец
был разработан в 1984 году, первый коммерческий появился в конце 2000 года. Наиболее распространена
флэш-память, подключаемая к USB разъёму. Такая память состоит из трёх элементов: USB разъём,
контроллер памяти и микросхема памяти. Современная флэш-память может иметь объём до сотен Гб.
Для дисков поверхность рассматривается как массив расположенных на нём точек. Каждая из этих
точек эквивалентна нулю (если точка ненамагничена ,а для оптических дисков точки нет) или единице
(если точка намагничена, а для оптических дисков точка есть). Информация на HDD записывается вдоль
концентрических окружностей, несвязанных друг с другом. Каждая из этих траекторий называется
дорожкой (треком). Количество дорожек для разных устройств может различаться. Каждая дорожка по
окружности разделяется на части, называемые секторами. Для разных устройств количество секторов
может различаться.
В одном и том же устройстве количество дорожек на поверхностях всех дисков одинаково и
количество секторов на всех дорожках одинаково. Считывание и запись информации на дисках
производится только полными секторами.
В винчестере несколько дисков, поэтому и несколько поверхностей (на каждом диске 2
поверхности).
Все дорожки, находящиеся на одном расстоянии от центра и расположенные на разных
поверхностях, образуют цилиндр. Сектора, дорожки, цилиндры и поверхности нумеруются начиная с
нуля.
Новый магнитный диск непригоден для записи и считывания информации. Необходимо с помощью
специальной программы нанести на него специальные магнитные метки, разделяющие поверхность на
дорожки и сектора. Этот процесс разметки называется физическим форматированием. Для упрощения
работы дисковое пространство НМЖД рекомендуется разделить на несколько частей (разделов
фиксированного размера) с помощью специальной программы. После этого физически он остается
единым устройством, но для программ каждый раздел считается отдельным устройством памяти.
Поэтому эти разделы называют логическими дисками (пользователь с ними работает как с отдельными
устройствами памяти). Все устройства долговременной памяти (в том числе логические) имеют имена,
состоящие из одной латинской буквы: C, D, E, F…
ПРЕДСТАВЛЕНИЕ ДАННЫХ В ЭВМ
Единица измерения объёма и количества информации.
В компьютере наименьшей единицей информации является бит. Представление каждого бита
зависит от носителя информации. На бумаге бит-1 либо 0, во внутренней памяти этому соответствует
одно из двух состояний элемента ячейки, на магнитной поверхности это точка(намагниченная, либо нет).
А на оптическом диске-наличие(отсутствие) углубления или его аналога. Любая информация кодируется
определённой комбинацией битов, т.е. двоичных знаков.
Количество информации
Поскольку каждый бит может принимать одно из двух значений(0 или 1), то последовательность из i
битов может принимать N=2i различных значений, а значит для любого N-значного алфавита кол-во бит,
кот. потребуется для представления любого знака этого алфавита вычисляется по формуле i=log2N
(формула Хартли)/ Эта величина принимается в качестве количества информации, содержащейся в
сообщении, состоящего из одного знака N-значного алфавита.
Количество знаков в алфавите называется его мощностью.
Из формулы Хартли следует, что количество информации, содержащейся в сообщении, состоящем из
m знаков (m-разрядное сообщение), когда каждый знак равновероятно взят из алфавита мощностью N
i=mlog2N
Например, в слове «информатика» 11 знаков, т.е. m=11. Если используется 32-значный алфавит, то
получаем i=11 log232=55.
Объём информации.
В отличие от количества, объем информации, записанной двоичными знаками в памяти компьютера
или на внешнем носителе, вычисляется просто по количеству требуемых для такой записи двоичных
знаков. Обычно, в качестве наименьшей единицы измерения объема информации используется байт,
4
состоящий из 8 битов. Следовательно, каждый байт может принимать 256(28) различных значений. При
этом наименьшее - 00000000, а наибольшее 11111111.
Байты объединяются в более крупные наборы, в зависимости от цели использования (ввод/вывод,
передача по каналам связи и др.).
Для измерения объема памяти используют более крупные, чем бит или байт ед.изм., называемые: Кб,
Мб, Гб.
Переход от меньшей ед.изм. к большей осуществляется с помощью коэффициента 2 10=1024, т.е. 1
Кб=1024 б, 1 Мб=1024 Кб, 1 Гб=1024 Мб.
Для измерения памяти большего объема используются ед.изм.: Терабайт(Тб)=1024 Гб и
Петабайт(Пб=1024 Тб).
Любая информация представляется в компьютере как последовательность байтов, при этом в самих
байтах нет ничего, что позволяет их трактовать как числа, текстовые или другие данные.
В любом случае информация кодируется в виде последовательности нулей и единиц, т.е.
положительных целых двоичных чисел.
Их интерпретация зависит от того, какая программа и какое действие с ними совершает в данный
конкретный момент. Если в программе предполагается работа с числами, то байты интерпретируются как
числа, к которым применимы арифметические действия. Если в программе предусматриваются действия
с текстовыми данными, то байты интерпретируются как условные числовые коды, обозначающие знаки
текста.
156(10): 2х82+5х81+0х80=> 250(8)
Системы счисления.
Число – это знак, обозначающий количество чего-либо. Такие знаки записываются на основании
правил, которые составляют так называемую систему счисления. Числа записывают с помощью
специальных, отличных друг от друга знаков, которые называются цифрами.
Существуют различные системы счисления. Они делятся на непозиционные и позиционные.
В непозиционных системах смысл каждой цифры не зависит от её расположения в числе. Например, в
Римской системе: V-пять, L-пятьдесят, X-десять. Недостатком таких систем является сложность записи
чисел и отсутствие стандартных формальных правил арифметических действий с ними.
В позиционных системах счисления смысл цифры зависит от места её расположения в числе, а запись
чисел и правила выполнения арифметических действий с ними стандартизированы и формализованы. В
такой системе счисления число – это краткая запись суммы. Например, в десятичной системе 168 – это
1х102+6х101+8х100, т.е., число – это последовательность коэффициентов при степенях числа 10. Число
10 называется основанием десятичной системы счисления.
Если в качестве основания задать другое число, то получится другая система счисления.
Позиционная система счисления задается величиной основания и множеством цифр. Основание
равно количеству цифр. Наименьшая цифра 0, каждая следующая на 1 больше предыдущей. Запрещено
цифры обозначать с помощью других цифр. Любое количество можно представить в виде числа в
различных системах счисления и эти представления будут взаимно однозначно соответствовать друг
другу, обозначая одно и то же число.
168(10)=250(8) (2х82+5х81+0х80)
Например, рассмотрим представление чисел в 16-ричной системе счисления, тогда основание равно
16. Цифры: первые 10 цифр (от 0 до 9) мы можем позаимствовать из 10-ричной системы счисления,
остальные 6 цифр, соответствующих числовым значениям от 10 до 15 обозначим латинскими буквами
A,B,C,D,E,F, при этом А будет означать цифру 10, В – цифру 11…,F – 15.
Мы вынуждены сделать такое обозначение в связи с тем, что нельзя цифры обозначать с помощью
других цифр. Определив систему счисления можно получить число, соответствующее десятичному числу
168. Пользуясь общим правилом записи чисел получаем Ах161+8х160 , т.е. 16-ричное число А8.
16: 0,1,2…9,A,B,C,D,E,F
168(10)= Ах161+8х160=А8(16)
Арифметические действия в любой системе счисления выполняются аналогично тому, как это
делается в 10-чной системе. Следует лишь учитывать величину основания. Например, в 8-ричной системе
счисления имеем 15+14=31.
В компьютере все данные представляют в двоичной системе счисления.
Например, 10-чному числу 5 будет соответствовать 2-ичное 101
5: 1х22+0х21+1х20=>(один-ноль-один)
1111(2) = 15(10)
Четырьмя битами можно представить 16 десятичных чисел (от 0 до 15).
5
В качестве краткой записи при просмотре или изменении двоичных данных используется 16-ричная
система счисления. Программы, обеспечивающие «непосредственную» работу человека с данными,
хранящимися в памяти компьютера, при взаимодействии с человеком автоматически преобразовывают
двоичное представление данных в 16-ричное (для человека) и наоборот (для компьютера).
Любое данное, записанное в 1 байте, представляется двумя 16-ричными цифрами, первая из которых
соответствует первой четверке битов, а вторая цифра – второй четверке битов. В этом и состоит причина
использования 16-ричной системы.
Типы данных и их представление.
При взаимодействии с программами используются следующие основные типы данных:
1) Целый короткий (short) 1 б
2) Целый обычный (integer) 2 б
3) Целый длинный (long)
4) Вещественный с одинарной точностью
5) Вещественный с двойной точностью
6) Текстовый (символьный строковый)
7) Логический
Часто целые и вещественные данные объединяют одним термином «числовые».
Целые типы данных.
Одним байтом (8 битов) можно представить 256 положительных целых, десятичных чисел от 0 до
255. Такой тип данных называется однобайтовым без знака.
Числа, превышающие 255 требуют более 1 байта для своего представления. Для работы с ними
используют типы: двухбайтовое целое без знака (обеспечивает представление 65536 целых
положительных чисел от 0 до 65535) и четырехбайтовое целое без знака (обеспечивает представление
целых положительных чисел от 0 до ~4,2 млрд.
Это базовые типы данных, с помощью которых представляют все остальные типы данных. Кроме
этого, они используются, например, для нумерации элементов. Для работы с целыми числами, которые
могут быть не только положительными, но и отрицательными, используются типы:
1) однобайтовое целое со знаком (целый короткий)
2) двухбайтовое целое со знаком (целый обычный)
3) четырехбайтовое целое со знаком (целый длинный)
Они отличаются объемом памяти, которая отводится для хранения каждого числа. Для
представления чисел, которые могут быть как положительными, так и отрицательными, используются
разные способы. Основными из них являются Дополнительный код и Смещение
Дополнительный код - общее количество числовых кодов, возможных для данного количества
байтов (например, для однобайтового 256) делится пополам. Первая половина используется для
представления положительных чисел и 0 (прямым кодом), а другая половина – для представления
отрицательных чисел (дополнительным кодом). Отрицательные числа представляются как дополнение до
общего количества числовых кодов. Например, для однобайтового типа числа от 0 до 127 записываются
без изменений. Число 1 представляется числом 255, 2 – числом 254 и т.д. до 128, которое обозначает
число -128.
Смещение. К вводимому числу перед записью его в память прибавляется положительное число,
которое называется смещением. Обычно смещение = половине общего количества возможных числовых
кодов. Например, для однобайтового представления смещение = 128. Поэтому число 128 представляется
в памяти компьютера 0(-128+128=0), -127 представляется 1 и т.д. до 127, которое представляется числом
255.
Таким образом, однобайтовое целое со знаком позволяет работать с целыми числами от -128 до +127.
Двухбайтовое: от -32768 до +32767, а четырехбайтовое от ~-2.1 млрд до ~+2.1 млрд.
Вещественные типы данных.
Работая с вещественным числом следует иметь ввиду 2 аспекта:
1) Способы визуализации чисел
2) Способы представления чисел в памяти ЭВМ
В первом случае имеется в виду запись вещественных чисел на бумаге, их представление при вводе с
клавиатуры, выводе на экран или принтер и т.п.
Числа, которые могут содержать десятичную часть (вещественные), называются числами с
плавающей точкой (floating-point values). Для работы с ними в языке Си используется тип данных с
плавающей точкой (float). Так как числа с плавающей точкой могут быть чрезвычайно маленькими или
6
большими, для их записи часто используют экспоненциальную форму, например, значение числа с
плавающей точкой может равняться 3.4е+38. Расшифровать это можно следующим образом:
«передвинуть точку вправо на 38 пунктов, добавив соответствующее количество нулей». Существуют
дополнительные типы данных для работы в очень широких пределах величин:
float
величины от 3.4Е–38 до 3.4Е+38
double
величины от 1.7Е–308 до 1.7Е+308
long double
величины от 3.4Е–4932 до 1.1Е+4932
Тип данных с плавающей точкой имеет предел точности, диапазон которого зависит от
компилятора. Например, число 6.12345678912345 в пределах допустимого диапазона для чисел типа float
может быть записано компьютером только как 6.12345. Этот тип, как принято говорить, является
типом с одинарной точностью, что означает, что точность его ограничена пятью или шестью
знаками после точки. Тип double принято называть типом с двойной точностью, он имеет 15–16 знаков
после точки.
Для записи данных с одинарной точностью резервируется четыре элемента памяти; двойная
точность требует резервирования восьми, повышенная (long double)— десяти.
В естественной форме (или в форме с фиксированной точкой) число представляется
последовательностью десятичных цифр со знаком плюс или минус. Знак плюс можно опускать. Для
отделения целой части числа от дробной используется не запятая, а точка. Ноль целых можно
опускать.
Например:
обычная запись
запись на Бейсике
192
192
-12
-12
+308
308
0,4172
0.4172 или .4172
2,15
2.15
-0,5
-0.5
Полулогарифмическая запись (или запись в форме с плавающей точкой) используется для
представления очень больших или очень маленьких чисел (см. далее).
В этой форме число записывается в виде: ±mE±p, где
m – мантисса числа,
E – основание десятичной системы счисления (т. е. 10);
p – порядок числа.
Значение такого числа определяется как ±m•10±р.
Текстовые типы данных.
Тестовые типы могут быть строковыми и символьными. В первом случае элементом текста является
строка, во втором – отдельный знак. В любом случае каждый знак представляется в виде определенной
последовательности битов, т.е. двоичного числа. Для числового кодирования текстовых знаков
используются специальные таблицы кодирования, которые могут быть однобайтовыми или
двухбайтовыми.
При однобайтовом представлении каждый знак в виде числового кода занимает 1 байт, а при
двухбайтовом – 2 байта. Например. ASCII – это однобайтовая таблица кодирования. Однобайтовой
таблицей кодирования знаков русского языка является, например, Windows1251, КОИ-8, есть и др.
Двухбайтовой таблицей кодирования знаков алфавита большинства знаков планеты является
Unicode.
7
Программы могут работать на основе разных таблиц кодирования, поэтому текстовый документ,
созданный с помощью одной программы, не обязательно будет прочитан с помощью другой.
Логический тип данных
Логические величины принимают только 2 значения: TRUE или FALSE. К ним можно применять
логические операции, основными из которых являются and (конъюнкция – логическое «и»), or
(дизъюнкция – логическое «или»), not (инверсия – логическое отрицание).
Первые 2 операции применяются к двум логическим величинам. Например (c=1/2d) and (a>b), а
операция «not» к одной величине: not (a>b)
Результатом выражения с логическими данными (логическое выражение) является логическая
величина. Результат операции and=true, только в том случае, если обе величины=true, в остальных
операциях будет false.
Если применяется операция or, то результат=false только в том случае, если обе величины=false.
Операции not изменяют значение логической величины: результат=true, если величина=false и
наоборот.
В смешанных выражениях операции выполняются в соответствии с приоритетами: наивысший
приоритет у арифметической операции, затем – операции сравнения, самый низкий у логических
операций. Среди логических 1-й выполняют операцию not, затем and и or.
Операции с одинаковым приоритетом выполняются слева-направо. Порядок выполнения операций
может быть изменен использованием скобок.
Кодирование графической информации.
В зависимости от способов формирования изображения компьютерную графику принято
подразделять на растровую, векторную и фрактальную.
Растровый принцип заключается в представлении графического изображения в виде множества
точек, каждая из которых представляется последовательностью чисел (линейные координаты, цвет,
яркость) В векторной графике базовым элементом является не точка, а линия, которая описывается
математически как единый объект. Фрактальная графика, как и векторная, основана на математических
вычислениях, но базовым элементом является сама математическая формула, никаких объектов в памяти
компьютера не хранится, изображение строится исключительно по уравнениям.
Программные системы, ориентированные на растровую графику, предназначены для работы с
готовыми изображениями (Photoshop). Системы векторной графики предназначены для создания
графических объектов (CoralDraw). А системы фрактальной графики позволяют создавать объемные
изображения, которые можно поворачивать и рассматривать под разными ракурсами (3DMax).
Структуры данных. Файловая структура.
Структуры данных.
Работа с большими наборами данных автоматизируется проще, когда данные упорядочены, то есть
образуют заданную структуру. Существует три основных типа структур данных: линейная, иерархическая
и табличная. Их можно рассмотреть на примере обычной книги.
Если разобрать книгу на отдельные листы и перемешать их, книга потеряет свое назначение. Она попрежнему будет представлять набор данных, но подобрать адекватный метод для получения из нее
информации весьма непросто. Если же собрать все листы книги в правильной последовательности, мы
получим простейшую структуру данных — линейную. Такую книгу уже можно читать, хотя для поиска
нужных данных ее придется прочитать подряд, начиная с самого начала, что не всегда удобно. Для
быстрого поиска данных существует иерархическая структура. Так, например, книги разбивают на
части, разделы, главы, параграфы и т. п. Для больших массивов поиск данных в иерархической структуре
намного проще, чем в линейной, однако и здесь необходима навигация, связанная с необходимостью
просмотра. В большинстве книг есть вспомогательная перекрестная таблица, связывающая разделы,
главы и параграфы с номерами страниц. В книгах с простой иерархической структурой, рассчитанных на
последовательное чтение, эту таблицу принято называть оглавлением, а в книгах со сложной структурой,
допускающей выборочное чтение, ее называют содержанием.
Линейные структуры — это списки. Список — это простейшая структура данных, отличающаяся
тем, что каждый элемент данных однозначно определяется своим номером в массиве. Проставляя номера
на отдельных страницах рассыпанной книги, мы создаем структуру списка. Обычный журнал
посещаемости занятий, например, имеет структуру списка, поскольку все студенты группы
зарегистрированы в нем под своими уникальными номерами.
При создании любой структуры данных надо решить два вопроса:
8
как разделять элементы данных между собой и как разыскивать нужные элементы. В журнале
посещаемости, например, это решается так: каждый новый элемент списка заносится с новой строки, то
есть разделителем является конец строки. Тогда нужный элемент можно разыскать по номеру строки.
Разделителем может быть и какой-нибудь специальный символ. Нам хорошо известны разделители
между словами — это пробелы. В русском и во многих европейских языках общепринятым разделителем
предложений является точка. Можно использовать, например символ ≪*≫. Тогда список выглядел бы
так:
Аистов Александр Алексеевич * Бобров Борис Борисович * Воробьева Валентина Владиславовна * ...
* Сорокин Сергей Семенович
Еще проще можно действовать, если все элементы списка имеют равную длину.В этом случае
разделители в списке вообще не нужны. Для розыска элемента с номером надо просмотреть список с
самого начала и отсчитать а(п-1) символ, где а — длина одного элемента. Со следующего символа
начнется нужный элемент. Его длина тоже равна а, поэтому его конец определить нетрудно. Такие
упрощенные списки, состоящие из элементов равной длины, называют векторами данных. Работать с
ними особенно удобно.
Таким образом, линейные структуры данных (списки) — это упорядоченные структуры, в которых
адрес элемента однозначно определяется его номером.
Табличные структуры (таблицы данных, матрицы данных)
С таблицами данных мы тоже хорошо знакомы, достаточно вспомнить всем известную таблицу
умножения. Табличные структуры отличаются от списочных тем, что элементы данных определяются
адресом ячейки, который состоит не из одного параметра, как в списках, а из нескольких. Для таблицы
умножения, например, адрес ячейки определяется номерами строки и столбца. Нужная ячейка находится
на их пересечении, а элемент выбирается из ячейки. При хранении табличных данных количество
разделителей должно быть больше, чем для данных, имеющих структуру списка. Например, когда
таблицы печатают в книгах, строки и столбцы разделяют графическими элементами — линиями
вертикальной и горизонтальной разметки.
Если нужно сохранить таблицу в виде длинной символьной строки, используют один символразделитель между элементами, принадлежащими одной строке, и другой разделитель для отделения
строк, например так:
Таким образом, табличные структуры данных (матрицы) — это упорядоченные структуры, в которых
адрес элемента определяется номером строки и номером столбца, на пересечении которых находится
ячейка, содержащая искомый элемент.
Иерархические структуры данных
Нерегулярные данные, которые трудно представить в виде списка или таблицы, часто представляют
в виде иерархических структур. С подобными структурами мы очень хорошо знакомы по обыденной
жизни. Иерархическую структуру имеет система почтовых адресов. Подобные структуры также широко
применяют в научных систематизациях и всевозможных классификациях.
В иерархической структуре адрес каждого элемента определяется путем доступа (маршрутом),
ведущим от вершины структуры к данному элементу.
Файловые структуры.
Файл – любой информационный объект (например, отдельный документ, программа), хранящийся во
внешней памяти и имеющий название.
Файл – это именованная последовательность байтов.
Информация о файлах (их названия, размеры, время создания, месторазмещение во внешней памяти)
хранится в каталогах. Каталог – это таблица, в каждой строке которой содержится информация о какомлибо файле или другом каталоге. При записи файлов сведения о них автоматически записывают в те
каталоги, которые указал пользователь.
Каждый файл или каталог имеет название, состоящее из 2-х частей, разделенных точкой. Левая часть
– имя, правая – расширение. Расширение вместе с точкой может отсутствовать. В названии не
рекомендуется использовать следующие знаки(. , / и т.д.)
Рекомендуется, для удобства работы со списками файлы именовать с указанием расширений, а
каталоги без расширений.
9
При форматировании каждого диска (логического или физического) на нем автоматически создается
каталог, называющийся корневым. Его название состоит из 2-х знаков: имя диска и «:».
С: - корневой каталог диска С.
D: - корневой каталог внешнего устройства D.
В корневом каталоге можно создать другие каталоги, которые называются подкаталогами или
каталогами 1-го уровня иерархии. Они могут содержать каталоги 2-го уровня и т.д. Таким образом,
формируется иерархическая (древовидная) файловая структура на диске.
Если требуется использовать какой-либо файл, необходимо указать в каком каталоге он находится.
Это делается с помощью указания пути (маршрута) к файлу по дереву каталогов.
Маршрут (путь) – список названий каталогов по мере их вложенности (от внешнего к внутреннему),
разделяемых знаком « \ »
При указании файла (или каталога) перед его названием указывается маршрут, а затем, через « \ »
название файла (каталога). Например, C:\Windows\regedit.exe. Эта запись означает, что файл regedit.exe
находится в каталоге Windows, который находится в корневом каталоге диска С. Такая запись называется
полной спецификацией. Название файла – краткая спецификация.
Корневой каталог занимает определенное место фиксированного размера на диске. Создаваемые
пользователем каталоги следующих уровней иерархии и файлы размещаются на свободные места памяти
диска.
Как каталоги, так и файлы могут быть записаны частями в разные места диска.
В процессе записи файл автоматически разбивается на такие части и каждая из них записывается в то
место, которое оказалось свободно в данный момент. Эти части называются кластерами.
Размер кластера зависит от формата диска. В результате таких действий вся область дисковой памяти
как бы делится на такие кластеры и они используются для записи файлов. Считывание файлов
производится частями размером в один кластер: файл собирается из отдельных частей, записанных в
разные места дисковой памяти. Файловая система может быть основана на разных принципах хранения
информации о размещении кластеров файлов, записанных на носителе информации. Наиболее часто
используются 2 системы:
1) На основе таблицы размещения файлов FAT (FileAllocationTable).
2) На основе главной таблицы файлов MFT (MasterFileTable). Эта система называется NTFS.
Одним из важных преимуществ NTFS является обеспечиваемое ею разграничение прав доступа
пользователей к файлам и каталогам.
Чаще всего используется файловая система на основе FAT. FAT формируется на диске
автоматически при его форматировании. Клетки этой таблицы пронумерованы, начиная с 0 и
соответствуют частям памяти диска размером в один кластер. В каждой клетке может содержаться 0
(указывает, что соответствующий кластер свободен). Номер следующего кластера данного файла или
специальный код, означающий окончание цепочки кластеров данного файла.
Для представления чисел, находящихся в FAT, используются типы данных - целое без знака.
В зависимости от количества битов, используемых для представления каждого числа различают 16битовый (16-разрядный) FAT, 32-битовый (32-разрядный) FAT.
В качестве специального кода, означающего окончание цепочки кластеров файла, используют
максимальное число, которое может быть представлено в клетке FAT.
Например, для 16-разрядного FAT таким числом является 65535.
Программы, которые обеспечивают просмотр и корректировку FAT, показывают этот код на экране в
виде «EOF» (EndOfFile).
В каталоге содержится информация о файле и, в частности, порядковый номер кластера с которого
начинается файл. Эта информация вместе с информацией, содержащейся в FAT и используется для
поиска и считывания информации.
Компьютерные сети.
Основные особенности.
Компьютерной сетью называется совокупность взаимосвязанных через каналы передачи
информации компьютеров, обеспечивающих пользователей средствами обмена информации и
коллективного использования ресурсов сети (аппаратных, программных и информационных).
Сети делятся на:
1. Локальные – главная особенность такой сети заключается в том, что, как правило, все
объединяемые ею компьютеры связаны единым высокоскоростным каналом связи. Существуют
10
проводные и беспроводные каналы. Обычно локальные сети связывают ЭВМ одного или нескольких
близлежащих зданий одного учреждения.
2. Глобальные – для их функционирования используются разные каналы связи и в частности
спутниковые, которые позволяют соединять узлы связи и ЭВМ, находящиеся на расстоянии 10 – 15
тыс.км. друг от друга. Такие сети имеют узловую структуру. Состоят из подсистем, каждая из которых
включает в себя коммуникационные узлы и каналы связи. Коммуникационные узлы предназначены для
быстрой передачи информации по сети, выбора оптимального маршрута передачи информации и т.п. Т.е.
они обеспечивают эффективность функционирования сети в целом. К этим узлам подключаются все
компьютеры. Серверы и пользователи подключаются к глобальным сетям чаще всего через поставщиков
услуг доступа к сети, которые называются провайдерами.
3. Интрасети – объединяют пользователей, работающих в одной организации. Она может связывать
компьютеры, находящиеся как в одном здании, так и в разных местах мира. Обычно используются
возможности имеющихся локальных и глобальных сетей. Если интрасеть использует открытую
внешнюю среду передачи информации, она называется виртуальной сетью. А если в ней обеспечивается
безопасность переданных данных, она называется защищенной.
В сети имеются общедоступные компьютеры, которые предоставляют различные услуги всем
пользователям. Такой компьютер называется сервером. В глобальных сетях сервером называют место в
сети, выполняющие какие-либо услуги, которые может представлять собой не только компьютер, но и
более мощную вычислительную систему (локальная сеть).
Пользовательские ЭВМ могут работать в двух режимах:
• режим терминала – в этом режиме можно лишь послать запрос и получить результат его
вычисления;
• режим рабочей станции – в этом режиме кроме этого возможна еще и обработка полученной
информации.
Компьютер – сервер комплектуется множеством сетевых плат (адаптеров), обеспечивающих
подключение к сети и по своим возможностям значительно превосходит рабочие станции.
Представление информации и передача её по сети производится в соответствии со стандартами
соглашениями. Наборы таких стандартных соглашений называются протоколами.
Основные концепции сетевого программного обеспечения.
Комплекс программ, которые обеспечивают работу в сети, называется сетевым программным
обеспечением. Оно определяет тот тип услуг, которое обеспечивает данная сеть. Сетевое программное
обеспечение реализуется на основе логической архитектуры сети, которая определяет распределение
функций между компьютерами сети независимо от их расположения и способа подключения.
Основными видами логической сетевой архитектуры являются:
 одноранговая;
 на основе сервера;
 «клиент – сервер».
Одноранговая архитектура сети предусматривает равноправие всех компьютеров. Это простейший
вид сети, обеспечивающий связь персональных компьютеров и позволяющий совместно использовать
различные ресурсы - внешнюю память, принтеры, файлы).
Сетевая архитектура на основе сервера означает, что работой всей сети управляет специально
выделенный компьютер-сервер. Сетевое программное обеспечение такого сервера называется сетевой
операционной системой. При этом чаще всего используется концепция файлового сервера, которая
основана на том, что сетевая операционная система должна предоставлять пользователям
информационные ресурсы в виде файлов, поэтому сервер в такой сети называется файловым. Основная
часть сетевой операционной системы размещается на файловом сервере, а на компьютерах пользователей
устанавливается её небольшая часть, называемая оболочкой. Оболочка выполняет роль интерфейса
между программами пользователя, обращающимися за ресурсами к файловому серверу. Файловый
сервер представляет собой хранилище файлов, используемое всеми пользователями. Компьютеры
пользователей работают в режиме рабочей станции. Как программы, так и файлы данных, находящиеся
на файловом сервере, автоматически перемещаются на рабочую станцию, где и происходит обработка
этих данных.
Архитектура «клиент – сервер». В этом случае сетевое программное обеспечение ориентировано не
только на коллективное использование информационных ресурсов сети, но и на их обработку в месте
11
размещения ресурса по запросам пользователей. Программные системы относятся к одному из двух
классов:
• программы – серверы: обеспечивают работу сервера;
• программы – клиенты: обеспечивают работу компьютера пользователя.
Программы – клиенты выполняются на компьютере пользователей и посылают запросы программе –
серверу, работающей на компьютере – сервере. Обработка данных производится сервером, а на
компьютер пользователей посылаются только результаты выполнения запроса.
Таким образом, в данном случае компьютер пользователей работает в режиме терминала.
В локальных сетях обычно используется одноранговая архитектура или архитектура
файлового сервера. В глобальных сетях используется архитектура клиент – сервер.
Топология локальной сети.
Топология локальной сети – это логическая схема соединения компьютеров каналами связи.
Использование канала передачи информации, соединяющего узлы сети (компьютеры), определяется
протоколом, называемом методом доступа. Эти методы доступа реализуются соответствующими
сетевыми платами (адаптерами). Такие сетевые платы устанавливаются в каждом компьютере сети и
обеспечивают передачу и приём информации по каналам связи.
Чаще всего в локальных сетях используются следующие топологии:
- моноканальная (общая шина);
- кольцевая;
- звездообразная.
Кроме этих используются полносвязная и древовидная топологии. В полносвязной топологии
каждый компьютер в сети непосредственно связан с каждым другим компьютером. В древовидной
топологии существует главный компьютер (сервер), которому подчинены компьютеры следующего
уровня, каждому из которых могут быть подчинены компьютеры следующего уровня иерархии и т.д.
Моноканальная топология (общая шина).
При топологии типа общая шина все клиенты подключены к общему каналу передачи данных. При
этом они могут непосредственно вступать в контакт с любым компьютером, имеющимся в сети.
Передача информации в данной сети происходит следующим образом. Данные в виде электрических
сигналов передаются всем компьютерам сети. Однако информацию принимает только тот компьютер,
адрес которого соответствует адресу получателя. Причем в каждый момент времени, только один
компьютер может вести передачу данных. Самым распространенным типом сети с топологией общая
шина является сеть стандарта Ethernet со скоростью передачи информации 10 – 100 Мбит/сек.
Преимущества топологии общая шина:
1. Вся информации находится в сети и доступна каждому компьютеру.
2. Рабочие станции можно подключать независимо друг от друга. Т.е. при подключении нового
абонента нет необходимости останавливать передачу информации в сети.
3. Построение сетей на основе топологии общая шина обходится дешевле, так как отсутствуют
затраты на прокладку дополнительных линий при подключении нового клиента.
4. Сеть обладает высокой надежностью, т.к. работоспособность сети не зависит от
работоспособности отдельных компьютеров.
К недостаткам топологии типа общая шина относятся:
1. Низкая скорость передачи данных, т.к. вся информация циркулирует по одному каналу (шине).
2. Быстродействие сети зависит от числа подключенных компьютеров. Чем больше компьютеров
подключено к сети, тем медленнее идет передача информации от одного компьютера к другому.
3. Для сетей, построенных на основе данной топологии, характерна низкая безопасность, т.к.
информация на каждом компьютере может быть доступна с любого другого компьютера.
Топология типа «звезда».
В сети, построенной по топологии типа «звезда» каждая рабочая станция присоединяется кабелем
(витой парой) к концентратору или хабу (hub). Концентратор обеспечивает параллельное соединение ПК
и, таким образом, все компьютеры, подключенные к сети, могут общаться друг с другом. Данные от
передающей станции сети передаются через хаб по всем линиям связи всем ПК. Информация поступает
12
на все рабочие станции, но принимается только теми станциями, которым она предназначается. Так как
передача сигналов в топологии физическая звезда является широковещательной, т.е. сигналы от ПК
распространяются одновременно во все направления, то логическая топология данной локальной сети
является логической шиной. Данная топология применяется в локальных сетях с архитектурой 10Base-T
Ethernet.
Преимущества сетей топологии звезда:
1. Легко подключить новый ПК;
2. Имеется возможность централизованного управления;
3. Сеть устойчива к неисправностям отдельных ПК и к разрывам соединения отдельных ПК.
Недостатки сетей топологии звезда:
1. Отказ хаба влияет на работу всей сети;
2. Большой расход кабеля.
Кольцевая топология.
В сети с топологией кольцо все узлы соединены каналами связи в неразрывное кольцо
(необязательно окружность), по которому передаются данные. Выход одного ПК соединяется со входом
другого ПК. Начав движение из одной точки, данные, в конечном счете, попадают на его начало. Данные
в кольце всегда движутся в одном и том же направлении. Принимающая рабочая станция распознает и
получает только адресованное ей сообщение. В сети с топологией типа физическое кольцо используется
маркерный доступ, который предоставляет станции право на использование кольца в определенном
порядке. Логическая топология данной сети – логическое кольцо. Данную сеть очень легко создавать и
настраивать. К основному недостатку сетей топологии кольцо является то, что повреждение линии связи
в одном месте или отказ ПК приводит к неработоспособности всей сети. Как правило, в чистом виде
топология «кольцо» не применяется из-за своей ненадёжности, поэтому на практике применяются
различные модификации кольцевой топологии.
Преимущества топологии типа кольцо состоят в следующем:
1. Пересылка сообщений является очень эффективной, т.к. можно отправлять несколько сообщений
друг за другом по кольцу. Т.е. компьютер, отправив первое сообщение, может отправлять за ним
следующее сообщение, не дожидаясь, когда первое достигнет адресата.
2. Протяженность сети может быть значительной. Т.е. компьютеры могут подключаться к друг к
другу на значительных расстояниях, без использования специальных усилителей сигнала.
К недостаткам данной топологии относятся:
1. Низкая надежность сети, т.к. отказ любого компьютера влечет за собой отказ всей системы.
2. Для подключения нового клиента необходимо отключить работу сети.
3. При большом количестве клиентов скорость работы в сети замедляется, т.к. вся информация
проходит через каждый компьютер, а их возможности ограничены.
4. Общая производительность сети определяется производительностью самого медленного
компьютера.
Основные особенности глобальной сети ИНТЕРНЕТ.
Интернет это не одна сеть, а сообщество сетей самой различной природы, принадлежащее
различным собственникам, добровольно объединившимся на основе стандартов (протоколов) передачи
информации. Основными протоколами является TCP (протокол передачи информации) и IP (протокол
адресации). Протокол TCP определяет управление передачей информацией в сети, а IP – правило
адресации, т.е. откуда и куда осуществляется передача информации. Каждый пользователь и сервер
имеет IP адрес. В процессе передачи сообщение разбивается сетевым адаптером на части фиксированной
длины (пакеты). При этом каждый пакет автоматически снабжается адресами отправителя и получателя.
На принимающем компьютере пакеты собираются в единое целое.
Каждый сервер или компьютер пользователя в сети имеет адреса трех уровней:
- MAC – адрес (локальный адрес) – адрес сетевого адаптера, представляет собой шести байтовую
последовательность. Такие адреса назначаются производителям сетевых адаптеров и являются
уникальными, т.к. управление их назначением централизовано. В этой шести байтовой
13
последовательности первые три байта – идентификатор производителя, а следующие три байта
назначаются самим производителем. MAC – адрес используется только в пределах локальной сети.
- IP – адрес – четырёхбайтовая последовательность, которая состоит из двух частей: номера сети
(первые два байта) и номера узла (вторая пара байтов). Номер сети назначается специальной
организацией ICANN, а номер узла назначается администрацией сети. Если узел входит в несколько
сетей, то он должен иметь и несколько IP – адресов. Таким образом, этот адрес характеризует одно
сетевое соединение.
- DNS – адрес (доменный адрес). Пользователю неудобно использовать IP – адреса, поэтому в
ИНТЕРНЕТ применяется доменная система имен. В этой системе всем компьютерам даются удобные для
пользования текстовые имена, называемые доменными, за которыми скрываются соответствующие IP –
адреса. Пользователь работает с доменными именами, а соответствующие средства (программные и
технические) автоматически преобразовывает их в адреса, которые и снабжает передаваемые пакеты.
Полное доменное имя (DNS – адрес) представляет собой последовательность имён, разделённых точкой.
Первым (слева) указывается имя конкретного компьютера, затем доменное имя организации, региона и
т.д. и последним (справа) имя корневого домена.
Имена корневых доменов указывают на государство (например, ru) или принадлежность организации
определенного типа (например, com – коммерческая). Имена компьютеров, имеющих доступ в интернет
через узел (например, сервер локальной сети) отделяется от последовательностей части в полном
доменном имени не точкой, а знаком @ - эт.
Программные средства информатики.
Алгоритмы.
Алгоритм – это конечный набор правил (этапов, шагов), позволяющий решать любую конкретную
задачу из некоторого класса однотипных при условии, что исходные данные для решения могут
изменяться в заданных пределах.
Это основа создания и использования программных средств.
Во множестве алгоритмов могут быть такие, которые используются как часть других алгоритмов. В
связи с этим каждый алгоритм снабжается именем. Это позволяет в одних алгоритмах указать ссылки на
другие алгоритмы. Алгоритм состоит из шагов (этапов), каждый шаг – это именованное описание
последовательности действий (операций). Имя шага состоит из имени алгоритма и порядкового номера
шага.
Если имя А, то имена шагов – А1, А2….. и т.д.
При описании действий используются специальные знаки, чаще всего используются:
= равенство, ← замещение, ↔ взаимный обмен
Знак = используется для записи логических выражений.
Знак ← означает очень важную операцию замещение, которое представляет собой обобщение двух
операций: присваивание и подстановка. Конкретная реализация этой операции зависит от выбранного
программного средства. Запись m ← n означает, что значение m должно быть заменено (замещено)
текущим значением n. Запись: «переменная ← формула» означает, что в соответствии с данной
формулой должны быть произведены вычисления при текущих значениях, входящих в неё переменных,
после чего значение переменной, стоящей слева от знака замещения, следует заменить полученным
значением.
Например:
В результате выполнения действия n ← n+1 в переменной n будет помещено значение на 1
больше, чем предыдущее значение. Т.е. значение n увеличится на единицу.
Если несколько переменных надо заместить одним и тем же значением, можно использовать
сокращенную запись. Если переменные m и n надо заместить значением r можно записать m←n←r
Знак ↔ означает операцию взаимного обмена значениями двух переменных m ↔ n.
В настоящее время используются различные способы описания алгоритмов, основными из которых
являются: словесно-формульный (пошаговый) и структурный (в виде блок-схемы).
Словесно-формульное описание алгоритма
Алгоритм записывается в виде текста по шагам, определяющим последовательность действий. В
каждом шаге заключается одно или более действий. Сначала указывается имя алгоритма, далее
ограничения на исходные данные и что является результатом этого алгоритма. Каждый шаг алгоритма
начинается с его имени, после которого в [ ] указывается фраза, как можно короче резюмирующая суть
этого шага. Затем следует подробное описание словами и знаками тех действий, которые должны быть
14
выполнены. Порядок действий в шаге должен быть указан слева направо. После, если необходимо,
записываются комментарии к этому шагу в ( ). Это дополнительная информация о шаге. Они указывают
на определённые характеристики переменных, особенности действий данного шага и т.п. . Приводятся
лишь для удобства чтения, чтобы облегчить понимание данного шага.
Пример: Алгоритм Евклида вычисление НОД.
Алгоритм Е [Алгоритм Евклида]
Даны 2 положительных целых числа m и n. Требуется найти их наибольший общий делитель, т.е.
наибольшее целое число, которое нацело делит как m, так и n.
𝑚
Е1 [ нахождение остатка ] r ← остаток от 𝑛
(0 ≤ r < n)
E2
[ Это нуль? ]
Если r = 0 алгоритм заканчивается; в n – искомое число
Е3
[ Замещение ]
m← n; n ← r; возвратиться к Е1.
Структурное описание алгоритма
При структурном описании (в виде блок-схемы), алгоритм изображается в виде графической схемы,
состоящей из т.н. вершин (блоков) и дуг (рёбер). Вершины изображаются овалами, прямоугольниками и
пр., В них записываются шаги алгоритма. Дуги изображаются стрелками. Соединяют вершины,
показывая последовательность шагов. В блок схемах используются разные вершины. Вот основные из
них:
Начало, окончание.
У вершины начала есть одна исходящая дуга. У вершины конца нет
исходящих дуг, зато может быть несколько входящих.
Вершины-действия.
Соответствуют шагам, в которых выполняются действия. Каждая такая
вершина может иметь несколько входящих дуг и лишь одну исходящую.
Вершины ввода
и вывода
данных. Может иметь несколько входящих дуг и одну
исходящую.
Вершины-условия.
Могут иметь одну или несколько входящих дуг и не менее 2ух исходящих.
Если условие логическое выражение, то одна исходящая дуга соответствует ситуации, когда логическое
выражение истинно, другая, когда ложно.
Блок-схемы бывают краткой и подробной. В краткой в вершинах лишь наименование и основная
суть шагов.
Блок-схема часто является наиболее рациональным способом, обеспечивающим
Начало
понимание любого алгоритма, но перегружать её деталями не рекомендуется, поэтому
сложные алгоритмы обычно описывают в пошаговой
форме, дополняя его краткой блок
Е2 [ Это нуль? ]
Е1 [ Нахождение остатка ]
Конец
схемой.
Если описание шагов небольшое, то можно
использовать только блок-схему. Тогда в вершинах записывается
Е3 [ Замещение ]
полное описание каждого шага. Например, алгоритм Евклида:
Начало
m>0, n>0,
m, n-целые
Е1 [ Нахождение остатка ]
r ←остаток от m/n
Е3 [ Замещение ]
m←n←r
Е2 [ Это нуль? ]
r=0?
Конец
15
Элементарные алгоритмические структуры.
Любой алгоритм представляет собой:
1. Линейная;
2. Ветвящаяся;
3. Циклическая.
1. Линейный алгоритм.
Линейным называют алгоритм, в котором всегда выполняются все действия строго последовательно.
Как правило, алгоритмы линейной структуры состоят из трех частей: ввод исходных данных, вычисления
результатов по формулам, вывод значений результатов.
2. Разветвляющийся алгоритм.
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо
одна, либо другая последовательность действий.
3. Циклический алгоритм.
Циклический алгоритм – это алгоритм, в котором описание действий должны повторяться указанное
число раз или пока не выполнено задание.
Требования, предъявляемые к алгоритмам
Алгоритм это не просто последовательность действий для решения той или иной задачи. Алгоритм
должен удовлетворять следующим требованиям:
1. дискретность. Алгоритм выполняется по шагам, состоящим из определенного количества
действий, которые выполняются через ненулевой промежуток времени, т.е. дискретно.
2. конечность (результативность). Последовательность действий, заданная шагами алгоритма,
должна заканчиваться получением результата после выполнения конечного числа шагов. Этим алгоритм
отличается от вычислительного метода.
3. определённость (детерминированность). Каждый шаг алгоритма должен быть точно определен.
Действия строго и недвусмысленно должны быть определены. Алгоритм должен давать один и тот же
результат для одних и тех же исходных данных.
4. наличие входных и выходных данных. Алгоритм должен иметь некоторое количество входных
данных, т.е. величин, заданных ему до начала работы. Причем эти данные берутся из конкретного
множества объектов. Алгоритм имеет одну или несколько выходных величин, получаемых в результате
его выполнения.
Если для решения одной и той же задачи имеется несколько алгоритмов, то необходимо проводить
их сравнительный анализ для выбора наилучшего. При этом используются разные критерии.
Например, эффективность – означает, что все действия алгоритма должны быть как можно более
простыми; массовость – алгоритм можно применять для решения множества задач; время, необходимое
для выполнения алгоритма – эту характеристику можно представить числом, указанным сколько раз в
среднем выполняется каждый шаг алгоритма.
Виды и особенности программных средств.
Термин программное обеспечение применяется для обозначения программ, программных комплексов
и программных систем, используемых в компьютере. Как программные комплексы, так и программные
системы представляют собой совокупность программ и файлов данных, предназначенных для решения
задач определенного множества.
При использовании комплекса пользователь должен знать, какую программу необходимо запустить
для решения каждой задачи. В программной системе имеется главная программа, которая автоматически
запускает на выполнение программу, обеспечивающую решение задачи, сформулированной
пользователем.
Программное обеспечение делится на три класса:
1. системное программное обеспечение;
2. системы программирования;
3. прикладное (проблемно-ориентированное) программное обеспечение.
Системное программное обеспечение предназначено для упрощения эксплуатации компьютера и
обеспечения эффективного использования всех ресурсов вычислительных средств. Оно является
важнейшей и центральной частью программного обеспечения.
В нём можно выделить два подкласса:
1. операционные системы. Операционная система (ОС) является, в сущности, внутренним
распорядителем компьютера. Примеры: операционные системы семейств Microsoft Windows и Unix. Все
16
остальные программы выполняются под управлением операционной системы и опираются на её
возможности.
2. программы технического обслуживания (утилиты). Утилиты (сервисные, вспомогательные
программы) предназначены для проверки работоспособности компьютера и отдельных компонент:
определения мест неисправностей, оказания помощи в восстановлении работоспособности технических
средств, программных средств и данных и т.д. Часто такие утилиты объединяются в программные
комплексы и системы.
Прикладное программное обеспечение (проблемно-ориентированное, чтобы подчеркнуть
ориентацию программ этого класса на решение задач определенной проблемной области).
Например, текстовые процессоры (редакторы) ориентированы на создание текстовых документов.
Табличные процессоры ориентированы на проведение расчётов в табличной форме. К ним относятся и
экономические программные системы.
Системы программирования обеспечивают пользователя различными средствами для процесса
разработки программ.
Для создания как прикладных, так и системных программ используется система программирования.
Все программы выполняются под управлением операционной системы.
Системное программное обеспечение.
Операционные системы.
Поколение операционных систем.
Операционные системы, подобно ЭВМ, на пути своего развития прошли через ряд радикальных
изменений, так называемых поколений.
В первых ЭВМ операционной системы не было. Пользователи писали программы на машинном
языке и имели полный доступ к аппаратным средствам. Каждая программа загружалась отдельно. После
её выполнения вручную производилась подготовка ЭВМ к выполнению следующей программы.
Первое поколение (50-е годы).
Первые операционные системы были разработаны с целью ускорения и упрощения перехода от
программы к программе. До их создания много времени терялось в промежутках между завершением
одной программы и началом выполнения следующей. В подготовительном и заключительном периоде
компьютер простаивал. Разработчики первых операционных систем стремились свести такие простои к
минимуму. Эти операционные системы предусматривали объединение отдельных программ в группы,
которые стали называть пакетами. Каждая запущенная на выполнение программа получала в своё
полное распоряжение все ресурсы компьютера. После её завершения управление ресурсами
возвращается операционной системе, которая приводила их в исходное состояние и обеспечивала ввод в
оперативную память и запуск на выполнение следующей программы. Такой режим управления
программами получил название пакетная обработка. Кроме этого в операционную систему были
включены стандартные программы ввода-вывода (драйверы), чтобы пользователю-программисту не
приходилось описывать процессы ввода и вывода на машинном языке в своих программах. С помощью
драйверов в этих операционных системах обеспечивалась независимость пользовательских программ от
конкретных особенностей внешних устройств.
Второе поколение (начало 60-х годов).
Основной особенностью второго поколения была их нацеленность главным образом на повышение
пропускной способности дорогостоящей аппаратуры, т.е. увеличение объема работ за единицу времени.
Такие операционные системы создавались как системы пакетной обработки с так называемым
мультипрограммным режимом управления программами. В этом режиме несколько программ
одновременно находятся в оперативной памяти, а центральный процессор под управлением
операционной системы переключается с одной программы на другую, при этом потери во времени
сведены к минимуму за счет того, что при вводе или выводе выполнение одной программы центральный
процессор переключается на выполнение другой программы. Таким образом, несколько программ
выполняются одним процессором как бы одновременно.
В то время появились мультипроцессорные вычислительные системы, в которых устанавливалось
несколько процессоров. Операционные системы второго поколения стали обеспечивать ещё и
мультипроцессорный режим управления программами. Кроме этого были созданы операционные
системы, которые обеспечивали пользователям диалоговый (интерактивный) режим взаимодействия с
выполняемыми программами. Суть этого режима заключается в том, что в процессе выполнения
программ, на экран выводится различная информация (вопрос, результаты и т.д.), в ответ на которые
пользователь может ввести какие-либо данные, ответить на вопрос и т.д.
17
Операционные системы, которыми управляет программа, обеспечивая такой режим взаимодействия с
ними, стали называть системами с разделением времени (разделения времени). Это название связано с
тем, что в моменты, когда от пользователя требуются ответы на заданные вопросы, операционная
система прерывает программу, ожидает от пользователя информацию, получает её (с помощью
драйвера), передаёт в программу и только после этого обеспечивает продолжение её выполнения.
Подобные прерывания возникают, когда в программе встречаются соответствующие команды ввода
информации (по инициативе программы). В результате этого выполнение программы непрерывно, а
частями (её выполнение разделено во времени).
Появились операционные системы, обеспечивающие немедленную реакцию программ на ввод
информации. Такой режим управления программами был назван режимом реального времени. В отличие
от режима разделения времени в данном режиме любая выполненная программа прерывается сразу же,
как только начинается ввод информации. В результате этого у пользователя возникает иллюзия
мгновенной реакции программы на ввод информации (как бы в реальном времени). Операционные
системы реального времени применяются для управления технологическими процессами.
Третье поколение (с середины 60-х до середины 70-х годов).
Такие операционные системы были многорежимными. Они стали мощной программной прослойкой
между пользовательскими программами и аппаратными средствами. Они были столь громоздкими, что
пользователь был вынужден изучать сложные специальные языки, чтобы описывать задания для
операционной системы и требуемые для них ресурсы.
Четвертое поколение (середина 70-х годов).
Операционные системы этого поколения появились, прежде всего, в связи с широким
распространением персональных компьютеров и вычислительных сетей. Главное их отличие заключается
в том, что они обеспечивают значительно более простое взаимодействие пользователей с программами,
работу в сети, защиту информации от несанкционированного доступа и т.п.. Как правило, это
операционные системы разделения времени, в которых еще реализованы режим пакетной обработки и
мультипрограммный режим.
Основные особенности операционных систем.
Операционной системой называется совокупность программных средств и файлов данных,
обеспечивающих взаимодействие пользователя с программными процессами, управление ресурсами
вычислительной системы, а также взаимодействие программ друг с другом и аппаратными средствами.
Операционная система является неотъемлемой частью вычислительной системы. Именно
операционная система обеспечивает возможности аппаратных средств.
Она в основном выполняет две главные задачи:
1. Поддержка работы всех программ и их взаимодействия с аппаратурой;
2. Предоставление пользователям возможности общего управления компьютером.
В рамках первой задачи (выше приведенной) обеспечивается:
1. Взаимодействие программ друг с другом;
2. Работа с внешними устройствами;
3. Динамическое распределение оперативной памяти, т.е. размещение информации в различные
участки ОЗУ по мере необходимости в процессе выполнения программ;
4. Выявление сбойных и ошибочных ситуаций;
5. Обработка прерываний программ, связанных с реализацией мультипрограммного режима, режима
разделения времени, обработка сбойных ситуаций и т.д.
6. Распределение вычислительных ресурсов между программами;
7. Получение информации о состоянии оборудования и его настройка.
Общее управление компьютером осуществляется командами операционной системы, с помощью
которых можно выполнять, например, форматирование дисков, копирование/перемещение/удаление
файлов, чтение каталогов и др. По реализации интерфейса пользователя различают неграфические и
графические операционные системы.
В неграфических реализован интерфейс, основанный на командной строке. Командная строка – поле
для ввода команды. Основным устройством управления в этом случае является клавиатура.
Управляющие команды вводятся вручную (полностью или частично) в поле командной строки, где их
можно редактировать. Исполнение команды начинается после нажатия ENTER.
В графических операционных системах реализован интерфейс, в котором в качестве устройства
управления, кроме клавиатуры, может использоваться мышь или другие устройства позиционирования.
18
Наибольшее распространение получили операционные системы: Unix и Microsoft Windows.
Unix – в нач.70-х гг.20в. это мультипрограммная, многопользовательская операционная система,
работающая в режиме разделения времени. Основной отличительной особенностью этих операционных
систем является то, что они реализованы для всех типов ЭВМ. Как правило, используется в качестве
центральной операционной системы, управляющей сетью.
Существуют и локальные операционные этого семейства для персональных компьютеров. Например:
Linux, AIX, Solaris.
Операционные системы Microsoft Windows впервые появились 1985 г. – это дисковая операционная
система, т.к. загружается с дисков и основная часть находится на дисках. Эта операционная система
разделения времени, кроме этого обеспечивает мультипрограммный и пакетный режим управления
программами. Поддерживает возможность работы в сети. Ориентирована на использование в
персональных компьютерах.
Состав операционных систем.
В составе операционной системы для персонального компьютера можно выделить часть, которая
является основой всей системы и называется её ядром. В состав ядра входят наиболее часто
используемые компоненты (модули). К ним, например, относятся модуль управления системы
прерываний, средства распределения основных ресурсов (ОЗУ, процессор и т.п.). Программы, входящие
в состав ядра при запуске операционной системы помещаются в оперативную память, где находятся
постоянно до окончания работы с операционной системой (резидентно) и используются при
функционировании компьютера. Подобные программы называются резидентными.
Операционная система для персонального компьютера содержит основные компоненты:
1. BIOS. Находится в ПЗУ системного блока. Является частью компьютера и, следовательно,
компонентой любой операционной системы.
Основными функциями BIOS являются:
• Проверка исправности (тестирование) основных аппаратных средств при включении питания;
• Считывание из внешней памяти загрузчика операционной системы и передача ему управления;
• Обеспечение автоматического обнаружения и подключения вновь установленных устройств;
• Выполнение обмена данными с внешними устройствами на физическом уровне ввода – вывода.
2. Блок начальной загрузки (Boot Record). Содержится в самом начале дисковой памяти. В начале
этого блока находится служебная информация (фирма изготовления, версия системы, особенности
данного диска), далее располагаются специальные программы, которые загружает в ОЗУ компоненты
ядра операционной системы. Эта программа называется загрузчиком операционной системы.
3. Подсистема управления файлами. Поддерживает файловую систему, которая включает
программы и файлы данных (например, FAT), необходимые для манипулирования файлами.
4. Подсистема обработки прерываний и ошибок, а также обслуживание специальных ситуаций,
связанных с загрузкой и завершением программ.
5. Подсистема управления драйверами и драйверы внешних устройств. Драйверы большинства
устройств входят в состав операционной системы. Кроме этого, драйверы могут добавляться к
операционной системе.
6. Процессор командного языка (командный процессор). Для взаимодействия пользователя с
операционной системой имеется специальный командный язык, с помощью которого можно
сформулировать указания на выполнение каких-либо действий. Эти указания называются командами
операционной системы. Командный процессор – это программа, предназначенная для анализа и
выполнения таких команд. Представляет собой небольшую часть операционной системы. Команды
операционной системы в виде текстовых строк могут быть записаны в файл, название которого должно
иметь расширение ВАТ. Командный процессор обеспечивает выполнение команд, записанных в такие
файлы.
7. Системные утилиты. Хранятся на диске и используются командным процессором для
обеспечения выполнения команд операционной системы.
Вспомогательные (сервисные) программы
Программы упаковщики (архиваторы).
Позволяют за счет применения специальных методов упаковки сжимать файлы во внешней памяти
(упаковывать, архивировать), т.е. создавать копии файлов меньшего размера. Кроме этого, они
обеспечивают объединение множества таких копий в один файл, который называется архивным.
Архивный файл содержит оглавление, позволяющее узнать, какие файлы в нем содержатся. Из архивного
файла можно при необходимости извлечь любой файл в первоначальном виде (разархивировать,
19
распаковать). Разные архиваторы отличаются форматом создаваемых или архивных файлов, скоростью
работы, степенью сжатия файлов, удобством использования.
Наиболее распространенные архиваторы имеют приблизительно одинаковые возможности, и не один
из них не превосходит другие одновременно по всем параметрам. Наиболее популярные: zip, rar, ace, lha,
arj. Для них разработаны специальные оболочки, обеспечивающие их выполнение под управлением
операционных систем. Например: WinZip, WinRar, WinAce для Microsoft Windows. Название архивных
файлов имеют расширения, указывающий на архиватор. Обычно они совпадают (zip, rar, ace, arj). Есть
исключения: направление у архивных файлов, созданных с помощью Lha расширение Lzh.
Вирусы и антивирусные программы.
Антивирусные программы предназначены для предотвращения заражения программ компьютерным
вирусом и ликвидации последствий заражения. Программный вирус – это программа небольшого
размера, специально созданная для того, чтобы затруднить, исказить или исключить обработку
информацию на компьютере. Первый вирус - 1989 г.
Вирус может приписывать себя к другим программам (заражать их), а также выполнять различные
нежелательные действия. Программа, внутри которой находится вирус, называется зараженной. Как
только файл с такой программой запускается на выполнение, сначала выполняется вирус (перехватывает
управление). Он находит и заражает другие программы, а также выполняет какие-либо вредные действия.
Для маскировки он может так действовать не всегда, а при выполнении определенных условий (дата,
время, количество запусков и др.). После того, как вирус выполнит предусмотренные в нем действия, он
передает управление программе, в которой находится, и она работает как обычно.
Вирус может испортить любой файл, но заразить только файлы определенного типа:
1. Исполняемые файлы (файлы с программами) – их название имеет расширение exe, com. Вирусы,
заражающие такие файлы, называются файловыми. Они наиболее распространены.
2. Загрузчик ОС и главная загрузочная запись жесткого диска. Вирусы, заражающие эти области
памяти, называются загрузочными (бутовые). Такой вирус начинает выполняться при начальной загрузке
ОС и становится резидентным. Распространяется он, заражая загрузочные записи подключенных
носителей информации -устройств внешней памяти. Некоторые такие вирусы заражают и файлы.
3. Драйверы устройств. Вирусы, находящиеся в них, выполняются при каждом обращении к
соответствующему устройству. Обычно такие вирусы заражают и исполнительные файлы.
4. Файлы, созданные с помощью текстового или табличного процессора. Вирусы, заражающие
такие файлы, называются макровирусами. Они выполняются каждый раз, когда происходит работа с
этими файлами с помощью текстового ли табличного процессора.
Наиболее распространенные антивирусные программы:
1. Детектор (сканер) – обнаруживает зараженные файлы. Сканер производит проверку заданной
области файловой структуры. Требует ручного запуска и указания области проверки.
2. Доктор (фаг) – «лечит» зараженные файлы, т.е. уничтожает вирусы в файлах и помогает
восстановить зараженные программы.
3. Ревизор – запоминает исходное состояние системных файлов и областей и сравнивает с текущим
состоянием. При выявлении несоответствия сообщает о них пользователю и исправляет.
4. Фильтр (антивирусный монитор) – помогает предотвратить проникновение вирусных программ.
Располагается резидентно в оперативной памяти, перехватывает управление у вирусов и сообщает
пользователю.
Программы обслуживания дисковой памяти.
1. Программы диагностики. Проверяют работоспособность устройств.
2. Программы оптимизации (дефрагментаторы). Перемещают все части каждого файла друг другу,
собирают все файлы в начале диска. За счёт этого уменьшается количество перемещений магнитных
головок диска, в результате чего ускоряется доступ к информации и снижается износ дисковода.
3. Программы уничтожения остатков информации в областях, занимаемых ранее удаленными
файлами. Используются для надежности уничтожения секретной информации. Необходимость
выполнения такой функции вызвана тем, что:
• При удалении уничтожается только название файла в каталоге, а не информация.
• Обычно объем данных в файле меньше, чем отведенное для него пространство на диске, поэтому в
кластере, занимаемом последней частью («хвостом») файла, могут сохраняться остатки информации из
предыдущего файла.
4. Программы динамического сжатия. Автоматически сжимают информацию при записи на диск,
а при считывании с диска восстанавливают её в первоначальном виде. За счёт этого существенно
увеличивается объем информации, которой можно записать на диск.
20
Языки и системы программирования.
Системы программирования.
Основная цель любой программы – описание последовательности команд для центрального
процессора, который должен её исполнить. Эти команды должны быть выражены в машинном коде, т.е.
на языке понятном центральному процессору. Человеку писать программы на таком языке очень сложно,
поэтому для создания программ применяется следующий подход:
Программист пишет текст на языке, который ему понятен и удобен. Затем компьютер переводит его
на машинный язык и превращает в удобный для центрального процессора и операционной системы вид.
Для этой цели разрабатываются специальные языки описания алгоритмов, которые называются
алгоритмическими языками или языками программирования.
Они (алгоритм.яз.) обладают рядом свойств:
1. Специализация – средство, предоставленное языком, ориентированным на описание задач
предметных областей определенного типа. Например: одни языки предназначены в основном для
численных расчетов (Паскаль), другие для работы с текстовой информацией (LISP), третьи для
написания системных программ (С). В основном наиболее распространенные языки позволяют описать
решение разнообразных задач (поэтому называются универсальными), но наиболее удобны для решения
тех задач, для которых они разработаны.
2. Возможность написания легко читаемого текста, имеющего ясную структуру. Такой подход в
программировании называется модульным (структурным). Он предполагает написание отдельных
программных модулей с последующей автоматизированной сборкой их в единую программу. В этом
случае программист пишет программный модуль, который называется главной (головой) программой. В
ней он описывает последовательность выполнения остальных модулей, которые называются функциями.
В связи с особенностями языков программирования существуют четыре важных этапа запуска
программы на выполнение:
1. Трансляция – перевод текста программных модулей с алгоритмического языка на машинный.
2. Сборка полученных после трансляции программных модулей в единую программу.
3. Отладка программы – процесс нахождения и устранения ошибок в тексте программы.
4. Исполнение программы.
Для обеспечения этих этапов и предназначены системы программирования.
Они включают в себя следующие компоненты:
1. Специализированный текстовый редактор. Оказывает помощь человеку в процессе написания
текста программных модулей.
2. Трансляторы. Транслятор – это переводчик с языка, на котором написаны тексты программных
модулей, на машинный внутренний язык. Два вида трансляторов:
• Интерпретаторы. Интерпретатор обеспечивает построчный перевод текста программы на
машинный язык и одновременное выполнение каждой команды этой программы. Интерпретатор
автоматизирует все этапы запуска программы при выполнении.
• Компиляторы. Компилятор переводит текст программного модуля на машинный язык без его
выполнения. При этом выявляются синтаксические ошибки, допущенные программистом в тексте. В
результате работы компилятора создается объектный модуль, который пока еще не готов к выполнению.
3. Редактор связей. Редактор связей автоматизирует процесс сборки связанных друг с другом, но
отдельно написанных и транслированных программных модулей. В процессе своей работы он выявляет
ошибки неверно указанных связей между модулями (например, наличие в тексте ссылки на
несуществующий модуль) или их отсутствия. Кроме этого, он добавляет служебную информацию,
необходимую операционной системе для последующего управления выполнением данной программы.
Полученный программный файл может выполняться под управлением операционной системы без
системы программирования, поэтому называется исполняемым (загрузочным) файлом.
4. Отладчик. Отладчик оказывает помощь в поиске различных ошибок в программе в процессе её
выполнения. К таким, например, относятся: логические ошибки (попытка деления на ноль), а также
ошибки, связанные с некорректностью входных данных.
Плюсы и минусы интерпретатора относительно компилятора.
Плюсы:
1. Исполнение программы можно производить сразу после её написания, причём одновременно с
этим выявляются ошибки всех типов, что ускоряет отладку.
2. Файлы с такими программами занимают небольшой объем памяти, поскольку содержат лишь
тексты.
Минусы:
21
1. Низкая скорость исполнения программы, поскольку во время её выполнения поводится
синтаксический анализ каждой строки, перевод её на машинный язык и т.д.
2. Программа может выполняться только под управлением интерпретатора.
В связи с этими особенностями, интерпретаторы в основном используются в специальных
прикладных программных системах. В системах программирования, для так называемых
алгоритмических языков, имеются как интерпретаторы, так и компиляторы. Интерпретаторы
используются для отладки и решения несложных задач, а компиляторы для создания готовых программ,
независимых от системы программирования.
Уровни языков программирования.
Первый текстовый язык программирования Short Code и интерпретатор для этого языка был создан в
конце 40-х годов ХХ века Джоном Моучли.
В 1951 г. Грей Хоппер создала первую в мире систему программирования с компилятором и
редактором связей для этого языка. Она же ввела термины компилятор, подпрограмма, отладчик.
Обычно языки делятся на языки низкого и высокого уровня. Языки программирования низкого
уровня ориентированы на определенный тип процессора и учитывают его особенности. Языки самого
низкого уровня называются ассемблером. Он просто представляет каждую машинную команду не в виде
определенных двоичных чисел, а с помощью текстовых условных обозначений. Для некоторых типов
процессоров, кроме ассемблера, существуют языки, в которых некоторые текстовые обозначения
(операторы) соответствуют не одной, а короткой последовательности нескольких машинных команд.
Такие языки низкого уровня называются макроассемблерами.
Языки низкого уровня позволяют создавать наиболее эффективные программы, т.к. разрабатываемый
программист может описывать использование всех возможностей процессора. Однако, при этом
затрудняется отладка больших программ и получаемая программа (текст) не может быть перенесена на
компьютер с другим типом процессора.
Языки высокого уровня значительно ближе и понятнее человеку, чем компьютеру. Особенности
конкретных аппаратных архитектур в них не учитываются, поэтому создаваемые программы на уровне
текстов легко переносимы на другие компьютеры (с другими процессорами), в которых есть
соответствующая система программирования. Такие языки – языки описания алгоритмов решения задач
удобные для человека. Разрабатывать программы на них значительно проще, а ошибок при создании
программ допускается меньше.
Download