Языки программирования

 

1. Чем отличается программный способ записи алгоритмов от других?

2. Что такое уровень языка программирования?

3. Какие у машинных языков достоинства и недостатки?

4. Что такое язык ассемблера?

5. Что такое стандартная функция?

6. Как записываются арифметические выражения?

7. Как записываются логические выражения?

8. Для каких целей используются подпрограммы?

9. В каких случаях следует применять процедуры?

10. Чем отличается функция от процедуры?

11. Какие существуют способы задания символьной константы?

12. Чем компиляция отличается от интерпретации?

13. Какие вы знаете типы данных?

14. Какие требования предъявляются к программам?

15. Какие вы знаете классификации языков программирования?

16. Что такое массив?

17. Какие вы знаете виды массивов?

18. Дайте определения понятиям алфавит, синтаксис, семантика.

19. Какие языки и системы программирования вы знаете и в чем их особенности?

20. Что означает термин объектно-ориентированное программирование?

 

9. Программное обеспечение и технологии программирования

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

9.2. Краткий обзор прикладного программного обеспечения

9.3. Вспомогательные программы

9.4. Операционные системы

9.5. Операционная система Windows

9.6. Иллюстрированный вспомогательный материал

9.7. Тестирование

9.8. Контрольные вопросы

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

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

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

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

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

Программное обеспечение (ПО) - это совокупность всех программ и соответствующей документации, обеспечивающая использование ЭВМ в интересах каждого ее пользователя.

Различают системное и прикладное ПО. Схематически программное обеспечение можно представить так:

Системное ПО – это совокупность программ для обеспечения работы компьютера. Системное ПО подразделяется на базовое и сервисное. Системные программы предназначены для управления работой вычислительной системы, выполняют различные вспомогательные функции (копирования, выдачи справок, тестирования, форматирования и т. д).

Базовое ПО включает в себя:

 

Сервисное ПО включает в себя программы (утилиты):

 

Прикладное ПО – это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.

Прикладные программы называют приложениями. Они включает в себя:

 

Особую группу составляют системы программирования (инструментальные системы), которые являются частью системного ПО, но носят прикладной характер. Системы программирования – это совокупность программ для разработки, отладки и внедрения новых программных продуктов. Системы программирования обычно содержат:

9.2. Краткий обзор прикладного программного обеспечения

Рассмотрим наиболее часто встречающееся прикладное ПО.

Редакторы документов – это наиболее широко используемый вид прикладных программ. Они позволяют подготавливать документы гораздо быстрее и удобнее, чем с помощью пишущей машинки. Редакторы документов позволяют использовать различные шрифты символов, абзацы произвольной формы, автоматически переносят слова на новую строку, позволяют делать сноски, включать рисунки, автоматически нумеруют страницы и сноски и т.д. Представители редакторов документов – программы Microsoft Word, Wordpad.

Табличные процессоры. При работе с табличным процессором на экран выводится прямоугольная таблица, в клетках которой могут находиться числа, пояснительные тексты и формулы для расчета значения в клетке по именующимся данным. Все распространенные табличные процессоры позволяют вычислять значения элементов таблиц по заданным формулам, строить по данным в таблицах различные графики и т.д. Представители семейства табличных процессоров Microsoft Excel, Quatro Pro.

Графические редакторы позволяют создавать и редактировать рисунки. В простейших редакторах предоставляются возможности рисования линий, кривых, раскраски областей экрана, создание надписей различными шрифтами и т.д. Большинство редакторов позволяют обрабатывать изображения, полученные с помощью сканеров. Представители графических редакторов – программы Adobe Photoshop, Corel Draw.

Правовые базы данных содержат тексты нормативных документов и предоставляют возможности справки, контекстного поиска, распечатки и т.д. Представители правовых баз данных – пакеты Гарант и Консультант+ .

Системы автоматизированного проектирования (САПР) позволяют осуществлять черчение и конструирование различных предметов и механизмов с помощью компьютера. Среди систем малого и среднего класса в мире наиболее популярна система AutoCad фирмы AutoDesk. Отечественный пакет с аналогичными функциями – Компас.

Системы управления базами данных (СУБД) позволяют управлять большими информационными массивами - базами данных. Программные системы этого вида позволяют обрабатывать на компьютере массивы информации, обеспечивают ввод, поиск, сортировку выборку записей, составление отчетов и т.д. Представители данного класса программ – Microsoft Access, Clipper, Paradox.

Интегрированные системы сочетают в себе возможность системы управления базами данных, табличного процессора, текстового редактора, системы деловой графики, а иногда и другие возможности. Как правило, все компоненты интегрированной системы имеют схожий интерфейс, что облегчает обучение работе с ними. Представители интегрированных систем – пакет Microsoft Office и его бесплатный аналог Open Office.

Бухгалтерские программы предназначены для ведения бухгалтерского учета, подготовки финансовой отчетности и финансового анализа деятельности предприятий. Из-за несовместимости отечественного бухгалтерского учета с зарубежным в нашей стране используются почти исключительно отечественные бухгалтерские программы. Наиболее распространены системы 1C: Предприятие и Инфо-бухгалтер.

9.3. Вспомогательные программы

 

Вспомогательные программы (утилиты) обычно предназначены не для решения конкретных пользовательских задач, а для обслуживания и повышения эффективности вычислительной системы. Кратко остановимся на основных видах вспомогательных программ.

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

Программы для создания резервных копий информации позволяют периодически копировать важную информацию, находящуюся на жестком диске компьютера, на дополнительные носители. Представители программ резервного копирования – APBackUp, Acronis True Image.

Антивирусные программы предназначены для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусом. Представители антивирусного семейства программ – Kaspersky Antivirus, DrWeb, Norton Antivirus.

Коммуникационные программы предназначены для организации обмена информацией между компьютерами. Это программы позволяют удобно пересылать файлы с одного компьютера на другой при соединении кабелем их последовательных портов. Другой вид таких программ обеспечивает возможность связи компьютеров по телефонной сети (при наличии модема). Они дают возможность посылать и принимать телефаксные сообщения. Представители коммуникационных программ – Venta Fax, Cute FTP.

Программы для диагностики компьютера позволяют проверить конфигурацию компьютера (количество памяти, ее использование, типы дисков и т. д.), проверить работоспособность устройств компьютера, оценить его производительность. Представители программ диагностики компьютеров – Sisoft Sandra, Norton System Information.

Программы для оптимизации дисков позволяют обеспечить более быстрый доступ к информации на диске за счет оптимизации размещения данных на диске. Эти программы перемещают все участки каждого файла друг к другу (устраняют фрагментацию), собирают все файлы в начале диска и т.д., за счет чего уменьшается число перемещений головок диска (т.е. ускоряется доступ к данным) и снижается износ диска. Представители программ для оптимизации дисков - Norton Disk Doctor, Microsoft Scandisk.

Программы для печати экрана бывают весьма полезны при использовании графических программ для вывода на печать содержимого экрана, так как отнюдь не всегда это можно сделать с помощью самой графической программы. Представители программ для печати экрана – SnagIt, HyperSnap-DX.

9.4. Операционные системы

Операционная система – это комплекс программ, обеспечивающих управление работой компьютера и его взаимодействие с пользователем.

С точки зрения человека операционная система служит посредником между человеком, электронными компонентами компьютера и прикладными программами. Она позволяет человеку запускать программы, передавать им и получать от них всевозможные данные, управлять работой программ, изменять параметры компьютера и подсоединённых к нему устройств, перераспределять ресурсы. Работа на компьютере фактически является работой с его операционной системой. При установке на компьютер только операционной системы (ОС) ничего содержательного на компьютере также сделать не удастся. Для ввода и оформления текстов, рисования графиков, расчёта зарплаты или прослушивания лазерного диска нужны специальные прикладные программы. Но и без ОС ни одну прикладную программу запустить невозможно.

Операционная система решает задачи, которые можно условно разделить на две категории:

Кроме того, именно ОС обеспечивает возможность индивидуальной настройки компьютера: ОС определяет, из каких компонентов собран компьютер, на котором она установлена, и настраивает сама себя для работы именно с этими компонентами.

Ещё не так давно работы по настройке приходилось выполнять пользователю вручную, а сегодня производители компонентов компьютерной техники разработали протокол plug-and-play (включил - заработало). Этот протокол позволяет операционной системе в момент подключения нового компонента получить информацию о новом устройстве, достаточную для настройки ОС на работу с ним.

Операционные системы для ПК различаются по нескольким параметрам. В частности, ОС бывают:

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

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

Многозадачные системы позволяют запустить одновременно несколько программ, которые будут работать параллельно.

Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.

В последние годы фактическим стандартом стал графический многооконный интерфейс, где требуемые действия и описания объектов не вводятся в виде текста, а выбираются из меню, списков файлов и т.д.

В настоящее время, с появлением мощных компьютеров, широкое распространение получили два типа ОС. К первому типу относятся достаточно похожие ОС семейства Windows компании Microsoft. Они многозадачные и имеют многооконный графический интерфейс. На рынке персональных компьютеров с Windows конкурируют ОС типа UNIX. Это многозадачная многопользовательская ОС с командным интерфейсом. В настоящее время разработаны расширения UNIX, обеспечивающие многооконный графический интерфейс. UNIX развивалась в течение многих лет разными компаниями, но до недавнего времени она не использовалась на персональных компьютерах, т.к. требует очень мощного процессора, весьма дорога и сложна, её установка и эксплуатация требуют высокой квалификации. В последние годы ситуация изменилась. Компьютеры стали достаточно мощными, появилась некоммерческая, бесплатная версия системы UNIX для персональных компьютеров - система Linux. По мере роста популярности этой системы в ней появились дополнительные компоненты, облегчающие её установку и эксплуатацию. Немалую роль в росте популярности Linux сыграла мировая компьютерная сеть Internet. Хотя освоение Linux гораздо сложнее освоения систем типа Windows, Linux - более гибкая и в то же время бесплатная система, что и привлекает к ней многих пользователей.

Существуют и другие ОС. Известная компания Apple производит компьютеры Macintosh с современной ОС MacOS. Эти компьютеры используются преимущественно издателями и художниками. Фирма IBM производит ОС OS/2. Операционная система OS/2 такого же класса надёжности и защиты, как и Windows NT.

9.5. Операционная система Windows

На смену операционной системе MS DOS с ее графическими оболочками Windows 3.1 и Windows 3.11 пришли полноценные операционные системы семейства Microsoft Windows (сначала Windows 95, затем Windows 98, Windows Millennium, Windows 2000 и Windows XP). На рисунке показаны этапы развития персональных компьютеров класса РС и операционной системы Windows:

Операционные системы семействаWindows представляет собой 32-разрядные операционные системы, обеспечивающую многозадачную и многопоточную обработку приложений. Они поддерживает удобный графический пользовательский интерфейс, возможность работы в защищенном режиме, совместимость с программами реального режима и сетевые возможности. В Windows реализована технология поддержки самонастраивающейся аппаратуры Plug and Play, допускаются длинные имена файлов и обеспечиваются повышенные характеристики устойчивости.

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

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

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

Отличительной чертой Windows является объектно-ориентированный подход к построению системы. На уровне пользователя объектный подход выражается в том, что интерфейс представляет собой подобие реального мира, а работа с машиной сводится к действиям с привычными объектами. Так, папки можно открыть, убрать в портфель, документы – просмотреть, исправить, переложить с одного места на другое, выбросить в корзину, факс или письмо – отправить адресату и т. д. Пользователь работает с задачами и приложениями так же, как с документами на своем письменном столе. Обьектно-ориентированный подход реализуется через модель рабочего стола – первичного объекта Windows. После загрузки Windows он выводится на экран. На рабочем столе могут быть расположены различные объекты: программы, папки с документами (текстами, рисунками, таблицами), ярлыки программ или папок.

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

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

Windows обеспечивает работу с аудио и видеофайлами различных форматов. Значительным достижением Windows стали встроенные в систему программы для компьютерных коммуникаций. Коммуникационные средства Windows рассчитаны на обычных пользователей и не требуют специальных знаний. Эти средства включают в себя возможности работы в локальных сетях и глобальных сетях, настройку модемов, подключение к электронной почте и многое другое.

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

В Windows активно используется и правая кнопка мыши. Поместив указатель над интересующем объекте и сделав щелчок правой кнопкой мыши, можно раскрыть контекстное меню, содержащее наиболее употребительные команды, применимые к данному объекту.

При завершении работы нельзя просто выключить компьютер, не завершив работу системы по всем правилам - это может привести к потере некоторых несохраненных данных. Для правильного завершения работы необходимо сохранить данные во всех приложениях, с которыми работал пользователь, завершить работу всех ранее запущенных DOS-приложений, открыть меню кнопки “Пуск” и выбрать команду “Завершение работы”.

9.8. Контрольные вопросы