ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА
Ключевые слова
- программное обеспечение (ПО)
- системное ПО
- прикладное ПО
- системы программирования
- операционная система
Структура программного обеспечения
Совокупность всех программ, предназначенных для выполнения на компьютере, называют программным обеспечением (ПО) компьютера.
!
Системные администраторы
СИСТЕМНОЕ
ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
СИСТЕМЫ ПРОГРАММИРОВАНИЯ
Программисты
Пользователи
ПРИКЛАДНОЕ
Linux
Системное программное обеспечение
Системное программное обеспечение включает в себя операционную систему и сервисные программы.
Операционная система — комплекс программ, обеспечивающих согласованное функционирование всех устройств компьютера и предоставляющих пользователю доступ к ресурсам компьютера.
!
Основные функции ОС :
- управление устройствами
- управление процессами
- пользовательский интерфейс
- работа с файлами
Операционные
системы
Ubuntu
Системное ПО. Сервисные программы
Обслуживание дисков и д иагностика компьютера
К сервисным программам (утилитам) относят различ-ные программы, выполняю-щие дополнительные услу-ги системного характера.
- проверка диска восстановление диска очистка диска
- проверка диска
- восстановление диска
- очистка диска
Архивирование файлов
- сжатие программ и данных
- сжатие программ и данных
Защита от вирусов
Антивирусы
Архиваторы
- обнаружения компьютерных вирусов и средства «лечения»
- обнаружения компьютерных вирусов и средства «лечения»
Служебные программы
Алгоритм Хаффмана
- Считать все входные данные и подсчитать частоты встречаемости всех символов.
- Частоты встречаемости символов выписать в ряд – это вершины будущего графа (дерева).
- Выбрать две вершины с наименьшими весами и объединить их — создать новую вершину, от которой провести рёбра к выбранным вершинам с наименьшими весами, а вес новой вершины задать равным сумме их весов. Расставить на рёбрах графа числа 0 и 1 (на верхнем ребре — 0, а на нижнем — 1). Чтобы выбранные вершины больше не просматривались, стереть их веса.
- Продолжить объединение вершин, каждый раз выбирая пару с наименьшими весами, до тех пор, пока не останется одна вершина — корень дерева. Вес этой вершины будет равен длине сжимаемого массива.
Алгоритм Хаффмана (продолжение)
- Создать кодовую таблицу. Для определения двоичного кода каждой конкретной буквы необходимо пройти от корня до этой вершины, выписывая 0 и 1, встречающиеся на маршруте.
- Сгенерировать сжатый массив данных, для чего надо снова прочесть входные данные и каждый символ заменить соответствующим ему кодом.
Задание
Сжать с помощью алгоритма Хаффмана фразу:
VENI, VIDI, VICI
Комментарии
«Veni, vidi, vici» (с лат. «Пришёл, увидел, победил») — слова, которыми, как сообщает Плутарх в своих «Изречениях царей и полководцев», Юлий Цезарь уведомил своего друга Аминция в Риме о победе при Зеле над Фарнаком, сыном Митридата, в 47 году до н. э. Цезарь отмечал не события войны, а быстроту её завершения.
Решение :
Частота встречаемости символов
V
C
E
N
I
,
Всего
D
16
1
1
1
2
2
5
1
3
7
Вопросы и задания
Решение :
После того, как коды символов построены, остаётся сгенерировать сжатый массив данных, для чего надо снова прочесть входные данные и каждый символ заменить соответствующим ему кодом.
Чтобы выбранные вершины больше не просматривались, стереть их веса.
Частоты встречаемости символов выписать в ряд – это будут вершины будущего графа (дерева). В центре лучше расположить символ с наибольшим весом.
Выбрать две вершины с наименьшими весами и объединить их — создать новую вершину, вес которой задать равным сумме весов двух предыдущих вершин.
Расставить на рёбрах графа числа «0» и «1» (например, на верхнем ребре — «0», а на нижнем — «1»).
Подсчитать частоты встречаемости всех
Продолжить объединение вершин, каждый раз выбирая пару с наименьшими весами, до тех пор, пока не останется одна вершина — корень дерева. Вес этой вершины будет равен длине сжимаемого массива.
Создать кодовую таблицу. Для определения двоичного кода каждой буквы надо пройти от корня до этой вершины, выписывая «0» и «1», встречающиеся на маршруте.
символов.
Исходный текст состоит из 16 символов, т. е. его длина в не-
сжатом виде будет равна 16 байт или 128 бит.
Код сжатого текста будет занимать 44 бита.
Получаем коэффициент сжатия, равный 128/44 ≈ 2,9.
D
,
I
N
E
C
Всего
V
1
1
1
5
2
16
2
1
3
0
0
000
2
2
Вход:
VENI, VIDI, VICI
Выход:
01111011111000100001101 10110001 0000110110010
0
0
4
0
2
,
,
2
001
0
7
1
V
3
01
V
3
1
16
0
5
5
I
10
I
0
9
С
1100
1
С
1
0
1
2
1101
D
1
1
D
1
4
0
1
E
E
1
1
1110
2
1
1
N
1111
1
N
1
8
Системы программирования
Комплекс программных средств, предназначенных для разработки новых программ, называют системой программирования или интегрированной средой разработки .
!
СПЕЦИАЛИЗИРОВАННЫЙ ТЕКСТОВЫЙ РЕДАКТОР
ТРАНСЛЯТОРЫ
собирает разные части (модули) создаваемой программы и используемые в ней стандартные подпрограммы
обрабатывает и исполняет команды программы
обрабатывает весь текст программы, преобразовывая его в машинный код и строя исполняемый файл, готовый к запуску; после этого ни текст программы, ни компилятор не нужны
специальные программы для перевода программы, написанной на языке высокого уровня, в машинные коды; существует два типа трансляторов: интерпретаторы
позволяет управлять процессом исполнения программы, определять место и вид ошибок в программе, наблюдать за изменением значений переменных и выражений
позволяет программисту набрать и отредактировать текст программы на языке программирования высокого уровня
позволяет вызывать стандартные процедуры из вновь разрабатываемой программы
в единый исполняемый файл
и компиляторы
последовательно, от оператора к оператору, при каждом запуске программы она заново переводится в машинные коды
ИНТЕРПРЕТАТОР
БИБЛИОТЕКА ПОДПРОГРАММ
КОМПИЛЯТОР
ОТЛАДЧИК
КОМПОНОВЩИК
8
Первый программист
«Аналитическая машина сплетает алгебраические алгоритмы так же, как и ткацкий станок Жаккарда сплетает цветы и листья».
Ада Лавлейс
Известно ли вам, что первым в мире программистом считается англичанка – Ада Лавлейс (1815 -1852). Она выполнила детальное описание вычислительной машины, проект которой был разработан Чарльзом Беббиджем, и составила первую программу для этой машины. Именно Ада Лавлейс ввела в употребление термины « цикл » и « ра-
бочая ячейка ».
Автор коллажа: Joyce Riha Linik
8
Прикладное ПО
Программы, с помощью которых пользователь может работать с разными видами информации, не прибегая к программированию, принято называть прикладными программами или приложениями .
ПРИЛОЖЕНИЯ ОБЩЕГО НАЗНАЧЕНИЯ
ПРИЛОЖЕНИЯ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ
- настольные издательские системы
- бухгалтерские программы
- системы автоматизированного проектирования (САПР)
- программы компьютерного моделирования
- математические пакеты
- геоинформационные системы (ГИС)
- системы автоматического перевода …
- текстовые редакторы и процессоры
- графические редакторы и пакеты компьютерной графики
- табличные процессоры
- редакторы презентаций
- аудио- и видеоредакторы
- системы управления базами данных
- браузеры
- почтовые программы …
Онлайн-офис
Онлайн-офис — это набор веб-сервисов, включающий в себя все основные компоненты традиционных офисных пакетов: текстовый редактор, электронные таблицы, редактор презентаций и др.
Онлайн-офис доступен с любого компьютера, имеющего выход в Интернет, независимо от того, какую операционную систему этот компьютер использует.
Самый известный онлайн-офис — Google Docs.
Самое главное
Программное обеспечение (ПО) компьютера — совокупность всех программ, предназначенных для выполнения на компьютере. Делится на три группы: системное ПО, прикладное ПО и системы программирования.
Системное программное обеспечение включает в себя операционную систему и сервисные программы. Операционная система — комплекс программ, обеспечивающих согласованное функционирование всех устройств компьютера и предоставляющих пользователю доступ к ресурсам компьютера. К сервисным программам (утилитам) относят программы, выполняющие некоторые дополнительные услуги системного характера, архивирование файлов, защита от вирусов и др.
Самое главное
Комплекс программных средств, предназначенных для разработки новых программ, называют системой программирования . Основные компоненты: специализированный текстовый редактор, транслятор, отладчик и другие инструменты, позволяющие облегчить работу программистов и сократить время на разработку сложных программ.
Программы, с помощью которых пользователь может работать с разными видами информации, не прибегая к программированию, принято называть прикладными программами (приложениями) . Приложения общего назначения требуются практически всем. Приложения специального назначения предназначены для профессионального применения квалифицированными пользователями.
Вопросы и задания
Определите к какому из трех типов относятся следующие группы программ:
Клавиатурный
Компьютерная игра Тетрис
Антивирус Касперского
Pascal ABC,
Writer, Microsoft Word
Excel, Calc
Linux, Windows
7-Zip, WinZip, WinRar
Draw, CorelDraw, Inkscape
Visual Basic
тренажер
Системное ПО
Инструментальное ПО (системы программирования)
Прикладное ПО
Вопросы и задания
Постройте дерево Хаффмана для фразы:
КАРЛ У КЛАРЫ УКРАЛ КОРАЛЛЫ
Решение:
Ы
К
А
Всего
Р
Л
О
У
Вес символов:
26
2
1
2
4
5
4
4
4
0
4
0
8
4
А
1
0
К
4
26
0
8
4
Р
1
18
0
5
Л
1
0
10
2
О
1
5
0
У
2
1
3
1
Ы
1
1