Методика преподавания. Методические материалы к занятиям

Программное обеспечение ЭВМ (Лекция)
Лекции читались в институте Менеджмента, маркетинга и финансов 2002-2003гг.
Разработчик Сазонов Д.О.

Классификация программного обеспечения ЭВМ.

Без программ (совокупности, команд, которые должен выполнять процессор) компьютер - не более чем простое переплетение бесполезных электронных схем.
Программное обеспечение (softwаrе) на данный момент составляет сотни тысяч программ, которые предназначены для обработки самой разнообразной информация с самыми различными целями. В зависимости от того, какие задачи выполняет то или иное программное обеспечение можно разделять все программное обеспечение на несколько групп:
1. Базовое программное обеспечение.
1. Трансляторы.
2. Языки программирования.
3. Инструментальные средства.
3. Прикладное программное обеспечение.

К Базовому программному обеспечению относят операционные системы и оболочки операционных систем.

Операционной системой называют
совокупность программ, которая координирует работу компьютера и управляет размещением программ и данных в оперативной памяти компьютера, интерпретирует команды, управляет периферийными устройствами, распределяет аппаратные ресурсы. Операционная система (ОС) - "режиссер" компьютерного действа.
Оболочки операционных систем обеспечивают удобный интерфейс (способ общения) для пользователя, программиста и компьютера.
Операционных систем и оболочек операционных систем довольно много, они различаются интерфейсом, набором возможностей, способами защиты от вирусов (программ, которые портят другие программы), способами управления ресурсами памяти, периферийными устройствами. Различия ОС обоснованы обычно свойствами и назначением самих ЭВМ, спецификой их использования. Можно назвать наиболее распространенные операционные системы, это: MS DOS, UNIX, Windows 95 и далее, WindowsNT и др.
Оболочки операционных систем дают возможность вводить команды операционных систем в более удобном для человека виде, с помощью выбора команд в предложенном оболочкой меню. Из наиболее распространенных оболочек можно назвать оболочки Norton Commander, DOS Shell, Windows2, 3.0, 3.11 и др.

К трансляторам относят программы, которые преобразуют команды программ, написанных на языках высокого уровня, таких как Qbasic, Pascal, С, Prolog, Ada и других, в команды записанные в машинных кодах, использующих двоичный алфавит. Эти программы можно назвать программами-переводчиками с языков программирования высокого уровня на машинный язык.
Трансляторы бывают двух видов: интерпретаторы и компиляторы. Оба вида трансляторов выполняют одну и туже операцию, но делают это по-разному.
Интерпретаторы, преобразуя команду, записанную на каком либо языке программирования, в команду на машинном языке, сразу же дают указание машине выполнить ее, не записывая перевод. Так происходят с каждой командой программы. Программа будет выполнена машиной только с наличием интерпретатора, который от строки к строке переводит команды и сразу же их выполняет. Поэтому, когда встанет необходимость опять выполнить данную программу, то сделать это можно будет только имея интерпретатор языка программирования на котором она записана, что не всегда удобно.
Компилятор же не выполняет команды, а просто переводит всю программу на машинный язык и записывает свой перевод в специальную, так называемую, исполнимую программу, программу, записанную в двоичном коде, которую ЭВМ поймет уже без переводчика. Интерпретатор удобно использовать на этапе написания и отладки программы, так как интерпретатор позволяет отслеживать ошибки, допущенные программистом при написании программы, а компилятор используется для преобразования уже готовой, отлаженной, выверенной программы. Компилированная программа будет выполняться быстрее, так как не нужно машине перед выполнением команды осуществлять перевод, а так же, если учесть, что языков программирования на данный момент очень много, как и программистов, причем программисты выбирают для создания программ самые разные языки программирования согласуясь со своими вкусами, возможностями и назначением программы, то можно представить как неудобно было бы пользоваться программами, требующими присутствия интерпретаторов. Каждый пользователь должен был бы иметь большой набор интерпретаторов различных языков.

Языки программирования, вернее редакторы текстов программ для языков программирования, это программы, которые позволяют записывать алгоритмы решения каких-либо задач на том или ином языке программирования. Эти редакторы позволяют не просто записывать текст программы, но обычно имеют встроенный интерпретатор этого языка, систему отслеживания ошибок, возможность формирования библиотеки подпрограмм, возможность формирования собственных пользовательских функций, причем языки программирования позволяют записывать алгоритмы на языках приближенных к обычному человеческому языку, Непосредственно из них можно запускать программы на компиляцию. Кроме того можно работать с блоками текста программ", осуществлять их перенос из одного места программы в другое, копировать программу или ее части в указанное место другой программы, осуществлять контекстный поиск и замену подстрок.
Инструментальные средства, которые называют еще утилитами (от англ. utility - полезность, удобство), включают в себя набор небольших вспомогательных специализированных обслуживающих программ, каждая из которых выполняет какую-либо одну рутинную, но необходимую операцию. В отличие от остальных программ, утилиты могут выполнять, как уже сказано, не много, а только одну операцию по обслуживанию какого либо из устройств компьютера. Например, утилита печати текстов, утилиты восстановления удаленных файлов (программ и текстов хранящихся на внешних носителях информации) или их архивации (сжатия), утилиты ремонта, обслуживания дисков и так далее.

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

Прикладные программы предназначены для обработки самой разнообразной информации: текстовой, числовой, звуковой, графической. Существуют программы, например, для построения астрологических карт, ведения инвентарной ведомости вин в ресторане, оказания помощи в постановке диагноза заболевания, построения экономических графиков, обучения иностранному языку, обучения программированию, программы для организации досуга и множество других.
Вопреки внешним различиям все программы должны выполнять некоторые общие основополагающие функции. Такие как:
1. хранить информацию в ОЗУ;
2. помнить, где она находится;
3. извлекать ее определенным образом;
4. записывать информацию на внешние носители;
5. предъявлять ее для непосредственного восприятия и др.
Среди наиболее важных функций прикладных программ можно выделить: обработку текстов; проведение вычислений; организация информации; управление вводом-выводом. Обычно различные функции настолько тесно переплетаются друг с другом, что трудно сказать, где кончается одна и начинается другая. Хотя большинство функций в той или иной степени используется в любой программе, одна из них всегда преобладает. Так, например, вычисления - основа программ обработки финансовых ведомостей, управление вводом-выводом - основа графических и звуковых программ.
Среди прикладных программ, по преобладанию некоторых функций, выделяют:
1. текстовые редакторы,
2. графические редакторы,
3. электронные таблицы,
4. системы управления базами данных,
5. музыкальные редакторы,
6. интегрированные пакеты прикладных программ.
Текстовые редакторы предназначены для набора, редактирования, запоминания, воспроизведения и распечатки текстов. Такие редакторы называют еще системами обработки текстовой информации. Такие широко распространенные персональные компьютеры как IBM PC, Apple-2 задумывались как конторские машины для обработки текстов. И сейчас большая часть машинного времени используется для обработки именно текстовой информации, для подготовки разнообразных документов: писем, статей, служебных документов (справок, договоров, приказов), отчетов, рекламных материалов и тому подобное.
Программ для обработки текстов существует множество: от программ для подготовки текстов простой структуры до программ для полной подготовки к типографскому изданию книг, журналов. Редакторы текстов документов ориентированы на работу с текстами, имеющими структуру документов, то есть состоящими из разделов, страниц, абзацев, предложений, слов.
Современные текстовые редакторы предоставляют достаточно много возможностей для обработки текстов, это:
1. возможность использовать шрифты различного начертания;
2. возможность работы с пропорциональными шрифтами;
3. задание произвольных межстрочных промежутков;
4. автоматический перенос слова на новую строку и форматирование текста по заданным параметрам полей;
5. автонумерация страниц;
6. обработка и нумерация сносок;
7. задание колонтитулов;
8. выравнивание краев абзаца;
9. набор текста в несколько столбцов, что необходимо для верстки газетных страниц;
10. создание таблиц;
11. проверка правописания и подбор синонимов;
12. построение оглавлений и еще множество функций.

Среди текстовых редакторов выделяют группу, предназначенную для создания сложных документов высокого качества (рекламных буклетов, журналов, книг). Эти редакторы получили название издательских систем. Печать документов, подготовленных с помощью издательских систем производится с помощью лазерного принтера или специальных фотонаборных аппаратов. Все издательские системы построены по принципу WYSWYG (What you see w whet you get - что ты видишь, то ты и получишь). Издательские системы имеют больший набор возможностей по сравнению с обычными текстовыми редакторами. Наиболее распространенные текстовые редакторы в России: Lexicon, Multi Edit, WinWord. Издательские системы: Page Maker, Venture Publisher.
Графические редакторы позволяют создавать, редактировать и получать графические изображения в виде жестких копий (на бумаге) и в виде текстов программ, которые можно затем встраивать в другие программы или хранить для дальнейшего редактирования. Графические редакторы позволяют создавать не только статичные, но также движущиеся на экране объекты, создавать анимационные картинки. Графические редакторы имеют такие возможности, как использование различных цветовых оттенков в графическом изображения, использование графических примитивов (окружности, ломанные линии, прямоугольники, многоугольники, закрашенные фигуры) для построения рисунков, использование различных инструментов: кистей разнообразной формы, ластика, аэрографа, микроскопа или лупы для прорисовки каких либо тонких деталей изображения, имеется также возможность работать с выделенными частями рисунка: удалять, копировать, переносить, встраивать готовые изображения из библиотеки графических образов и так далее. Существуют графические редакторы как для создания двумерных, так и для создания трехмерных изображений. Примером графических редакторов наиболее распространенных в России можно назвать: Autodesk Animator, Corel Drаw, Paintbrash, PictureMaker, TruеSpacе и др.

Электронные таблицы выполняют роль очень удобного калькулятора, способного с большой скоростью и гибкостью манипулировать числами и формулами, причем все данные и результаты расчетов можно просмотреть на экране. Электронные таблицы построены по. образу и подобию финансовых ведомостей, с которыми обычно работают бухгалтеры: она состоит из строк и столбцов, образующих сотни и даже тысячи клеток. Стоит только в какую- либо из клеток ввести наименования, числа и формулы, как практически мгновенно компьютер вычислит и покажет полученный результат. Электронные таблицы могут выполнить различные функции, которые обеспечивают очень удобный интерфейс пользователю. Это, например, следующие возможности:
1. работа с выделенными блоками, их копирование, перенос, удаление;
2. возможность копировать одинаковые формулы с автоматической адаптацией коэффициентов в формулах ж текущему столбцу и строке;
3. возможность сохранять результаты на внешних носителях информации в текстовом виде и в табличном формате с последующей возможностью редактировать таблицу;
4 . возможность распечатать результаты вычислений на бумаге;
5. сортировать и выбирать данные по введенным параметрам;
6. табличные процессоры имеют возможность строить различного рода графики по результатам вычисления, которые также можно сохранить на бумаге и внешних носителях.

Примером электронных таблиц широко использующихся в настоящий момент в России являются таблицы Lotus 1-2-3, SuperCalk, Excel.

Системы управления базами данных (СУБД) позволяют вводить, накапливать, редактировать, сортировать, выбирать по запросу, удалять различные данные. СУБД позволяют также выполнять некоторые вычисления и создавать отчеты. Наиболее мощные СУБД имеют встроенный язык программирования, позволяющих создавать исполнимые программы дня обработки введенных данных. СУБД много, это, например, такие системы как FoxPro, dBASE, Paradox, Clipper, Clarioп, Assecc и другие.
Музыкальные редакторы предназначены для редактирования, создания, сохранения и исполнения различных звуковых комбинаций, музыкальных произведении.

Интегрированные пакеты - программы, сочетающие в себе возможность работать с различными видами информации. Он объединяет в себе возможности текстового редактора, электронной таблицы, базы данных, программы деловой графики. Известностью пользуются такие пакеты, как, например, FrameWork, Works. Основной принции построения всех программных средств основан на выборе из меню. Как правило фирменные программные средства содержат многоуровневое выпадающее меню. То есть в программе имеется основное меню, любой из разделов которого может иметь подменю, в котором находится либо команда, либо функция (установка чего либо). Чтобы выполнить одну из команд на любом уровне меню необходимо просто переместить курсор (светящийся прямоугольник на экране) к этой команде, нажать на клавишу ввода команды в память машины или, при необходимости, дать ответ или подтверждение на запрос.